From 3c884ccd7b51edf3b36840bf99de5edaa41a38a7 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期三, 12 十月 2022 19:05:28 +0800
Subject: [PATCH] 三说会堂事件流程处理

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java |   96 ++++++++++++++++-------------------------------
 1 files changed, 33 insertions(+), 63 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java
index e35bdb4..eb4131b 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java
@@ -86,7 +86,8 @@
      * @param serviceId
      *            交易业务id
      * @param serviceType
-     *            交易业务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.参与志愿者活动 5.参与社区活动 6.参与党员活动 7.参与调查问卷)
+     *            交易业务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.社区活动-居民身份参与 " +
+     *             "5.社区活动-党员身份参与 6.社区活动-志愿者身份参与 7.参与调查问卷 8.取消活动 9.参与单位党员活动)
      * @param amount
      *            交易积分数量
      * @param changeType
@@ -101,10 +102,6 @@
     @Override
     public Long addIntegralTradeRecord(Long userId, Long integralId, Long communityId, Long serviceId,
         Integer serviceType, Integer amount, Integer changeType, String remark, Integer identityType, Long createBy) {
-        if (amount < 0) {
-            changeType = ComActIntegralUserTradeDO.changeType.reduce;
-            amount = Math.abs(amount);
-        }
         ComActIntegralUserTradeDO integralUserTradeDO = new ComActIntegralUserTradeDO();
         integralUserTradeDO.setId(Snowflake.getId());
         integralUserTradeDO.setUserId(userId);
@@ -179,7 +176,8 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R addIntegralTradeAdmin(AddComActIntegralUserDTO integralUserDTO) {
-        // 判断增加积分类型 积分任务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.参加居民活动 5.参加志愿者活动 6.参与党员活动 7.参与调查问卷 8.取消活动)
+        // 判断增加积分类型 积分任务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.社区活动-居民身份参与 " +
+        //            "5.社区活动-党员身份参与 6.社区活动-志愿者身份参与 7.参与调查问卷 8.取消活动 9.参与单位党员活动)
         Integer type = integralUserDTO.getIntegralType();
         // 业务id
         Long serviceId = integralUserDTO.getServiceId();
@@ -196,9 +194,9 @@
         // 当前时间
         Date nowDate = new Date();
 
-        Integer isVolunteer = integralUserDTO.getIsVolunteer();
+        Integer changeType = ComActIntegralUserTradeDO.changeType.add;
 
-        if (!type.equals(8)) {
+        if (!type.equals(8) && !type.equals(4) && !type.equals(5) && !type.equals(6) && !type.equals(9)) {
             // 查询随手拍增加积分数量
             ComActIntegralRuleDO integralRuleDO =
                     comActIntegralRuleService.getOne(new QueryWrapper<ComActIntegralRuleDO>().lambda()
@@ -259,34 +257,6 @@
                     }
                 }
                 break;
-            case 4:
-                if (nonNull(isVolunteer) && isVolunteer.equals(1)) {
-                    identityType = 3;
-                } else {
-                    identityType = 1;
-                }
-                remark.append("成功参加居民活动奖励积分");
-                ComActActivityDO actActivityDO1 = comActActivityService.getById(serviceId);
-                if(actActivityDO1 != null) {
-                    amount = actActivityDO1.getRewardIntegral();
-                }
-                break;
-            case 5:
-                if (nonNull(isVolunteer) && isVolunteer.equals(0)) {
-                    identityType = 1;
-                } else {
-                    identityType = 3;
-                }
-                remark.append("成功参加志愿者活动奖励积分");
-                ComActActivityDO actActivityDO = comActActivityService.getById(serviceId);
-                if(actActivityDO != null) {
-                    amount = actActivityDO.getRewardIntegral();
-                }
-                break;
-            case 6:
-                identityType = 2;
-                remark.append("参与党员活动");
-                break;
             case 7:
                 // 查询调查问卷
                 ComActQuestnaireDO questnaireDO = comActQuestnaireDAO.selectById(serviceId);
@@ -316,29 +286,18 @@
                 remark.append("】");
                 break;
             case 8:
-                if (integralUserDTO.getActivityType() == 1) {
-                    ComActActivityDO actActivityDO2 = comActActivityService.getById(serviceId);
-                    if (actActivityDO2 != null) {
-                        amount = -actActivityDO2.getCancelDeduct();
-                        if (actActivityDO2.getVolunteerMax() != 0) {
-                            remark.append("取消志愿者活动扣除积分");
-                        } else {
-                            remark.append("取消居民活动扣除积分");
-                        }
-                    }
-                    if (nonNull(isVolunteer) && isVolunteer.equals(1)) {
-                        identityType = 3;
-                    } else {
-                        identityType = 1;
-                    }
-                }
-//                else {
-//                    ComPbActivityDO comPbActivityDO = comBpActivityDAO.selectById(serviceId);
-//                    if(comPbActivityDO!=null){
-//                        amount=comPbActivityDO.getRewardIntegral();
-//                        identityType=2;
-//                    }
-//                }
+                changeType = ComActIntegralUserTradeDO.changeType.reduce;
+                amount = -integralUserDTO.getIntegral();
+                remark.append(integralUserDTO.getRemark());
+                identityType = integralUserDTO.getSignIdentity();
+                break;
+            case 4:
+            case 5:
+            case 6:
+            case 9:
+                identityType = integralUserDTO.getSignIdentity();
+                remark.append(integralUserDTO.getRemark());
+                amount = integralUserDTO.getIntegral();
                 break;
             default:
                 break;
@@ -411,9 +370,10 @@
             integralUserDO.setIntegralVolunteer(integralVolunteerNow);
             integralUserDO.setIntegralAvailableVolunteer(addIntegral(integralUserDO.getIntegralAvailableVolunteer() + amount));
         }
-        if (reduceAmount > 0) {
-            integralUserDO.setIntegralSum(addIntegral(integralSum + reduceAmount));
-            integralUserDO.setIntegralAvailableSum(addIntegral(integralAvailableSum + reduceAmount));
+        if (changeType == ComActIntegralUserTradeDO.changeType.reduce) {
+            amount = reduceAmount;
+            integralUserDO.setIntegralSum(addIntegral(integralSum - reduceAmount));
+            integralUserDO.setIntegralAvailableSum(addIntegral(integralAvailableSum - reduceAmount));
         } else {
             integralUserDO.setIntegralSum(addIntegral(integralSum + amount));
             integralUserDO.setIntegralAvailableSum(addIntegral(integralAvailableSum + amount));
@@ -424,7 +384,7 @@
         comActIntegralUserService.updateById(integralUserDO);
         // 增加积分账户交易记录
         Long tradeId = this.addIntegralTradeRecord(userId, integralId, communityId, serviceId, type, amount,
-            ComActIntegralUserTradeDO.changeType.add, remark.toString(), identityType, 2L);
+                changeType, remark.toString(), identityType, 2L);
         // 增加积分账户变更记录
         comActIntegralUserChangeService.addIntegralUserChangeRecord(userId, integralId, communityId, integralSum,
             integralUserDO.getIntegralSum(), integralAvailableSum, integralUserDO.getIntegralAvailableSum(),
@@ -438,6 +398,16 @@
         return R.ok();
     }
 
+    /**
+     * 获取积分详情
+     * @param id
+     * @return
+     */
+    @Override
+    public R getUserIntegralDetail(Long id) {
+        return R.ok(this.baseMapper.getUserIntegralDetail(id));
+    }
+
     private int addIntegral(int integral) {
         return integral > 0 ? integral : 0;
     }

--
Gitblit v1.7.1