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 4159b5869..2e8d5cf5c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java @@ -16,6 +16,7 @@ import com.iformall.mapper.*; import com.iformall.mq.MqBaseProducer; import com.iformall.service.ExcelService; import com.iformall.service.WxActivityJoinService; +import com.iformall.service.WxCreditHistoryService; import com.iformall.utils.DateUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -60,6 +61,10 @@ public class WxActivityJoinServiceImpl implements WxActivityJoinService { @Autowired WxCreditHistoryMapper wxCreditHistoryMapper; + @Autowired + WxCreditHistoryService wxCreditHistoryService; + + @Override public PageInfo listAsPage(WxActivityJoin record, Integer pageIndex, Integer pageSize) { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxActivityJoinMapper.findList(record)); @@ -154,32 +159,19 @@ public class WxActivityJoinServiceImpl implements WxActivityJoinService { WxActivity wxActivity = wxActivityMapper.selectByPrimaryKey(wxActivityJoin.getActivityId()); Date date = new Date(); if (wxActivity.getUseCredit().equals(EnumActivityUseCreditStatus.YES.getCode())) { - Integer userCredit = user.getCredit(); Integer credit = wxActivity.getCredit(); - Map data = new HashMap<>(2); - if (credit > userCredit) { - data.put("useCredit", credit); - data.put("totalCredit", userCredit); - return new ResultData(ErrorCode.CREDIT_NOT_ENOUGH, data); - } - userCredit = userCredit - credit; - user.setCredit(userCredit); - wxCUserMapper.updateByPrimaryKeySelective(user); - data.put("useCredit", credit); - data.put("totalCredit", userCredit); //积分历史 WxCreditHistory wxCreditHistory = new WxCreditHistory(); - final IdWorker idWorker = IdWorker.get(); - wxCreditHistory.setId(idWorker.nextId()); wxCreditHistory.setTenantId(wxActivity.getTenantId()); wxCreditHistory.setCUserId(wxActivityJoin.getUserId()); - wxCreditHistory.setCreditAmount(userCredit); - wxCreditHistory.setCreditNum(-credit); + wxCreditHistory.setCreditNum(credit); wxCreditHistory.setCreditType(EnumScoreType.ACTIVITY_JOIN.getCode()); - wxCreditHistory.setCreateDate(date); wxCreditHistory.setOperatorType(EnumUserType.CUSER.getCode()); wxCreditHistory.setOperatorId(wxActivityJoin.getUserId()); - wxCreditHistoryMapper.updateByPrimaryKeySelective(wxCreditHistory); + WxCreditHistory creditHistory = wxCreditHistoryService.saveOrUpdate(wxCreditHistory); + Map data = new HashMap<>(2); + data.put("useCredit", credit); + data.put("totalCredit", creditHistory.getCreditAmount()); } //保存到报名表中 final IdWorker idWorker = IdWorker.get(); 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 4d09a34d8..c3a6d8a1a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java @@ -266,6 +266,9 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { if (record.getCreditType() == EnumScoreType.MEM_IMPORT.getCode()) { return record.getCreditNum(); } + if (record.getCreditType() == EnumScoreType.ACTIVITY_JOIN.getCode()) { + return reduceCredit(record); + } return 0; }