From 1d0fc6126fb664e81a1a3737d8eaf4a618e7cb0f Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期二, 07 一月 2025 10:34:34 +0800 Subject: [PATCH] add:配置 --- src/main/java/com/mzl/flower/service/impl/ConfigParamServiceImpl.java | 82 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 79 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/impl/ConfigParamServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/ConfigParamServiceImpl.java index 6a913d8..d097efe 100644 --- a/src/main/java/com/mzl/flower/service/impl/ConfigParamServiceImpl.java +++ b/src/main/java/com/mzl/flower/service/impl/ConfigParamServiceImpl.java @@ -1,18 +1,26 @@ package com.mzl.flower.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzl.flower.config.exception.ValidationException; +import com.mzl.flower.config.security.SecurityUtils; +import com.mzl.flower.dto.request.configParam.ConfigParamDTO; import com.mzl.flower.dto.request.configParam.QueryConfigParamDTO; import com.mzl.flower.dto.request.configParam.UpdateConfigParamDTO; +import com.mzl.flower.dto.response.configParam.ConfigCustomerServiceVO; +import com.mzl.flower.dto.response.configParam.ConfigParamVO; import com.mzl.flower.entity.configParam.ConfigParamDO; import com.mzl.flower.enums.ConfigParamEnum; import com.mzl.flower.mapper.configParam.ConfigParamMapper; import com.mzl.flower.mapper.configParam.ConfigParamMapperCustom; import com.mzl.flower.service.ConfigParamService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; +import org.redisson.api.RBucket; +import org.redisson.api.RedissonClient; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -28,10 +36,14 @@ * @since 2024-12-02 */ @Service +@RequiredArgsConstructor public class ConfigParamServiceImpl extends ServiceImpl<ConfigParamMapper, ConfigParamDO> implements ConfigParamService { - @Autowired - private ConfigParamMapperCustom configParamMapperCustom; + private final ConfigParamMapperCustom configParamMapperCustom; + + private final ConfigParamMapper configParamMapper; + private final RedissonClient redissonClient; + private static final String CONFIG_PARAM= "com.mzl.flower.service.impl:config_param:%s"; @Override public List<ConfigParamDO> getList(QueryConfigParamDTO dto) { @@ -58,6 +70,14 @@ throw new ValidationException(String.format("ID:{}不存在!", configParamDO.getId())); } configParamForUpdate.setParamValue(configParamDO.getParamValue()); + + //更新订单自动取消(分钟); 订单自动收货(天) + if ("order".equals(configParamForUpdate.getParamGroup())) { + // 设置值到 Redis + RBucket<String> bucket = redissonClient.getBucket(CONFIG_PARAM + configParamForUpdate.getParamGroup() + configParamForUpdate.getParamKey()); + bucket.set(configParamForUpdate.getParamValue()); + } + return configParamForUpdate; }).collect(Collectors.toList()); @@ -82,4 +102,60 @@ return resultMap; } + + @Override + public String getBaseString(String paramGroup, String paramKey) { + + String bucketName = CONFIG_PARAM + paramGroup + paramKey; + RBucket<String> bucket = redissonClient.getBucket(bucketName); + String value = bucket.get(); + + if (StringUtils.isNotBlank(value)) { + return value; + } else { + String baseString = configParamMapper.getBaseString(paramGroup, paramKey); + if (StringUtils.isNotBlank(baseString)) { + return baseString; + } else { + if ("order_cancel_time".equals(paramKey) && "order".equals(paramGroup)) { + // 默认15分钟 + return "15"; + } + if ("order_auto_receive".equals(paramKey) && "order".equals(paramGroup)) { + // 默认5前的订单自动收货 + return "5"; + } + } + } + return null; + } + + @Override + public void saveConfigParam(ConfigParamDTO dto) { + ConfigParamDO configParamDO = new ConfigParamDO(); + BeanUtils.copyProperties(dto, configParamDO); + configParamDO.create(SecurityUtils.getUserId()); + configParamMapper.insert(configParamDO); + } + + @Override + public void updateConfigParam(ConfigParamDTO dto) { + ConfigParamDO configParamDO = configParamMapper.selectById(dto.getId()); + BeanUtils.copyProperties(dto, configParamDO); + configParamDO.update(SecurityUtils.getUserId()); + configParamMapper.updateById(configParamDO); + } + + @Override + public void deleteConfigParam(Long id) { + configParamMapper.deleteById(id); + } + + @Override + public Page<ConfigParamVO> queryPage(QueryConfigParamDTO dto, Page page) { + List<ConfigParamVO> list = configParamMapper.queryPage(dto, page); + page.setRecords(list); + return page; + } + } -- Gitblit v1.9.3