From 8444084e6aa11efa23287e7f82474ac22378a5c4 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 01 四月 2025 16:03:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java |  518 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 430 insertions(+), 88 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
index 25d9198..6ddda72 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
@@ -1,20 +1,35 @@
 package com.ruoyi.system.service.impl.config;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ibm.icu.util.LocaleData;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.redis.service.RedisService;
+import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.system.api.constant.ConfigEnum;
+import com.ruoyi.system.api.constant.SecurityConstant;
+import com.ruoyi.system.api.domain.dto.BoardMemberTotalDto;
 import com.ruoyi.system.api.domain.poji.config.Activeness;
+import com.ruoyi.system.api.domain.poji.sys.SysUser;
+import com.ruoyi.system.api.domain.vo.AppOtherConfigGetVo;
+import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
+import com.ruoyi.system.api.service.RemoteActivityService;
+import com.ruoyi.system.api.service.RemoteMemberService;
+import com.ruoyi.system.api.service.RemoteOrderService;
+import com.ruoyi.system.api.service.RemoteShopService;
 import com.ruoyi.system.domain.dto.*;
 import com.ruoyi.system.domain.pojo.config.Advert;
 import com.ruoyi.system.domain.pojo.config.CustomConfig;
 import com.ruoyi.system.domain.vo.MgtActivenessVo;
-import com.ruoyi.system.domain.vo.MgtCustomConfigVo;
+import com.ruoyi.system.domain.vo.MgtAllCustomConfigVo;
 import com.ruoyi.system.domain.vo.MgtOperLogPageVo;
 import com.ruoyi.system.mapper.config.CustomConfigMapper;
-import com.ruoyi.system.service.config.ActivenessService;
-import com.ruoyi.system.service.config.AdvertService;
-import com.ruoyi.system.service.config.CustomConfigService;
+import com.ruoyi.system.service.config.*;
+import com.ruoyi.system.service.sys.ISysUserService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -41,6 +56,32 @@
 
     @Resource
     private ActivenessService activenessService;
+
+    @Resource
+    private RemoteMemberService remoteMemberService;
+
+    @Resource
+    private RecommendCooperationService recommendCooperationService;
+
+    @Resource
+    private RemoteShopService remoteShopService;
+
+    @Resource
+    private RemoteOrderService remoteOrderService;
+
+    @Resource
+    private RemoteActivityService remoteActivityService;
+
+    @Resource
+    private StaffSuggestService staffSuggestService;
+
+    @Resource
+    private RedisService redisService;
+
+    @Autowired
+    private ISysUserService sysUserService;
+
+
 
 
     /**
@@ -70,15 +111,71 @@
         if (customConfig == null) {
             customConfig = new CustomConfig();
             customConfig.setCreateTime(new Date());
+            customConfig.setDelFlag(0);
         }
         // 设置配置的类型、键、名称、值和更新时间
-        customConfig.setType(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyType());
-        customConfig.setKey(ConfigEnum.PLATFORM_SERVICE_PHONE.getKey());
-        customConfig.setName(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyName());
-        customConfig.setValue(mgtServiceMobileEditDto.getServiceMobile());
+        customConfig.setConfigType(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyType());
+        customConfig.setConfigKey(ConfigEnum.PLATFORM_SERVICE_PHONE.getKey());
+        customConfig.setConfigName(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyName());
+        customConfig.setConfigValue(mgtServiceMobileEditDto.getServiceMobile());
         customConfig.setUpdateTime(new Date());
         // 保存或更新配置
         this.saveOrUpdate(customConfig);
+    }
+
+    /**
+     * @description  修改客服二维码
+     * @author  jqs
+     * @date    2023/7/25 16:17
+     * @param mgtServiceCodeEditDto
+     * @return  void
+     */
+    @Override
+    public void editServiceCode(MgtServiceCodeEditDto mgtServiceCodeEditDto){
+        // 获取平台服务电话的配置
+        CustomConfig customConfig = getByKey(ConfigEnum.PLATFORM_SERVICE_CODE.getKey());
+        // 如果配置不存在,则创建一个新的配置
+        if (customConfig == null) {
+            customConfig = new CustomConfig();
+            customConfig.setCreateTime(new Date());
+            customConfig.setDelFlag(0);
+        }
+        // 设置配置的类型、键、名称、值和更新时间
+        customConfig.setConfigType(ConfigEnum.PLATFORM_SERVICE_CODE.getKeyType());
+        customConfig.setConfigKey(ConfigEnum.PLATFORM_SERVICE_CODE.getKey());
+        customConfig.setConfigName(ConfigEnum.PLATFORM_SERVICE_CODE.getKeyName());
+        customConfig.setConfigValue(mgtServiceCodeEditDto.getServiceCodeUrl());
+        customConfig.setUpdateTime(new Date());
+        // 保存或更新配置
+        this.saveOrUpdate(customConfig);
+    }
+
+    /**
+     * @description  修改统一分成
+     * @author  jqs
+     * @date    2023/9/4 18:05
+     * @param mgtShopCommonProportionEditDto
+     * @return  void
+     */
+    @Override
+    public void editShopProportion(MgtShopCommonProportionEditDto mgtShopCommonProportionEditDto){
+        // 获取平台统一分成的配置
+        CustomConfig customConfig = getByKey(ConfigEnum.SHOP_COMMON_PROPORTION.getKey());
+        // 如果配置不存在,则创建一个新的配置
+        if (customConfig == null) {
+            customConfig = new CustomConfig();
+            customConfig.setCreateTime(new Date());
+            customConfig.setDelFlag(0);
+        }
+        // 设置配置的类型、键、名称、值和更新时间
+        customConfig.setConfigType(ConfigEnum.SHOP_COMMON_PROPORTION.getKeyType());
+        customConfig.setConfigKey(ConfigEnum.SHOP_COMMON_PROPORTION.getKey());
+        customConfig.setConfigName(ConfigEnum.SHOP_COMMON_PROPORTION.getKeyName());
+        customConfig.setConfigValue(mgtShopCommonProportionEditDto.getShopCommonProportion());
+        customConfig.setUpdateTime(new Date());
+        // 保存或更新配置
+        this.saveOrUpdate(customConfig);
+        redisService.setCacheObject(SecurityConstant.SHOP_COMMON_PROPORTION,mgtShopCommonProportionEditDto.getShopCommonProportion());
     }
 
     /**
@@ -89,62 +186,71 @@
      * @date 2023/6/7 15:02
      */
     @Override
