jiangqs
2023-06-07 1fc05375474ca0393d6c29fd2ab1d182c65a3eaa
基础配置
8个文件已修改
5个文件已添加
778 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/ConfigEnum.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtMemberConfigEditDto.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOtherConfigEditDto.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtShopConfigEditDto.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Advert.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtActivenessVo.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtCustomConfigVo.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/ActivenessService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/AdvertService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/CustomConfigService.java 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/AdvertServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java 407 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/ConfigEnum.java
@@ -18,23 +18,25 @@
@Getter
public enum ConfigEnum {
    PLATFORM_SERVICE_PHONE("PLATFORM_SERVICE_PHONE", 2,"客服电话"),
    SHOP_EMERGENCY_DEGREE("SHOP_EMERGENCY_DEGREE", 2,"合作商任务紧急程度"),
    SHOP_FOLLOW_TYPE("SHOP_FOLLOW_TYPE", 2,"合作商跟进类型"),
    SHOP_CUSTOM_STATUS("SHOP_CUSTOM_STATUS", 2,"合作商状态"),
    SHOP_SOURCE_CHANNEL("SHOP_SOURCE_CHANNEL", 2,"来源渠道"),
    PLATFORM_SERVICE_PHONE("PLATFORM_SERVICE_PHONE", 1,"客服电话"),
    SHOP_EMERGENCY_DEGREE("SHOP_EMERGENCY_DEGREE", 3,"合作商任务紧急程度"),
    SHOP_FOLLOW_TYPE("SHOP_FOLLOW_TYPE", 3,"合作商跟进类型"),
    SHOP_CUSTOM_STATUS("SHOP_CUSTOM_STATUS", 3,"合作商状态"),
    SHOP_SOURCE_CHANNEL("SHOP_SOURCE_CHANNEL", 3,"来源渠道"),
    SHARE_INTEGRAL("SHARE_INTEGRAL", 2,"分享小程序可获得积分"),
    SUGGEST_PLATFORM_INTEGRAL("SUGGEST_PLATFORM_INTEGRAL", 2,"平台建议可获得积分"),
    SIGN_IN_INTEGRAL("SIGN_IN_INTEGRAL", 2,"每日签到可获得积分"),
    SUGGEST_SHOP_INTEGRAL("SUGGEST_SHOP_INTEGRAL", 2,"门店建议可获得积分"),
    ORDER_AUTO_CANCEL_TIME("ORDER_AUTO_CANCEL_TIME", 2,"C端订单自动取消时间"),
    PAY_MONEY_INTEGRAL("PAY_MONEY_INTEGRAL", 2,"购物满1元可获得积分"),
    MEMBER_SOURCE_CHANNEL("MEMBER_SOURCE_CHANNEL", 2,"会员来源"),
    MEMBER_CHARACTER("MEMBER_CHARACTER", 2,"会员性格"),
    MEMBER_LEVEL("MEMBER_LEVEL", 2,"会员等级"),
    MEMBER_TYPE("MEMBER_TYPE", 2,"会员类型"),
    NURSE_PROBLEM("NURSE_PROBLEM", 2,"调理问题"),
    HOME_SLOGAN("HOME_SLOGAN", 2,"首页广告语");
    MEMBER_SOURCE_CHANNEL("MEMBER_SOURCE_CHANNEL", 4,"会员来源"),
    MEMBER_CHARACTER("MEMBER_CHARACTER", 4,"会员性格"),
    MEMBER_LEVEL("MEMBER_LEVEL", 4,"会员等级"),
    MEMBER_TYPE("MEMBER_TYPE", 4,"会员类型"),
    NURSE_PROBLEM("NURSE_PROBLEM", 4,"调理问题"),
    HOME_STYLE("HOME_STYLE", 2,"首页风格"),
    HOME_SLOGAN("HOME_SLOGAN", 1,"首页广告语"),
    HOME_LOGO("HOME_LOGO", 1,"首页logo");
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java
@@ -48,6 +48,7 @@
    @Resource
    private QuickEntryService quickEntryService;
    @RequestMapping(value = "/editCooperation", method = RequestMethod.POST)
    @ApiOperation(value = "修改申请合作")
    public R editCooperation(@RequestBody MgtCooperationEditDto mgtCooperationEditDto) {
@@ -191,4 +192,32 @@
        quickEntryService.deleteMgtQuickEntry(mgtBaseGetDto);
        return R.ok();
    }
    @RequestMapping(value = "/getCustomConfig", method = RequestMethod.POST)
    @ApiOperation(value = "获取自定义设置")
    public R<MgtCustomConfigVo> getCustomConfig() {
        MgtCustomConfigVo mgtCustomConfigVo = customConfigService.getCustomConfig();
        return R.ok(mgtCustomConfigVo);
    }
    @RequestMapping(value = "/editOtherConfig", method = RequestMethod.POST)
    @ApiOperation(value = "修改其它设置")
    public R editOtherConfig(@RequestBody MgtOtherConfigEditDto mgtOtherConfigEditDto) {
        customConfigService.editOtherConfig(mgtOtherConfigEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/editShopConfig", method = RequestMethod.POST)
    @ApiOperation(value = "修改合作商配置")
    public R editShopConfig(@RequestBody MgtShopConfigEditDto mgtShopConfigEditDto) {
        customConfigService.editShopConfig(mgtShopConfigEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/editMemberConfig", method = RequestMethod.POST)
    @ApiOperation(value = "修改会员配置")
    public R editMemberConfig(@RequestBody MgtMemberConfigEditDto mgtMemberConfigEditDto) {
        customConfigService.editMemberConfig(mgtMemberConfigEditDto);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtMemberConfigEditDto.java
New file
@@ -0,0 +1,31 @@
package com.ruoyi.system.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtMemberConfigEditDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/7 17:15
 * @Version 1.0
 */
@Data
public class MgtMemberConfigEditDto extends MgtBaseDto {
    @ApiModelProperty(value = "会员来源")
    private String memberSourceChannel;
    @ApiModelProperty(value = "会员性格")
    private String memberCharacter;
    @ApiModelProperty(value = "会员等级")
    private String memberLevel;
    @ApiModelProperty(value = "会员类型")
    private String memberType;
    @ApiModelProperty(value = "调理问题")
    private String nurseProblem;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOtherConfigEditDto.java
New file
@@ -0,0 +1,37 @@
package com.ruoyi.system.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtOtherConfigEditDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/7 16:04
 * @Version 1.0
 */
@Data
public class MgtOtherConfigEditDto extends MgtBaseDto {
    @ApiModelProperty(value = "分享小程序可获得积分")
    private Integer shareIntegral;
    @ApiModelProperty(value = "平台建议可获得积分")
    private Integer suggestPlatformIntegral;
    @ApiModelProperty(value = "每日签到可获得积分")
    private Integer signInIntegral;
    @ApiModelProperty(value = "门店建议可获得积分")
    private Integer suggestShopIntegral;
    @ApiModelProperty(value = "购物满1元可获得积分")
    private Integer payMoneyIntegral;
    @ApiModelProperty(value = "C端订单自动取消时间")
    private Integer orderAutoCancelTime;
    @ApiModelProperty(value = "首页风格1.鸿瑞堂2.古引坊")
    private Integer homeStyle;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtShopConfigEditDto.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.system.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtOtherConfigEditDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/7 16:04
 * @Version 1.0
 */
@Data
public class MgtShopConfigEditDto extends MgtBaseDto {
    @ApiModelProperty(value = "合作商任务紧急程度")
    private String shopEmergencyDegree;
    @ApiModelProperty(value = "合作商跟进类型")
    private String shopFollowType;
    @ApiModelProperty(value = "合作商状态")
    private String shopCustomStatus;
    @ApiModelProperty(value = "来源渠道")
    private String shopSourceChannel;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Advert.java
@@ -1,16 +1,16 @@
package com.ruoyi.system.domain.pojo.config;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
 * <p>
@@ -58,6 +58,12 @@
     */
    @TableField("link_url")
    private String linkUrl;
    /**
     * 跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂
     */
    @TableField("jump_type")
    private Integer jumpType;
    /**
     * 跳转活动id
     */
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtActivenessVo.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.system.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtActivenessVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/7 14:59
 * @Version 1.0
 */
@Data
public class MgtActivenessVo {
    @ApiModelProperty(value = "活跃度id")
    private Long activenessId;
    @ApiModelProperty(value = "活跃度名称")
    private String activenessName;
    @ApiModelProperty(value = "开始天数")
    private Integer startDay;
    @ApiModelProperty(value = "结束天数")
    private Integer endDay;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtCustomConfigVo.java
New file
@@ -0,0 +1,89 @@
package com.ruoyi.system.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @ClassName MgtOtherConfigVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/7 13:58
 * @Version 1.0
 */
@Data
public class MgtCustomConfigVo {
    @ApiModelProperty(value = "分享小程序可获得积分")
    private Integer shareIntegral;
    @ApiModelProperty(value = "平台建议可获得积分")
    private Integer suggestPlatformIntegral;
    @ApiModelProperty(value = "每日签到可获得积分")
    private Integer signInIntegral;
    @ApiModelProperty(value = "门店建议可获得积分")
    private Integer suggestShopIntegral;
    @ApiModelProperty(value = "购物满1元可获得积分")
    private Integer payMoneyIntegral;
    @ApiModelProperty(value = "C端订单自动取消时间")
    private Integer orderAutoCancelTime;
    @ApiModelProperty(value = "首页风格1.鸿瑞堂2.古引坊")
    private Integer homeStyle;
    @ApiModelProperty(value = "合作商任务紧急程度")
    private String shopEmergencyDegree;
    @ApiModelProperty(value = "合作商跟进类型")
    private String shopFollowType;
    @ApiModelProperty(value = "合作商状态")
    private String shopCustomStatus;
    @ApiModelProperty(value = "来源渠道")
    private String shopSourceChannel;
    @ApiModelProperty(value = "会员来源")
    private String memberSourceChannel;
    @ApiModelProperty(value = "会员性格")
    private String memberCharacter;
    @ApiModelProperty(value = "会员等级")
    private String memberLevel;
    @ApiModelProperty(value = "会员类型")
    private String memberType;
    @ApiModelProperty(value = "调理问题")
    private String nurseProblem;
    @ApiModelProperty(value = "首页广告语")
    private String homeSlogan;
    @ApiModelProperty(value = "首页logo")
    private String homeLogo;
    @ApiModelProperty(value = "广告图片")
    private String adUrl;
    @ApiModelProperty(value = "链接类型1.外部2.内部3.无")
    private Integer targetType;
    @ApiModelProperty(value = "链接地址")
    private String linkUrl;
    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂")
    private Integer jumpType;
    @ApiModelProperty(value = "跳转id")
    private String jumpId;
    @ApiModelProperty(value = "活跃度list")
    private List<MgtActivenessVo> mgtActivenessVoList;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/ActivenessService.java
@@ -2,6 +2,7 @@
import com.ruoyi.system.api.domain.poji.config.Activeness;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.vo.MgtActivenessVo;
import java.util.List;
@@ -21,4 +22,12 @@
     */
    List<Activeness> listActiveness();
    /**
     * @description
     * @author  jqs
     * @date    2023/6/7 16:04
     * @param
     * @return  List<MgtActivenessVo>
     */
    List<MgtActivenessVo> listVo();
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/AdvertService.java
@@ -19,4 +19,13 @@
     * @return
     */
    AppAdvertVo getAdvertVo();
    /**
     * @description  获取广告配置
     * @author  jqs
     * @date    2023/6/7 15:43
     * @param
     * @return  Advert
     */
    Advert getAdvert();
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/CustomConfigService.java
@@ -1,16 +1,19 @@
package com.ruoyi.system.service.config;
import com.ruoyi.system.domain.dto.MgtServiceMobileEditDto;
import com.ruoyi.system.domain.pojo.config.CustomConfig;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.dto.MgtMemberConfigEditDto;
import com.ruoyi.system.domain.dto.MgtOtherConfigEditDto;
import com.ruoyi.system.domain.dto.MgtServiceMobileEditDto;
import com.ruoyi.system.domain.dto.MgtShopConfigEditDto;
import com.ruoyi.system.domain.pojo.config.CustomConfig;
import com.ruoyi.system.domain.vo.MgtCustomConfigVo;
/**
 * <p>
 * 系统配置 服务类
 * </p>
 *
 * @author jqs
 * @since 2023-04-25
 * @ClassName CustomConfigService
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/7 16:32
 * @Version 1.0
 */
public interface CustomConfigService extends IService<CustomConfig> {
@@ -24,7 +27,7 @@
    CustomConfig getByKey(String key);
    /**
     /**
     * @description  修改客服号码
     * @author  jqs
     * @date    2023/6/6 11:53
@@ -33,5 +36,39 @@
     */
    void editServiceMobile( MgtServiceMobileEditDto mgtServiceMobileEditDto);
    /**
     * @description  平台获取自定义配置
     * @author  jqs
     * @date    2023/6/7 15:02
     * @param
     * @return  MgtCustomConfigVo
     */
    MgtCustomConfigVo getCustomConfig();
    /**
     * @description  修改其他设置
     * @author  jqs
     * @date    2023/6/7 16:07
     * @param mgtOtherConfigEditDto
     * @return  void
     */
    void editOtherConfig(MgtOtherConfigEditDto mgtOtherConfigEditDto);
    /**
     * @description  修改合作商配置
     * @author  jqs
     * @date    2023/6/7 16:41
     * @param mgtShopConfigEditDto
     * @return  void
     */
    void editShopConfig(MgtShopConfigEditDto mgtShopConfigEditDto);
    /**
     * @description  修改会员配置
     * @author  jqs
     * @date    2023/6/7 17:16
     * @param mgtMemberConfigEditDto
     * @return  void
     */
    void editMemberConfig(MgtMemberConfigEditDto mgtMemberConfigEditDto);
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/AdvertServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.system.service.impl.config;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.system.domain.pojo.config.Advert;
import com.ruoyi.system.domain.vo.AppAdvertVo;
import com.ruoyi.system.mapper.config.AdvertMapper;
@@ -31,4 +32,17 @@
    public AppAdvertVo getAdvertVo(){
        return advertMapper.getAdvertVo();
    }
    /**
     * @description  获取广告配置
     * @author  jqs
     * @date    2023/6/7 15:43
     * @param
     * @return  Advert
     */
    @Override
    public Advert getAdvert(){
        Advert advert = this.getOne(new LambdaQueryWrapper<Advert>().eq(Advert::getDelFlag,0),false);
        return advert;
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
@@ -1,15 +1,27 @@
package com.ruoyi.system.service.impl.config;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.api.constant.ConfigEnum;
import com.ruoyi.system.api.domain.poji.config.Activeness;
import com.ruoyi.system.domain.dto.MgtMemberConfigEditDto;
import com.ruoyi.system.domain.dto.MgtOtherConfigEditDto;
import com.ruoyi.system.domain.dto.MgtServiceMobileEditDto;
import com.ruoyi.system.domain.dto.MgtShopConfigEditDto;
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.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 org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
 * <p>
@@ -25,25 +37,31 @@
    @Resource
    private CustomConfigMapper customConfigMapper;
    @Resource
    private AdvertService advertService;
    @Resource
    private ActivenessService activenessService;
    /**
     * @description  通过key获取系统自定义配置
     * @author  jqs
     * @date    2023/6/6 11:55
     * @param key
     * @return  CustomConfig
     * @return CustomConfig
     * @description 通过key获取系统自定义配置
     * @author jqs
     * @date 2023/6/6 11:55
     */
    @Override
    public CustomConfig getByKey(String key){
    public CustomConfig getByKey(String key) {
        return customConfigMapper.getByKey(key);
    }
    /**
     * @description  修改客服号码
     * @author  jqs
     * @date    2023/6/6 11:53
     * @param mgtServiceMobileEditDto
     * @return  void
     * @return void
     * @description 修改客服号码
     * @author jqs
     * @date 2023/6/6 11:53
     */
    @Override
    public void editServiceMobile(MgtServiceMobileEditDto mgtServiceMobileEditDto) {
@@ -63,4 +81,371 @@
        // 保存或更新配置
        this.saveOrUpdate(customConfig);
    }
    /**
     * @param
     * @return MgtCustomConfigVo
     * @description 平台获取自定义配置
     * @author jqs
     * @date 2023/6/7 15:02
     */
    @Override
    public MgtCustomConfigVo getCustomConfig() {
        MgtCustomConfigVo mgtCustomConfigVo = new MgtCustomConfigVo();
        //获取自定义配置
        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()));
            // 遍历配置映射,设置相应的属性值
            configMap.forEach((key, value) -> {
                switch (key) {
                    case "SHARE_INTEGRAL":
                        mgtCustomConfigVo.setShareIntegral(Integer.valueOf(value.getValue()));
                        break;
                    case "SUGGEST_PLATFORM_INTEGRAL":
                        mgtCustomConfigVo.setSuggestPlatformIntegral(Integer.valueOf(value.getValue()));
                        break;
                    case "SIGN_IN_INTEGRAL":
                        mgtCustomConfigVo.setSignInIntegral(Integer.valueOf(value.getValue()));
                        break;
                    case "SUGGEST_SHOP_INTEGRAL":
                        mgtCustomConfigVo.setSuggestShopIntegral(Integer.valueOf(value.getValue()));
                        break;
                    case "PAY_MONEY_INTEGRAL":
                        mgtCustomConfigVo.setPayMoneyIntegral(Integer.valueOf(value.getValue()));
                        break;
                    case "ORDER_AUTO_CANCEL_TIME":
                        mgtCustomConfigVo.setOrderAutoCancelTime(Integer.valueOf(value.getValue()));
                        break;
                    case "HOME_STYLE":
                        mgtCustomConfigVo.setHomeStyle(Integer.valueOf(value.getValue()));
                        break;
                    case "SHOP_EMERGENCY_DEGREE":
                        mgtCustomConfigVo.setShopEmergencyDegree(value.getValue());
                        break;
                    case "SHOP_FOLLOW_TYPE":
                        mgtCustomConfigVo.setShopFollowType(value.getValue());
                        break;
                    case "SHOP_CUSTOM_STATUS":
                        mgtCustomConfigVo.setShopCustomStatus(value.getValue());
                        break;
                    case "SHOP_SOURCE_CHANNEL":
                        mgtCustomConfigVo.setShopSourceChannel(value.getValue());
                        break;
                    case "MEMBER_SOURCE_CHANNEL":
                        mgtCustomConfigVo.setMemberSourceChannel(value.getValue());
                        break;
                    case "MEMBER_CHARACTER":
                        mgtCustomConfigVo.setMemberCharacter(value.getValue());
                        break;
                    case "MEMBER_LEVEL":
                        mgtCustomConfigVo.setMemberLevel(value.getValue());
                        break;
                    case "MEMBER_TYPE":
                        mgtCustomConfigVo.setMemberType(value.getValue());
                        break;
                    case "NURSE_PROBLEM":
                        mgtCustomConfigVo.setNurseProblem(value.getValue());
                        break;
                    default:
                        break;
                }
            });
        });
        //获取广告配置
        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());
        }
        //获取活跃度配置
        List<Activeness> activenessList = activenessService.listActiveness();
        if (activenessList != null && !activenessList.isEmpty()) {
            List<MgtActivenessVo> mgtActivenessVoList = activenessList.stream()
                    .map(activeness -> {
                        MgtActivenessVo mgtActivenessVo = new MgtActivenessVo();
                        mgtActivenessVo.setActivenessId(activeness.getActivenessId());
                        mgtActivenessVo.setActivenessName(activeness.getActivenessName());
                        mgtActivenessVo.setStartDay(activeness.getStartDay());
                        mgtActivenessVo.setEndDay(activeness.getEndDay());
                        return mgtActivenessVo;
                    })
                    .collect(Collectors.toList());
            mgtCustomConfigVo.setMgtActivenessVoList(mgtActivenessVoList);
        }
        return mgtCustomConfigVo;
    }
    /**
     * @param mgtOtherConfigEditDto
     * @return void
     * @description 修改其他设置
     * @author jqs
     * @date 2023/6/7 16:07
     */
    @Override
    public void editOtherConfig(MgtOtherConfigEditDto mgtOtherConfigEditDto) {
        // 获取当前时间
        Date updateTime = new Date();
        // 删除历史配置
        deletePastConfig(updateTime);
        // 新建配置
        createNewConfig(mgtOtherConfigEditDto, updateTime);
    }
    /**
     * @param updateTime
     * @return void
     * @description 删除历史配置
     * @author jqs
     * @date 2023/6/7 16:37
     */
    private void deletePastConfig(Date updateTime) {
        List<CustomConfig> customConfigList = customConfigMapper.selectList(new LambdaQueryWrapper<CustomConfig>()
                .eq(CustomConfig::getDelFlag, 0)
                .eq(CustomConfig::getType, 2));
        for (CustomConfig customConfig : customConfigList) {
            customConfig.setDelFlag(1);
            customConfig.setUpdateTime(updateTime);
        }
        this.saveOrUpdateBatch(customConfigList);
    }
    /**
     * @param mgtOtherConfigEditDto
     * @param updateTime
     * @return void
     * @description 新建配置
     * @author jqs
     * @date 2023/6/7 16:37
     */
    private void createNewConfig(MgtOtherConfigEditDto mgtOtherConfigEditDto, Date updateTime) {
        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.setCreateTime(updateTime);
            customConfig.setUpdateTime(updateTime);
            this.saveOrUpdate(customConfig);
        }
    }
    /**
     * @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
     * @return void
     * @description 修改合作商配置
     * @author jqs
     * @date 2023/6/7 16:41
     */
    @Override
    public void editShopConfig(MgtShopConfigEditDto mgtShopConfigEditDto) {
        // 获取当前时间
        Date updateTime = new Date();
        // 查询所有未删除、类型为3的自定义配置
        List<CustomConfig> customConfigList = customConfigMapper.selectList(
                new LambdaQueryWrapper<CustomConfig>()
                        .eq(CustomConfig::getDelFlag, 0)
                        .eq(CustomConfig::getType, 3)
        );
        if (customConfigList != null && !customConfigList.isEmpty()) {
            String key;
            String oldValue;
            String newValue = null;
            List<CustomConfig> updatedCustomConfigs = new ArrayList<>();
            // 遍历配置列表,根据 key 更新配置值
            for (CustomConfig customConfig : customConfigList) {
                key = customConfig.getKey();
                oldValue = customConfig.getValue();
                switch (key) {
                    case "SHOP_EMERGENCY_DEGREE":
                        newValue = mgtShopConfigEditDto.getShopEmergencyDegree();
                        break;
                    case "SHOP_FOLLOW_TYPE":
                        newValue = mgtShopConfigEditDto.getShopFollowType();
                        break;
                    case "SHOP_CUSTOM_STATUS":
                        newValue = mgtShopConfigEditDto.getShopCustomStatus();
                        break;
                    case "SHOP_SOURCE_CHANNEL":
                        newValue = mgtShopConfigEditDto.getShopSourceChannel();
                        break;
                    default:
                        break;
                }
                customConfig.setValue(newValue);
                customConfig.setUpdateTime(updateTime);
                handleChangeConfig(oldValue, newValue, key);
                updatedCustomConfigs.add(customConfig);
            }
            this.saveOrUpdateBatch(updatedCustomConfigs);
        } else {
            // 如果没有配置,则创建新配置
            createNewConfig(ConfigEnum.SHOP_EMERGENCY_DEGREE, mgtShopConfigEditDto.getShopEmergencyDegree(), updateTime);
            createNewConfig(ConfigEnum.SHOP_FOLLOW_TYPE, mgtShopConfigEditDto.getShopFollowType(), updateTime);
            createNewConfig(ConfigEnum.SHOP_CUSTOM_STATUS, mgtShopConfigEditDto.getShopCustomStatus(), updateTime);
            createNewConfig(ConfigEnum.SHOP_SOURCE_CHANNEL, mgtShopConfigEditDto.getShopSourceChannel(), updateTime);
        }
    }
    /**
     * @description  修改会员配置
     * @author  jqs
     * @date    2023/6/7 17:16
     * @param mgtMemberConfigEditDto
     * @return  void
     */
    @Override
    public void editMemberConfig(MgtMemberConfigEditDto mgtMemberConfigEditDto){
        // 获取当前时间
        Date updateTime = new Date();
        // 查询所有未删除、类型为3的自定义配置
        List<CustomConfig> customConfigList = customConfigMapper.selectList(
                new LambdaQueryWrapper<CustomConfig>()
                        .eq(CustomConfig::getDelFlag, 0)
                        .eq(CustomConfig::getType, 4)
        );
        if (customConfigList != null && !customConfigList.isEmpty()) {
            String key;
            String oldValue;
            String newValue = null;
            List<CustomConfig> updatedCustomConfigs = new ArrayList<>();
            // 遍历配置列表,根据 key 更新配置值
            for (CustomConfig customConfig : customConfigList) {
                key = customConfig.getKey();
                oldValue = customConfig.getValue();
                switch (key) {
                    case "MEMBER_SOURCE_CHANNEL":
                        newValue = mgtMemberConfigEditDto.getMemberSourceChannel();
                        break;
                    case "MEMBER_CHARACTER":
                        newValue = mgtMemberConfigEditDto.getMemberCharacter();
                        break;
                    case "MEMBER_LEVEL":
                        newValue = mgtMemberConfigEditDto.getMemberLevel();
                        break;
                    case "MEMBER_TYPE":
                        newValue = mgtMemberConfigEditDto.getMemberType();
                        break;
                    case "NURSE_PROBLEM":
                        newValue = mgtMemberConfigEditDto.getNurseProblem();
                        break;
                    default:
                        break;
                }
                customConfig.setValue(newValue);
                customConfig.setUpdateTime(updateTime);
                handleChangeConfig(oldValue, newValue, key);
                updatedCustomConfigs.add(customConfig);
            }
            this.saveOrUpdateBatch(updatedCustomConfigs);
        } else {
            // 如果没有配置,则创建新配置
            createNewConfig(ConfigEnum.MEMBER_SOURCE_CHANNEL, mgtMemberConfigEditDto.getMemberSourceChannel(), updateTime);
            createNewConfig(ConfigEnum.MEMBER_CHARACTER, mgtMemberConfigEditDto.getMemberCharacter(), updateTime);
            createNewConfig(ConfigEnum.MEMBER_LEVEL, mgtMemberConfigEditDto.getMemberLevel(), updateTime);
            createNewConfig(ConfigEnum.MEMBER_TYPE, mgtMemberConfigEditDto.getMemberType(), updateTime);
            createNewConfig(ConfigEnum.NURSE_PROBLEM, mgtMemberConfigEditDto.getNurseProblem(), updateTime);
        }
    }
    /**
     * @description  新建配置
     * @author  jqs
     * @date    2023/6/7 17:06
     * @param configEnum
     * @param value
     * @param updateTime
     * @return  void
     */
    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.setCreateTime(updateTime);
        customConfig.setUpdateTime(updateTime);
        this.saveOrUpdate(customConfig);
    }
    /**
     * @description  处理变动
     * @author  jqs
     * @date    2023/6/7 17:06
     * @param oldValue
     * @param newValue
     * @param key
     * @return  void
     */
    private void handleChangeConfig(String oldValue, String newValue, String key) {
        Set<String> oldSet = new HashSet<>(Arrays.asList(oldValue.split(",")));
        Set<String> newSet = new HashSet<>(Arrays.asList(newValue.split(",")));
        List<String> changeList = new ArrayList<>(oldSet);
        changeList.removeAll(newSet);
        if(changeList!=null&&!changeList.isEmpty()){
            switch(key){
                case "SHOP_EMERGENCY_DEGREE":
                    break;
                case "SHOP_FOLLOW_TYPE":
                    break;
                case "SHOP_CUSTOM_STATUS":
                    break;
                case "SHOP_SOURCE_CHANNEL":
                    break;
                case "MEMBER_SOURCE_CHANNEL":
                    break;
                case "MEMBER_CHARACTER":
                    break;
                case "MEMBER_LEVEL":
                    break;
                case "MEMBER_TYPE":
                    break;
                case "NURSE_PROBLEM":
                    break;
                default:
                    break;
            }
        }
    }
}