bug--解决冲突
This commit is contained in:
2
pom.xml
2
pom.xml
@ -7,7 +7,7 @@
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
|
||||
<modules>
|
||||
<module>yshop-common</module>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -21,12 +21,12 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-tools</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-mp</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
|
||||
<!--jwt-->
|
||||
|
@ -16,7 +16,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import co.yixiang.annotation.AnonymousAccess;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.common.web.controller.BaseController;
|
||||
import co.yixiang.enums.AppFromEnum;
|
||||
|
@ -15,7 +15,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import co.yixiang.annotation.AnonymousAccess;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.common.web.controller.BaseController;
|
||||
import co.yixiang.enums.AppFromEnum;
|
||||
|
@ -11,11 +11,10 @@ package co.yixiang.modules.monitor.service.impl;
|
||||
import co.yixiang.modules.monitor.domain.Visits;
|
||||
import co.yixiang.modules.monitor.repository.VisitsRepository;
|
||||
import co.yixiang.modules.monitor.service.VisitsService;
|
||||
import co.yixiang.service.mapper.LogMapper;
|
||||
import co.yixiang.logging.service.mapper.LogMapper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import co.yixiang.utils.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
@ -13,7 +13,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||
import co.yixiang.annotation.AnonymousAccess;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.common.web.controller.BaseController;
|
||||
import co.yixiang.enums.OrderInfoEnum;
|
||||
|
@ -8,22 +8,15 @@
|
||||
*/
|
||||
package co.yixiang.modules.security.rest;
|
||||
|
||||
import cn.binarywang.wx.miniapp.api.WxMaService;
|
||||
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
|
||||
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
|
||||
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.annotation.AnonymousAccess;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.common.api.ApiCode;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.enums.AppFromEnum;
|
||||
import co.yixiang.enums.RedisKeyEnum;
|
||||
import co.yixiang.exception.ErrorRequestException;
|
||||
import co.yixiang.modules.notify.NotifyService;
|
||||
import co.yixiang.modules.notify.NotifyType;
|
||||
import co.yixiang.modules.notify.SmsResult;
|
||||
@ -37,28 +30,19 @@ import co.yixiang.modules.security.security.vo.JwtUser;
|
||||
import co.yixiang.modules.security.service.OnlineUserService;
|
||||
import co.yixiang.modules.user.entity.YxSystemAttachment;
|
||||
import co.yixiang.modules.user.entity.YxUser;
|
||||
import co.yixiang.modules.user.entity.YxWechatUser;
|
||||
import co.yixiang.modules.user.service.YxSystemAttachmentService;
|
||||
import co.yixiang.modules.user.service.YxUserService;
|
||||
import co.yixiang.modules.user.service.YxWechatUserService;
|
||||
import co.yixiang.modules.user.web.vo.YxUserQueryVo;
|
||||
import co.yixiang.mp.config.WxMpConfiguration;
|
||||
import co.yixiang.utils.OrderUtil;
|
||||
import co.yixiang.utils.RedisUtil;
|
||||
import co.yixiang.utils.RedisUtils;
|
||||
import co.yixiang.utils.SecurityUtils;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.aliyuncs.CommonResponse;
|
||||
import com.vdurmont.emoji.EmojiParser;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpUser;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
@ -74,7 +58,6 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@ -101,7 +84,7 @@ public class AuthController {
|
||||
private final YxUserService userService;
|
||||
private final PasswordEncoder passwordEncoder;
|
||||
private final YxWechatUserService wechatUserService;
|
||||
private final WxMaService wxMaService;
|
||||
|
||||
private final NotifyService notifyService;
|
||||
private final YxSystemAttachmentService systemAttachmentService;
|
||||
|
||||
@ -161,132 +144,7 @@ public class AuthController {
|
||||
* 2、目前登陆授权打通方式适用于新项目(也就是你yx_user、yx_wechat_user都是空的)
|
||||
* 3、如果你以前已经有数据请自行处理
|
||||
*/
|
||||
|
||||
try {
|
||||
WxMpService wxService = WxMpConfiguration.getWxMpService();
|
||||
WxMpOAuth2AccessToken wxMpOAuth2AccessToken = wxService.oauth2getAccessToken(code);
|
||||
WxMpUser wxMpUser = wxService.oauth2getUserInfo(wxMpOAuth2AccessToken, null);
|
||||
String openid = wxMpUser.getOpenId();
|
||||
|
||||
//如果开启了UnionId
|
||||
if (StrUtil.isNotBlank(wxMpUser.getUnionId())) {
|
||||
openid = wxMpUser.getUnionId();
|
||||
}
|
||||
YxUser yxUser = userService.findByName(openid);
|
||||
|
||||
String username = "";
|
||||
if(ObjectUtil.isNull(yxUser)){
|
||||
//过滤掉表情
|
||||
String nickname = EmojiParser.removeAllEmojis(wxMpUser.getNickname());
|
||||
log.info("昵称:{}", nickname);
|
||||
//用户保存
|
||||
YxUser user = new YxUser();
|
||||
user.setAccount(nickname);
|
||||
//如果开启了UnionId
|
||||
if (StrUtil.isNotBlank(wxMpUser.getUnionId())) {
|
||||
username = wxMpUser.getUnionId();
|
||||
user.setUsername(wxMpUser.getUnionId());
|
||||
}else{
|
||||
username = wxMpUser.getOpenId();
|
||||
user.setUsername(wxMpUser.getOpenId());
|
||||
}
|
||||
user.setPassword(passwordEncoder.encode(ShopConstants.YSHOP_DEFAULT_PWD));
|
||||
user.setPwd(passwordEncoder.encode(ShopConstants.YSHOP_DEFAULT_PWD));
|
||||
user.setPhone("");
|
||||
user.setUserType(AppFromEnum.WECHAT.getValue());
|
||||
user.setLoginType(AppFromEnum.WECHAT.getValue());
|
||||
user.setAddTime(OrderUtil.getSecondTimestampTwo());
|
||||
user.setLastTime(OrderUtil.getSecondTimestampTwo());
|
||||
user.setNickname(nickname);
|
||||
user.setAvatar(wxMpUser.getHeadImgUrl());
|
||||
user.setNowMoney(BigDecimal.ZERO);
|
||||
user.setBrokeragePrice(BigDecimal.ZERO);
|
||||
user.setIntegral(BigDecimal.ZERO);
|
||||
|
||||
userService.save(user);
|
||||
|
||||
|
||||
//保存微信用户
|
||||
YxWechatUser yxWechatUser = new YxWechatUser();
|
||||
yxWechatUser.setAddTime(OrderUtil.getSecondTimestampTwo());
|
||||
yxWechatUser.setNickname(nickname);
|
||||
yxWechatUser.setOpenid(wxMpUser.getOpenId());
|
||||
int sub = 0;
|
||||
if (ObjectUtil.isNotNull(wxMpUser.getSubscribe()) && wxMpUser.getSubscribe()) sub = 1;
|
||||
yxWechatUser.setSubscribe(sub);
|
||||
yxWechatUser.setSex(wxMpUser.getSex());
|
||||
yxWechatUser.setLanguage(wxMpUser.getLanguage());
|
||||
yxWechatUser.setCity(wxMpUser.getCity());
|
||||
yxWechatUser.setProvince(wxMpUser.getProvince());
|
||||
yxWechatUser.setCountry(wxMpUser.getCountry());
|
||||
yxWechatUser.setHeadimgurl(wxMpUser.getHeadImgUrl());
|
||||
if (ObjectUtil.isNotNull(wxMpUser.getSubscribeTime())) {
|
||||
yxWechatUser.setSubscribeTime(wxMpUser.getSubscribeTime().intValue());
|
||||
}
|
||||
if (StrUtil.isNotBlank(wxMpUser.getUnionId())) {
|
||||
yxWechatUser.setUnionid(wxMpUser.getUnionId());
|
||||
}
|
||||
if (StrUtil.isNotEmpty(wxMpUser.getRemark())) {
|
||||
yxWechatUser.setUnionid(wxMpUser.getRemark());
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(wxMpUser.getGroupId())) {
|
||||
yxWechatUser.setGroupid(wxMpUser.getGroupId());
|
||||
}
|
||||
yxWechatUser.setUid(user.getUid());
|
||||
|
||||
wechatUserService.save(yxWechatUser);
|
||||
|
||||
}else{
|
||||
username = yxUser.getUsername();
|
||||
if(StrUtil.isNotBlank(wxMpUser.getOpenId()) || StrUtil.isNotBlank(wxMpUser.getUnionId())){
|
||||
YxWechatUser wechatUser = new YxWechatUser();
|
||||
wechatUser.setUid(yxUser.getUid());
|
||||
wechatUser.setUnionid(wxMpUser.getUnionId());
|
||||
wechatUser.setOpenid(wxMpUser.getOpenId());
|
||||
|
||||
wechatUserService.updateById(wechatUser);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
UsernamePasswordAuthenticationToken authenticationToken =
|
||||
new UsernamePasswordAuthenticationToken(username,
|
||||
ShopConstants.YSHOP_DEFAULT_PWD);
|
||||
|
||||
Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
|
||||
SecurityContextHolder.getContext().setAuthentication(authentication);
|
||||
// 生成令牌
|
||||
String token = tokenProvider.createToken(authentication);
|
||||
final JwtUser jwtUserT = (JwtUser) authentication.getPrincipal();
|
||||
// 保存在线信息
|
||||
onlineUserService.save(jwtUserT, token, request);
|
||||
|
||||
Date expiresTime = tokenProvider.getExpirationDateFromToken(token);
|
||||
String expiresTimeStr = DateUtil.formatDateTime(expiresTime);
|
||||
|
||||
Map<String, String> map = new LinkedHashMap<>();
|
||||
map.put("token", token);
|
||||
map.put("expires_time", expiresTimeStr);
|
||||
|
||||
if (singleLogin) {
|
||||
//踢掉之前已经登录的token
|
||||
onlineUserService.checkLoginOnUser(jwtUserT.getUsername(), token);
|
||||
}
|
||||
|
||||
//设置推广关系
|
||||
if (StrUtil.isNotEmpty(spread) && !spread.equals("NaN")) {
|
||||
userService.setSpread(Integer.valueOf(spread),
|
||||
jwtUserT.getId().intValue());
|
||||
}
|
||||
|
||||
// 返回 token
|
||||
return ApiResult.ok(map);
|
||||
} catch (WxErrorException e) {
|
||||
e.printStackTrace();
|
||||
log.error(e.getMessage());
|
||||
return ApiResult.fail("授权失败");
|
||||
}
|
||||
|
||||
return ApiResult.ok(userService.authLogin(code,spread,request));
|
||||
}
|
||||
|
||||
|
||||
@ -304,135 +162,8 @@ public class AuthController {
|
||||
* 2、目前登陆授权打通方式适用于新项目(也就是你yx_user、yx_wechat_user都是空的)
|
||||
* 3、如果你以前已经有数据请自行处理
|
||||
*/
|
||||
String code = loginParam.getCode();
|
||||
String encryptedData = loginParam.getEncryptedData();
|
||||
String iv = loginParam.getIv();
|
||||
String spread = loginParam.getSpread();
|
||||
try {
|
||||
//读取redis配置
|
||||
String appId = RedisUtil.get(RedisKeyEnum.WXAPP_APPID.getValue());
|
||||
String secret = RedisUtil.get(RedisKeyEnum.WXAPP_SECRET.getValue());
|
||||
if (StrUtil.isBlank(appId) || StrUtil.isBlank(secret)) {
|
||||
throw new ErrorRequestException("请先配置小程序");
|
||||
}
|
||||
WxMaDefaultConfigImpl wxMaConfig = new WxMaDefaultConfigImpl();
|
||||
wxMaConfig.setAppid(appId);
|
||||
wxMaConfig.setSecret(secret);
|
||||
return ApiResult.ok(userService.wxappAuth(loginParam,request)) ;
|
||||
|
||||
wxMaService.setWxMaConfig(wxMaConfig);
|
||||
WxMaJscode2SessionResult session = wxMaService.getUserService().getSessionInfo(code);
|
||||
String openid = session.getOpenid();
|
||||
//如果开启了UnionId
|
||||
if (StrUtil.isNotBlank(session.getUnionid())) {
|
||||
openid = session.getUnionid();
|
||||
}
|
||||
|
||||
YxUser yxUser = userService.findByName(openid);
|
||||
String username = "";
|
||||
if(ObjectUtil.isNull(yxUser)){
|
||||
|
||||
WxMaUserInfo wxMpUser = wxMaService.getUserService()
|
||||
.getUserInfo(session.getSessionKey(), encryptedData, iv);
|
||||
//过滤掉表情
|
||||
String nickname = EmojiParser.removeAllEmojis(wxMpUser.getNickName());
|
||||
//用户保存
|
||||
YxUser user = new YxUser();
|
||||
user.setAccount(nickname);
|
||||
|
||||
//如果开启了UnionId
|
||||
if (StrUtil.isNotBlank(wxMpUser.getUnionId())) {
|
||||
username = wxMpUser.getUnionId();
|
||||
user.setUsername(wxMpUser.getUnionId());
|
||||
}else{
|
||||
username = wxMpUser.getOpenId();
|
||||
user.setUsername(wxMpUser.getOpenId());
|
||||
}
|
||||
user.setPassword(passwordEncoder.encode(ShopConstants.YSHOP_DEFAULT_PWD));
|
||||
user.setPwd(passwordEncoder.encode(ShopConstants.YSHOP_DEFAULT_PWD));
|
||||
user.setPhone("");
|
||||
user.setUserType(AppFromEnum.ROUNTINE.getValue());
|
||||
user.setAddTime(OrderUtil.getSecondTimestampTwo());
|
||||
user.setLastTime(OrderUtil.getSecondTimestampTwo());
|
||||
user.setNickname(nickname);
|
||||
user.setAvatar(wxMpUser.getAvatarUrl());
|
||||
user.setNowMoney(BigDecimal.ZERO);
|
||||
user.setBrokeragePrice(BigDecimal.ZERO);
|
||||
user.setIntegral(BigDecimal.ZERO);
|
||||
|
||||
userService.save(user);
|
||||
|
||||
|
||||
//保存微信用户
|
||||
YxWechatUser yxWechatUser = new YxWechatUser();
|
||||
// System.out.println("wxMpUser:"+wxMpUser);
|
||||
yxWechatUser.setAddTime(OrderUtil.getSecondTimestampTwo());
|
||||
yxWechatUser.setNickname(nickname);
|
||||
yxWechatUser.setRoutineOpenid(wxMpUser.getOpenId());
|
||||
int sub = 0;
|
||||
yxWechatUser.setSubscribe(sub);
|
||||
yxWechatUser.setSex(Integer.valueOf(wxMpUser.getGender()));
|
||||
yxWechatUser.setLanguage(wxMpUser.getLanguage());
|
||||
yxWechatUser.setCity(wxMpUser.getCity());
|
||||
yxWechatUser.setProvince(wxMpUser.getProvince());
|
||||
yxWechatUser.setCountry(wxMpUser.getCountry());
|
||||
yxWechatUser.setHeadimgurl(wxMpUser.getAvatarUrl());
|
||||
if (StrUtil.isNotBlank(wxMpUser.getUnionId())) {
|
||||
yxWechatUser.setUnionid(wxMpUser.getUnionId());
|
||||
}
|
||||
yxWechatUser.setUid(user.getUid());
|
||||
|
||||
wechatUserService.save(yxWechatUser);
|
||||
|
||||
}else{
|
||||
username = yxUser.getUsername();
|
||||
if(StrUtil.isNotBlank(session.getOpenid()) || StrUtil.isNotBlank(session.getUnionid())){
|
||||
YxWechatUser wechatUser = new YxWechatUser();
|
||||
wechatUser.setUid(yxUser.getUid());
|
||||
wechatUser.setUnionid(session.getUnionid());
|
||||
wechatUser.setRoutineOpenid(session.getOpenid());
|
||||
|
||||
wechatUserService.updateById(wechatUser);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
UsernamePasswordAuthenticationToken authenticationToken =
|
||||
new UsernamePasswordAuthenticationToken(username,
|
||||
ShopConstants.YSHOP_DEFAULT_PWD);
|
||||
|
||||
Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
|
||||
SecurityContextHolder.getContext().setAuthentication(authentication);
|
||||
// 生成令牌
|
||||
String token = tokenProvider.createToken(authentication);
|
||||
final JwtUser jwtUserT = (JwtUser) authentication.getPrincipal();
|
||||
// 保存在线信息
|
||||
onlineUserService.save(jwtUserT, token, request);
|
||||
|
||||
Date expiresTime = tokenProvider.getExpirationDateFromToken(token);
|
||||
String expiresTimeStr = DateUtil.formatDateTime(expiresTime);
|
||||
|
||||
|
||||
Map<String, String> map = new LinkedHashMap<>();
|
||||
map.put("token", token);
|
||||
map.put("expires_time", expiresTimeStr);
|
||||
|
||||
if (singleLogin) {
|
||||
//踢掉之前已经登录的token
|
||||
onlineUserService.checkLoginOnUser(jwtUserT.getUsername(), token);
|
||||
}
|
||||
|
||||
//设置推广关系
|
||||
if (StrUtil.isNotEmpty(spread)) {
|
||||
userService.setSpread(Integer.valueOf(spread),
|
||||
jwtUserT.getId().intValue());
|
||||
}
|
||||
|
||||
// 返回 token
|
||||
return ApiResult.ok(map);
|
||||
} catch (WxErrorException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return ApiResult.fail(e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
package co.yixiang.modules.shop.web.controller;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.common.web.controller.BaseController;
|
||||
import co.yixiang.enums.CouponEnum;
|
||||
|
@ -9,7 +9,7 @@
|
||||
package co.yixiang.modules.shop.web.controller;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.common.web.controller.BaseController;
|
||||
import co.yixiang.modules.shop.service.YxStoreCartService;
|
||||
|
@ -12,9 +12,8 @@ import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import co.yixiang.annotation.AnonymousAccess;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.common.web.controller.BaseController;
|
||||
import co.yixiang.enums.AppFromEnum;
|
||||
@ -29,7 +28,6 @@ import co.yixiang.modules.user.entity.YxSystemAttachment;
|
||||
import co.yixiang.modules.user.service.YxSystemAttachmentService;
|
||||
import co.yixiang.modules.user.service.YxUserService;
|
||||
import co.yixiang.modules.user.web.vo.YxUserQueryVo;
|
||||
import co.yixiang.utils.OrderUtil;
|
||||
import co.yixiang.utils.SecurityUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
@ -11,12 +11,14 @@ package co.yixiang.modules.user.service;
|
||||
import co.yixiang.common.service.BaseService;
|
||||
import co.yixiang.common.web.vo.Paging;
|
||||
import co.yixiang.modules.order.web.vo.YxStoreOrderQueryVo;
|
||||
import co.yixiang.modules.security.rest.param.LoginParam;
|
||||
import co.yixiang.modules.user.entity.YxUser;
|
||||
import co.yixiang.modules.user.web.dto.PromUserDTO;
|
||||
import co.yixiang.modules.user.web.param.PromParam;
|
||||
import co.yixiang.modules.user.web.param.YxUserQueryParam;
|
||||
import co.yixiang.modules.user.web.vo.YxUserQueryVo;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@ -71,4 +73,7 @@ public interface YxUserService extends BaseService<YxUser> {
|
||||
*/
|
||||
Paging<YxUserQueryVo> getYxUserPageList(YxUserQueryParam yxUserQueryParam) throws Exception;
|
||||
|
||||
Object authLogin(String code, String spread, HttpServletRequest request);
|
||||
|
||||
Object wxappAuth(LoginParam loginParam, HttpServletRequest request);
|
||||
}
|
||||
|
@ -8,42 +8,71 @@
|
||||
*/
|
||||
package co.yixiang.modules.user.service.impl;
|
||||
|
||||
import cn.binarywang.wx.miniapp.api.WxMaService;
|
||||
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
|
||||
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
|
||||
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.common.web.vo.Paging;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.enums.AppFromEnum;
|
||||
import co.yixiang.enums.RedisKeyEnum;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.exception.ErrorRequestException;
|
||||
import co.yixiang.modules.order.service.YxStoreOrderService;
|
||||
import co.yixiang.modules.order.web.vo.YxStoreOrderQueryVo;
|
||||
import co.yixiang.modules.security.rest.param.LoginParam;
|
||||
import co.yixiang.modules.security.security.TokenProvider;
|
||||
import co.yixiang.modules.security.security.vo.JwtUser;
|
||||
import co.yixiang.modules.security.service.OnlineUserService;
|
||||
import co.yixiang.modules.shop.service.YxStoreCouponUserService;
|
||||
import co.yixiang.modules.shop.service.YxSystemConfigService;
|
||||
import co.yixiang.modules.shop.service.YxSystemStoreStaffService;
|
||||
import co.yixiang.modules.user.entity.YxUser;
|
||||
import co.yixiang.modules.user.entity.YxUserBill;
|
||||
import co.yixiang.modules.user.entity.YxUserLevel;
|
||||
import co.yixiang.modules.user.entity.YxWechatUser;
|
||||
import co.yixiang.modules.user.mapper.YxUserMapper;
|
||||
import co.yixiang.modules.user.service.YxUserBillService;
|
||||
import co.yixiang.modules.user.service.YxUserLevelService;
|
||||
import co.yixiang.modules.user.service.YxUserService;
|
||||
import co.yixiang.modules.user.service.YxWechatUserService;
|
||||
import co.yixiang.modules.user.web.dto.PromUserDTO;
|
||||
import co.yixiang.modules.user.web.param.PromParam;
|
||||
import co.yixiang.modules.user.web.param.YxUserQueryParam;
|
||||
import co.yixiang.modules.user.web.vo.YxUserQueryVo;
|
||||
import co.yixiang.mp.config.WxMpConfiguration;
|
||||
import co.yixiang.utils.OrderUtil;
|
||||
import co.yixiang.utils.RedisUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.vdurmont.emoji.EmojiParser;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpUser;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@ -75,7 +104,22 @@ public class YxUserServiceImpl extends BaseServiceImpl<YxUserMapper, YxUser> imp
|
||||
private YxStoreCouponUserService storeCouponUserService;
|
||||
@Autowired
|
||||
private YxSystemStoreStaffService systemStoreStaffService;
|
||||
|
||||
@Autowired
|
||||
private PasswordEncoder passwordEncoder;
|
||||
@Autowired
|
||||
private OnlineUserService onlineUserService;
|
||||
@Autowired
|
||||
private TokenProvider tokenProvider;
|
||||
@Autowired
|
||||
private AuthenticationManagerBuilder authenticationManagerBuilder;
|
||||
@Autowired
|
||||
private WxMaService wxMaService;
|
||||
@Autowired
|
||||
private YxWechatUserService wechatUserService;
|
||||
@Value("${single.login:true}")
|
||||
private Boolean singleLogin;
|
||||
@Value("${yshop.notify.sms.enable}")
|
||||
private Boolean enableSms;
|
||||
|
||||
|
||||
/**
|
||||
@ -465,4 +509,265 @@ public class YxUserServiceImpl extends BaseServiceImpl<YxUserMapper, YxUser> imp
|
||||
wrapper.eq("username",name);
|
||||
return getOne(wrapper);
|
||||
}
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Object authLogin(String code, String spread, HttpServletRequest request){
|
||||
try {
|
||||
WxMpService wxService = WxMpConfiguration.getWxMpService();
|
||||
WxMpOAuth2AccessToken wxMpOAuth2AccessToken = wxService.oauth2getAccessToken(code);
|
||||
WxMpUser wxMpUser = wxService.oauth2getUserInfo(wxMpOAuth2AccessToken, null);
|
||||
String openid = wxMpUser.getOpenId();
|
||||
|
||||
//如果开启了UnionId
|
||||
if (StrUtil.isNotBlank(wxMpUser.getUnionId())) {
|
||||
openid = wxMpUser.getUnionId();
|
||||
}
|
||||
YxUser yxUser = this.findByName(openid);
|
||||
|
||||
String username = "";
|
||||
if(ObjectUtil.isNull(yxUser)){
|
||||
//过滤掉表情
|
||||
String nickname = EmojiParser.removeAllEmojis(wxMpUser.getNickname());
|
||||
log.info("昵称:{}", nickname);
|
||||
//用户保存
|
||||
YxUser user = new YxUser();
|
||||
user.setAccount(nickname);
|
||||
//如果开启了UnionId
|
||||
if (StrUtil.isNotBlank(wxMpUser.getUnionId())) {
|
||||
username = wxMpUser.getUnionId();
|
||||
user.setUsername(wxMpUser.getUnionId());
|
||||
}else{
|
||||
username = wxMpUser.getOpenId();
|
||||
user.setUsername(wxMpUser.getOpenId());
|
||||
}
|
||||
user.setPassword(passwordEncoder.encode(ShopConstants.YSHOP_DEFAULT_PWD));
|
||||
user.setPwd(passwordEncoder.encode(ShopConstants.YSHOP_DEFAULT_PWD));
|
||||
user.setPhone("");
|
||||
user.setUserType(AppFromEnum.WECHAT.getValue());
|
||||
user.setLoginType(AppFromEnum.WECHAT.getValue());
|
||||
user.setAddTime(OrderUtil.getSecondTimestampTwo());
|
||||
user.setLastTime(OrderUtil.getSecondTimestampTwo());
|
||||
user.setNickname(nickname);
|
||||
user.setAvatar(wxMpUser.getHeadImgUrl());
|
||||
user.setNowMoney(BigDecimal.ZERO);
|
||||
user.setBrokeragePrice(BigDecimal.ZERO);
|
||||
user.setIntegral(BigDecimal.ZERO);
|
||||
|
||||
this.save(user);
|
||||
|
||||
|
||||
//保存微信用户
|
||||
YxWechatUser yxWechatUser = new YxWechatUser();
|
||||
yxWechatUser.setAddTime(OrderUtil.getSecondTimestampTwo());
|
||||
yxWechatUser.setNickname(nickname);
|
||||
yxWechatUser.setOpenid(wxMpUser.getOpenId());
|
||||
int sub = 0;
|
||||
if (ObjectUtil.isNotNull(wxMpUser.getSubscribe()) && wxMpUser.getSubscribe()) sub = 1;
|
||||
yxWechatUser.setSubscribe(sub);
|
||||
yxWechatUser.setSex(wxMpUser.getSex());
|
||||
yxWechatUser.setLanguage(wxMpUser.getLanguage());
|
||||
yxWechatUser.setCity(wxMpUser.getCity());
|
||||
yxWechatUser.setProvince(wxMpUser.getProvince());
|
||||
yxWechatUser.setCountry(wxMpUser.getCountry());
|
||||
yxWechatUser.setHeadimgurl(wxMpUser.getHeadImgUrl());
|
||||
if (ObjectUtil.isNotNull(wxMpUser.getSubscribeTime())) {
|
||||
yxWechatUser.setSubscribeTime(wxMpUser.getSubscribeTime().intValue());
|
||||
}
|
||||
if (StrUtil.isNotBlank(wxMpUser.getUnionId())) {
|
||||
yxWechatUser.setUnionid(wxMpUser.getUnionId());
|
||||
}
|
||||
if (StrUtil.isNotEmpty(wxMpUser.getRemark())) {
|
||||
yxWechatUser.setUnionid(wxMpUser.getRemark());
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(wxMpUser.getGroupId())) {
|
||||
yxWechatUser.setGroupid(wxMpUser.getGroupId());
|
||||
}
|
||||
yxWechatUser.setUid(user.getUid());
|
||||
|
||||
wechatUserService.save(yxWechatUser);
|
||||
|
||||
}else{
|
||||
username = yxUser.getUsername();
|
||||
if(StrUtil.isNotBlank(wxMpUser.getOpenId()) || StrUtil.isNotBlank(wxMpUser.getUnionId())){
|
||||
YxWechatUser wechatUser = new YxWechatUser();
|
||||
wechatUser.setUid(yxUser.getUid());
|
||||
wechatUser.setUnionid(wxMpUser.getUnionId());
|
||||
wechatUser.setOpenid(wxMpUser.getOpenId());
|
||||
|
||||
wechatUserService.updateById(wechatUser);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
UsernamePasswordAuthenticationToken authenticationToken =
|
||||
new UsernamePasswordAuthenticationToken(username,
|
||||
ShopConstants.YSHOP_DEFAULT_PWD);
|
||||
|
||||
Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
|
||||
SecurityContextHolder.getContext().setAuthentication(authentication);
|
||||
// 生成令牌
|
||||
String token = tokenProvider.createToken(authentication);
|
||||
final JwtUser jwtUserT = (JwtUser) authentication.getPrincipal();
|
||||
// 保存在线信息
|
||||
onlineUserService.save(jwtUserT, token, request);
|
||||
|
||||
Date expiresTime = tokenProvider.getExpirationDateFromToken(token);
|
||||
String expiresTimeStr = DateUtil.formatDateTime(expiresTime);
|
||||
|
||||
Map<String, String> map = new LinkedHashMap<>();
|
||||
map.put("token", token);
|
||||
map.put("expires_time", expiresTimeStr);
|
||||
|
||||
if (singleLogin) {
|
||||
//踢掉之前已经登录的token
|
||||
onlineUserService.checkLoginOnUser(jwtUserT.getUsername(), token);
|
||||
}
|
||||
|
||||
//设置推广关系
|
||||
if (StrUtil.isNotEmpty(spread) && !spread.equals("NaN")) {
|
||||
this.setSpread(Integer.valueOf(spread),
|
||||
jwtUserT.getId().intValue());
|
||||
}
|
||||
|
||||
// 返回 token
|
||||
return map;
|
||||
} catch (WxErrorException e) {
|
||||
e.printStackTrace();
|
||||
log.error(e.getMessage());
|
||||
throw new BadRequestException(e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Object wxappAuth(LoginParam loginParam, HttpServletRequest request){
|
||||
String code = loginParam.getCode();
|
||||
String encryptedData = loginParam.getEncryptedData();
|
||||
String iv = loginParam.getIv();
|
||||
String spread = loginParam.getSpread();
|
||||
try {
|
||||
//读取redis配置
|
||||
String appId = RedisUtil.get(RedisKeyEnum.WXAPP_APPID.getValue());
|
||||
String secret = RedisUtil.get(RedisKeyEnum.WXAPP_SECRET.getValue());
|
||||
if (StrUtil.isBlank(appId) || StrUtil.isBlank(secret)) {
|
||||
throw new ErrorRequestException("请先配置小程序");
|
||||
}
|
||||
WxMaDefaultConfigImpl wxMaConfig = new WxMaDefaultConfigImpl();
|
||||
wxMaConfig.setAppid(appId);
|
||||
wxMaConfig.setSecret(secret);
|
||||
|
||||
wxMaService.setWxMaConfig(wxMaConfig);
|
||||
WxMaJscode2SessionResult session = wxMaService.getUserService().getSessionInfo(code);
|
||||
String openid = session.getOpenid();
|
||||
//如果开启了UnionId
|
||||
if (StrUtil.isNotBlank(session.getUnionid())) {
|
||||
openid = session.getUnionid();
|
||||
}
|
||||
|
||||
YxUser yxUser = this.findByName(openid);
|
||||
String username = "";
|
||||
if(ObjectUtil.isNull(yxUser)){
|
||||
|
||||
WxMaUserInfo wxMpUser = wxMaService.getUserService()
|
||||
.getUserInfo(session.getSessionKey(), encryptedData, iv);
|
||||
//过滤掉表情
|
||||
String nickname = EmojiParser.removeAllEmojis(wxMpUser.getNickName());
|
||||
//用户保存
|
||||
YxUser user = new YxUser();
|
||||
user.setAccount(nickname);
|
||||
|
||||
//如果开启了UnionId
|
||||
if (StrUtil.isNotBlank(wxMpUser.getUnionId())) {
|
||||
username = wxMpUser.getUnionId();
|
||||
user.setUsername(wxMpUser.getUnionId());
|
||||
}else{
|
||||
username = wxMpUser.getOpenId();
|
||||
user.setUsername(wxMpUser.getOpenId());
|
||||
}
|
||||
user.setPassword(passwordEncoder.encode(ShopConstants.YSHOP_DEFAULT_PWD));
|
||||
user.setPwd(passwordEncoder.encode(ShopConstants.YSHOP_DEFAULT_PWD));
|
||||
user.setPhone("");
|
||||
user.setUserType(AppFromEnum.ROUNTINE.getValue());
|
||||
user.setAddTime(OrderUtil.getSecondTimestampTwo());
|
||||
user.setLastTime(OrderUtil.getSecondTimestampTwo());
|
||||
user.setNickname(nickname);
|
||||
user.setAvatar(wxMpUser.getAvatarUrl());
|
||||
user.setNowMoney(BigDecimal.ZERO);
|
||||
user.setBrokeragePrice(BigDecimal.ZERO);
|
||||
user.setIntegral(BigDecimal.ZERO);
|
||||
|
||||
this.save(user);
|
||||
|
||||
|
||||
//保存微信用户
|
||||
YxWechatUser yxWechatUser = new YxWechatUser();
|
||||
// System.out.println("wxMpUser:"+wxMpUser);
|
||||
yxWechatUser.setAddTime(OrderUtil.getSecondTimestampTwo());
|
||||
yxWechatUser.setNickname(nickname);
|
||||
yxWechatUser.setRoutineOpenid(wxMpUser.getOpenId());
|
||||
int sub = 0;
|
||||
yxWechatUser.setSubscribe(sub);
|
||||
yxWechatUser.setSex(Integer.valueOf(wxMpUser.getGender()));
|
||||
yxWechatUser.setLanguage(wxMpUser.getLanguage());
|
||||
yxWechatUser.setCity(wxMpUser.getCity());
|
||||
yxWechatUser.setProvince(wxMpUser.getProvince());
|
||||
yxWechatUser.setCountry(wxMpUser.getCountry());
|
||||
yxWechatUser.setHeadimgurl(wxMpUser.getAvatarUrl());
|
||||
if (StrUtil.isNotBlank(wxMpUser.getUnionId())) {
|
||||
yxWechatUser.setUnionid(wxMpUser.getUnionId());
|
||||
}
|
||||
yxWechatUser.setUid(user.getUid());
|
||||
|
||||
wechatUserService.save(yxWechatUser);
|
||||
|
||||
}else{
|
||||
username = yxUser.getUsername();
|
||||
if(StrUtil.isNotBlank(session.getOpenid()) || StrUtil.isNotBlank(session.getUnionid())){
|
||||
YxWechatUser wechatUser = new YxWechatUser();
|
||||
wechatUser.setUid(yxUser.getUid());
|
||||
wechatUser.setUnionid(session.getUnionid());
|
||||
wechatUser.setRoutineOpenid(session.getOpenid());
|
||||
|
||||
wechatUserService.updateById(wechatUser);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
UsernamePasswordAuthenticationToken authenticationToken =
|
||||
new UsernamePasswordAuthenticationToken(username,
|
||||
ShopConstants.YSHOP_DEFAULT_PWD);
|
||||
|
||||
Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
|
||||
SecurityContextHolder.getContext().setAuthentication(authentication);
|
||||
// 生成令牌
|
||||
String token = tokenProvider.createToken(authentication);
|
||||
final JwtUser jwtUserT = (JwtUser) authentication.getPrincipal();
|
||||
// 保存在线信息
|
||||
onlineUserService.save(jwtUserT, token, request);
|
||||
|
||||
Date expiresTime = tokenProvider.getExpirationDateFromToken(token);
|
||||
String expiresTimeStr = DateUtil.formatDateTime(expiresTime);
|
||||
|
||||
|
||||
Map<String, String> map = new LinkedHashMap<>();
|
||||
map.put("token", token);
|
||||
map.put("expires_time", expiresTimeStr);
|
||||
|
||||
if (singleLogin) {
|
||||
//踢掉之前已经登录的token
|
||||
onlineUserService.checkLoginOnUser(jwtUserT.getUsername(), token);
|
||||
}
|
||||
|
||||
//设置推广关系
|
||||
if (StrUtil.isNotEmpty(spread)) {
|
||||
this.setSpread(Integer.valueOf(spread),
|
||||
jwtUserT.getId().intValue());
|
||||
}
|
||||
// 返回 token
|
||||
return map;
|
||||
} catch (WxErrorException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
throw new BadRequestException(e.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
package co.yixiang.modules.user.web.controller;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.common.web.controller.BaseController;
|
||||
import co.yixiang.common.web.param.IdParam;
|
||||
|
@ -14,7 +14,7 @@ import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.common.web.controller.BaseController;
|
||||
import co.yixiang.enums.AppFromEnum;
|
||||
|
@ -9,7 +9,7 @@
|
||||
package co.yixiang.modules.user.web.controller;
|
||||
|
||||
import co.yixiang.annotation.AnonymousAccess;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.common.web.controller.BaseController;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.user.web.controller;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.common.web.controller.BaseController;
|
||||
import co.yixiang.modules.user.service.YxSystemUserLevelService;
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -37,7 +37,7 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-mproot</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-common</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
|
||||
<!--模板引擎-->
|
||||
|
@ -6,9 +6,9 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.domain;
|
||||
package co.yixiang.gen.domain;
|
||||
|
||||
import co.yixiang.utils.GenUtil;
|
||||
import co.yixiang.gen.utils.GenUtil;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
@ -6,7 +6,7 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.domain;
|
||||
package co.yixiang.gen.domain;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
@ -6,7 +6,7 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.domain.vo;
|
||||
package co.yixiang.gen.domain.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
@ -6,7 +6,7 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.domain.vo;
|
||||
package co.yixiang.gen.domain.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
@ -6,10 +6,10 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.rest;
|
||||
package co.yixiang.gen.rest;
|
||||
|
||||
import co.yixiang.service.GenConfigService;
|
||||
import co.yixiang.domain.GenConfig;
|
||||
import co.yixiang.gen.service.GenConfigService;
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.http.HttpStatus;
|
@ -6,11 +6,11 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.rest;
|
||||
package co.yixiang.gen.rest;
|
||||
|
||||
import co.yixiang.service.GenConfigService;
|
||||
import co.yixiang.service.GeneratorService;
|
||||
import co.yixiang.domain.ColumnConfig;
|
||||
import co.yixiang.gen.domain.ColumnConfig;
|
||||
import co.yixiang.gen.service.GenConfigService;
|
||||
import co.yixiang.gen.service.GeneratorService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import co.yixiang.exception.BadRequestException;
|
@ -6,9 +6,9 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.service;
|
||||
package co.yixiang.gen.service;
|
||||
|
||||
import co.yixiang.domain.GenConfig;
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
|
||||
/**
|
||||
* @author Zheng Jie
|
@ -6,10 +6,10 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.service;
|
||||
package co.yixiang.gen.service;
|
||||
|
||||
import co.yixiang.domain.ColumnConfig;
|
||||
import co.yixiang.domain.GenConfig;
|
||||
import co.yixiang.gen.domain.ColumnConfig;
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import javax.servlet.http.HttpServletRequest;
|
@ -6,12 +6,12 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.service.impl;
|
||||
package co.yixiang.gen.service.impl;
|
||||
|
||||
import co.yixiang.gen.service.mapper.GenConfigMapper;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.domain.GenConfig;
|
||||
import co.yixiang.service.GenConfigService;
|
||||
import co.yixiang.service.mapper.GenConfigMapper;
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
import co.yixiang.gen.service.GenConfigService;
|
||||
import co.yixiang.utils.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
@ -6,19 +6,19 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.service.impl;
|
||||
package co.yixiang.gen.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.ZipUtil;
|
||||
import co.yixiang.gen.domain.ColumnConfig;
|
||||
import co.yixiang.gen.service.mapper.ColumnInfoMapper;
|
||||
import co.yixiang.gen.utils.GenUtil;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.domain.ColumnConfig;
|
||||
import co.yixiang.domain.GenConfig;
|
||||
import co.yixiang.service.mapper.ColumnInfoMapper;
|
||||
import co.yixiang.utils.GenUtil;
|
||||
import co.yixiang.domain.vo.TableInfo;
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
import co.yixiang.gen.domain.vo.TableInfo;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.service.GeneratorService;
|
||||
import co.yixiang.gen.service.GeneratorService;
|
||||
import co.yixiang.utils.FileUtil;
|
||||
import co.yixiang.utils.PageUtil;
|
||||
import co.yixiang.utils.StringUtils;
|
@ -6,9 +6,9 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.service.mapper;
|
||||
package co.yixiang.gen.service.mapper;
|
||||
|
||||
import co.yixiang.domain.ColumnConfig;
|
||||
import co.yixiang.gen.domain.ColumnConfig;
|
||||
import co.yixiang.common.mapper.CoreMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.springframework.stereotype.Repository;
|
@ -6,9 +6,9 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.service.mapper;
|
||||
package co.yixiang.gen.service.mapper;
|
||||
|
||||
import co.yixiang.domain.GenConfig;
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
import co.yixiang.common.mapper.CoreMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.springframework.stereotype.Repository;
|
@ -6,7 +6,7 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.utils;
|
||||
package co.yixiang.gen.utils;
|
||||
|
||||
import org.apache.commons.configuration.*;
|
||||
|
@ -6,13 +6,15 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.utils;
|
||||
package co.yixiang.gen.utils;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.template.*;
|
||||
import co.yixiang.domain.GenConfig;
|
||||
import co.yixiang.gen.domain.GenConfig;
|
||||
import co.yixiang.utils.FileUtil;
|
||||
import co.yixiang.utils.StringUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import co.yixiang.domain.ColumnConfig;
|
||||
import co.yixiang.gen.domain.ColumnConfig;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -16,12 +16,12 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-common</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-mproot</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
@ -6,7 +6,7 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.aop.log;
|
||||
package co.yixiang.logging.aop.log;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
@ -6,11 +6,11 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.aspect;
|
||||
package co.yixiang.logging.aspect;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import co.yixiang.domain.Log;
|
||||
import co.yixiang.service.LogService;
|
||||
import co.yixiang.logging.domain.Log;
|
||||
import co.yixiang.logging.service.LogService;
|
||||
import co.yixiang.utils.RequestHolder;
|
||||
import co.yixiang.utils.SecurityUtils;
|
||||
import co.yixiang.utils.StringUtils;
|
||||
@ -45,7 +45,7 @@ public class LogAspect {
|
||||
/**
|
||||
* 配置切入点
|
||||
*/
|
||||
@Pointcut("@annotation(co.yixiang.aop.log.Log)")
|
||||
@Pointcut("@annotation(co.yixiang.logging.aop.log.Log)")
|
||||
public void logPointcut() {
|
||||
// 该方法无方法体,主要为了让同类中其他方法使用此切入点
|
||||
}
|
@ -6,7 +6,7 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.domain;
|
||||
package co.yixiang.logging.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
@ -6,13 +6,13 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.rest;
|
||||
package co.yixiang.logging.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import co.yixiang.service.LogService;
|
||||
import co.yixiang.service.dto.LogQueryCriteria;
|
||||
import co.yixiang.logging.service.LogService;
|
||||
import co.yixiang.logging.service.dto.LogQueryCriteria;
|
||||
import co.yixiang.utils.SecurityUtils;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
@ -6,11 +6,11 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.service;
|
||||
package co.yixiang.logging.service;
|
||||
|
||||
import co.yixiang.logging.domain.Log;
|
||||
import co.yixiang.common.service.BaseService;
|
||||
import co.yixiang.domain.Log;
|
||||
import co.yixiang.service.dto.LogQueryCriteria;
|
||||
import co.yixiang.logging.service.dto.LogQueryCriteria;
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.scheduling.annotation.Async;
|
@ -6,7 +6,7 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.service.dto;
|
||||
package co.yixiang.logging.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
@ -6,7 +6,7 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.service.dto;
|
||||
package co.yixiang.logging.service.dto;
|
||||
|
||||
import co.yixiang.annotation.Query;
|
||||
import lombok.Data;
|
@ -6,7 +6,7 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.service.dto;
|
||||
package co.yixiang.logging.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
@ -6,27 +6,24 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.service.impl;
|
||||
package co.yixiang.logging.service.impl;
|
||||
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.logging.service.mapper.LogMapper;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.common.utils.QueryHelpPlus;
|
||||
import co.yixiang.domain.Log;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.service.LogService;
|
||||
import co.yixiang.service.dto.LogErrorDTO;
|
||||
import co.yixiang.service.dto.LogQueryCriteria;
|
||||
import co.yixiang.service.dto.LogSmallDTO;
|
||||
import co.yixiang.service.mapper.LogMapper;
|
||||
import co.yixiang.logging.service.LogService;
|
||||
import co.yixiang.logging.service.dto.LogErrorDTO;
|
||||
import co.yixiang.logging.service.dto.LogQueryCriteria;
|
||||
import co.yixiang.logging.service.dto.LogSmallDTO;
|
||||
import co.yixiang.utils.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.Query;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.reflect.MethodSignature;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
@ -46,7 +43,7 @@ import java.util.Map;
|
||||
*/
|
||||
@Service
|
||||
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
|
||||
public class LogServiceImpl extends BaseServiceImpl<LogMapper, Log> implements LogService {
|
||||
public class LogServiceImpl extends BaseServiceImpl<LogMapper, co.yixiang.logging.domain.Log> implements LogService {
|
||||
|
||||
|
||||
private final LogMapper logMapper;
|
||||
@ -61,8 +58,8 @@ public class LogServiceImpl extends BaseServiceImpl<LogMapper, Log> implements
|
||||
@Override
|
||||
public Object findAllByPageable(String nickname, Pageable pageable) {
|
||||
getPage(pageable);
|
||||
List<Log> list = logMapper.findAllByPageable(nickname);
|
||||
PageInfo<Log> page = new PageInfo<>(list);
|
||||
List<co.yixiang.logging.domain.Log> list = logMapper.findAllByPageable(nickname);
|
||||
PageInfo<co.yixiang.logging.domain.Log> page = new PageInfo<>(list);
|
||||
|
||||
Map<String,Object> map = new LinkedHashMap<>(2);
|
||||
map.put("content",page.getList());
|
||||
@ -75,7 +72,7 @@ public class LogServiceImpl extends BaseServiceImpl<LogMapper, Log> implements
|
||||
public Object queryAll(LogQueryCriteria criteria, Pageable pageable){
|
||||
|
||||
getPage(pageable);
|
||||
PageInfo<Log> page = new PageInfo<>(queryAll(criteria));
|
||||
PageInfo<co.yixiang.logging.domain.Log> page = new PageInfo<>(queryAll(criteria));
|
||||
Map<String, Object> map = new LinkedHashMap<>(2);
|
||||
String status = "ERROR";
|
||||
if(status.equals(criteria.getLogType())){
|
||||
@ -88,14 +85,14 @@ public class LogServiceImpl extends BaseServiceImpl<LogMapper, Log> implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Log> queryAll(LogQueryCriteria criteria) {
|
||||
return baseMapper.selectList(QueryHelpPlus.getPredicate(Log.class, criteria));
|
||||
public List<co.yixiang.logging.domain.Log> queryAll(LogQueryCriteria criteria) {
|
||||
return baseMapper.selectList(QueryHelpPlus.getPredicate(co.yixiang.logging.domain.Log.class, criteria));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object queryAllByUser(LogQueryCriteria criteria, Pageable pageable) {
|
||||
getPage(pageable);
|
||||
PageInfo<Log> page = new PageInfo<>(queryAll(criteria));
|
||||
PageInfo<co.yixiang.logging.domain.Log> page = new PageInfo<>(queryAll(criteria));
|
||||
Map<String, Object> map = new LinkedHashMap<>(2);
|
||||
map.put("content", generator.convert(page.getList(), LogSmallDTO.class));
|
||||
map.put("totalElements", page.getTotal());
|
||||
@ -106,11 +103,11 @@ public class LogServiceImpl extends BaseServiceImpl<LogMapper, Log> implements
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void save(String username, String ip, ProceedingJoinPoint joinPoint,
|
||||
Log log,Long uid){
|
||||
co.yixiang.logging.domain.Log log, Long uid){
|
||||
|
||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||
Method method = signature.getMethod();
|
||||
co.yixiang.aop.log.Log aopLog = method.getAnnotation(co.yixiang.aop.log.Log.class);
|
||||
Log aopLog = method.getAnnotation(Log.class);
|
||||
|
||||
// 方法路径
|
||||
String methodName = joinPoint.getTarget().getClass().getName()+"."+signature.getName()+"()";
|
||||
@ -155,16 +152,16 @@ public class LogServiceImpl extends BaseServiceImpl<LogMapper, Log> implements
|
||||
|
||||
@Override
|
||||
public Object findByErrDetail(Long id) {
|
||||
Log log = this.getById(id);
|
||||
co.yixiang.logging.domain.Log log = this.getById(id);
|
||||
ValidationUtil.isNull( log.getId(),"Log","id", id);
|
||||
byte[] details = log.getExceptionDetail();
|
||||
return Dict.create().set("exception",new String(ObjectUtil.isNotNull(details) ? details : "".getBytes()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void download(List<Log> logs, HttpServletResponse response) throws IOException {
|
||||
public void download(List<co.yixiang.logging.domain.Log> logs, HttpServletResponse response) throws IOException {
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (Log log : logs) {
|
||||
for (co.yixiang.logging.domain.Log log : logs) {
|
||||
Map<String,Object> map = new LinkedHashMap<>();
|
||||
map.put("用户名", log.getUsername());
|
||||
map.put("IP", log.getRequestIp());
|
@ -6,10 +6,10 @@
|
||||
* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.service.mapper;
|
||||
package co.yixiang.logging.service.mapper;
|
||||
|
||||
import co.yixiang.common.mapper.CoreMapper;
|
||||
import co.yixiang.domain.Log;
|
||||
import co.yixiang.logging.domain.Log;
|
||||
import org.apache.ibatis.annotations.Delete;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-common</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<name>MyBatisPlus模块</name>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -21,13 +21,13 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-tools</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-mp</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>co.yixiang</groupId>
|
||||
|
@ -9,7 +9,7 @@
|
||||
package co.yixiang.modules.activity.rest;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.activity.domain.YxStoreBargain;
|
||||
import co.yixiang.modules.activity.service.YxStoreBargainService;
|
||||
import co.yixiang.modules.activity.service.dto.YxStoreBargainQueryCriteria;
|
||||
|
@ -9,9 +9,7 @@
|
||||
package co.yixiang.modules.activity.rest;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.activity.domain.YxStoreCombination;
|
||||
import co.yixiang.modules.activity.service.YxStoreCombinationService;
|
||||
import co.yixiang.modules.activity.service.dto.YxStoreCombinationQueryCriteria;
|
||||
|
@ -8,9 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.activity.rest;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.activity.domain.YxStoreCoupon;
|
||||
import co.yixiang.modules.activity.service.YxStoreCouponService;
|
||||
import co.yixiang.modules.activity.service.dto.YxStoreCouponQueryCriteria;
|
||||
|
@ -9,9 +9,7 @@
|
||||
package co.yixiang.modules.activity.rest;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.activity.domain.YxStoreCouponIssue;
|
||||
import co.yixiang.modules.activity.service.YxStoreCouponIssueService;
|
||||
import co.yixiang.modules.activity.service.dto.YxStoreCouponIssueQueryCriteria;
|
||||
|
@ -8,9 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.activity.rest;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.activity.domain.YxStoreCouponIssueUser;
|
||||
import co.yixiang.modules.activity.service.YxStoreCouponIssueUserService;
|
||||
import co.yixiang.modules.activity.service.dto.YxStoreCouponIssueUserQueryCriteria;
|
||||
|
@ -8,8 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.activity.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.modules.activity.domain.YxStoreCouponUser;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.activity.service.YxStoreCouponUserService;
|
||||
import co.yixiang.modules.activity.service.dto.YxStoreCouponUserQueryCriteria;
|
||||
import io.swagger.annotations.Api;
|
||||
@ -18,7 +17,6 @@ import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
|
@ -8,8 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.activity.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.modules.activity.domain.YxStorePink;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.activity.service.YxStorePinkService;
|
||||
import co.yixiang.modules.activity.service.dto.YxStorePinkQueryCriteria;
|
||||
import io.swagger.annotations.Api;
|
||||
@ -18,7 +17,6 @@ import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
|
@ -9,9 +9,7 @@
|
||||
package co.yixiang.modules.activity.rest;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.activity.domain.YxStoreSeckill;
|
||||
import co.yixiang.modules.activity.service.YxStoreSeckillService;
|
||||
import co.yixiang.modules.activity.service.dto.YxStoreSeckillQueryCriteria;
|
||||
|
@ -11,7 +11,7 @@ package co.yixiang.modules.activity.rest;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.modules.activity.domain.YxUserExtract;
|
||||
|
@ -8,9 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.shop.rest;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.shop.domain.YxExpress;
|
||||
import co.yixiang.modules.shop.service.YxExpressService;
|
||||
import co.yixiang.modules.shop.service.dto.YxExpressQueryCriteria;
|
||||
|
@ -9,7 +9,7 @@
|
||||
package co.yixiang.modules.shop.rest;
|
||||
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.shop.domain.YxMaterial;
|
||||
import co.yixiang.modules.shop.service.YxMaterialService;
|
||||
import co.yixiang.modules.shop.service.dto.YxMaterialQueryCriteria;
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.shop.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.shop.domain.YxMaterialGroup;
|
||||
import co.yixiang.modules.shop.service.YxMaterialGroupService;
|
||||
import co.yixiang.modules.shop.service.dto.YxMaterialGroupQueryCriteria;
|
||||
|
@ -9,9 +9,7 @@
|
||||
package co.yixiang.modules.shop.rest;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.shop.domain.YxUser;
|
||||
import co.yixiang.modules.shop.service.YxSystemConfigService;
|
||||
import co.yixiang.modules.shop.service.YxUserService;
|
||||
|
@ -9,7 +9,7 @@
|
||||
package co.yixiang.modules.shop.rest;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.modules.shop.domain.YxStoreCategory;
|
||||
import co.yixiang.modules.shop.service.YxStoreCategoryService;
|
||||
|
@ -13,7 +13,7 @@ import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.annotation.AnonymousAccess;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.enums.OrderInfoEnum;
|
||||
|
@ -10,9 +10,8 @@ package co.yixiang.modules.shop.rest;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.modules.shop.domain.YxStoreProduct;
|
||||
import co.yixiang.modules.shop.service.YxStoreProductService;
|
||||
import co.yixiang.modules.shop.service.dto.YxStoreProductQueryCriteria;
|
||||
|
@ -8,9 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.shop.rest;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.shop.domain.YxStoreProductReply;
|
||||
import co.yixiang.modules.shop.service.YxStoreProductReplyService;
|
||||
import co.yixiang.modules.shop.service.dto.YxStoreProductReplyQueryCriteria;
|
||||
|
@ -9,11 +9,9 @@
|
||||
package co.yixiang.modules.shop.rest;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.enums.RedisKeyEnum;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.modules.shop.domain.YxSystemConfig;
|
||||
import co.yixiang.modules.shop.service.YxSystemConfigService;
|
||||
import co.yixiang.modules.shop.service.dto.YxSystemConfigQueryCriteria;
|
||||
|
@ -10,7 +10,7 @@ package co.yixiang.modules.shop.rest;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.modules.shop.domain.YxSystemGroupData;
|
||||
@ -21,7 +21,6 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
@ -10,7 +10,7 @@ package co.yixiang.modules.shop.rest;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.enums.RedisKeyEnum;
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.shop.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.modules.shop.domain.YxSystemStoreStaff;
|
||||
import co.yixiang.modules.shop.service.YxSystemStoreStaffService;
|
||||
|
@ -8,9 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.shop.rest;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.shop.domain.YxSystemUserLevel;
|
||||
import co.yixiang.modules.shop.service.YxSystemUserLevelService;
|
||||
import co.yixiang.modules.shop.service.dto.YxSystemUserLevelQueryCriteria;
|
||||
@ -24,9 +22,6 @@ import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author hupeng
|
||||
* @date 2019-12-04
|
||||
|
@ -8,15 +8,12 @@
|
||||
*/
|
||||
package co.yixiang.modules.shop.rest;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.shop.domain.YxSystemUserTask;
|
||||
import co.yixiang.modules.shop.service.YxSystemUserTaskService;
|
||||
import co.yixiang.modules.shop.service.dto.YxSystemUserTaskQueryCriteria;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.shop.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.shop.service.YxUserBillService;
|
||||
import co.yixiang.modules.shop.service.dto.YxUserBillQueryCriteria;
|
||||
import io.swagger.annotations.Api;
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.shop.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.modules.shop.domain.YxUserRecharge;
|
||||
import co.yixiang.modules.shop.service.YxUserRechargeService;
|
||||
|
@ -10,7 +10,7 @@ package co.yixiang.modules.shop.rest;
|
||||
import java.util.Arrays;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import lombok.AllArgsConstructor;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.shop.domain.YxWechatUser;
|
||||
import co.yixiang.modules.shop.service.YxWechatUserService;
|
||||
import co.yixiang.modules.shop.service.dto.YxWechatUserQueryCriteria;
|
||||
|
@ -36,7 +36,7 @@ public interface YxUserBillService extends BaseService<YxUserBill>{
|
||||
* @param criteria 条件参数
|
||||
* @return List<YxUserBillDto>
|
||||
*/
|
||||
List<YxUserBill> queryAll(YxUserBillQueryCriteria criteria);
|
||||
List<YxUserBillDto> queryAll(YxUserBillQueryCriteria criteria);
|
||||
|
||||
/**
|
||||
* 导出数据
|
||||
|
@ -17,36 +17,37 @@ import java.io.Serializable;
|
||||
*/
|
||||
@Data
|
||||
public class YxSystemUserTaskDto implements Serializable {
|
||||
|
||||
private Integer id;
|
||||
|
||||
/** 任务名称 */
|
||||
// 任务名称
|
||||
private String name;
|
||||
|
||||
/** 配置原名 */
|
||||
// 配置原名
|
||||
private String realName;
|
||||
|
||||
/** 任务类型 */
|
||||
// 任务类型
|
||||
private String taskType;
|
||||
|
||||
/** 限定数 */
|
||||
// 限定数
|
||||
private Integer number;
|
||||
|
||||
/** 等级id */
|
||||
// 等级id
|
||||
private Integer levelId;
|
||||
|
||||
/** 排序 */
|
||||
private String levalName;
|
||||
|
||||
// 排序
|
||||
private Integer sort;
|
||||
|
||||
/** 是否显示 */
|
||||
// 是否显示
|
||||
private Integer isShow;
|
||||
|
||||
/** 是否务必达成任务,1务必达成,0=满足其一 */
|
||||
// 是否务必达成任务,1务必达成,0=满足其一
|
||||
private Integer isMust;
|
||||
|
||||
/** 任务说明 */
|
||||
// 任务说明
|
||||
private String illustrate;
|
||||
|
||||
/** 新增时间 */
|
||||
// 新增时间
|
||||
private Integer addTime;
|
||||
}
|
||||
|
@ -54,4 +54,6 @@ public class YxUserBillDto implements Serializable {
|
||||
|
||||
/** 0 = 带确定 1 = 有效 -1 = 无效 */
|
||||
private Integer status;
|
||||
|
||||
private String nickname;
|
||||
}
|
||||
|
@ -18,4 +18,7 @@ import co.yixiang.annotation.Query;
|
||||
*/
|
||||
@Data
|
||||
public class YxUserBillQueryCriteria{
|
||||
private String nickname;
|
||||
private String category;
|
||||
private String type;
|
||||
}
|
||||
|
@ -52,8 +52,13 @@ public class YxSystemUserTaskServiceImpl extends BaseServiceImpl<SystemUserTaskM
|
||||
public Map<String, Object> queryAll(YxSystemUserTaskQueryCriteria criteria, Pageable pageable) {
|
||||
getPage(pageable);
|
||||
PageInfo<YxSystemUserTask> page = new PageInfo<>(queryAll(criteria));
|
||||
List<YxSystemUserTaskDto> systemUserTaskDTOS = generator.convert(page.getList(),YxSystemUserTaskDto.class);
|
||||
for (YxSystemUserTaskDto systemUserTaskDTO : systemUserTaskDTOS) {
|
||||
systemUserTaskDTO.setLevalName(this
|
||||
.getById(systemUserTaskDTO.getLevelId()).getName());
|
||||
}
|
||||
Map<String, Object> map = new LinkedHashMap<>(2);
|
||||
map.put("content", generator.convert(page.getList(), YxSystemUserTaskDto.class));
|
||||
map.put("content", systemUserTaskDTOS);
|
||||
map.put("totalElements", page.getTotal());
|
||||
return map;
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ import co.yixiang.modules.shop.service.YxUserBillService;
|
||||
import co.yixiang.modules.shop.service.dto.YxUserBillDto;
|
||||
import co.yixiang.modules.shop.service.dto.YxUserBillQueryCriteria;
|
||||
import co.yixiang.modules.shop.service.mapper.UserBillMapper;
|
||||
import org.apache.xmlbeans.impl.xb.xmlconfig.Qnametargetlist;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@ -51,9 +52,9 @@ public class YxUserBillServiceImpl extends BaseServiceImpl<UserBillMapper, YxUse
|
||||
//@Cacheable
|
||||
public Map<String, Object> queryAll(YxUserBillQueryCriteria criteria, Pageable pageable) {
|
||||
getPage(pageable);
|
||||
PageInfo<YxUserBill> page = new PageInfo<>(queryAll(criteria));
|
||||
PageInfo<YxUserBillDto> page = new PageInfo<>(queryAll(criteria));
|
||||
Map<String, Object> map = new LinkedHashMap<>(2);
|
||||
map.put("content", generator.convert(page.getList(), YxUserBillDto.class));
|
||||
map.put("content", page.getList());
|
||||
map.put("totalElements", page.getTotal());
|
||||
return map;
|
||||
}
|
||||
@ -61,8 +62,9 @@ public class YxUserBillServiceImpl extends BaseServiceImpl<UserBillMapper, YxUse
|
||||
|
||||
@Override
|
||||
//@Cacheable
|
||||
public List<YxUserBill> queryAll(YxUserBillQueryCriteria criteria){
|
||||
return baseMapper.selectList(QueryHelpPlus.getPredicate(YxUserBill.class, criteria));
|
||||
public List<YxUserBillDto> queryAll(YxUserBillQueryCriteria criteria){
|
||||
|
||||
return baseMapper.findAllByQueryCriteria(criteria.getCategory(),criteria.getType(),criteria.getNickname());
|
||||
}
|
||||
|
||||
|
||||
|
@ -10,9 +10,17 @@ package co.yixiang.modules.shop.service.mapper;
|
||||
|
||||
import co.yixiang.common.mapper.CoreMapper;
|
||||
import co.yixiang.modules.shop.domain.YxUserBill;
|
||||
import co.yixiang.modules.shop.service.dto.YxUserBillDto;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.ResultType;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.springframework.security.core.parameters.P;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author hupeng
|
||||
* @date 2020-05-12
|
||||
@ -21,4 +29,10 @@ import org.springframework.stereotype.Repository;
|
||||
@Mapper
|
||||
public interface UserBillMapper extends CoreMapper<YxUserBill> {
|
||||
|
||||
@Select("<script> select b.title,b.pm,b.category,b.type,b.number,b.add_time ,u.nickname " +
|
||||
"from yx_user_bill b left join yx_user u on u.uid=b.uid where 1=1 " +
|
||||
"<if test =\"category !=''\">and b.category=#{category}</if> " +
|
||||
"<if test =\"type !=''\">and b.type=#{type}</if> " +
|
||||
"<if test =\"nickname !=''\">and u.nickname= LIKE CONCAT('%',#{nickname},'%')</if> </script> ")
|
||||
List<YxUserBillDto> findAllByQueryCriteria(@Param("category") String category, @Param("type") String type, @Param("nickname") String nickname);
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-generator</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>co.yixiang</groupId>
|
||||
@ -32,17 +32,17 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-shop</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-mproot</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-mp</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>co.yixiang</groupId>
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.quartz.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.modules.quartz.domain.QuartzJob;
|
||||
@ -18,8 +18,6 @@ import co.yixiang.modules.quartz.service.dto.QuartzJobDto;
|
||||
import co.yixiang.modules.quartz.service.dto.QuartzJobQueryCriteria;
|
||||
import co.yixiang.modules.quartz.service.dto.QuartzLogDto;
|
||||
import co.yixiang.modules.quartz.service.dto.QuartzLogQueryCriteria;
|
||||
import co.yixiang.modules.shop.domain.YxUser;
|
||||
import co.yixiang.modules.system.service.dto.JobQueryCriteria;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
@ -16,7 +16,7 @@ import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import co.yixiang.annotation.AnonymousAccess;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.modules.security.config.SecurityProperties;
|
||||
import co.yixiang.modules.security.security.TokenProvider;
|
||||
|
@ -8,9 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.security.rest;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.modules.security.service.OnlineUserService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
@ -9,7 +9,7 @@
|
||||
package co.yixiang.modules.system.rest;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.config.DataScope;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
|
@ -7,8 +7,7 @@
|
||||
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
|
||||
*/
|
||||
package co.yixiang.modules.system.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.modules.system.domain.Dict;
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.system.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.modules.system.domain.DictDetail;
|
||||
import co.yixiang.modules.system.service.DictDetailService;
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.system.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.config.DataScope;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.modules.system.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.modules.shop.domain.YxSystemConfig;
|
||||
|
@ -9,7 +9,7 @@
|
||||
package co.yixiang.modules.system.rest;
|
||||
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.modules.system.domain.Role;
|
||||
|
@ -10,7 +10,7 @@ package co.yixiang.modules.system.rest;
|
||||
|
||||
import cn.hutool.crypto.asymmetric.KeyType;
|
||||
import cn.hutool.crypto.asymmetric.RSA;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.config.DataScope;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.modules.system.service.dto.UserDto;
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>yshop</artifactId>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<dependency>
|
||||
<groupId>co.yixiang</groupId>
|
||||
<artifactId>yshop-logging</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
|
||||
<!--邮件依赖-->
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.tools.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.tools.service.AlipayConfigService;
|
||||
import co.yixiang.tools.utils.AliPayStatusEnum;
|
||||
import io.swagger.annotations.Api;
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.tools.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.tools.service.EmailConfigService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
@ -10,7 +10,7 @@ package co.yixiang.tools.rest;
|
||||
import java.util.Arrays;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import lombok.AllArgsConstructor;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.tools.domain.LocalStorage;
|
||||
import co.yixiang.tools.service.LocalStorageService;
|
||||
import co.yixiang.tools.service.dto.LocalStorageQueryCriteria;
|
||||
|
@ -9,7 +9,7 @@
|
||||
package co.yixiang.tools.rest;
|
||||
|
||||
import co.yixiang.tools.service.dto.PictureDto;
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
package co.yixiang.tools.rest;
|
||||
|
||||
import co.yixiang.aop.log.Log;
|
||||
import co.yixiang.logging.aop.log.Log;
|
||||
import co.yixiang.tools.domain.QiniuConfig;
|
||||
import co.yixiang.tools.domain.QiniuContent;
|
||||
import co.yixiang.tools.service.QiNiuService;
|
||||
|
Reference in New Issue
Block a user