From 0b8cb997c7226c99bdbc4453a9430c3c278af877 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Wed, 19 Jun 2019 13:12:41 +0800 Subject: [PATCH] =?UTF-8?q?[BUG][=E4=BF=AE=E6=94=B9][C=E7=AB=AF=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E7=A7=AF=E5=88=86=E6=8A=A5=E5=90=8D=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E5=9C=A8=E7=A7=AF=E5=88=86=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E4=B8=8B=E6=9C=89=E8=AE=B0=E5=BD=95]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/WxActivityJoinServiceImpl.java | 28 +++++++------------ .../impl/WxCreditHistoryServiceImpl.java | 3 ++ 2 files changed, 13 insertions(+), 18 deletions(-) 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; }