diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java index ff3886f25..bccf0891c 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java @@ -28,7 +28,7 @@ public interface WxCUserBasicInfoMapper extends CommonMapper findListByScore(WxCUserBasicInfoDto dto); - List findBirthdayList(); + List findBirthdayList(WxCUserBasicInfoDto wxCUserBasicInfoDto); long findCount(WxCUserBasicInfoDto dto); 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 8e286a19b..cef4d605d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java @@ -215,7 +215,10 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { } int creditChangeNumOrigin = creditIncrement(record); - int creditChangeNum = CreditUtil.calUserCredit(creditChangeNumOrigin,wxCUser,wxLevelConfigMapper,wxCUserBasicInfo,wxScoreRulesService) ; + int creditChangeNum = creditChangeNumOrigin ; + if (record.getCreditType().equals(EnumScoreType.CONSUMPTION.getCode()) || record.getCreditType().equals(EnumScoreType.SPEND_CREDIT.getCode())) { + creditChangeNum = CreditUtil.calUserCredit(creditChangeNumOrigin, wxCUser, wxLevelConfigMapper, wxCUserBasicInfo, wxScoreRulesService); + } if (creditChangeNum != 0) { Integer total = currentCreditAmount + creditChangeNum; @@ -309,17 +312,17 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { WxCreditHistory wxCreditHistory = new WxCreditHistory(); wxCreditHistory.setBusinessId(Long.valueOf(wxMerchant.getBusinessId())); wxCreditHistory.setTenantId(tenantId); - int credit = 0; + int credit; int creditNew = 0 ; if (StringUtils.isNotBlank(spendStr)) { wxCreditHistory.setSpend(new BigDecimal(spendStr).multiply(new BigDecimal(100)).intValue()); credit = payAddCredit(wxCreditHistory); - if(Objects.nonNull(userId)) { + if (Objects.nonNull(userId)) { WxCUser wxCUser = wxCUserMapper.selectByPrimaryKey(userId); WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoMapper.selectByPrimaryKey(userId); - creditNew = CreditUtil.calUserCredit(credit,wxCUser,wxLevelConfigMapper,wxCUserBasicInfo,wxScoreRulesService) ; + creditNew = CreditUtil.calUserCredit(credit, wxCUser, wxLevelConfigMapper, wxCUserBasicInfo, wxScoreRulesService); } else { - creditNew = credit ; + creditNew = credit; } } creditMap.put("credit", creditNew); diff --git a/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java b/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java index ca5e73add..db2db5024 100644 --- a/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java +++ b/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java @@ -9,6 +9,10 @@ import com.iformall.service.WxScoreRulesService; import lombok.extern.slf4j.Slf4j; import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; +import java.time.temporal.ChronoUnit; +import java.util.Date; import java.util.Objects; @Slf4j @@ -34,7 +38,8 @@ public class CreditUtil { } // 获取生日积分倍率: int birthdayScale = WxScoreRules.DEFAULT_SCALE; - if (Objects.nonNull(wxCUserBasicInfo.getBirthdate())) { + //生日当天 + if (Objects.nonNull(wxCUserBasicInfo.getBirthdate()) || DateUtils.daysBetween(new Date(), wxCUserBasicInfo.getBirthdate()) == 0) { WxScoreRules rules = wxScoreRulesService.getScoreRules(wxCUser.getTenantId()); if (Objects.nonNull(rules) && Objects.nonNull(rules.getScale())) { birthdayScale = rules.getScale(); diff --git a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml index 00aad3a12..cd62c1f61 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml @@ -229,9 +229,14 @@ - select - from wx_c_user_basic_info where birthdate is not null and phone is not null + from wx_c_user_basic_info cub + inner join wx_c_user cu on cu.id = cub.id + where cub.birthdate is not null and cu.phone is not null + + and cub.tenant_id =#{tenantId} +