diff --git a/yshop-api/src/main/java/co/yixiang/modules/order/web/controller/StoreOrderController.java b/yshop-api/src/main/java/co/yixiang/modules/order/web/controller/StoreOrderController.java index 378e1948..2a83982a 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/order/web/controller/StoreOrderController.java +++ b/yshop-api/src/main/java/co/yixiang/modules/order/web/controller/StoreOrderController.java @@ -130,28 +130,19 @@ public class StoreOrderController extends BaseController { other.setIntegralFull(systemConfigService.getData("integral_full")); other.setIntegralMax(systemConfigService.getData("integral_max")); - //todo 拼团 砍价 秒杀 + //拼团 砍价 秒杀 int combinationId = 0; - if(cartId.split(",").length == 1){ - YxStoreCartQueryVo cartQueryVo = cartService.getYxStoreCartById(Integer - .valueOf(cartId)); - combinationId = cartQueryVo.getCombinationId(); - } - int secKillId = 0; - if(cartId.split(",").length == 1){ - YxStoreCartQueryVo cartQueryVo = cartService.getYxStoreCartById(Integer - .valueOf(cartId)); - secKillId = cartQueryVo.getSeckillId(); - } - int bargainId = 0; if(cartId.split(",").length == 1){ YxStoreCartQueryVo cartQueryVo = cartService.getYxStoreCartById(Integer .valueOf(cartId)); + combinationId = cartQueryVo.getCombinationId(); + secKillId = cartQueryVo.getSeckillId(); bargainId = cartQueryVo.getBargainId(); } + //拼团砍价秒杀类产品不参与抵扣 if(combinationId > 0 || secKillId > 0 || bargainId > 0) confirmOrderDTO.setDeduction(true); diff --git a/yshop-api/src/main/java/co/yixiang/modules/security/rest/AuthController.java b/yshop-api/src/main/java/co/yixiang/modules/security/rest/AuthController.java index c46955fd..2d8f334c 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/security/rest/AuthController.java +++ b/yshop-api/src/main/java/co/yixiang/modules/security/rest/AuthController.java @@ -156,27 +156,20 @@ public class AuthController { WxMpOAuth2AccessToken wxMpOAuth2AccessToken = wxService.oauth2getAccessToken(code); WxMpUser wxMpUser = wxService.oauth2getUserInfo(wxMpOAuth2AccessToken, null); String openid = wxMpUser.getOpenId(); - YxWechatUser wechatUser = wechatUserService.getUserInfo(openid); + YxUser yxUser = userService.findByName(openid); JwtUser jwtUser = null; - if (ObjectUtil.isNotNull(wechatUser)) { - YxUserQueryVo yxUserQueryVo = userService.getYxUserById(wechatUser.getUid()); - if (ObjectUtil.isNotNull(yxUserQueryVo)) { - jwtUser = (JwtUser) userDetailsService.loadUserByUsername(wechatUser.getOpenid()); - } else { - if (ObjectUtil.isNotNull(wechatUser)) { - wechatUserService.removeById(wechatUser.getUid()); - } - if (ObjectUtil.isNotNull(yxUserQueryVo)) { - userService.removeById(yxUserQueryVo.getUid()); - } - return ApiResult.fail(ApiCode.FAIL_AUTH, "授权失败"); - } - - + if (ObjectUtil.isNotNull(yxUser)) { + jwtUser = (JwtUser) userDetailsService.loadUserByUsername(openid); } else { + //如果后台删除了用户 + YxWechatUser wechatUser = wechatUserService.getUserInfo(openid); + if(wechatUser != null){ + wechatUserService.removeById(wechatUser.getUid()); + } + //过滤掉表情 String nickname = EmojiParser.removeAllEmojis(wxMpUser.getNickname()); log.info("昵称:{}", nickname); @@ -293,27 +286,22 @@ public class AuthController { wxMaConfig.setAppid(appId); wxMaConfig.setSecret(secret); - wxMaService.setWxMaConfig(wxMaConfig); WxMaJscode2SessionResult session = wxMaService.getUserService().getSessionInfo(code); - YxWechatUser wechatUser = wechatUserService.getUserAppInfo(session.getOpenid()); - ; + String openid = session.getOpenid(); + + YxUser yxUser = userService.findByName(openid); JwtUser jwtUser = null; - if (ObjectUtil.isNotNull(wechatUser)) { - YxUserQueryVo yxUserQueryVo = userService.getYxUserById(wechatUser.getUid()); - if (ObjectUtil.isNotNull(yxUserQueryVo)) { - jwtUser = (JwtUser) userDetailsService.loadUserByUsername(wechatUser.getRoutineOpenid()); - } else { - if (ObjectUtil.isNotNull(wechatUser)) { - wechatUserService.removeById(wechatUser.getUid()); - } - if (ObjectUtil.isNotNull(yxUserQueryVo)) { - userService.removeById(yxUserQueryVo.getUid()); - } - return ApiResult.fail(ApiCode.FAIL_AUTH, "授权失败"); + if (ObjectUtil.isNotNull(yxUser)) { + jwtUser = (JwtUser) userDetailsService.loadUserByUsername(openid); + } else { + + //如果后台删除了用户 + YxWechatUser wechatUser = wechatUserService.getUserAppInfo(openid); + if(wechatUser != null){ + wechatUserService.removeById(wechatUser.getUid()); } - } else { WxMaUserInfo wxMpUser = wxMaService.getUserService() .getUserInfo(session.getSessionKey(), encryptedData, iv); //过滤掉表情 diff --git a/yshop-api/src/main/java/co/yixiang/modules/user/service/impl/YxUserServiceImpl.java b/yshop-api/src/main/java/co/yixiang/modules/user/service/impl/YxUserServiceImpl.java index abeeb8c1..f1d0b701 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/user/service/impl/YxUserServiceImpl.java +++ b/yshop-api/src/main/java/co/yixiang/modules/user/service/impl/YxUserServiceImpl.java @@ -13,6 +13,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import co.yixiang.common.service.impl.BaseServiceImpl; import co.yixiang.common.web.vo.Paging; +import co.yixiang.exception.ErrorRequestException; import co.yixiang.modules.order.service.YxStoreOrderService; import co.yixiang.modules.order.web.vo.YxStoreOrderQueryVo; import co.yixiang.modules.shop.service.YxStoreCouponUserService; @@ -423,13 +424,15 @@ public class YxUserServiceImpl extends BaseServiceImpl imp @Override public YxUserQueryVo getYxUserById(Serializable id){ YxUserQueryVo userQueryVo = yxUserMapper.getYxUserById(id); - userQueryVo.setOrderStatusNum(orderService.orderData((int)id)); return userQueryVo; } @Override public YxUserQueryVo getNewYxUserById(Serializable id) { YxUserQueryVo userQueryVo = yxUserMapper.getYxUserById(id); + if(userQueryVo == null){ + throw new ErrorRequestException("用户不存在"); + } userQueryVo.setOrderStatusNum(orderService.orderData((int)id)); userQueryVo.setCouponCount(storeCouponUserService.getUserValidCouponCount((int)id)); //判断分销类型 diff --git a/yshop-api/src/main/java/co/yixiang/modules/user/service/impl/YxWechatUserServiceImpl.java b/yshop-api/src/main/java/co/yixiang/modules/user/service/impl/YxWechatUserServiceImpl.java index aed04a6b..b37dc2db 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/user/service/impl/YxWechatUserServiceImpl.java +++ b/yshop-api/src/main/java/co/yixiang/modules/user/service/impl/YxWechatUserServiceImpl.java @@ -46,14 +46,14 @@ public class YxWechatUserServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(); - wrapper.eq("routine_openid",openid); + wrapper.eq("routine_openid",openid).last("limit 1"); return yxWechatUserMapper.selectOne(wrapper); } @Override public YxWechatUser getUserInfo(String openid) { QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("openid",openid); + wrapper.eq("openid",openid).last("limit 1"); return yxWechatUserMapper.selectOne(wrapper); } diff --git a/yshop-api/src/main/java/co/yixiang/modules/wechat/web/controller/WechatController.java b/yshop-api/src/main/java/co/yixiang/modules/wechat/web/controller/WechatController.java index e83221e7..ea2e92a2 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/wechat/web/controller/WechatController.java +++ b/yshop-api/src/main/java/co/yixiang/modules/wechat/web/controller/WechatController.java @@ -93,7 +93,8 @@ public class WechatController extends BaseController { map.put("appId",jsapiSignature.getAppId()); map.put("jsApiList",new String[]{"updateAppMessageShareData","openLocation","scanQRCode", - "chooseWXPay","updateAppMessageShareData","updateTimelineShareData"}); + "chooseWXPay","updateAppMessageShareData","updateTimelineShareData", + "openAddress","editAddress"}); map.put("nonceStr",jsapiSignature.getNonceStr()); map.put("signature",jsapiSignature.getSignature()); map.put("timestamp",jsapiSignature.getTimestamp());