| | |
| | | package com.ruoyi.system.service.impl.config; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | 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.pojo.config.Advert; |
| | | import com.ruoyi.system.domain.pojo.config.CustomConfig; |
| | | import com.ruoyi.system.domain.vo.MgtActivenessVo; |
| | | import com.ruoyi.system.domain.vo.MgtAllCustomConfigVo; |
| | | import com.ruoyi.system.domain.vo.MgtCustomConfigVo; |
| | | 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; |
| | |
| | | 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); |
| | |
| | | * @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_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; |
| | | 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()); |
| | | mgtAllCustomConfigVo.setHomeSlogan(advert.getAdContent()); |
| | | mgtAllCustomConfigVo.setHomeLogo(advert.getLogoUrl()); |
| | | mgtAllCustomConfigVo.setAdUrl(advert.getAdUrl()); |
| | | mgtAllCustomConfigVo.setTargetType(advert.getTargetType()); |
| | | mgtAllCustomConfigVo.setLinkUrl(advert.getLinkUrl()); |
| | | mgtAllCustomConfigVo.setJumpType(advert.getJumpType()); |
| | | mgtAllCustomConfigVo.setJumpId(advert.getJumpId()); |
| | | } |
| | | //获取活跃度配置 |
| | | List<Activeness> activenessList = activenessService.listActiveness(); |
| | |
| | | return mgtActivenessVo; |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | mgtCustomConfigVo.setMgtActivenessVoList(mgtActivenessVoList); |
| | | mgtAllCustomConfigVo.setMgtActivenessVoList(mgtActivenessVoList); |
| | | } |
| | | return mgtCustomConfigVo; |
| | | return mgtAllCustomConfigVo; |
| | | } |
| | | |
| | | |
| | |
| | | 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); |
| | |
| | | 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); |
| | | case SUGGEST_PLATFORM_INTEGRAL: |
| | | customConfig.setConfigValue(mgtOtherConfigEditDto.getSuggestPlatformIntegral().toString()); |
| | | this.saveOrUpdate(customConfig); |
| | | case SIGN_IN_INTEGRAL: |
| | | customConfig.setConfigValue(mgtOtherConfigEditDto.getSignInIntegral().toString()); |
| | | this.saveOrUpdate(customConfig); |
| | | case SUGGEST_SHOP_INTEGRAL: |
| | | customConfig.setConfigValue(mgtOtherConfigEditDto.getSuggestShopIntegral().toString()); |
| | | this.saveOrUpdate(customConfig); |
| | | case ORDER_AUTO_CANCEL_TIME: |
| | | customConfig.setConfigValue(mgtOtherConfigEditDto.getOrderAutoCancelTime().toString()); |
| | | this.saveOrUpdate(customConfig); |
| | | case PAY_MONEY_INTEGRAL: |
| | | customConfig.setConfigValue(mgtOtherConfigEditDto.getPayMoneyIntegral().toString()); |
| | | this.saveOrUpdate(customConfig); |
| | | case HOME_STYLE: |
| | | customConfig.setConfigValue(mgtOtherConfigEditDto.getHomeStyle().toString()); |
| | | this.saveOrUpdate(customConfig); |
| | | 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 |
| | |
| | | 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; |
| | |
| | | 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(); |
| | |
| | | default: |
| | | break; |
| | | } |
| | | customConfig.setValue(newValue); |
| | | customConfig.setConfigValue(newValue); |
| | | customConfig.setUpdateTime(updateTime); |
| | | handleChangeConfig(oldValue, newValue, key); |
| | | updatedCustomConfigs.add(customConfig); |
| | |
| | | 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; |
| | |
| | | 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(); |
| | |
| | | default: |
| | | break; |
| | | } |
| | | customConfig.setValue(newValue); |
| | | customConfig.setConfigValue(newValue); |
| | | customConfig.setUpdateTime(updateTime); |
| | | handleChangeConfig(oldValue, newValue, key); |
| | | updatedCustomConfigs.add(customConfig); |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @description 分页获取操作日志 |
| | | * @author jqs |
| | | * @date 2023/6/8 11:52 |
| | | * @param page |
| | | * @param mgtOperLogPageDto |
| | | * @return List<MgtOperLogPageVo> |
| | | */ |
| | | @Override |
| | | public List<MgtOperLogPageVo> pageOperLog(Page page, MgtOperLogPageDto mgtOperLogPageDto){ |
| | | return customConfigMapper.pageOperLog(page, mgtOperLogPageDto); |
| | | } |
| | | |
| | | /** |
| | | * @description 获取单个自定义配置 |
| | | * @author jqs |
| | | * @date 2023/6/9 15:40 |
| | | * @param mgtCustomConfigDto |
| | | * @return MgtCustomConfigVo |
| | | */ |
| | | @Override |
| | | public MgtCustomConfigVo getCustomConfig(MgtCustomConfigDto mgtCustomConfigDto){ |
| | | CustomConfig customConfig = this.getByKey(mgtCustomConfigDto.getConfigType()); |
| | | MgtCustomConfigVo mgtCustomConfigVo = new MgtCustomConfigVo(); |
| | | if(customConfig!=null){ |
| | | mgtCustomConfigVo.setCustomConfig(customConfig.getConfigValue()); |
| | | mgtCustomConfigVo.setConfigType(mgtCustomConfigDto.getConfigType()); |
| | | } |
| | | return mgtCustomConfigVo; |
| | | } |
| | | } |