xhxu 3 лет назад
Родитель
Сommit
d82ca03d1a
2 измененных файлов: 46 добавлений и 25 удалений
  1. +3
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxMemberCardServiceImpl.java
  2. +43
    -25
      mallinkService/src/main/java/com/iformall/service/msg/impl/AfterAddCreditMsgServiceImpl.java

+ 3
- 0
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());
}


+ 43
- 25
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<WxMemberCard> 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);
}

}

}

Загрузка…
Отмена
Сохранить