From d3f180cb50dc38cb0f9f972101cf50d12e16893a Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Thu, 6 Aug 2020 20:12:58 +0800 Subject: [PATCH] update --- .../datatower/WxUserStructureController.java | 2 +- .../mem/WxCUserBasicInfoController.java | 15 ++--- .../controller/WxCUserController.java | 4 +- .../iformall/controller/BaseController.java | 1 - .../iformall/controller/WxCarController.java | 4 +- .../controller/WxOrderController.java | 2 +- .../controller/WxUserGrantController.java | 7 +-- .../iformall/service/impl/PosServiceImpl.java | 4 +- .../iformall/schedule/CouponSendSchedule.java | 2 +- .../iformall/domain/po/WxCUserBasicInfo.java | 12 ++-- .../domain/po/base/BaseTenantEntity.java | 8 --- .../iformall/domain/po/base/TenantEntity.java | 34 +++++----- .../service/WxActivityJoinService.java | 1 + .../com/iformall/service/WxOrderService.java | 2 +- .../iformall/service/WxScoreRulesService.java | 6 +- .../impl/WxActivityJoinServiceImpl.java | 1 + .../impl/WxCUserBasicInfoServiceImpl.java | 4 +- .../service/impl/WxCUserServiceImpl.java | 2 +- .../service/impl/WxCUserTagsServiceImpl.java | 6 +- .../service/impl/WxCardSpendServiceImpl.java | 4 +- .../impl/WxCouponOrderServiceImpl.java | 4 +- .../impl/WxCreditHistoryServiceImpl.java | 10 +-- .../service/impl/WxOrderServiceImpl.java | 12 ++-- .../service/impl/WxPayOrderServiceImpl.java | 5 +- .../service/impl/WxScoreRulesServiceImpl.java | 62 +++++++++---------- .../maPay/WxMiniMaPayAdapterService.java | 47 ++++++++++++-- .../java/com/iformall/utils/CreditUtil.java | 10 +-- 27 files changed, 149 insertions(+), 122 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxUserStructureController.java b/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxUserStructureController.java index 53e3e7b3d..b800d0df9 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxUserStructureController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxUserStructureController.java @@ -650,7 +650,7 @@ public class WxUserStructureController extends BaseController { return new ResultData(ErrorCode.MEM_SCORE_NOT_ENOUGH); } // 2. 扣减积分 - wxScoreRulesService.reduceScore(EnumScoreType.MEM_REDUCE, info, reason, score); + wxScoreRulesService.reduceScore(getTenantInfo(),EnumScoreType.MEM_REDUCE, info, reason, score); return new ResultData(); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserBasicInfoController.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserBasicInfoController.java index 55204dfd6..6a766b97d 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserBasicInfoController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserBasicInfoController.java @@ -92,7 +92,7 @@ public class WxCUserBasicInfoController extends BaseController { info.setLevel(WxLevelConfigService.DEFAULT_LEVEL); } else { info.setLevel(WxLevelConfigService.DEFAULT_LEVEL); - List levelList = wxLevelConfigService.getByTenantInfo(info); + List levelList = wxLevelConfigService.getByTenantInfo(getTenantInfo()); for (WxLevelConfig levelConfig : levelList) { if (info.getPoins() >= levelConfig.getPoints()) { info.setLevel(levelConfig.getLevel()); @@ -107,7 +107,7 @@ public class WxCUserBasicInfoController extends BaseController { WxCUserTags uTag = wxCUserTagsService.getById(info.getTagId()); if (uTag != null && StringUtils.isNotBlank(uTag.getTags())) { List ids = JSONObject.parseArray(uTag.getTags(), Long.class); - info.setTagsList(wxCUserTagsService.findTagList(info, ids)); + info.setTagsList(wxCUserTagsService.findTagList(getTenantInfo(), ids)); } } } @@ -147,7 +147,7 @@ public class WxCUserBasicInfoController extends BaseController { wxCUserBasicInfo.setName(null); } } - wxCUserBasicInfo.updateTenantInfo(getTenantInfo()); + wxCUserBasicInfo.undateFinalTenantId(getTenantInfo()); // wxCUserBasicInfo.setSortColumns(BaseEntity.SortField.ActiveTime_DESC); PageInfo page = wxCUserBasicInfoService.listAsPage(wxCUserBasicInfo, pageNum, pageSize); @@ -163,7 +163,7 @@ public class WxCUserBasicInfoController extends BaseController { private int checkUniquePhone(String phone, TenantEntity tenantEntity) { WxCUserBasicInfo baseInfoQ = new WxCUserBasicInfo(); baseInfoQ.setPhone(phone); - baseInfoQ.updateTenantInfo(tenantEntity); + baseInfoQ.undateFinalTenantId(getTenantInfo()); return wxCUserBasicInfoService.countUser(baseInfoQ); } @@ -182,7 +182,6 @@ public class WxCUserBasicInfoController extends BaseController { if(wxCUserBasicInfo.getBirthdate() != null && wxCUserBasicInfo.getBirthdate().after(new Date())){ return new ResultData(ErrorCode.USER_BIRTHDATE_AFTER.getCode(), "出生日期大于当前日期"); } - wxCUserBasicInfo.updateTenantInfo(tenantEntity); if (StringUtils.isNotBlank(wxCUserBasicInfo.getTagIds())) { WxCUserTags record = new WxCUserTags(); record.setUserId(oldInfo.getId()); @@ -226,8 +225,6 @@ public class WxCUserBasicInfoController extends BaseController { if (info == null) return new ResultData(ErrorCode.USER_IS_EMPTY); - info.updateTenantInfo(getTenantInfo()); - setUserInfoTag(info); setUserInfoLevel(info); setUserInfoCar(info); @@ -315,7 +312,7 @@ public class WxCUserBasicInfoController extends BaseController { } } - basicInfo.updateTenantInfo(getTenantInfo()); + basicInfo.undateFinalTenantId(getTenantInfo()); int exportDataCount = wxCUserBasicInfoService.exportDataCount(basicInfo); return new ResultData(exportDataCount); @@ -338,7 +335,7 @@ public class WxCUserBasicInfoController extends BaseController { } } - basicInfo.updateTenantInfo(getTenantInfo()); + basicInfo.undateFinalTenantId(getTenantInfo()); wxCUserBasicInfoService.exportData(basicInfo, request, response); } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java index 2fde79bb5..dda09db67 100755 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java @@ -117,7 +117,7 @@ public class WxCUserController extends BaseController { wxCUserBasicInfo.setPhone(wxCUser.getPhone()); wxCUserBasicInfo.setUpdateDate(new Date()); wxCUserBasicInfoService.update(wxCUserBasicInfo); - wxScoreRulesService.addScore(EnumScoreType.COMPLETE_INFO, wxCUserBasicInfo); + wxScoreRulesService.addScore(getTenantInfo(),EnumScoreType.COMPLETE_INFO, wxCUserBasicInfo); //增加积分 addCredit(wxCUserBasicInfo, EnumScoreType.COMPLETE_INFO, wxCUserFromBDto.getUserId(), wxCUserFromB); wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT, wxCUserBasicInfo); @@ -178,7 +178,7 @@ public class WxCUserController extends BaseController { } wxCUserBasicInfo.setPhone(wxCUser.getPhone()); wxCUserBasicInfoService.update(wxCUserBasicInfo); - wxScoreRulesService.addScore(EnumScoreType.COMPLETE_INFO, wxCUserBasicInfo); + wxScoreRulesService.addScore(getTenantInfo(),EnumScoreType.COMPLETE_INFO, wxCUserBasicInfo); //增加积分 addCredit(wxCUserBasicInfo, EnumScoreType.COMPLETE_INFO, wxCUserFromBDto.getUserId(), wxCUserFromB); wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT, wxCUserBasicInfo); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/BaseController.java b/mallinkCApi/src/main/java/com/iformall/controller/BaseController.java index 80132a362..38463080a 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/BaseController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/BaseController.java @@ -212,7 +212,6 @@ public class BaseController { basicInfo = new WxCUserBasicInfo(); final IdWorker idWorker = IdWorker.get(); basicInfo.setId(idWorker.nextId()); - basicInfo.updateTenantInfo(tenantEntity); basicInfo.undateFinalTenantId(tenantEntity); basicInfo.setPhone(userPhone); basicInfo.setNickName(userName); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java index ac3c2bb36..95794826c 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java @@ -339,7 +339,7 @@ public class WxCarController extends BaseController { wxCUserCarService.saveOrUpdate(userCar); // 成长值 - wxScoreRulesService.addScore(EnumScoreType.BIND_CAR, userCar); + wxScoreRulesService.addScore(userCar,EnumScoreType.BIND_CAR, userCar); //增加积分 addCredit(park, cuUserId); wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_CAR,cuUserId); @@ -426,7 +426,7 @@ public class WxCarController extends BaseController { userCar.setUpdateDate(curr); try { wxCUserCarService.save(userCar); - wxScoreRulesService.addScore(EnumScoreType.BIND_CAR, userCar); + wxScoreRulesService.addScore(userCar,EnumScoreType.BIND_CAR, userCar); //增加积分 addCredit(park, cuUserId); } catch (Exception e) { diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index 2317b1126..09ee46a61 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -180,7 +180,7 @@ public class WxOrderController extends BaseController { if (user != null && user.getActRecord() > 0) return new ResultData(ErrorCode.COUPON_ONLY_FOR_NEW_MEMBER); - if (wxOrderService.countCouponConditionType1(user) > 0) + if (wxOrderService.countCouponConditionType1(coupon.getTenantId(),user.getId()) > 0) return new ResultData(ErrorCode.COUPON_ALREADY_IN_NEW_MEMBER); }else if (jo.getIntValue("type") == EnumCouponConditionType.SCORE_SCOPE.getCode()){ int max = jo.getIntValue("max"); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index 3424f868f..df6ec1149 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -563,7 +563,7 @@ public class WxUserGrantController extends BaseController { if(bFirstNickName) { // 首次获取昵称 // 成长值 - wxScoreRulesService.addScore(EnumScoreType.WECHAT_PERSION, user); + wxScoreRulesService.addScore(getTenantInfo(),EnumScoreType.WECHAT_PERSION, user); //增加积分 wxCUserService.addCredit(user, EnumScoreType.WECHAT_PERSION); } @@ -668,7 +668,7 @@ public class WxUserGrantController extends BaseController { if(isFirstPhone) { // 首次授权, 增加成长值及积分 // 成长值 - wxScoreRulesService.addScore(EnumScoreType.WECHAT_PHONE, user); + wxScoreRulesService.addScore(getTenantInfo(),EnumScoreType.WECHAT_PHONE, user); // 增加积分 wxCUserService.addCredit(user, EnumScoreType.WECHAT_PHONE); // 外部注券 @@ -905,7 +905,6 @@ public class WxUserGrantController extends BaseController { wxCUserBasicInfo.getAddress() != null) { WxCUserBasicInfo record = new WxCUserBasicInfo(); record.setId(getMemberId()); - record.updateTenantInfo(tenantEntity); record.setName(wxCUserBasicInfo.getName()); record.setAvatarUrl(wxCUserBasicInfo.getAvatarUrl()); record.setBirthdate(wxCUserBasicInfo.getBirthdate()); @@ -913,7 +912,7 @@ public class WxUserGrantController extends BaseController { record.setAddress(wxCUserBasicInfo.getAddress()); record.setUpdateDate(new Date()); wxCUserBasicInfoService.update(record); - wxScoreRulesService.addScore(EnumScoreType.COMPLETE_INFO, record); + wxScoreRulesService.addScore(tenantEntity,EnumScoreType.COMPLETE_INFO, record); //增加积分 WxCreditHistory wxCreditHistory = new WxCreditHistory(); wxCreditHistory.setCUserId(record.getId()); diff --git a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java index cd7c9da6d..7c063dcef 100644 --- a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java +++ b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java @@ -2177,7 +2177,7 @@ public class PosServiceImpl implements PosService { // 3. 成长值 try { WxOrder scoreOrder = orderMapper.selectById(couponOrderCVo.getOrderId()); - int point = scoreRulesService.addScore2(EnumScoreType.CONSUMPTION, scoreOrder, couponOrderCVo.getBusinessId()); + int point = scoreRulesService.addScore2(merchantBUser,EnumScoreType.CONSUMPTION, scoreOrder, couponOrderCVo.getBusinessId()); scoreCreditCalc.setScore(scoreCreditCalc.getScore() + point); } catch (Exception e) { logger.error("交易核销成长值异常:" + e.getMessage()); @@ -2341,7 +2341,7 @@ public class PosServiceImpl implements PosService { try { WxOrder scoreOrder = orderMapper.selectById(order.getId()); scoreOrder.setPayment(neuPaymentAmount); - int point = scoreRulesService.addScore2(EnumScoreType.CONSUMPTION, scoreOrder, merchant.getBusinessId()); + int point = scoreRulesService.addScore2(scoreOrder,EnumScoreType.CONSUMPTION, scoreOrder, merchant.getBusinessId()); scoreCreditCalc.setScore(scoreCreditCalc.getScore() + point); } catch (Exception e) { logger.error("交易核销成长值异常:" + e.getMessage()); diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java index 38905ef30..97d27d286 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java @@ -294,7 +294,7 @@ public class CouponSendSchedule { //本次之前的20分钟 now.set(Calendar.MINUTE, now.get(Calendar.MINUTE) - 30); Map params = new HashMap<>(); - params.put("tenantId", wxCUserBasicInfo.getTenantId()); + params.put("tenantId", mall.getTenantId()); params.put("cUserId", wxCUserBasicInfo.getId()); params.put("couponId", null); params.put("startTime", startTime); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java index dee5c64a7..5b07d4cf0 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java @@ -170,11 +170,11 @@ public class WxCUserBasicInfo extends BaseEntity { return Objects.hash(this.phone); } -// public void undateFinalTenantId(TenantEntity tenantEntity){ -// setFinalTenantId(tenantEntity.getTenantId()); -// if(StringUtils.isNotBlank(tenantEntity.getParentTenantId())){ -// setFinalTenantId(tenantEntity.getParentTenantId()); -// } -// } + public void undateFinalTenantId(TenantEntity tenantEntity){ + setFinalTenantId(tenantEntity.getTenantId()); + if(StringUtils.isNotBlank(tenantEntity.getParentTenantId())){ + setFinalTenantId(tenantEntity.getParentTenantId()); + } + } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/base/BaseTenantEntity.java b/mallinkService/src/main/java/com/iformall/domain/po/base/BaseTenantEntity.java index 3119cf4ff..198712425 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/base/BaseTenantEntity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/base/BaseTenantEntity.java @@ -35,14 +35,6 @@ public class BaseTenantEntity extends BaseEntity { } } - public void updateTenantInfoByUserInfo(WxCUserBasicInfo userBase) { - log.info("info.tenantId:"+info.getTenantId()+". info.parentTenantId:"+info.getParentTenantId()+"."); - setTenantId(info.getTenantId()); - if (StringUtils.isNotBlank(info.getParentTenantId())) { - setParentTenantId(info.getParentTenantId()); - } - } - public void updateTenantInfo(BaseTenantEntity info) { setTenantId(info.getTenantId()); if (StringUtils.isNotBlank(info.getParentTenantId())) { diff --git a/mallinkService/src/main/java/com/iformall/domain/po/base/TenantEntity.java b/mallinkService/src/main/java/com/iformall/domain/po/base/TenantEntity.java index 2ddf0e2a8..70ebdb6e6 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/base/TenantEntity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/base/TenantEntity.java @@ -4,6 +4,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import org.apache.commons.lang3.StringUtils; +import com.iformall.domain.po.WxCUserBasicInfo; + /** * @author Stormeye * @date 2019/4/24 14:32 @@ -32,20 +34,20 @@ public class TenantEntity extends BaseEntity { setParentTenantId(info.getParentTenantId()); } } - - public void updateFinalTenantInfo(TenantEntity info){ - if (StringUtils.isNotBlank(info.getParentTenantId())) { - setParentTenantId(info.getParentTenantId()); - }else{ - setTenantId(info.getTenantId()); - } - } - - public void updateFinalTenantInfo(BaseTenantEntity info){ - if (StringUtils.isNotBlank(info.getParentTenantId())) { - setParentTenantId(info.getParentTenantId()); - }else{ - setTenantId(info.getTenantId()); - } - } + +// public void updateFinalTenantInfo(TenantEntity info){ +// if (StringUtils.isNotBlank(info.getParentTenantId())) { +// setParentTenantId(info.getParentTenantId()); +// }else{ +// setTenantId(info.getTenantId()); +// } +// } +// +// public void updateFinalTenantInfo(BaseTenantEntity info){ +// if (StringUtils.isNotBlank(info.getParentTenantId())) { +// setParentTenantId(info.getParentTenantId()); +// }else{ +// setTenantId(info.getTenantId()); +// } +// } } diff --git a/mallinkService/src/main/java/com/iformall/service/WxActivityJoinService.java b/mallinkService/src/main/java/com/iformall/service/WxActivityJoinService.java index 8bd04bab5..6117a4c83 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxActivityJoinService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxActivityJoinService.java @@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.po.WxActivity; import com.iformall.domain.po.WxActivityJoin; +import com.iformall.domain.po.base.TenantEntity; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; diff --git a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java index 3f1d0333c..b8345bcf8 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java @@ -203,7 +203,7 @@ public interface WxOrderService { */ WxOrder getUnPaidOrder(WxCUserBasicInfo cUser, WxCoupon coupon); - int countCouponConditionType1(WxCUserBasicInfo user); + int countCouponConditionType1(String subTenantId,Long cUserId); /** * 订单处理 * 1. 检查coupon是否免费 diff --git a/mallinkService/src/main/java/com/iformall/service/WxScoreRulesService.java b/mallinkService/src/main/java/com/iformall/service/WxScoreRulesService.java index 53ae80bda..39e7e5137 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxScoreRulesService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxScoreRulesService.java @@ -46,17 +46,17 @@ public interface WxScoreRulesService { /** * 增加成长值 */ - int addScore(EnumScoreType scoreType, Object param); + int addScore(TenantEntity tenantEntity,EnumScoreType scoreType, Object param); /** * 增加成长值 */ - int addScore2(EnumScoreType scoreType, Object param1, Object param2); + int addScore2(TenantEntity tenantEntity,EnumScoreType scoreType, Object param1, Object param2); /** * 扣减成长值 */ - int reduceScore(EnumScoreType scoreType, Object param1, Object param2, Object param3); + int reduceScore(TenantEntity tenantEntity,EnumScoreType scoreType, Object param1, Object param2, Object param3); List findList(WxScoreRules wxScoreRules); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java index 222a9fe09..f0dc9e0bd 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java @@ -9,6 +9,7 @@ import com.iformall.common.IdWorker; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.*; +import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.msg.WxMsgRecord; import com.iformall.domain.vo.WxActivityJoinQuestionAnswer; import com.iformall.enums.*; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java index cbbb51179..422b3315c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java @@ -954,9 +954,9 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { // 成长值 if (points != null) { if (oldUserBase != null) { - wxScoreRulesService.addScore2(EnumScoreType.MEM_IMPORT, oldUserBase, bHaveCUser); + wxScoreRulesService.addScore2(mallUserInfo,EnumScoreType.MEM_IMPORT, oldUserBase, bHaveCUser); } else { - wxScoreRulesService.addScore2(EnumScoreType.MEM_IMPORT, userBase, bHaveCUser); + wxScoreRulesService.addScore2(mallUserInfo,EnumScoreType.MEM_IMPORT, userBase, bHaveCUser); } } //积分处理逻辑:覆盖原积分 记录历史 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java index 269118521..a513e7464 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java @@ -261,7 +261,7 @@ public class WxCUserServiceImpl implements WxCUserService { int credit = 0; // 成长值 try { - score = wxScoreRulesService.addScore(EnumScoreType.LOGIN, user); + score = wxScoreRulesService.addScore(user,EnumScoreType.LOGIN, user); } catch (MallinkException e) { logger.error("c_user 成长值 " + e.getMessage()); } catch (Exception e) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java index 7d2ae5f74..caa03c459 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java @@ -115,7 +115,8 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { return null; WxCUserTags record = new WxCUserTags(); record.setUserId(user.getId()); - record.updateTenantInfo(user); + record.setTenantId(user.getFinalTenantId()); + //record.updateTenantInfo(user); List cUserTagsList = wxCUserTagsMapper.findList(record); if (cUserTagsList.size() > 0) { record.setId(cUserTagsList.get(0).getId()); @@ -165,7 +166,8 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { return null; WxCUserTags record = new WxCUserTags(); record.setUserId(user.getId()); - record.updateTenantInfo(user); + record.setTenantId(user.getFinalTenantId()); + //record.updateTenantInfo(user); List cUserTagsList = wxCUserTagsMapper.findList(record); if (cUserTagsList.size() > 0) { record.setId(cUserTagsList.get(0).getId()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java index 99ba50fcb..9763f5e97 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java @@ -282,7 +282,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { // 成长值 try { orderUpdate.setPayment(real_payment); - wxScoreRulesService.addScore2(EnumScoreType.CONSUMPTION, orderUpdate, coupon.getBusiness()); + wxScoreRulesService.addScore2(coupon,EnumScoreType.CONSUMPTION, orderUpdate, coupon.getBusiness()); } catch (Exception e) { logger.error("成长值:" + e.getMessage()); } @@ -900,7 +900,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { orderUpdate.setPayment(record.getRealPayment()); orderUpdate.setPaymentTime(record.getUpdateDate()); orderUpdate.setPaymentType(EnumPayType.PAY_PAYMENT.getCode()); - int point = wxScoreRulesService.addScore2(EnumScoreType.CONSUMPTION, orderUpdate, coupon.getBusiness()); + int point = wxScoreRulesService.addScore2(coupon,EnumScoreType.CONSUMPTION, orderUpdate, coupon.getBusiness()); scoreCreditCalc.setScore(scoreCreditCalc.getScore() + point); } catch (Exception e) { logger.error("成长值:" + e.getMessage()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index 421a788de..b3b399961 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -404,7 +404,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { // 成长值 try { WxOrder order = wxOrderMapper.selectById(couponOrder.getOrderId()); - wxScoreRulesService.addScore2(EnumScoreType.CONSUMPTION, order, wxCoupon.getBusiness()); + wxScoreRulesService.addScore2(bUser,EnumScoreType.CONSUMPTION, order, wxCoupon.getBusiness()); } catch (Exception e) { logger.error("成长值:" + e.getMessage()); } @@ -435,7 +435,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { // 成长值 try { WxOrder order = wxOrderMapper.selectById(couponOrder.getOrderId()); - wxScoreRulesService.addScore2(EnumScoreType.CONSUMPTION, order, wxCoupon.getBusiness()); + wxScoreRulesService.addScore2(couponOrder,EnumScoreType.CONSUMPTION, order, wxCoupon.getBusiness()); } catch (Exception e) { logger.error("成长值:" + e.getMessage()); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java index bac9afbf9..2e1d54027 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java @@ -227,7 +227,7 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { if (record.getCreditType().equals(EnumScoreType.CONSUMPTION.getCode()) || record.getCreditType().equals(EnumScoreType.SPEND_CREDIT.getCode())) { //等级积分配置 try { - creditChangeNum = CreditUtil.calUserCredit(creditChangeNumOrigin, wxCUserBasicInfo, wxScoreRulesService,wxLevelConfigMapper); + creditChangeNum = CreditUtil.calUserCredit(record,creditChangeNumOrigin, wxCUserBasicInfo, wxScoreRulesService,wxLevelConfigMapper); if (Objects.nonNull(CreditUtil.getIsBirthDayScale())) { hasBirthDateCredit = true; } @@ -327,7 +327,7 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { credit = payAddCredit(wxCreditHistory); if (Objects.nonNull(userId)) { WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoMapper.selectById(userId); - creditNew = CreditUtil.calUserCredit(credit, wxCUserBasicInfo, wxScoreRulesService,wxLevelConfigMapper); + creditNew = CreditUtil.calUserCredit(tenantEntity,credit, wxCUserBasicInfo, wxScoreRulesService,wxLevelConfigMapper); } else { creditNew = credit; } @@ -415,9 +415,9 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { return wxScoreRules.getRule(EnumScoreType.WECHAT_PHONE, WxScoreRules.SCORE); } - private int checkCompleteInfoScoreCount(WxCUserBasicInfo cUser) { + private int checkCompleteInfoScoreCount(TenantEntity tenantEntity,WxCUserBasicInfo cUser) { WxCreditHistory wxCreditHistory = new WxCreditHistory(); - wxCreditHistory.updateTenantInfo(cUser); + wxCreditHistory.updateTenantInfo(tenantEntity); wxCreditHistory.setCUserId(cUser.getId()); wxCreditHistory.setCreditType(EnumScoreType.COMPLETE_INFO.getCode()); return wxCreditHistoryMapper.countList(wxCreditHistory); @@ -425,7 +425,7 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { private int infoAddCredit(WxCreditHistory record) { WxCUserBasicInfo user = wxCUserBasicInfoMapper.selectById(record.getCUserId()); - if (user == null || checkCompleteInfoScoreCount(user) > 0) + if (user == null || checkCompleteInfoScoreCount(record,user) > 0) return 0; // 1. 获取score rules WxScoreRules scoreRules = wxScoreRulesService.getCreditRules(record); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index 72b532e91..6afa021e3 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -453,13 +453,13 @@ public class WxOrderServiceImpl implements WxOrderService { * @param user * @return */ - public int countCouponConditionType1(WxCUserBasicInfo user) { + public int countCouponConditionType1(String subTenantId,Long cuserId) { // + Order 待支付 try { WxOrder orderQ = new WxOrder(); - orderQ.setTenantId(user.getTenantId()); + orderQ.setTenantId(subTenantId); orderQ.setType(EnumOrderType.COUPON.getCode()); - orderQ.setCUserId(user.getId()); + orderQ.setCUserId(cuserId); List statusS = new ArrayList<>(); statusS.add(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); statusS.add(EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()); @@ -473,7 +473,7 @@ public class WxOrderServiceImpl implements WxOrderService { orderQ.setStatusS(statusS); return wxOrderMapper.countCouponConditionType1(orderQ); } catch (Exception e) { - logger.error("用户正在参加的新手活动, userId: " + user.getId() + ", e:" + e.getMessage()); + logger.error("用户正在参加的新手活动, userId: " + cuserId + ", e:" + e.getMessage()); throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND); } } @@ -1528,7 +1528,7 @@ public class WxOrderServiceImpl implements WxOrderService { // 成长值 计算 try { - wxScoreRulesService.addScore2(EnumScoreType.CONSUMPTION, updateOrder, wxMerchant.getBusinessId()); + wxScoreRulesService.addScore2(bUser,EnumScoreType.CONSUMPTION, updateOrder, wxMerchant.getBusinessId()); } catch (Exception e) { logger.error("成长值:" + e.getMessage()); } @@ -2265,7 +2265,7 @@ public class WxOrderServiceImpl implements WxOrderService { int left_total = total; WxOrderPress orderPress = new WxOrderPress(); orderPress.setId(IdWorker.get().nextId()); - orderPress.updateTenantInfo(user); + orderPress.updateTenantInfo(coupon); orderPress.setCouponId(record.getProductId()); orderPress.setOrderId(orderNumber); orderPress.setUserId(user.getId()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java index 5adbebc47..bc06bec6d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -23,7 +23,7 @@ import com.iformall.service.pay.entity.PayExtraParam; import com.iformall.service.pay.service.pay.CDrivingPayService; import com.iformall.service.pay.service.pay.CPassivePayService; import com.iformall.service.pay.service.pay.PayAdapterService; -import com.iformall.service.pay.service.pay.entity.GetUser; +import com.iformall.service.pay.service.pay.entity.CreateUser; import com.iformall.service.pay.service.pay.entity.PayAdapterResult; import com.iformall.service.pay.service.pay.entity.PayQueryAdapterResult; import com.iformall.service.pay.service.share.entity.ShareNotifyAdapterResult; @@ -861,9 +861,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) public void handleMicroOrderPaySuccess(Object result,String transcationId,EnumPayWay payWay, WxPayOrder record ,WxMerchantBUser user,WxAppinfo appInfo,PayExtraParam params) { //B端操作,需要生成cUser - GetUser cUser = null; + CreateUser cUser = null; try { - 11111111111111111 cUser = payServiceFactory.getCPassivePayService(payWay.getCode()).createCUserAfterPay(result, appInfo); } catch (Exception e1) { logger.error("创建C端用户失败: " ,e1); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java index fc983c4ec..f288eb247 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java @@ -314,21 +314,21 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { return wxScoreHistoryMapper.countTodayList(scoreHistory); } - private int loginAddScore(WxCUserBasicInfo user) { + private int loginAddScore(TenantEntity tenantEntity,WxCUserBasicInfo user) { int addScoreNumber = 0; if (checkTodayLoginScoreCount(user) > 0) return 0; // 1. score_rules - WxScoreRules scoreRules = getScoreRules(user); + WxScoreRules scoreRules = getScoreRules(tenantEntity); // 2. 增长的成长值 addScoreNumber = scoreRules.getRule(EnumScoreType.LOGIN,WxScoreRules.SCORE); updateScore(user.getId(), addScoreNumber); // 3. 记录历史 - recordScoreHistory(addScoreNumber, user, user.getId(), EnumScoreType.LOGIN); + recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.LOGIN); return addScoreNumber; } @@ -392,10 +392,10 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { } - private int bindCarAddScore(WxCUserBasicInfo user) { + private int bindCarAddScore(TenantEntity tenantEntity,WxCUserBasicInfo user) { int addScoreNumber = 0; // 1. 获取score rules - WxScoreRules scoreRules = getScoreRules(user); + WxScoreRules scoreRules = getScoreRules(tenantEntity); // 2. 获取成长值 addScoreNumber = scoreRules.getRule(EnumScoreType.BIND_CAR,WxScoreRules.SCORE); @@ -404,14 +404,14 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { updateScore(user.getId(), addScoreNumber); // 4. 记录历史 - recordScoreHistory(addScoreNumber, user, user.getId(), EnumScoreType.BIND_CAR); + recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.BIND_CAR); return addScoreNumber; } - private int personAddScore(WxCUserBasicInfo user) { + private int personAddScore(TenantEntity tenantEntity,WxCUserBasicInfo user) { int addScoreNumber = 0; // 1. 获取score rules - WxScoreRules scoreRules = getScoreRules(user); + WxScoreRules scoreRules = getScoreRules(tenantEntity); // 2. 获取成长值 addScoreNumber = scoreRules.getRule(EnumScoreType.WECHAT_PERSION,WxScoreRules.SCORE); @@ -420,14 +420,14 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { updateScore(user.getId(), addScoreNumber); // 4. 记录历史 - recordScoreHistory(addScoreNumber, user, user.getId(), EnumScoreType.WECHAT_PERSION); + recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.WECHAT_PERSION); return addScoreNumber; } - private int phoneAddScore(WxCUserBasicInfo user) { + private int phoneAddScore(TenantEntity tenantEntity,WxCUserBasicInfo user) { int addScoreNumber = 0; // 1. 获取score rules - WxScoreRules scoreRules = getScoreRules(user); + WxScoreRules scoreRules = getScoreRules(tenantEntity); // 2. 获取成长值 addScoreNumber = scoreRules.getRule(EnumScoreType.WECHAT_PHONE,WxScoreRules.SCORE); @@ -436,7 +436,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { updateScore(user.getId(), addScoreNumber); // 4. 记录历史 - recordScoreHistory(addScoreNumber, user, user.getId(), EnumScoreType.WECHAT_PHONE); + recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.WECHAT_PHONE); return addScoreNumber; } @@ -447,13 +447,13 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { return wxScoreHistoryMapper.countList(scoreHistory); } - private int infoAddScore(WxCUserBasicInfo user) { + private int infoAddScore(TenantEntity tenantEntity,WxCUserBasicInfo user) { int addScoreNumber = 0; if (checkCompleteInfoScoreCount(user) > 0) return 0; // 1. 获取score rules - WxScoreRules scoreRules = getScoreRules(user); + WxScoreRules scoreRules = getScoreRules(tenantEntity); // 2. 获取成长值 addScoreNumber = scoreRules.getRule(EnumScoreType.COMPLETE_INFO,WxScoreRules.SCORE); @@ -462,18 +462,18 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { updateScore(user.getId(), addScoreNumber); // 4. 记录历史 - recordScoreHistory(addScoreNumber, user, user.getId(), EnumScoreType.COMPLETE_INFO); + recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.COMPLETE_INFO); return addScoreNumber; } - private int memResetScore(WxCUserBasicInfo userInfo, boolean bHaveCUser) { + private int memResetScore(TenantEntity tenantEntity,WxCUserBasicInfo userInfo, boolean bHaveCUser) { // 2. 记录历史 - recordScoreHistory(userInfo, EnumScoreType.MEM_IMPORT); + recordScoreHistory(tenantEntity,userInfo, EnumScoreType.MEM_IMPORT); return userInfo.getPoins(); } - private int memReduceScore(WxCUserBasicInfo userInfo, String reason, Integer scoreNum) { + private int memReduceScore(TenantEntity tenantEntity,WxCUserBasicInfo userInfo, String reason, Integer scoreNum) { int score = userInfo.getPoins() - scoreNum; // 1. update score/ 修改basic表积分 @@ -491,15 +491,15 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { // } // 2. 记录历史 - recordReduceScoreHistory(scoreNum, reason, userInfo, userInfo.getId(), EnumScoreType.MEM_REDUCE); + recordReduceScoreHistory(scoreNum, reason, tenantEntity, userInfo.getId(), EnumScoreType.MEM_REDUCE); return score; } - private void recordScoreHistory(WxCUserBasicInfo userInfo, EnumScoreType wechatPhone) { + private void recordScoreHistory(TenantEntity tenantEntity,WxCUserBasicInfo userInfo, EnumScoreType wechatPhone) { final IdWorker idWorker = IdWorker.get(); WxScoreHistory history = new WxScoreHistory(); history.setId(idWorker.nextId()); - history.updateTenantInfo(userInfo); + history.updateTenantInfo(tenantEntity); history.setCUserId(userInfo.getId()); history.setCreateDate(new Date()); history.setScoreType(wechatPhone.getCode()); @@ -550,7 +550,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { } @Override - public int addScore(EnumScoreType scoreType, Object param) { + public int addScore(TenantEntity tenantEntity,EnumScoreType scoreType, Object param) { WxCUser wxCUser = null; WxCUserCar userCar = null; WxCUserBasicInfo userBasicInfo = null; @@ -578,19 +578,19 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { } switch (scoreType){ case LOGIN: { - return loginAddScore(wxCUserBasicInfo); + return loginAddScore(tenantEntity,wxCUserBasicInfo); } case BIND_CAR:{ - return bindCarAddScore(wxCUserBasicInfo); + return bindCarAddScore(tenantEntity,wxCUserBasicInfo); } case WECHAT_PERSION:{ - return personAddScore(wxCUserBasicInfo); + return personAddScore(tenantEntity,wxCUserBasicInfo); } case WECHAT_PHONE:{ - return phoneAddScore(wxCUserBasicInfo); + return phoneAddScore(tenantEntity,wxCUserBasicInfo); } case COMPLETE_INFO:{ - return infoAddScore(wxCUserBasicInfo); + return infoAddScore(tenantEntity,wxCUserBasicInfo); } default: { @@ -600,7 +600,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { } @Override - public int addScore2(EnumScoreType scoreType, Object param1, Object param2) { + public int addScore2(TenantEntity tenantEntity,EnumScoreType scoreType, Object param1, Object param2) { WxOrder order = null; WxCUserBasicInfo user = null; @@ -627,7 +627,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { } case MEM_IMPORT: { boolean bHaveCUser = (boolean)(param2); - return memResetScore(user, bHaveCUser); + return memResetScore(tenantEntity,user, bHaveCUser); } default: break; @@ -636,7 +636,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { } @Override - public int reduceScore(EnumScoreType scoreType, Object param1, Object param2, Object param3) { + public int reduceScore(TenantEntity tenantEntity,EnumScoreType scoreType, Object param1, Object param2, Object param3) { WxCUserBasicInfo user = (WxCUserBasicInfo) param1; if (user != null && user.getStatus().equals(EnumCUserBasicInfoStatus.LOCKED.getCode())) { logger.info("会员权益被锁定:cUserId:" + user.getId()); @@ -646,7 +646,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { case MEM_REDUCE: { String reason = (String)param2; Integer scoreNum = (Integer)param3; - return memReduceScore(user, reason, scoreNum); + return memReduceScore(tenantEntity,user, reason, scoreNum); } default: break; diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/maPay/WxMiniMaPayAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/maPay/WxMiniMaPayAdapterService.java index a51f635a9..d5fb35713 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/maPay/WxMiniMaPayAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/maPay/WxMiniMaPayAdapterService.java @@ -12,15 +12,18 @@ import com.iformall.common.IdWorker; import com.iformall.domain.po.WxAppinfo; import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUserBasicInfo; +import com.iformall.domain.po.WxMall; import com.iformall.domain.po.WxOrder; import com.iformall.domain.po.WxPayAccount; import com.iformall.domain.po.WxPayOrder; +import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumPayMode; import com.iformall.enums.EnumPayShare; import com.iformall.enums.EnumUserIsSubscribe; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxCUserBasicInfoMapper; import com.iformall.mapper.WxCUserMapper; +import com.iformall.mapper.WxMallMapper; import com.iformall.pay.WxMicroPayOrderP; import com.iformall.pay.WxMicroPayOrderSP; import com.iformall.pay.WxPay; @@ -201,6 +204,8 @@ public class WxMiniMaPayAdapterService extends BaseWxPayAdapterService implement WxCUserService wxCUserService; @Autowired WxCUserBasicInfoMapper wxCUserBasicInfoMapper; + @Autowired + WxMallMapper wxMallMapper; @Override public CreateUser createCUserAfterPay(Object result,WxAppinfo appInfo) throws Exception { @@ -212,19 +217,49 @@ public class WxMiniMaPayAdapterService extends BaseWxPayAdapterService implement String isSubscribe = returnMap.get("sub_is_subscribe"); userQ.setOpenId(openId); userQ.setAppId(appInfo.getAppId()); - + WxMall mall = wxMallMapper.getByTenantId(appInfo.getTenantId()); WxCUser user1 = wxCUserMapper.findByOpenId(userQ); + boolean userCreate = false; + final IdWorker idWorker = IdWorker.get(); + Long userId = idWorker.nextId(); if (user1 == null) { user1 = new WxCUser(); user1.setAppId(appInfo.getAppId()); user1.setOpenId(openId); - 1111111111111111 - user1.updateTenantInfo(appInfo); - wxCUserService.saveOrUpdate(user1); + user1.setTenantId(appInfo.getTenantId()); + user1.setParentTenantId(mall.getParentTenantId()); + int count = wxCUserService.saveOrUpdate(user1); + if (count <=0 ) { + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(), "微信扫码支付添加微信C端用户失败"); + } }else { - + if (user1.isBasicInfo()) { + userId = user1.getUserId(); + } + } + WxCUserBasicInfo basicInfo = wxCUserBasicInfoMapper.selectById(userId); + if (null == basicInfo) { + basicInfo = new WxCUserBasicInfo(); + basicInfo.setId(userId); + basicInfo.setPhone(openId); + basicInfo.setNickName("微信扫码支付非会员用户"); + basicInfo.undateFinalTenantId(new TenantEntity() {{ + setTenantId(mall.getTenantId()); + setParentTenantId(mall.getParentTenantId()); + }}); + basicInfo.setCreateDate(new Date()); + int count = wxCUserBasicInfoMapper.insert(basicInfo); + if (count <=0 ) { + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(), "微信扫码支付添加会员用户失败"); + } + userCreate = true; + } + + if (userCreate) { + user1.setUserId(userId); + wxCUserService.saveOrUpdate(user1); } - return null; + return new CreateUser(user1.getId(),userId); } @Override diff --git a/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java b/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java index be3d99c24..d8f114796 100644 --- a/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java +++ b/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java @@ -24,7 +24,7 @@ public class CreditUtil { * @param wxLevelConfigMapper * @return */ - public static int calUserCredit(int creditOrigin, WxCUserBasicInfo wxCUserBasicInfo, WxScoreRulesService wxScoreRulesService, WxLevelConfigMapper wxLevelConfigMapper) { + public static int calUserCredit(TenantEntity tenantEntity,int creditOrigin, WxCUserBasicInfo wxCUserBasicInfo, WxScoreRulesService wxScoreRulesService, WxLevelConfigMapper wxLevelConfigMapper) { Long userId = wxCUserBasicInfo.getId(); Integer score = wxCUserBasicInfo.getPoins(); String tenantId = wxCUserBasicInfo.getFinalTenantId(); @@ -34,7 +34,7 @@ public class CreditUtil { int levelScale = getLevelScale(score, levelScaleConfig); // 获取生日积分倍率: - int birthdayScale = getBirthdayScale(wxCUserBasicInfo, wxScoreRulesService); + int birthdayScale = getBirthdayScale(tenantEntity,wxCUserBasicInfo, wxScoreRulesService); int creditNew = new BigDecimal(creditOrigin) .multiply(new BigDecimal(levelScale)) @@ -76,7 +76,7 @@ public class CreditUtil { * @param wxScoreRulesService * @return */ - private static int getBirthdayScale(WxCUserBasicInfo wxCUserBasicInfo, WxScoreRulesService wxScoreRulesService) { + private static int getBirthdayScale(TenantEntity tenantEntity,WxCUserBasicInfo wxCUserBasicInfo, WxScoreRulesService wxScoreRulesService) { int birthdayScale = WxScoreRules.DEFAULT_SCALE; if (Objects.isNull(wxCUserBasicInfo) || StringUtils.isBlank(wxCUserBasicInfo.getPhone())) { return 0; @@ -86,14 +86,14 @@ public class CreditUtil { if(Objects.isNull(wxCUserBasicInfo.getScoreDate())) { //设置过生日的用户 if (Objects.nonNull(wxCUserBasicInfo.getBirthdate()) && DateUtils.birthdaysBetween(wxCUserBasicInfo.getBirthdate()) == 0) { - birthdayScale = getBirthdayScoreScale(wxCUserBasicInfo, wxScoreRulesService); + birthdayScale = getBirthdayScoreScale(tenantEntity,wxScoreRulesService); } else { log.info("积分倍率计算:未设置生日或生日条件未匹配={}", wxCUserBasicInfo.getScoreDate()); } } else { //发过生日券的用户或者享受过生日积分倍率的用户 if (Objects.nonNull(wxCUserBasicInfo.getScoreDate()) && DateUtils.birthdaysBetween(wxCUserBasicInfo.getScoreDate()) == 0) { - birthdayScale = getBirthdayScoreScale(wxCUserBasicInfo, wxScoreRulesService); + birthdayScale = getBirthdayScoreScale(tenantEntity, wxScoreRulesService); } }