From f69fd42a3ae2d11713dcd284ae3db57e449ae6dd Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 15 Jul 2021 18:00:45 +0800 Subject: [PATCH] fix --- gc-order/src/main/java/com/xzx/gc/order/service/DistribService.java | 31 ++++++++++++++++++++++++++++++- 1 files changed, 30 insertions(+), 1 deletions(-) diff --git a/gc-order/src/main/java/com/xzx/gc/order/service/DistribService.java b/gc-order/src/main/java/com/xzx/gc/order/service/DistribService.java index c5d872f..ba7bf1f 100644 --- a/gc-order/src/main/java/com/xzx/gc/order/service/DistribService.java +++ b/gc-order/src/main/java/com/xzx/gc/order/service/DistribService.java @@ -1,6 +1,8 @@ package com.xzx.gc.order.service; +import cn.hutool.core.codec.Base64; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.xzx.gc.common.constant.CommonEnum; import com.xzx.gc.entity.*; @@ -34,6 +36,12 @@ private RedPaperRuleMapper redPaperRuleMapper; @Autowired private JhyOrderItemsMapper jhyOrderItemsMapper; + @Autowired + private SysMessageMapper sysMessageMapper; + @Autowired + private AccountMapper accountMapper; + @Autowired + private UserMapper userMapper; public void distribRecord(Long orderId, String userId) { UserHeadRelate userHeadRelate = userHeadRelateMapper.selectRelateByUserId(userId); @@ -47,6 +55,12 @@ } Integer count = userHeadDetailsMapper.selectDetailsCount(userId); +// UserInfo userInfo = userMapper.selectByPrimaryKey(userId); + AccountInfo accountInfo = accountMapper.selectAccountInfoByUserId(userHeadRelate.getHeadUserId()); + + if (AccountInfo.IS_PROHIBIT_Y.equals(accountInfo.getIsProhibit())) { + return; + } List<String> remark = new ArrayList<>(); BigDecimal totalReturnScore = BigDecimal.ZERO; @@ -113,9 +127,24 @@ userHeadDetailsMapper.insert(userHeadDetails); userHeadRelate.setAmount(userHeadRelate.getAmount().add(totalReturnCoin)); - userHeadRelate.setScore(userHeadDetails.getScore().add(totalReturnScore)); + userHeadRelate.setScore(userHeadRelate.getScore().add(totalReturnScore)); userHeadRelateMapper.updateByPrimaryKey(userHeadRelate); + accountInfo.setAccountId(accountInfo.getAccountId()); + accountInfo.setMoney(new BigDecimal(accountInfo.getMoney()).add(totalReturnCoin).setScale(2, BigDecimal.ROUND_DOWN).toString()); + BigDecimal collectScore = StrUtil.isNotBlank(accountInfo.getCollectScore()) ? new BigDecimal(accountInfo.getCollectScore()) : BigDecimal.ZERO; + accountInfo.setCollectScore(collectScore.add(totalReturnScore).setScale(0, BigDecimal.ROUND_DOWN).toString()); + accountMapper.updateByPrimaryKey(accountInfo); + + SysMessage sysMessage = new SysMessage(); + sysMessage.setCreateTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")); + sysMessage.setCreateUserId(userHeadRelate.getHeadUserId()); + sysMessage.setUserId(userHeadRelate.getHeadUserId()); + sysMessage.setMessageType("4"); + sysMessage.setMessageSubTypeName("返利消息"); + sysMessage.setMessage("收到用户:" + accountInfo.getAccountName().replaceAll("(\\w{3})\\w*(\\w{4})", "$1****$2") + "的订单返利, 积分:" + totalReturnScore +", 环保币:" + totalReturnCoin); + sysMessage.setFlag("2"); + sysMessageMapper.insert(sysMessage); } private String getRuleValue(RedPaperRule redPaperRule, String key) { -- Gitblit v1.9.1