-    public MgtCustomConfigVo getCustomConfig() {
-        MgtCustomConfigVo mgtCustomConfigVo = new MgtCustomConfigVo();
+    public MgtAllCustomConfigVo getAllCustomConfig() {
+        MgtAllCustomConfigVo mgtAllCustomConfigVo = new MgtAllCustomConfigVo();
         //获取自定义配置
         List<CustomConfig> customConfigList = customConfigMapper.selectList(new LambdaQueryWrapper<CustomConfig>().eq(CustomConfig::getDelFlag, 0));
         Optional.ofNullable(customConfigList).ifPresent(list -> {
-            Map<String, CustomConfig> configMap = list.stream().collect(Collectors.toMap(CustomConfig::getKey, Function.identity()));
+            Map<String, CustomConfig> configMap = list.stream().collect(Collectors.toMap(CustomConfig::getConfigKey, Function.identity()));
             // 遍历配置映射,设置相应的属性值
             configMap.forEach((key, value) -> {
                 switch (key) {
                     case "SHARE_INTEGRAL":
-                        mgtCustomConfigVo.setShareIntegral(Integer.valueOf(value.getValue()));
+                        mgtAllCustomConfigVo.setShareIntegral(Integer.valueOf(value.getConfigValue()));
                         break;
                     case "SUGGEST_PLATFORM_INTEGRAL":
-                        mgtCustomConfigVo.setSuggestPlatformIntegral(Integer.valueOf(value.getValue()));
+                        mgtAllCustomConfigVo.setSuggestPlatformIntegral(Integer.valueOf(value.getConfigValue()));
                         break;
                     case "SIGN_IN_INTEGRAL":
-                        mgtCustomConfigVo.setSignInIntegral(Integer.valueOf(value.getValue()));
+                        mgtAllCustomConfigVo.setSignInIntegral(Integer.valueOf(value.getConfigValue()));
                         break;
                     case "SUGGEST_SHOP_INTEGRAL":
-                        mgtCustomConfigVo.setSuggestShopIntegral(Integer.valueOf(value.getValue()));
+                        mgtAllCustomConfigVo.setSuggestShopIntegral(Integer.valueOf(value.getConfigValue()));
                         break;
                     case "PAY_MONEY_INTEGRAL":
-                        mgtCustomConfigVo.setPayMoneyIntegral(Integer.valueOf(value.getValue()));
+                        mgtAllCustomConfigVo.setPayMoneyIntegral(Integer.valueOf(value.getConfigValue()));
                         break;
                     case "ORDER_AUTO_CANCEL_TIME":
-                        mgtCustomConfigVo.setOrderAutoCancelTime(Integer.valueOf(value.getValue()));
+                        mgtAllCustomConfigVo.setOrderAutoCancelTime(Integer.valueOf(value.getConfigValue()));
                         break;
                     case "HOME_STYLE":
-                        mgtCustomConfigVo.setHomeStyle(Integer.valueOf(value.getValue()));
+                        mgtAllCustomConfigVo.setHomeStyle(Integer.valueOf(value.getConfigValue()));
                         break;
                     case "SHOP_EMERGENCY_DEGREE":
-                        mgtCustomConfigVo.setShopEmergencyDegree(value.getValue());
+                        mgtAllCustomConfigVo.setShopEmergencyDegree(value.getConfigValue());
+                        break;
+                    case "SHOP_COMMON_PROPORTION":
+                        mgtAllCustomConfigVo.setShopCommonProportion(value.getConfigValue());
                         break;
                     case "SHOP_FOLLOW_TYPE":
-                        mgtCustomConfigVo.setShopFollowType(value.getValue());
+                        mgtAllCustomConfigVo.setShopFollowType(value.getConfigValue());
                         break;
                     case "SHOP_CUSTOM_STATUS":
-                        mgtCustomConfigVo.setShopCustomStatus(value.getValue());
+                        mgtAllCustomConfigVo.setShopCustomStatus(value.getConfigValue());
                         break;
                     case "SHOP_SOURCE_CHANNEL":
-                        mgtCustomConfigVo.setShopSourceChannel(value.getValue());
+                        mgtAllCustomConfigVo.setShopSourceChannel(value.getConfigValue());
                         break;
                     case "MEMBER_SOURCE_CHANNEL":
-                        mgtCustomConfigVo.setMemberSourceChannel(value.getValue());
+                        mgtAllCustomConfigVo.setMemberSourceChannel(value.getConfigValue());
                         break;
                     case "MEMBER_CHARACTER":
-                        mgtCustomConfigVo.setMemberCharacter(value.getValue());
+                        mgtAllCustomConfigVo.setMemberCharacter(value.getConfigValue());
                         break;
                     case "MEMBER_LEVEL":
-                        mgtCustomConfigVo.setMemberLevel(value.getValue());
+                        mgtAllCustomConfigVo.setMemberLevel(value.getConfigValue());
                         break;
                     case "MEMBER_TYPE":
-                        mgtCustomConfigVo.setMemberType(value.getValue());
+                        mgtAllCustomConfigVo.setMemberType(value.getConfigValue());
                         break;
                     case "NURSE_PROBLEM":
-                        mgtCustomConfigVo.setNurseProblem(value.getValue());
+                        mgtAllCustomConfigVo.setNurseProblem(value.getConfigValue());
+                        break;
+                    case "STORE_COURSE_DISPLAY_NAME":
+                        mgtAllCustomConfigVo.setStoreCourseDisplayName(value.getConfigValue());
+                        break;
+                    case "STORE_COURSE_DISPLAY_PASSWORD":
+                        mgtAllCustomConfigVo.setStoreCourseDisplayPassword(value.getConfigValue());
                         break;
                     default:
                         break;
@@ -154,13 +260,14 @@
         //获取广告配置
         Advert advert = advertService.getAdvert();
         if (advert != null) {
-            mgtCustomConfigVo.setHomeSlogan(advert.getAdContent());
-            mgtCustomConfigVo.setHomeLogo(advert.getLogoUrl());
-            mgtCustomConfigVo.setAdUrl(advert.getAdUrl());
-            mgtCustomConfigVo.setTargetType(advert.getTargetType());
-            mgtCustomConfigVo.setLinkUrl(advert.getLinkUrl());
-            mgtCustomConfigVo.setJumpType(advert.getJumpType());
-            mgtCustomConfigVo.setJumpId(advert.getJumpId());
+            mgtAllCustomConfigVo.setHomeSlogan(advert.getAdContent());
+            mgtAllCustomConfigVo.setHomeLogo(advert.getLogoUrl());
+            mgtAllCustomConfigVo.setAdUrl(advert.getAdUrl());
+            mgtAllCustomConfigVo.setTargetType(advert.getTargetType());
+            mgtAllCustomConfigVo.setLinkType(advert.getLinkType());
+            mgtAllCustomConfigVo.setLinkUrl(advert.getLinkUrl());
+            mgtAllCustomConfigVo.setJumpType(advert.getJumpType());
+            mgtAllCustomConfigVo.setJumpId(advert.getJumpId());
         }
         //获取活跃度配置
         List<Activeness> activenessList = activenessService.listActiveness();
@@ -175,9 +282,9 @@
                         return mgtActivenessVo;
                     })
                     .collect(Collectors.toList());
-            mgtCustomConfigVo.setMgtActivenessVoList(mgtActivenessVoList);
+            mgtAllCustomConfigVo.setMgtActivenessVoList(mgtActivenessVoList);
         }
-        return mgtCustomConfigVo;
+        return mgtAllCustomConfigVo;
     }
 
 
@@ -197,6 +304,41 @@
         // 新建配置
         createNewConfig(mgtOtherConfigEditDto, updateTime);
     }
+    
+    
+    /**
+     * 修改门店课程配置
+     * @param mgtStoreCurriculumEditDto
+     */
+    @Override
+    public void editStoreCurriculum(MgtStoreCurriculumEditDto mgtStoreCurriculumEditDto) {
+        customConfigMapper.delete(new QueryWrapper<CustomConfig>().eq("config_type", ConfigEnum.STORE_COURSE_DISPLAY_NAME.getKeyType())
+                .eq("config_key", ConfigEnum.STORE_COURSE_DISPLAY_NAME.getKey()));
+        customConfigMapper.delete(new QueryWrapper<CustomConfig>().eq("config_type", ConfigEnum.STORE_COURSE_DISPLAY_PASSWORD.getKeyType())
+                .eq("config_key", ConfigEnum.STORE_COURSE_DISPLAY_PASSWORD.getKey()));
+    
+        CustomConfig customConfig = new CustomConfig();
+        customConfig.setDelFlag(0);
+        customConfig.setConfigType(2);
+        customConfig.setConfigKey(ConfigEnum.STORE_COURSE_DISPLAY_NAME.getKey());
+        customConfig.setConfigName(ConfigEnum.STORE_COURSE_DISPLAY_NAME.getKeyName());
+        customConfig.setCreateTime(new Date());
+        customConfig.setUpdateTime(new Date());
+        customConfig.setConfigValue(mgtStoreCurriculumEditDto.getStoreCourseDisplayName());
+        this.saveOrUpdate(customConfig);
+        
+        customConfig = new CustomConfig();
+        customConfig.setDelFlag(0);
+        customConfig.setConfigType(2);
+        customConfig.setConfigKey(ConfigEnum.STORE_COURSE_DISPLAY_PASSWORD.getKey());
+        customConfig.setConfigName(ConfigEnum.STORE_COURSE_DISPLAY_PASSWORD.getKeyName());
+        customConfig.setCreateTime(new Date());
+        customConfig.setUpdateTime(new Date());
+        customConfig.setConfigValue(mgtStoreCurriculumEditDto.getStoreCourseDisplayPassword());
+        this.saveOrUpdate(customConfig);
+    }
+    
+    
 
     /**
      * @param updateTime
@@ -208,7 +350,7 @@
     private void deletePastConfig(Date updateTime) {
         List<CustomConfig> customConfigList = customConfigMapper.selectList(new LambdaQueryWrapper<CustomConfig>()
                 .eq(CustomConfig::getDelFlag, 0)
-                .eq(CustomConfig::getType, 2));
+                .eq(CustomConfig::getConfigType, 2));
         for (CustomConfig customConfig : customConfigList) {
             customConfig.setDelFlag(1);
             customConfig.setUpdateTime(updateTime);
@@ -228,44 +370,55 @@
         for (ConfigEnum configEnum : ConfigEnum.values()) {
             CustomConfig customConfig = new CustomConfig();
             customConfig.setDelFlag(0);
-            customConfig.setType(configEnum.getKeyType());
-            customConfig.setKey(configEnum.getKey());
-            customConfig.setName(configEnum.getKeyName());
-            customConfig.setValue(getConfigValue(configEnum, mgtOtherConfigEditDto));
+            customConfig.setConfigType(configEnum.getKeyType());
+            customConfig.setConfigKey(configEnum.getKey());
+            customConfig.setConfigName(configEnum.getKeyName());
             customConfig.setCreateTime(updateTime);
             customConfig.setUpdateTime(updateTime);
-            this.saveOrUpdate(customConfig);
+            switch (configEnum) {
+                //分享小程序可获得积分
+                case SHARE_INTEGRAL:
+                    customConfig.setConfigValue(mgtOtherConfigEditDto.getShareIntegral().toString());
+                    this.saveOrUpdate(customConfig);
+                    break;
+                //平台建议可获得积分
+                case SUGGEST_PLATFORM_INTEGRAL:
+                    customConfig.setConfigValue(mgtOtherConfigEditDto.getSuggestPlatformIntegral().toString());
+                    this.saveOrUpdate(customConfig);
+                    break;
+                //每日签到可获得积分
+                case SIGN_IN_INTEGRAL:
+                    customConfig.setConfigValue(mgtOtherConfigEditDto.getSignInIntegral().toString());
+                    this.saveOrUpdate(customConfig);
+                    break;
+                //门店建议可获得积分
+                case SUGGEST_SHOP_INTEGRAL:
+                    customConfig.setConfigValue(mgtOtherConfigEditDto.getSuggestShopIntegral().toString());
+                    this.saveOrUpdate(customConfig);
+                    break;
+                //C端订单自动取消时间
+                case ORDER_AUTO_CANCEL_TIME:
+                    customConfig.setConfigValue(mgtOtherConfigEditDto.getOrderAutoCancelTime().toString());
+                    redisService.setCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME,mgtOtherConfigEditDto.getOrderAutoCancelTime());
+                    this.saveOrUpdate(customConfig);
+                    break;
+                //购物满1元可获得积分
+                case PAY_MONEY_INTEGRAL:
+                    customConfig.setConfigValue(mgtOtherConfigEditDto.getPayMoneyIntegral().toString());
+                    redisService.setCacheObject(SecurityConstant.PAY_MONEY_INTEGRAL,mgtOtherConfigEditDto.getPayMoneyIntegral());
+                    this.saveOrUpdate(customConfig);
+                    break;
+                //首页风格
+                case HOME_STYLE:
+                    customConfig.setConfigValue(mgtOtherConfigEditDto.getHomeStyle().toString());
+                    this.saveOrUpdate(customConfig);
+                    break;
+                default:
+                    break;
+            }
         }
     }
 
-    /**
-     * @param configEnum
-     * @param mgtOtherConfigEditDto
-     * @return String
-     * @description 获取配置参数
-     * @author jqs
-     * @date 2023/6/7 16:37
-     */
-    private String getConfigValue(ConfigEnum configEnum, MgtOtherConfigEditDto mgtOtherConfigEditDto) {
-        switch (configEnum) {
-            case SHARE_INTEGRAL:
-                return mgtOtherConfigEditDto.getShareIntegral().toString();
-            case SUGGEST_PLATFORM_INTEGRAL:
-                return mgtOtherConfigEditDto.getSuggestPlatformIntegral().toString();
-            case SIGN_IN_INTEGRAL:
-                return mgtOtherConfigEditDto.getSignInIntegral().toString();
-            case SUGGEST_SHOP_INTEGRAL:
-                return mgtOtherConfigEditDto.getSuggestShopIntegral().toString();
-            case ORDER_AUTO_CANCEL_TIME:
-                return mgtOtherConfigEditDto.getOrderAutoCancelTime().toString();
-            case PAY_MONEY_INTEGRAL:
-                return mgtOtherConfigEditDto.getPayMoneyIntegral().toString();
-            case HOME_STYLE:
-                return mgtOtherConfigEditDto.getHomeStyle().toString();
-            default:
-                throw new IllegalArgumentException("Invalid ConfigEnum");
-        }
-    }
 
     /**
      * @param mgtShopConfigEditDto
@@ -282,7 +435,7 @@
         List<CustomConfig> customConfigList = customConfigMapper.selectList(
                 new LambdaQueryWrapper<CustomConfig>()
                         .eq(CustomConfig::getDelFlag, 0)
-                        .eq(CustomConfig::getType, 3)
+                        .eq(CustomConfig::getConfigType, 3)
         );
         if (customConfigList != null && !customConfigList.isEmpty()) {
             String key;
@@ -291,28 +444,56 @@
             List<CustomConfig> updatedCustomConfigs = new ArrayList<>();
             // 遍历配置列表,根据 key 更新配置值
             for (CustomConfig customConfig : customConfigList) {
-                key = customConfig.getKey();
-                oldValue = customConfig.getValue();
+                key = customConfig.getConfigKey();
+                oldValue = customConfig.getConfigValue();
                 switch (key) {
                     case "SHOP_EMERGENCY_DEGREE":
                         newValue = mgtShopConfigEditDto.getShopEmergencyDegree();
+                        customConfig.setConfigValue(newValue);
+                        customConfig.setUpdateTime(updateTime);
+                        if(oldValue!=null&&!oldValue.isEmpty()){
+                            handleChangeConfig(oldValue, newValue, key);
+                        }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "SHOP_FOLLOW_TYPE":
                         newValue = mgtShopConfigEditDto.getShopFollowType();
+                        customConfig.setConfigValue(newValue);
+                        customConfig.setUpdateTime(updateTime);
+                        if(oldValue!=null&&!oldValue.isEmpty()){
+                            handleChangeConfig(oldValue, newValue, key);
+                        }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "SHOP_CUSTOM_STATUS":
                         newValue = mgtShopConfigEditDto.getShopCustomStatus();
+                        customConfig.setConfigValue(newValue);
+                        customConfig.setUpdateTime(updateTime);
+                        if(oldValue!=null&&!oldValue.isEmpty()){
+                            handleChangeConfig(oldValue, newValue, key);
+                        }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "SHOP_SOURCE_CHANNEL":
                         newValue = mgtShopConfigEditDto.getShopSourceChannel();
+                        customConfig.setConfigValue(newValue);
+                        customConfig.setUpdateTime(updateTime);
+                        if(oldValue!=null&&!oldValue.isEmpty()){
+                            handleChangeConfig(oldValue, newValue, key);
+                        }
+                        updatedCustomConfigs.add(customConfig);
+                        break;
+                    case "SHOP_COMMON_PROPORTION":
+                        newValue = mgtShopConfigEditDto.getShopCommonProportion();
+                        customConfig.setConfigValue(newValue);
+                        customConfig.setUpdateTime(updateTime);
+                        updatedCustomConfigs.add(customConfig);
+                        redisService.setCacheObject(SecurityConstant.SHOP_COMMON_PROPORTION,mgtShopConfigEditDto.getShopCommonProportion());
                         break;
                     default:
                         break;
                 }
-                customConfig.setValue(newValue);
-                customConfig.setUpdateTime(updateTime);
-                handleChangeConfig(oldValue, newValue, key);
-                updatedCustomConfigs.add(customConfig);
+
             }
             this.saveOrUpdateBatch(updatedCustomConfigs);
         } else {
@@ -321,6 +502,7 @@
             createNewConfig(ConfigEnum.SHOP_FOLLOW_TYPE, mgtShopConfigEditDto.getShopFollowType(), updateTime);
             createNewConfig(ConfigEnum.SHOP_CUSTOM_STATUS, mgtShopConfigEditDto.getShopCustomStatus(), updateTime);
             createNewConfig(ConfigEnum.SHOP_SOURCE_CHANNEL, mgtShopConfigEditDto.getShopSourceChannel(), updateTime);
+            createNewConfig(ConfigEnum.SHOP_COMMON_PROPORTION, mgtShopConfigEditDto.getShopCommonProportion(), updateTime);
         }
     }
 
@@ -339,7 +521,7 @@
         List<CustomConfig> customConfigList = customConfigMapper.selectList(
                 new LambdaQueryWrapper<CustomConfig>()
                         .eq(CustomConfig::getDelFlag, 0)
-                        .eq(CustomConfig::getType, 4)
+                        .eq(CustomConfig::getConfigType, 4)
         );
         if (customConfigList != null && !customConfigList.isEmpty()) {
             String key;
@@ -348,31 +530,57 @@
             List<CustomConfig> updatedCustomConfigs = new ArrayList<>();
             // 遍历配置列表,根据 key 更新配置值
             for (CustomConfig customConfig : customConfigList) {
-                key = customConfig.getKey();
-                oldValue = customConfig.getValue();
+                key = customConfig.getConfigKey();
+                oldValue = customConfig.getConfigValue();
                 switch (key) {
                     case "MEMBER_SOURCE_CHANNEL":
                         newValue = mgtMemberConfigEditDto.getMemberSourceChannel();
+                        customConfig.setConfigValue(newValue);
+                        customConfig.setUpdateTime(updateTime);
+                        if(oldValue!=null&&!oldValue.isEmpty()){
+                            handleChangeConfig(oldValue, newValue, key);
+                        }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "MEMBER_CHARACTER":
                         newValue = mgtMemberConfigEditDto.getMemberCharacter();
+                        customConfig.setConfigValue(newValue);
+                        customConfig.setUpdateTime(updateTime);
+                        if(oldValue!=null&&!oldValue.isEmpty()){
+                            handleChangeConfig(oldValue, newValue, key);
+                        }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "MEMBER_LEVEL":
                         newValue = mgtMemberConfigEditDto.getMemberLevel();
+                        customConfig.setConfigValue(newValue);
+                        customConfig.setUpdateTime(updateTime);
+                        if(oldValue!=null&&!oldValue.isEmpty()){
+                            handleChangeConfig(oldValue, newValue, key);
+                        }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "MEMBER_TYPE":
                         newValue = mgtMemberConfigEditDto.getMemberType();
+                        customConfig.setConfigValue(newValue);
+                        customConfig.setUpdateTime(updateTime);
+                        if(oldValue!=null&&!oldValue.isEmpty()){
+                            handleChangeConfig(oldValue, newValue, key);
+                        }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "NURSE_PROBLEM":
                         newValue = mgtMemberConfigEditDto.getNurseProblem();
+                        customConfig.setConfigValue(newValue);
+                        customConfig.setUpdateTime(updateTime);
+                        if(oldValue!=null&&!oldValue.isEmpty()){
+                            handleChangeConfig(oldValue, newValue, key);
+                        }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     default:
                         break;
                 }
-                customConfig.setValue(newValue);
-                customConfig.setUpdateTime(updateTime);
-                handleChangeConfig(oldValue, newValue, key);
-                updatedCustomConfigs.add(customConfig);
             }
             this.saveOrUpdateBatch(updatedCustomConfigs);
         } else {
@@ -397,10 +605,10 @@
     private void createNewConfig(ConfigEnum configEnum, String value, Date updateTime) {
         CustomConfig customConfig = new CustomConfig();
         customConfig.setDelFlag(0);
-        customConfig.setType(configEnum.getKeyType());
-        customConfig.setKey(configEnum.getKey());
-        customConfig.setName(configEnum.getKeyName());
-        customConfig.setValue(value);
+        customConfig.setConfigType(configEnum.getKeyType());
+        customConfig.setConfigKey(configEnum.getKey());
+        customConfig.setConfigName(configEnum.getKeyName());
+        customConfig.setConfigValue(value);
         customConfig.setCreateTime(updateTime);
         customConfig.setUpdateTime(updateTime);
         this.saveOrUpdate(customConfig);
@@ -459,4 +667,138 @@
     public List<MgtOperLogPageVo> pageOperLog(Page page, MgtOperLogPageDto mgtOperLogPageDto){
         return customConfigMapper.pageOperLog(page, mgtOperLogPageDto);
     }
+
+    /**
+     * @description  删除日志
+     * @author  jqs
+     * @date    2023/8/1 19:39
+     * @param
+     * @return  void
+     */
+    @Override
+    public void deleteOperlog(){
+        customConfigMapper.deleteOperlog();
+    }
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/7/13 15:52
+     * @param
+     * @return  List<String>
+     */
+    @Override
+    public List<String> listOperTitle(){
+        return customConfigMapper.listOperTitle();
+    }
+
+    /**
+     * @description  获取单个自定义配置
+     * @author  jqs
+     * @date    2023/6/9 15:40
+     * @param mgtCustomConfigDto
+     * @return  MgtCustomConfigVo
+     */
+    @Override
+    public List<String> getCustomConfig(MgtCustomConfigDto mgtCustomConfigDto){
+        CustomConfig customConfig = this.getByKey(mgtCustomConfigDto.getConfigType());
+        List<String> list = new ArrayList<>();
+        if(customConfig!=null&&StringUtils.isNotBlank(customConfig.getConfigValue())){
+            list = Arrays.asList(customConfig.getConfigValue().split(","));
+        }
+        return list;
+    }
+
+    /**
+     * @description getBulletinBoard
+     * @param
+     * @return MgtBulletinBoardVo
+     * @author jqs34
+     * @date 2023/6/18 16:41
+     */
+    @Override
+    public MgtBulletinBoardVo getBulletinBoard(){
+        List<Long> userIds = sysUserService.getScopeOfAuthorityUserId();
+        // 创建 MgtBulletinBoardVo 对象
+        MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo();
+        // 获取会员信息
+        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
+        boardMemberTotalDto.setUserIds(userIds);
+
+        MgtBulletinBoardVo mgtBulletinBoardVoMember = remoteMemberService.boardMemberTotal(boardMemberTotalDto).getData();
+        mgtBulletinBoardVo.setMemberTotal(mgtBulletinBoardVoMember.getMemberTotal());
+        mgtBulletinBoardVo.setMemberToday(mgtBulletinBoardVoMember.getMemberToday());
+        // 获取推荐合作信息
+        MgtBulletinBoardVo mgtBulletinBoardVoCustom = recommendCooperationService.boardMemberTotal(userIds);
+        mgtBulletinBoardVo.setCustomTotal(mgtBulletinBoardVoCustom.getCustomTotal());
+        mgtBulletinBoardVo.setCustomToday(mgtBulletinBoardVoCustom.getCustomToday());
+        mgtBulletinBoardVo.setFollowUserToday(mgtBulletinBoardVoCustom.getFollowUserToday());
+        // 获取店铺信息
+        MgtBulletinBoardVo mgtBulletinBoardVoShop = remoteShopService.boardShopTotal(boardMemberTotalDto).getData();
+        mgtBulletinBoardVo.setShopTotal(mgtBulletinBoardVoShop.getShopTotal());
+        mgtBulletinBoardVo.setAgencyTotal(mgtBulletinBoardVoShop.getAgencyTotal());
+        mgtBulletinBoardVo.setDealerTotal(mgtBulletinBoardVoShop.getDealerTotal());
+        mgtBulletinBoardVo.setFollowShopToday(mgtBulletinBoardVoShop.getFollowShopToday());
+        // 获取订单信息
+        MgtBulletinBoardVo mgtBulletinBoardVoOrder = remoteOrderService.boardOrderTotal(boardMemberTotalDto).getData();
+        mgtBulletinBoardVo.setSalesTotal(mgtBulletinBoardVoOrder.getSalesTotal());
+        mgtBulletinBoardVo.setUnUseOrderTotal(mgtBulletinBoardVoOrder.getUnUseOrderTotal());
+        mgtBulletinBoardVo.setActivityOrderTotal(mgtBulletinBoardVoOrder.getActivityOrderTotal());
+        mgtBulletinBoardVo.setActivityUserTotal(mgtBulletinBoardVoOrder.getActivityUserTotal());
+        // 获取活动信息
+        //MgtBulletinBoardVo mgtBulletinBoardVoActivity = remoteActivityService.boardActivityTotal().getData();
+        //待回复建议数量
+        Integer countA = remoteMemberService.getUnReplaySuggestVo().getData();
+        Integer countB = remoteShopService.getUnReplaySuggestVo().getData();
+        Integer countC = staffSuggestService.getUnReplaySuggestVo();
+        mgtBulletinBoardVo.setUnReplaySuggestTotal(countA+countB+countC);
+        // 返回 MgtBulletinBoardVo 对象
+        return mgtBulletinBoardVo;
+    }
+
+    /**
+     * @description  获取其他设置
+     * @author  jqs
+     * @date    2023/7/12 15:28
+     * @param
+     * @return  AppOtherConfigGetVo
+     */
+    @Override
+    public AppOtherConfigGetVo getAppOtherConfigGetVo(){
+        AppOtherConfigGetVo appOtherConfigGetVo = new AppOtherConfigGetVo();
+        //获取自定义配置
+        List<CustomConfig> customConfigList = customConfigMapper.selectList(new LambdaQueryWrapper<CustomConfig>().eq(CustomConfig::getDelFlag, 0));
+        Optional.ofNullable(customConfigList).ifPresent(list -> {
+            Map<String, CustomConfig> configMap = list.stream().collect(Collectors.toMap(CustomConfig::getConfigKey, Function.identity()));
+            // 遍历配置映射,设置相应的属性值
+            configMap.forEach((key, value) -> {
+                switch (key) {
+                    case "SHARE_INTEGRAL":
+                        appOtherConfigGetVo.setShareIntegral(Integer.valueOf(value.getConfigValue()));
+                        break;
+                    case "SUGGEST_PLATFORM_INTEGRAL":
+                        appOtherConfigGetVo.setSuggestPlatformIntegral(Integer.valueOf(value.getConfigValue()));
+                        break;
+                    case "SIGN_IN_INTEGRAL":
+                        appOtherConfigGetVo.setSignInIntegral(Integer.valueOf(value.getConfigValue()));
+                        break;
+                    case "SUGGEST_SHOP_INTEGRAL":
+                        appOtherConfigGetVo.setSuggestShopIntegral(Integer.valueOf(value.getConfigValue()));
+                        break;
+                    case "PAY_MONEY_INTEGRAL":
+                        appOtherConfigGetVo.setPayMoneyIntegral(Integer.valueOf(value.getConfigValue()));
+                        break;
+                    case "ORDER_AUTO_CANCEL_TIME":
+                        appOtherConfigGetVo.setOrderAutoCancelTime(Integer.valueOf(value.getConfigValue()));
+                        break;
+                    case "HOME_STYLE":
+                        appOtherConfigGetVo.setHomeStyle(Integer.valueOf(value.getConfigValue()));
+                        break;
+                    default:
+                        break;
+                }
+            });
+        });
+        return appOtherConfigGetVo;
+    }
 }

--
Gitblit v1.7.1