From 392b42c4891cf2e6beda57ab32c51598f290f4b7 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 14 三月 2025 20:56:27 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CustomConfigServiceImpl.java | 187 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 186 insertions(+), 1 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CustomConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CustomConfigServiceImpl.java index cc7a246..fd5bc15 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CustomConfigServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CustomConfigServiceImpl.java @@ -2,17 +2,24 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; +import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.BeanUtils; import com.ruoyi.system.api.constants.ConfigEnum; import com.ruoyi.system.api.domain.CustomConfig; -import com.ruoyi.system.domain.dto.MgtAfterSaleSettingDTO; +import com.ruoyi.system.api.domain.dto.MgtAfterSaleSettingDTO; import com.ruoyi.system.domain.dto.PointsConfigDTO; import com.ruoyi.system.domain.vo.CustomConfigVO; +import com.ruoyi.system.domain.vo.WishSettingVO; import com.ruoyi.system.mapper.CustomConfigMapper; import com.ruoyi.system.service.ICustomConfigService; import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Arrays; import java.util.List; import java.util.Optional; +import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Collectors; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -179,4 +186,182 @@ } return dto; } + + /** + * 保存客服电话 + * + * @param phone 客服电话 + */ + @Override + public void updateServicePhone(String phone) { + Optional<CustomConfig> customConfigByKey = getCustomConfigByKey( + ConfigEnum.PLATFORM_SERVICE_PHONE.getKey()); + if (customConfigByKey.isPresent()) { + CustomConfig customConfig = customConfigByKey.get(); + String[] split = customConfig.getConfigValue().split(","); + if (split.length > 1) { + throw new ServiceException("客户电话最多配置两个"); + } + boolean flag = Arrays.asList(split).contains(phone); + if (flag) { + throw new ServiceException("客户电话已存在"); + } + + if (StringUtils.isBlank(customConfig.getConfigValue())) { + customConfig.setConfigValue(phone); + } else { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append(customConfig.getConfigValue()); + stringBuilder.append(","); + stringBuilder.append(phone); + customConfig.setConfigValue(stringBuilder.toString()); + } + customConfig.setUpdateTime(LocalDateTime.now()); + this.updateById(customConfig); + } else { + CustomConfig config = new CustomConfig(); + config.setConfigKey(ConfigEnum.PLATFORM_SERVICE_PHONE.getKey()); + config.setConfigType(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyType()); + config.setConfigName(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyName()); + config.setConfigValue(phone); + config.setCreateTime(LocalDateTime.now()); + this.save(config); + } + } + + /** + * 获取客服电话 + * + * @return 客服电话 + */ + @Override + public String getServicePhone() { + Optional<CustomConfig> customConfigByKey = getCustomConfigByKey( + ConfigEnum.PLATFORM_SERVICE_PHONE.getKey()); + return customConfigByKey.map(CustomConfig::getConfigValue).orElse(null); + } + + /** + * 删除客户电话 + * + * @param phone 客服电话 + */ + @Override + public void deleteServicePhone(String phone) { + Optional<CustomConfig> customConfigByKey = getCustomConfigByKey( + ConfigEnum.PLATFORM_SERVICE_PHONE.getKey()); + if (customConfigByKey.isPresent()) { + CustomConfig customConfig = customConfigByKey.get(); + String configValue = customConfig.getConfigValue(); + if (StringUtils.isNotBlank(configValue)) { + String[] split = configValue.split(","); + // 判断当前phone是否存在 + boolean flag = Arrays.asList(split).contains(phone); + if (flag) { + // 删除 split 中与phone相同的元素 + configValue = Arrays.stream(split).filter(s -> !s.equals(phone)) + .collect(Collectors.joining(",")); + customConfig.setConfigValue(configValue); + this.updateById(customConfig); + } + } + } + } + + /** + * 获取心愿求购设置 + * + * @return + */ + @Override + public WishSettingVO getWishSetting() { + WishSettingVO vo = new WishSettingVO(); + CustomConfig customConfig = getCustomConfigByKey( + ConfigEnum.WISH_DESCRIPTION.getKey()).orElse(new CustomConfig()); + List<CustomConfig> list = this.lambdaQuery() + .in(CustomConfig::getConfigKey, ConfigEnum.WISH_DESCRIPTION.getKey(), + ConfigEnum.WISH_SHARE_TITLE.getKey(), + ConfigEnum.WISH_SHARE_IMG_URL.getKey()) + .eq(CustomConfig::getDelFlag, 0).list(); + for (CustomConfig config : list) { + if (ConfigEnum.WISH_DESCRIPTION.getKey().equals(config.getConfigKey())) { + vo.setDescription(customConfig.getConfigValue()); + } else if (ConfigEnum.WISH_SHARE_TITLE.getKey().equals(config.getConfigKey())) { + vo.setShareTitle(config.getConfigValue()); + } else if (ConfigEnum.WISH_SHARE_IMG_URL.getKey().equals(config.getConfigKey())) { + vo.setShareImgUrl(config.getConfigValue()); + } + } + return vo; + } + + /** + * 保存心愿求购说明 + * + * @param vo 保存心愿求购说明 + */ + @Override + public void saveWishDescription(WishSettingVO vo) { + String description = vo.getDescription(); + String shareTitle = vo.getShareTitle(); + String shareImgUrl = vo.getShareImgUrl(); + CustomConfig wishDescription = getCustomConfigByKey( + ConfigEnum.WISH_DESCRIPTION.getKey()).orElseGet(() -> { + CustomConfig customConfig = new CustomConfig(); + customConfig.setConfigKey(ConfigEnum.WISH_DESCRIPTION.getKey()); + customConfig.setConfigName(ConfigEnum.WISH_DESCRIPTION.getKeyName()); + customConfig.setConfigType(ConfigEnum.WISH_DESCRIPTION.getKeyType()); + return customConfig; + }); + wishDescription.setConfigValue(description); + CustomConfig wishShareTitle = getCustomConfigByKey( + ConfigEnum.WISH_SHARE_TITLE.getKey()).orElseGet(() -> { + CustomConfig customConfig = new CustomConfig(); + customConfig.setConfigKey(ConfigEnum.WISH_SHARE_TITLE.getKey()); + customConfig.setConfigName(ConfigEnum.WISH_SHARE_TITLE.getKeyName()); + customConfig.setConfigType(ConfigEnum.WISH_SHARE_TITLE.getKeyType()); + return customConfig; + }); + wishShareTitle.setConfigValue(shareTitle); + CustomConfig wishShareImgUrl = getCustomConfigByKey( + ConfigEnum.WISH_SHARE_IMG_URL.getKey()).orElseGet(() -> { + CustomConfig customConfig = new CustomConfig(); + customConfig.setConfigKey(ConfigEnum.WISH_SHARE_IMG_URL.getKey()); + customConfig.setConfigName(ConfigEnum.WISH_SHARE_IMG_URL.getKeyName()); + customConfig.setConfigType(ConfigEnum.WISH_SHARE_IMG_URL.getKeyType()); + return customConfig; + }); + wishShareImgUrl.setConfigValue(shareImgUrl); + saveOrUpdateBatch( + Lists.newArrayList(wishDescription, wishShareTitle, wishShareImgUrl)); + } + + /** + * 保存保证金退还 + */ + @Override + @Transactional + public void saveRefundOfDeposit(String refundOfDeposit) { + CustomConfig wishDescription = getCustomConfigByKey( + ConfigEnum.REFUND_OF_DEPOSIT.getKey()).orElseGet(() -> { + CustomConfig customConfig = new CustomConfig(); + customConfig.setConfigKey(ConfigEnum.REFUND_OF_DEPOSIT.getKey()); + customConfig.setConfigName(ConfigEnum.REFUND_OF_DEPOSIT.getKeyName()); + customConfig.setConfigType(ConfigEnum.REFUND_OF_DEPOSIT.getKeyType()); + return customConfig; + }); + wishDescription.setConfigValue(refundOfDeposit); + saveOrUpdate(wishDescription); + } + + @Override + public String getRefundOfDeposit() { + AtomicReference<String> refundOfDeposit = new AtomicReference<>(""); + getCustomConfigByKey( + ConfigEnum.REFUND_OF_DEPOSIT.getKey()).ifPresent( + customConfig -> + refundOfDeposit.set(customConfig.getConfigValue()) + ); + return refundOfDeposit.get(); + } } -- Gitblit v1.7.1