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