diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index 62b136abb..84fa27e35 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -78,9 +78,9 @@ public class WxOrderController extends BaseController { if (resultData != null) return resultData; WxCUser user = getUser(); - if (user.getUserId() == null) { - logger.error("手机号为空,请授权手机号"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "手机号为空,请授权手机号"); + if (!user.isBasicInfo()) { + logger.error("暂未成为会员,请授权手机号"); + return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号"); } WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(user.getUserId()); if (wxCUserBasicInfo != null && wxCUserBasicInfo.getStatus().equals(EnumCUserBasicInfoStatus.LOCKED.getCode())) { @@ -130,7 +130,7 @@ public class WxOrderController extends BaseController { redisLock.setCouponStock(wxCouponCVo.getCouponId(), coupon.getRemainInventory()); } - resultData = couponUserCheck(user, wxCouponCVo); + resultData = couponUserCheck(wxCUserBasicInfo, wxCouponCVo); if (resultData != null) return resultData; Long couponId = orderSaveDto.getCouponId() == null ? wxCouponChannel.getCouponId() : orderSaveDto.getCouponId(); @@ -153,7 +153,7 @@ public class WxOrderController extends BaseController { } } - private ResultData couponUserCheck(WxCUser user, WxCouponCVo coupon) { + private ResultData couponUserCheck(WxCUserBasicInfo user, WxCouponCVo coupon) { if (coupon.getConditions() == null) return null; JSONObject jo = null; try { @@ -162,24 +162,23 @@ public class WxOrderController extends BaseController { logger.error("购买券条件判断错误:ID=" + coupon.getId() + e.getMessage()); } if (jo != null) { - WxCUserBasicInfo cUserBasicInfo = wxCUserBasicInfoService.getById(user.getUserId()); if (jo.getIntValue("type") == EnumCouponConditionType.NEW_MEMBER.getCode()){ - if (cUserBasicInfo != null && cUserBasicInfo.getActRecord() > 0) + if (user != null && user.getActRecord() > 0) return new ResultData(ErrorCode.COUPON_ONLY_FOR_NEW_MEMBER); - if (wxOrderService.countCouponConditionType1(cUserBasicInfo) > 0) + if (wxOrderService.countCouponConditionType1(user) > 0) return new ResultData(ErrorCode.COUPON_ALREADY_IN_NEW_MEMBER); }else if (jo.getIntValue("type") == EnumCouponConditionType.SCORE_SCOPE.getCode()){ int max = jo.getIntValue("max"); int min = jo.getIntValue("min"); - if (max!=0 && min ==0 && cUserBasicInfo.getPoins() > max) { + if (max!=0 && min ==0 && user.getPoins() > max) { return new ResultData(ErrorCode.COUPON_SCORE_NOT_IN_RANGE); } - if (max==0 && min !=0 && cUserBasicInfo.getPoins() < min) { + if (max==0 && min !=0 && user.getPoins() < min) { return new ResultData(ErrorCode.COUPON_SCORE_NOT_IN_RANGE); } - if (max!=0 && min !=0 && (cUserBasicInfo.getPoins() < min || cUserBasicInfo.getPoins() > max)) { + if (max!=0 && min !=0 && (user.getPoins() < min || user.getPoins() > max)) { return new ResultData(ErrorCode.COUPON_SCORE_NOT_IN_RANGE); } } @@ -272,9 +271,14 @@ public class WxOrderController extends BaseController { @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), }) public ResultData list(@ModelAttribute WxOrder wxOrder, Integer pageNum, Integer pageSize) { + WxCUser user = getUser(); + if (!user.isBasicInfo()) { + logger.error("暂未成为会员,请授权手机号"); + return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号"); + } // c端用户应该只能看到自己的订单 if (wxOrder == null) wxOrder = new WxOrder(); - wxOrder.setCUserId(getUserId()); + wxOrder.setCUserId(user.getUserId()); wxOrder.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); final PageInfo page = wxOrderService.listCUserVoAsPage(wxOrder, pageNum, pageSize); @@ -304,6 +308,11 @@ public class WxOrderController extends BaseController { if (StringUtils.isBlank(orderId) || orderId.equalsIgnoreCase(Constant.UNDEFINED)) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } + WxCUser user = getUser(); + if (!user.isBasicInfo()) { + logger.error("暂未成为会员,请授权手机号"); + return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号"); + } // c端用户应该只能看到自己的订单细节 WxOrder wxOrder = new WxOrder(); Long id = 0L; @@ -314,7 +323,7 @@ public class WxOrderController extends BaseController { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "订单ID转换异常"); } wxOrder.setId(id); - wxOrder.setCUserId(getUserId()); + wxOrder.setCUserId(user.getUserId()); WxOrderCouponVo wxOrderCVo = wxOrderService.detailCUserVo(wxOrder); if (wxOrderCVo == null) return new ResultData(ErrorCode.ORDER_IS_NOT_FIND); @@ -394,10 +403,11 @@ public class WxOrderController extends BaseController { WxOrder order = null; try { - WxCUser cuser = getUser(); - if(!cuser.isBasicInfo()) { - throw new MallinkException(ErrorCode.USER_IS_NOT_MEMBER); - } + WxCUser cuser = getUser(); + if (!cuser.isBasicInfo()) { + logger.error("暂未成为会员,请授权手机号"); + return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号"); + } WxCUserBasicInfo user = wxCUserBasicInfoService.getById(cuser.getUserId()); if(user == null) { logger.error("会员用户未找到: " + cuser.getUserId()); @@ -421,9 +431,14 @@ public class WxOrderController extends BaseController { @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) public ResultData pressOrderList(@ModelAttribute WxOrder wxOrder, Integer pageNum, Integer pageSize) { + WxCUser user = getUser(); + if (!user.isBasicInfo()) { + logger.error("暂未成为会员,请授权手机号"); + return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号"); + } // c端用户应该只能看到自己的订单 if (wxOrder == null) wxOrder = new WxOrder(); - wxOrder.setCUserId(getUserId()); + wxOrder.setCUserId(user.getUserId()); wxOrder.setSortColumns(BaseEntity.SortField.CreateDate_DESC); final PageInfo page = wxOrderService.listPressVoAsPage(wxOrder, pageNum, pageSize); return new ResultData(page); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java index 8aba5260c..85f67ca55 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java @@ -85,11 +85,12 @@ public class WxPayOrderController extends BaseController { } WxCUser user = getUser(); - if(!user.isBasicInfo()) { - return new ResultData(ErrorCode.USER_IS_NOT_MEMBER); + if (!user.isBasicInfo()) { + logger.error("暂未成为会员,请授权手机号"); + return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号"); } - return _create(orderIdStr,user.getId(),EnumPayWay.PAY_WAY_WECHAT,user.getAppId(),new PayExtraParam("openId",user.getOpenId()),request); + return _create(orderIdStr,user.getUserId(),EnumPayWay.PAY_WAY_WECHAT,user.getAppId(),new PayExtraParam("openId",user.getOpenId()),request); } private ResultData _create(String orderIdStr,Long userId, EnumPayWay payWay,String appId,PayExtraParam parm,HttpServletRequest request) { diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java index 36f19672a..b3d4811a2 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java @@ -5,6 +5,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import com.iformall.domain.po.*; +import com.iformall.mapper.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.aop.framework.AopContext; @@ -16,24 +18,12 @@ import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.iformall.common.ErrorCode; -import com.iformall.domain.po.WxAppinfo; -import com.iformall.domain.po.WxCUser; -import com.iformall.domain.po.WxOrder; -import com.iformall.domain.po.WxPayAccount; -import com.iformall.domain.po.WxPayOrder; import com.iformall.enums.EnumAppType; import com.iformall.enums.EnumOrderStatus; import com.iformall.enums.EnumOrderType; import com.iformall.enums.EnumPayStatus; import com.iformall.enums.EnumRefundStatus; import com.iformall.exception.MallinkException; -import com.iformall.mapper.WxAppinfoMapper; -import com.iformall.mapper.WxCUserMapper; -import com.iformall.mapper.WxCouponMapper; -import com.iformall.mapper.WxOrderGroupMapper; -import com.iformall.mapper.WxOrderMapper; -import com.iformall.mapper.WxPayAccountMapper; -import com.iformall.mapper.WxPayOrderMapper; import com.iformall.service.WxAppinfoService; import com.iformall.service.WxOrderService; import com.iformall.service.WxPayOrderService; @@ -68,9 +58,12 @@ public class OrderExpiringSchedule { @Autowired WxPayOrderMapper wxPayOrderMapper; - + @Autowired WxCUserMapper wxCUserMapper; + + @Autowired + WxCUserBasicInfoMapper wxCUserBasicInfoMapper; @Autowired WxAppinfoService wxAppinfoService; @@ -204,12 +197,20 @@ public class OrderExpiringSchedule { if (null == wxpayOrder) { return false; } - WxCUser user = wxCUserMapper.selectById(wxpayOrder.getCUserId()); + WxCUserBasicInfo user = wxCUserBasicInfoMapper.selectById(wxpayOrder.getCUserId()); //找不到用户,问题单,不能删 if (null == user) { return true; } - WxAppinfo appInfo = wxAppinfoService.getByAppId(user.getAppId()); + WxCUser cuUser = new WxCUser(); + cuUser.updateTenantInfo(order); + cuUser.setUserId(user.getId()); + WxCUser cUser = wxCUserMapper.selectOne(new QueryWrapper(cuUser)); + //找不到用户,问题单,不能删 + if (null == cUser) { + return true; + } + WxAppinfo appInfo = wxAppinfoService.getByAppId(cUser.getAppId()); //找不到appInfo,问题单,不能删 if(appInfo == null) { return true; diff --git a/mallinkSysAdmin/src/main/java/com/iformall/controller/datafix/DataInitController.java b/mallinkSysAdmin/src/main/java/com/iformall/controller/datafix/DataInitController.java index b7fe49198..046fcd966 100644 --- a/mallinkSysAdmin/src/main/java/com/iformall/controller/datafix/DataInitController.java +++ b/mallinkSysAdmin/src/main/java/com/iformall/controller/datafix/DataInitController.java @@ -190,10 +190,10 @@ public class DataInitController extends BaseController { log.debug(" : {}", ret.getId()); return; } - WxCUser cuUser = cUserMapper.selectById(co.getcUserId()); +// WxCUser cuUser = cUserMapper.selectById(co.getcUserId()); WxCUserBasicInfo userBasicInfo = cUserBasicInfoMapper.selectById(co.getcUserId()); //排查不存在的用户 - if (Objects.isNull(cuUser) && Objects.isNull(userBasicInfo)) { + if (Objects.isNull(userBasicInfo)) { log.debug("用户不存在 id: {}", co.getId()); return; }