diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMemberCardServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMemberCardServiceImpl.java index c57257916..8788ed18f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMemberCardServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMemberCardServiceImpl.java @@ -296,6 +296,9 @@ public class WxMemberCardServiceImpl implements WxMemberCardService { this.sendSyncMemberCardMsg(tenantEntity,card_id,code); return new ResultData(); } catch (WxPayException e) { + e.printStackTrace(); + return new ResultData(ErrorCode.SYS_METHOD_NOT_SUPPORT.getCode(),e.getMessage()); + } catch (Exception e){ e.printStackTrace(); return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),e.getMessage()); } diff --git a/mallinkService/src/main/java/com/iformall/service/msg/impl/AfterAddCreditMsgServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/msg/impl/AfterAddCreditMsgServiceImpl.java index 976431001..0aaae06a3 100644 --- a/mallinkService/src/main/java/com/iformall/service/msg/impl/AfterAddCreditMsgServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/msg/impl/AfterAddCreditMsgServiceImpl.java @@ -67,6 +67,41 @@ public class AfterAddCreditMsgServiceImpl implements MsgSendService { tenantEntity.setTenantId(afterAddCreditMsg.getTenantId()); tenantEntity.setParentTenantId(afterAddCreditMsg.getParentTenantId()); + + if(afterAddCreditMsg.getBasicUserId() != null){ + Long cuserId = wxCUserMapper.findCuserId(afterAddCreditMsg.getBasicUserId(), afterAddCreditMsg.getTenantId()); + afterAddCreditMsg.setCuserId(cuserId); + } + + if(afterAddCreditMsg.getBasicUserId() == null){ + WxCUser wxCUser = wxCUserMapper.selectById(afterAddCreditMsg.getCuserId(),afterAddCreditMsg.getTenantId()); + afterAddCreditMsg.setBasicUserId(wxCUser.getUserId()); + } + + WxCUserBasicInfo basicInfo = wxCUserBasicInfoMapper.selectById(afterAddCreditMsg.getBasicUserId(), tenantEntity.getFinalTenantId()); + if(basicInfo == null){ + logger.info("未找到用户>>"); + return; + } + + WxCreditHistory wxCreditHistory = null; + if(afterAddCreditMsg.getCreditHistoryId() == null){ + wxCreditHistory = wxCreditHistoryMapper.selectById(afterAddCreditMsg.getCreditHistoryId(), tenantEntity.getFinalTenantId()); + } + + if(wxCreditHistory != null){ + //老带新积分奖励 todo 先处理微信的逻辑 + wxCreditHistoryService.oldAddCreditWithNewConsume(tenantEntity,wxCreditHistory,basicInfo,EnumAppPlat.WX); + } + + //微信商圈同步会员积分 + syncMemberCardBonus(tenantEntity,afterAddCreditMsg.getCuserId(),basicInfo,wxCreditHistory); + + + + } + + private void syncMemberCardBonus(TenantEntity tenantEntity,Long cuserId,WxCUserBasicInfo basicInfo,WxCreditHistory wxCreditHistory){ //微信商圈同步会员积分 WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); if(cAppInfo == null){ @@ -82,39 +117,28 @@ public class AfterAddCreditMsgServiceImpl implements MsgSendService { logger.error("未找到商圈配置或商圈版本不支持"); return; } - if(afterAddCreditMsg.getBasicUserId() != null){ - Long cuserId = wxCUserMapper.findCuserId(afterAddCreditMsg.getBasicUserId(), afterAddCreditMsg.getTenantId()); - afterAddCreditMsg.setCuserId(cuserId); - } - if(afterAddCreditMsg.getBasicUserId() == null){ - WxCUser wxCUser = wxCUserMapper.selectById(afterAddCreditMsg.getCuserId(),afterAddCreditMsg.getTenantId()); - afterAddCreditMsg.setBasicUserId(wxCUser.getUserId()); - } - - WxCUserBasicInfo basicInfo = wxCUserBasicInfoMapper.selectById(afterAddCreditMsg.getBasicUserId(), tenantEntity.getFinalTenantId()); WxMemberCard memberCardQ = new WxMemberCard(); memberCardQ.updateFinalTenantId(tenantEntity); - memberCardQ.setCuserId(afterAddCreditMsg.getCuserId()); + memberCardQ.setCuserId(cuserId); memberCardQ.setUserCardStatus(EnumMemberCardStatus.EFFECTIVE.getCode()); List memberCards = wxMemberCardMapper.findList(memberCardQ); if(memberCards == null || memberCards.isEmpty()){ - logger.error("该用户未授权商圈"+afterAddCreditMsg.getCuserId()); + logger.error("该用户未授权商圈"+cuserId); return; } + String markid = null; Integer before_bonus_value = 0,bonus_value = 0; - WxCreditHistory wxCreditHistory = null; - if(afterAddCreditMsg.getCreditHistoryId() == null){ - markid = basicInfo.getId().toString(); - bonus_value = basicInfo.getCredit(); - }else{ - wxCreditHistory = wxCreditHistoryMapper.selectById(afterAddCreditMsg.getCreditHistoryId(), tenantEntity.getFinalTenantId()); + if(wxCreditHistory != null){ markid = wxCreditHistory.getId().toString(); before_bonus_value = wxCreditHistory.getCreditAmount()-wxCreditHistory.getCreditNum(); bonus_value = wxCreditHistory.getCreditAmount(); + }else{ + markid = basicInfo.getId().toString(); + bonus_value = basicInfo.getCredit(); } for(int i = 0;i < memberCards.size();i++){ @@ -124,12 +148,6 @@ public class AfterAddCreditMsgServiceImpl implements MsgSendService { before_bonus_value, bonus_value, null); logger.info(tenantEntity.getTenantId()+"--"+memberCard.getId()+"--微信商圈同步会员积分{}"+resultData.message); } - - - if(wxCreditHistory != null){ - //老带新积分奖励 todo 先处理微信的逻辑 - wxCreditHistoryService.oldAddCreditWithNewConsume(tenantEntity,wxCreditHistory,basicInfo,EnumAppPlat.WX); - } - } + }