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