From 9486766c806fe1d9e082b2fd02ea1cc558f1b443 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 08 五月 2025 09:21:57 +0800
Subject: [PATCH] bug修改

---
 cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminAgreementController.java |   91 +++++++++++++++++++++++++--------------------
 1 files changed, 51 insertions(+), 40 deletions(-)

diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminAgreementController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminAgreementController.java
index 0e58ec6..623b6ca 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminAgreementController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminAgreementController.java
@@ -1,6 +1,7 @@
 package com.dsh.activity.controller;
 
 import cn.hutool.core.collection.CollUtil;
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.dsh.activity.entity.THuiminAgreement;
 import com.dsh.activity.entity.THuiminAgreementSetting;
@@ -33,20 +34,22 @@
     private HuiminAgreementSettingService huiminAgreementSettingService;
 
     /**
-     * 根据当前用户类型查询惠民卡协议
-     * @param objectType
-     * @param operatorId
+     * 根据当前用户类型查询玩湃惠民卡协议
+     * @param query
      * @return
      */
     @ResponseBody
     @PostMapping("/base/tHuiminAgreement/selectByObjectType")
     public THuiminAgreement selectByObjectType(@RequestBody HuiminAgreementQuery query) {
         THuiminAgreement huiminAgreement = null;
-        if (query.getObjectType().equals(1)) {
+        if (query.getObjectType().equals(1) && Objects.isNull(query.getOperatorId())) {
             //平台
             huiminAgreement = huiminAgreementService.getOne(new LambdaQueryWrapper<THuiminAgreement>()
                     .isNull(THuiminAgreement::getOperatorId));
-
+        }else if (query.getObjectType().equals(1) && Objects.nonNull(query.getOperatorId())){
+            //平台
+            huiminAgreement = huiminAgreementService.getOne(new LambdaQueryWrapper<THuiminAgreement>()
+                    .eq(THuiminAgreement::getOperatorId, query.getOperatorId()));
         }else if (query.getObjectType().equals(2)) {
             //运营商
             huiminAgreement = huiminAgreementService.getOne(new LambdaQueryWrapper<THuiminAgreement>()
@@ -56,52 +59,60 @@
             //查询协议配置
             List<THuiminAgreementSetting> tHuiminAgreementSettingList = huiminAgreementSettingService.list(new LambdaQueryWrapper<THuiminAgreementSetting>()
                     .eq(THuiminAgreementSetting::getAgreementId, huiminAgreement.getId()));
-            huiminAgreement.setTHuiminAgreementSettingList(tHuiminAgreementSettingList);
+            huiminAgreement.setSettingList(tHuiminAgreementSettingList);
         }
         return huiminAgreement;
     }
     /**
-     * 保存惠民卡协议
+     * 保存玩湃惠民卡协议
      * @param tHuiminAgreement
      */
     @PostMapping("/base/tHuiminAgreement/save")
     @Transactional(rollbackFor = Exception.class)
     public void insert(@RequestBody THuiminAgreement tHuiminAgreement){
+        String agreementSettings = tHuiminAgreement.getAgreementSettings();
+        List<THuiminAgreementSetting> tHuiminAgreementSettings = JSONArray.parseArray(agreementSettings, THuiminAgreementSetting.class);
+        tHuiminAgreement.setSettingList(tHuiminAgreementSettings);
         Integer operatorId = tHuiminAgreement.getOperatorId();
-        if (tHuiminAgreement.getObjectType().equals(1)) {
-            tHuiminAgreement.setOperatorId(null);
-        }
-        huiminAgreementService.saveOrUpdate(tHuiminAgreement);
-        List<THuiminAgreementSetting> tHuiminAgreementSettingList = tHuiminAgreement.getTHuiminAgreementSettingList();
-        if (CollUtil.isNotEmpty(tHuiminAgreementSettingList)) {
-            if (tHuiminAgreement.getObjectType().equals(2) || tHuiminAgreement.getObjectType().equals(1) && Objects.isNull(operatorId)) {
-                //删除之前的协议配置
-                huiminAgreementSettingService.remove(new LambdaQueryWrapper<THuiminAgreementSetting>().eq(THuiminAgreementSetting::getAgreementId, tHuiminAgreement.getId()));
-                //保存协议配置
-                tHuiminAgreementSettingList.forEach(t -> {
-                    t.setAgreementId(tHuiminAgreement.getId());
-                });
-                huiminAgreementSettingService.saveBatch(tHuiminAgreementSettingList);
-            } else {
-                THuiminAgreement agreement = huiminAgreementService.lambdaQuery()
-                        .eq(THuiminAgreement::getOperatorId, operatorId)
-                        .last("LIMIT 1").one();
-                if (Objects.isNull(agreement)) {
-                    agreement = new THuiminAgreement();
-                    agreement.setOperatorId(operatorId);
-                    huiminAgreementService.save(agreement);
-                }
-                //删除之前的协议配置
-                huiminAgreementSettingService.remove(new LambdaQueryWrapper<THuiminAgreementSetting>()
-                        .eq(THuiminAgreementSetting::getAgreementId, agreement.getId()));
-                //保存协议配置
-                THuiminAgreement finalAgreement = agreement;
-                tHuiminAgreementSettingList.forEach(t -> {
-                    t.setAgreementId(finalAgreement.getId());
-                });
-                huiminAgreementSettingService.saveBatch(tHuiminAgreementSettingList);
-            }
+        //如果是平台账号,需要设置operatorId为null
+        List<THuiminAgreementSetting> tHuiminAgreementSettingList = tHuiminAgreement.getSettingList();
+        //如果是运营商账号或平台账号默认配置
+        if (tHuiminAgreement.getObjectType().equals(2) || tHuiminAgreement.getObjectType().equals(1) && Objects.isNull(operatorId)) {
+            if (tHuiminAgreement.getObjectType().equals(1)) {
+                tHuiminAgreement.setOperatorId(null);
+                boolean remove = huiminAgreementService.remove(new LambdaQueryWrapper<THuiminAgreement>()
+                        .isNull(THuiminAgreement::getOperatorId));
 
+            }
+            huiminAgreementService.saveOrUpdate(tHuiminAgreement);
+            //删除之前的协议配置
+            huiminAgreementSettingService.remove(new LambdaQueryWrapper<THuiminAgreementSetting>().eq(THuiminAgreementSetting::getAgreementId, tHuiminAgreement.getId()));
+            //保存协议配置
+            tHuiminAgreementSettingList.forEach(t -> {
+                t.setAgreementId(tHuiminAgreement.getId());
+            });
+        } else {
+            //平台配置运营商的协议配置
+            THuiminAgreement agreement = huiminAgreementService.lambdaQuery()
+                    .eq(THuiminAgreement::getOperatorId, operatorId)
+                    .last("LIMIT 1").one();
+            if (Objects.isNull(agreement)) {
+                agreement = new THuiminAgreement();
+                agreement.setOperatorId(operatorId);
+            }
+            agreement.setStoreNoHuiminCardIntro(tHuiminAgreement.getStoreNoHuiminCardIntro());
+            huiminAgreementService.saveOrUpdate(agreement);
+            //删除之前的协议配置
+            huiminAgreementSettingService.remove(new LambdaQueryWrapper<THuiminAgreementSetting>()
+                    .eq(THuiminAgreementSetting::getAgreementId, agreement.getId()));
+            //保存协议配置
+            THuiminAgreement finalAgreement = agreement;
+            tHuiminAgreementSettingList.forEach(t -> {
+                t.setAgreementId(finalAgreement.getId());
+            });
+        }
+        if (CollUtil.isNotEmpty(tHuiminAgreementSettingList)) {
+            huiminAgreementSettingService.saveBatch(tHuiminAgreementSettingList);
         }
     }
 }

--
Gitblit v1.7.1