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/dto/request/configParam/ParamGroupDTO.java         |    4 
 src/main/java/com/mzl/flower/entity/configParam/ConfigParamDO.java              |    4 
 src/main/java/com/mzl/flower/web/v2/configParam/ConfigParamGroupController.java |   29 ++
 src/main/java/com/mzl/flower/dto/response/configParam/ConfigParamGroupVO.java   |   14 +
 src/main/java/com/mzl/flower/service/payment/OrderService.java                  |    9 
 src/main/resources/mapper/configParam/ConfigParamGroupMapper.xml                |   23 +-
 src/main/resources/mapper/configParam/ConfigParamMapper.xml                     |   35 +--
 src/main/java/com/mzl/flower/service/impl/ConfigParamServiceImpl.java           |   82 ++++++++
 src/main/java/com/mzl/flower/web/v2/configParam/ConfigParamController.java      |   64 ++++--
 /dev/null                                                                       |   19 --
 src/main/java/com/mzl/flower/dto/request/configParam/ConfigParamDTO.java        |   53 +++++
 src/main/java/com/mzl/flower/mapper/configParam/ConfigParamGroupMapper.java     |    7 
 src/main/java/com/mzl/flower/dto/response/configParam/ConfigParamVO.java        |   75 ++++++++
 src/main/java/com/mzl/flower/mapper/configParam/ConfigParamMapper.java          |   11 +
 src/main/java/com/mzl/flower/service/ConfigParamGroupService.java               |   13 +
 src/main/java/com/mzl/flower/service/ConfigParamService.java                    |   21 ++
 src/main/java/com/mzl/flower/service/impl/ConfigParamGroupServiceImpl.java      |   38 ++++
 17 files changed, 404 insertions(+), 97 deletions(-)

diff --git a/src/main/java/com/mzl/flower/dto/request/configParam/ConfigParamDTO.java b/src/main/java/com/mzl/flower/dto/request/configParam/ConfigParamDTO.java
new file mode 100644
index 0000000..2d2a2f0
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/request/configParam/ConfigParamDTO.java
@@ -0,0 +1,53 @@
+package com.mzl.flower.dto.request.configParam;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class ConfigParamDTO {
+
+    @ApiModelProperty("ID")
+    private Long id;
+
+    @ApiModelProperty("变量分组id")
+    private Long paramGroupId;
+
+    @ApiModelProperty("变量分组")
+    private String paramGroup;
+
+    @ApiModelProperty("变量分组名")
+    private String paramGroupName;
+
+    @ApiModelProperty("变量名")
+    private String paramName;
+
+    @ApiModelProperty("变量键")
+    private String paramKey;
+
+    @ApiModelProperty("变量值")
+    private String paramValue;
+
+    @ApiModelProperty("变量规则")
+    private String paramPlaceholder;
+
+    @ApiModelProperty("变量提示")
+    private String paramTip;
+
+    @ApiModelProperty("变量排序号")
+    private Integer paramOrder;
+
+    @ApiModelProperty(" 0 单值 1 多选  2数组JSON")
+    private Integer paramValueType;
+
+    @ApiModelProperty("变量字典")
+    private String paramDict;
+
+    @ApiModelProperty("控件类型")
+    private String paramControlType;
+
+    @ApiModelProperty("是否是必填项目")
+    private Integer paramRequire;
+
+    @ApiModelProperty("参数个数限制数量")
+    private Integer paramLimit;
+}
diff --git a/src/main/java/com/mzl/flower/dto/request/configParam/CreateConfigParamDTO.java b/src/main/java/com/mzl/flower/dto/request/configParam/CreateConfigParamDTO.java
deleted file mode 100644
index 25c4ee4..0000000
--- a/src/main/java/com/mzl/flower/dto/request/configParam/CreateConfigParamDTO.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mzl.flower.dto.request.configParam;
-
-import lombok.Data;
-
-@Data
-public class CreateConfigParamDTO {
-
-    private Integer paramGroupId;
-    private String paramGroup;
-    private String paramGroupName;
-    private String paramName;
-    private String paramKey;
-    private String paramValue;
-    private String paramPlaceholder;
-    private String paramTip;
-    private Integer paramOrder;
-    private Integer paramValueType;
-    private String paramDict;
-}
diff --git a/src/main/java/com/mzl/flower/dto/request/configParam/CreateConfigParamGroupDTO.java b/src/main/java/com/mzl/flower/dto/request/configParam/ParamGroupDTO.java
similarity index 77%
rename from src/main/java/com/mzl/flower/dto/request/configParam/CreateConfigParamGroupDTO.java
rename to src/main/java/com/mzl/flower/dto/request/configParam/ParamGroupDTO.java
index 384b696..c6aa988 100644
--- a/src/main/java/com/mzl/flower/dto/request/configParam/CreateConfigParamGroupDTO.java
+++ b/src/main/java/com/mzl/flower/dto/request/configParam/ParamGroupDTO.java
@@ -3,7 +3,9 @@
 import lombok.Data;
 
 @Data
-public class CreateConfigParamGroupDTO {
+public class ParamGroupDTO {
+
+    private Long id;
 
     private String paramGroup;
 
diff --git a/src/main/java/com/mzl/flower/dto/response/configParam/ConfigParamGroupVO.java b/src/main/java/com/mzl/flower/dto/response/configParam/ConfigParamGroupVO.java
index 3556c49..a360a12 100644
--- a/src/main/java/com/mzl/flower/dto/response/configParam/ConfigParamGroupVO.java
+++ b/src/main/java/com/mzl/flower/dto/response/configParam/ConfigParamGroupVO.java
@@ -1,4 +1,16 @@
 package com.mzl.flower.dto.response.configParam;
 
-public class ConfigParamGroupVO {
+import com.mzl.flower.base.AbstractTransDTO;
+import lombok.Data;
+
+@Data
+public class ConfigParamGroupVO  extends AbstractTransDTO {
+
+    private Long id;
+
+    private String paramGroup;
+
+    private String paramGroupName;
+
+    private Integer paramOrder;
 }
diff --git a/src/main/java/com/mzl/flower/dto/response/configParam/ConfigParamVO.java b/src/main/java/com/mzl/flower/dto/response/configParam/ConfigParamVO.java
index 093ca25..583df11 100644
--- a/src/main/java/com/mzl/flower/dto/response/configParam/ConfigParamVO.java
+++ b/src/main/java/com/mzl/flower/dto/response/configParam/ConfigParamVO.java
@@ -1,7 +1,80 @@
 package com.mzl.flower.dto.response.configParam;
 
+import com.mzl.flower.base.AbstractTransDTO;
 import lombok.Data;
 
 @Data
-public class ConfigParamVO {
+public class ConfigParamVO extends AbstractTransDTO {
+
+    private Long id;
+
+    /**
+     * 变量分组id
+     */
+    private Integer paramGroupId;
+
+    /**
+     * 变量分组
+     */
+    private String paramGroup;
+
+    /**
+     * 变量分组名
+     */
+    private String paramGroupName;
+
+    /**
+     * 变量名
+     */
+    private String paramName;
+
+    /**
+     * 变量键
+     */
+    private String paramKey;
+
+    /**
+     * 变量值
+     */
+    private String paramValue;
+
+    /**
+     * 变量规则
+     */
+    private String paramPlaceholder;
+
+    /**
+     * 变量提示
+     */
+    private String paramTip;
+
+    /**
+     * 变量排序号
+     */
+    private Integer paramOrder;
+
+    /**
+     * 0 单值 1 多选  2数组JSON
+     */
+    private Integer paramValueType;
+
+    /**
+     * 变量字典
+     */
+    private String paramDict;
+
+    /**
+     * 控件类型
+     */
+    private String paramControlType;
+
+    /**
+     * 是否是必填项目
+     */
+    private Integer paramRequire;
+
+    /**
+     * 参数个数限制数量
+     */
+    private Integer paramLimit;
 }
diff --git a/src/main/java/com/mzl/flower/entity/configParam/ConfigParamDO.java b/src/main/java/com/mzl/flower/entity/configParam/ConfigParamDO.java
index e9f6a45..0a08b46 100644
--- a/src/main/java/com/mzl/flower/entity/configParam/ConfigParamDO.java
+++ b/src/main/java/com/mzl/flower/entity/configParam/ConfigParamDO.java
@@ -12,8 +12,6 @@
  * @since 2024-12-02
  */
 @Data
-@EqualsAndHashCode(callSuper = true)
-@Accessors(chain = true)
 @TableName("t_config_param")
 public class ConfigParamDO extends BaseAutoEntity {
 
@@ -21,7 +19,7 @@
     /**
      * 变量分组id
      */
-    private Integer paramGroupId;
+    private Long paramGroupId;
 
     /**
      * 变量分组
diff --git a/src/main/java/com/mzl/flower/mapper/configParam/ConfigParamGroupMapper.java b/src/main/java/com/mzl/flower/mapper/configParam/ConfigParamGroupMapper.java
index 7ece2e6..613b27f 100644
--- a/src/main/java/com/mzl/flower/mapper/configParam/ConfigParamGroupMapper.java
+++ b/src/main/java/com/mzl/flower/mapper/configParam/ConfigParamGroupMapper.java
@@ -1,7 +1,12 @@
 package com.mzl.flower.mapper.configParam;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.configParam.QueryConfigParamGroupDTO;
+import com.mzl.flower.dto.response.configParam.ConfigParamGroupVO;
 import com.mzl.flower.entity.configParam.ConfigParamGroupDO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +18,6 @@
  */
 public interface ConfigParamGroupMapper extends BaseMapper<ConfigParamGroupDO> {
 
+    List<ConfigParamGroupVO> queryPage(QueryConfigParamGroupDTO dto, Page page);
 }
+
diff --git a/src/main/java/com/mzl/flower/mapper/configParam/ConfigParamMapper.java b/src/main/java/com/mzl/flower/mapper/configParam/ConfigParamMapper.java
index be7b45b..2f279a4 100644
--- a/src/main/java/com/mzl/flower/mapper/configParam/ConfigParamMapper.java
+++ b/src/main/java/com/mzl/flower/mapper/configParam/ConfigParamMapper.java
@@ -1,7 +1,13 @@
 package com.mzl.flower.mapper.configParam;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.configParam.QueryConfigParamDTO;
+import com.mzl.flower.dto.response.configParam.ConfigParamVO;
 import com.mzl.flower.entity.configParam.ConfigParamDO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +19,9 @@
  */
 public interface ConfigParamMapper extends BaseMapper<ConfigParamDO> {
 
+
+    @Select("select param_value from t_config_param where param_group = #{paramGroup} and param_key =#{paramKey} and deleted = '0'  ")
+    String getBaseString(String paramGroup, String paramKey);
+
+    List<ConfigParamVO> queryPage(QueryConfigParamDTO dto, Page page);
 }
diff --git a/src/main/java/com/mzl/flower/service/ConfigParamGroupService.java b/src/main/java/com/mzl/flower/service/ConfigParamGroupService.java
index ad7719e..69ef4a4 100644
--- a/src/main/java/com/mzl/flower/service/ConfigParamGroupService.java
+++ b/src/main/java/com/mzl/flower/service/ConfigParamGroupService.java
@@ -1,7 +1,11 @@
 package com.mzl.flower.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.configParam.ParamGroupDTO;
 import com.mzl.flower.dto.request.configParam.QueryConfigParamDTO;
+import com.mzl.flower.dto.request.configParam.QueryConfigParamGroupDTO;
 import com.mzl.flower.dto.response.configParam.ConfigParamGroupVO;
+import com.mzl.flower.dto.response.configParam.ConfigParamVO;
 import com.mzl.flower.entity.configParam.ConfigParamGroupDO;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -18,5 +22,12 @@
 public interface ConfigParamGroupService extends IService<ConfigParamGroupDO> {
 
     List<ConfigParamGroupDO> getList(QueryConfigParamDTO dto);
-    
+
+    void saveConfigParamGroup(ParamGroupDTO dto);
+
+    void updateConfigParamGroup(ParamGroupDTO dto);
+
+    void deleteConfigParamGroup(Long id);
+
+    Page<ConfigParamGroupVO> queryPage(QueryConfigParamGroupDTO dto, Page page);
 }
diff --git a/src/main/java/com/mzl/flower/service/ConfigParamService.java b/src/main/java/com/mzl/flower/service/ConfigParamService.java
index 5d4a2ab..a27f67b 100644
--- a/src/main/java/com/mzl/flower/service/ConfigParamService.java
+++ b/src/main/java/com/mzl/flower/service/ConfigParamService.java
@@ -1,7 +1,12 @@
 package com.mzl.flower.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.configParam.ConfigCustomerServiceQueryDTO;
+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.baomidou.mybatisplus.extension.service.IService;
 
@@ -10,7 +15,7 @@
 
 /**
  * <p>
- *  服务类
+ * 服务类
  * </p>
  *
  * @author @TaoJie
@@ -22,5 +27,17 @@
 
     boolean updateConfigParamBatch(UpdateConfigParamDTO dto);
 
-    Map<String,Object> getBaseInfo();
+    Map<String, Object> getBaseInfo();
+
+    String getBaseString(String paramGroup, String paramKey);
+
+    void saveConfigParam(ConfigParamDTO dto);
+
+    void updateConfigParam(ConfigParamDTO dto);
+
+    void deleteConfigParam(Long id);
+
+    Page<ConfigParamVO> queryPage(QueryConfigParamDTO dto, Page page);
+
+
 }
diff --git a/src/main/java/com/mzl/flower/service/impl/ConfigParamGroupServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/ConfigParamGroupServiceImpl.java
index c18a054..697e7d9 100644
--- a/src/main/java/com/mzl/flower/service/impl/ConfigParamGroupServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/impl/ConfigParamGroupServiceImpl.java
@@ -1,13 +1,20 @@
 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.security.SecurityUtils;
+import com.mzl.flower.dto.request.configParam.ParamGroupDTO;
 import com.mzl.flower.dto.request.configParam.QueryConfigParamDTO;
+import com.mzl.flower.dto.request.configParam.QueryConfigParamGroupDTO;
 import com.mzl.flower.dto.response.configParam.ConfigParamGroupVO;
+import com.mzl.flower.dto.response.configParam.ConfigParamVO;
+import com.mzl.flower.entity.configParam.ConfigParamDO;
 import com.mzl.flower.entity.configParam.ConfigParamGroupDO;
 import com.mzl.flower.mapper.configParam.ConfigParamGroupMapper;
 import com.mzl.flower.mapper.configParam.ConfigParamGroupMapperCustom;
 import com.mzl.flower.service.ConfigParamGroupService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -27,6 +34,9 @@
     @Autowired
     private ConfigParamGroupMapperCustom configParamGroupMapperCustom;
 
+    @Autowired
+    private ConfigParamGroupMapper configParamGroupMapper;
+
     @Override
     public List<ConfigParamGroupDO> getList(QueryConfigParamDTO dto) {
         QueryWrapper<ConfigParamGroupDO> wrapper = new QueryWrapper<>();
@@ -34,4 +44,32 @@
                 .orderByAsc(ConfigParamGroupDO::getParamOrder);
         return list(wrapper);
     }
+
+    @Override
+    public void saveConfigParamGroup(ParamGroupDTO dto) {
+        ConfigParamGroupDO configParamGroupDO = new ConfigParamGroupDO();
+        BeanUtils.copyProperties(dto, configParamGroupDO);
+        configParamGroupDO.create(SecurityUtils.getUserId());
+        configParamGroupMapper.insert(configParamGroupDO);
+    }
+
+    @Override
+    public void updateConfigParamGroup(ParamGroupDTO dto) {
+        ConfigParamGroupDO configParamGroupDO = configParamGroupMapper.selectById(dto.getId());
+        BeanUtils.copyProperties(dto, configParamGroupDO);
+        configParamGroupDO.update(SecurityUtils.getUserId());
+        configParamGroupMapper.updateById(configParamGroupDO);
+    }
+
+    @Override
+    public void deleteConfigParamGroup(Long id) {
+        configParamGroupMapper.deleteById(id);
+    }
+
+    @Override
+    public Page<ConfigParamGroupVO> queryPage(QueryConfigParamGroupDTO dto, Page page) {
+        List<ConfigParamGroupVO> list = configParamGroupMapper.queryPage(dto, page);
+        page.setRecords(list);
+        return page;
+    }
 }
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;
+    }
+
 }
diff --git a/src/main/java/com/mzl/flower/service/payment/OrderService.java b/src/main/java/com/mzl/flower/service/payment/OrderService.java
index 25a7de0..dc09d4c 100644
--- a/src/main/java/com/mzl/flower/service/payment/OrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/OrderService.java
@@ -45,6 +45,7 @@
 import com.mzl.flower.mapper.system.UserWechatMapper;
 import com.mzl.flower.mapper.warehouse.WarehouseLocationMapper;
 import com.mzl.flower.service.BaseService;
+import com.mzl.flower.service.ConfigParamService;
 import com.mzl.flower.service.comment.FlowerCommentService;
 import com.mzl.flower.service.coupon.CouponRecordService;
 import com.mzl.flower.service.flower.FlowerService;
@@ -170,6 +171,8 @@
     @Autowired
     private FlowerCommentService flowerCommentService;
 
+    @Autowired
+    private ConfigParamService configParamService;
 
     public void changeFlower2Cart(CartSaveDTO dto) {
         String userId = SecurityUtils.getUserId();
@@ -1199,7 +1202,11 @@
     }
 
     public List<Order> autoReceive() {
-        int days = -5; //5天前的订单自动收货
+        String paramGroup = "order";
+        String paramKey = "order_auto_receive";
+        String baseString = configParamService.getBaseString(paramGroup, paramKey);
+        int days = -Integer.parseInt(baseString);
+//        int days = -5; //5天前的订单自动收货
         LocalDateTime endTime = LocalDateTime.now().plusDays(days);
         List<Order> ls = orderMapper.getOrderForAutoReceive(endTime);
         if (ls == null || ls.size() == 0) {
diff --git a/src/main/java/com/mzl/flower/web/v2/configParam/ConfigParamController.java b/src/main/java/com/mzl/flower/web/v2/configParam/ConfigParamController.java
index 0c523fa..88aa9f4 100644
--- a/src/main/java/com/mzl/flower/web/v2/configParam/ConfigParamController.java
+++ b/src/main/java/com/mzl/flower/web/v2/configParam/ConfigParamController.java
@@ -5,10 +5,12 @@
 import com.mzl.flower.base.BaseController;
 import com.mzl.flower.base.R;
 import com.mzl.flower.base.ReturnDataDTO;
-import com.mzl.flower.dto.request.configParam.CreateConfigParamDTO;
+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.ConfigParamVO;
+import com.mzl.flower.entity.configParam.ConfigParamGroupDO;
+import com.mzl.flower.service.ConfigParamGroupService;
 import com.mzl.flower.service.ConfigParamService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -17,6 +19,7 @@
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Positive;
 import java.util.Map;
 
@@ -32,28 +35,52 @@
     @Autowired
     private ConfigParamService configParamService;
 
-    @PostMapping("")
+    @Autowired
+    private ConfigParamGroupService configParamGroupService;
+
+    @PostMapping("/new")
     @ApiOperation(value = "新增", notes = "新增")
-    public ResponseEntity<ReturnDataDTO> create(@Validated @RequestBody CreateConfigParamDTO dto) {
+    public ResponseEntity<ReturnDataDTO> create(@Validated @RequestBody ConfigParamDTO dto) {
+        ConfigParamGroupDO configParamGroupDO = configParamGroupService.getById(dto.getParamGroupId());
+        dto.setParamGroup(configParamGroupDO.getParamGroup());
+        dto.setParamGroupName(configParamGroupDO.getParamGroupName());
+        configParamService.saveConfigParam(dto);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
-    @PutMapping("/{id}")
+    @PostMapping("/edit")
     @ApiOperation(value = "修改", notes = "修改")
-    public ResponseEntity<ReturnDataDTO> update(@PathVariable Integer id,@Validated @RequestBody UpdateConfigParamDTO dto) {
+    public ResponseEntity<ReturnDataDTO> update(@Validated @RequestBody ConfigParamDTO dto) {
+        ConfigParamGroupDO configParamGroupDO = configParamGroupService.getById(dto.getParamGroupId());
+        dto.setParamGroup(configParamGroupDO.getParamGroup());
+        dto.setParamGroupName(configParamGroupDO.getParamGroupName());
+        configParamService.updateConfigParam(dto);
         return returnData(R.SUCCESS.getCode(), null);
+    }
+
+    @GetMapping(value = "/delete")
+    @ApiOperation(value = "删除系统配置配置 ", httpMethod = "GET", notes = "ID")
+    public ResponseEntity<ReturnDataDTO> delete(@NotNull(message = "id不能为空") Long id) {
+        configParamService.deleteConfigParam(id);
+        return returnData(R.SUCCESS.getCode(), null);
+    }
+
+    @GetMapping("/config/list")
+    @ApiOperation(value = "配置查询-列表", notes = "配置查询-列表")
+    public ResponseEntity<ReturnDataDTO<Page<ConfigParamVO>>> configlist(Page page, QueryConfigParamDTO dto) {
+        return returnData(R.SUCCESS.getCode(), configParamService.queryPage(dto, page));
+    }
+
+    @GetMapping("/list")
+    @ApiOperation(value = "查询-列表", notes = "查询-列表")
+    public ResponseEntity<ReturnDataDTO<Page<ConfigParamVO>>> list(QueryConfigParamDTO dto) {
+        return returnData(R.SUCCESS.getCode(), configParamService.getList(dto));
     }
 
     @PutMapping("/update/batch")
     @ApiOperation(value = "批量修改", notes = "批量修改")
     public ResponseEntity<ReturnDataDTO> updateBath(@Validated @RequestBody UpdateConfigParamDTO dto) {
         configParamService.updateConfigParamBatch(dto);
-        return returnData(R.SUCCESS.getCode(), null);
-    }
-
-    @DeleteMapping("/{id}")
-    @ApiOperation(value = "删除", notes = "删除")
-    public ResponseEntity<ReturnDataDTO> delete(Integer id) {
         return returnData(R.SUCCESS.getCode(), null);
     }
 
@@ -71,15 +98,6 @@
         return returnData(R.SUCCESS.getCode(), null);
     }
 
-
-    @GetMapping("/list")
-    @ApiOperation(value = "查询-列表", notes = "查询-列表")
-    public ResponseEntity<ReturnDataDTO<Page<ConfigParamVO>>> list(QueryConfigParamDTO dto) {
-        // 设置只查询活动优惠券的
-        return returnData(R.SUCCESS.getCode(), configParamService.getList(dto));
-    }
-
-
     @GetMapping("/base/info")
     @ApiOperation(value = "查询-备案信息", notes = "查询-备案信息" )
     public ResponseEntity<ReturnDataDTO<Map<String,Object>>> getBaseInfo() {
@@ -87,6 +105,12 @@
         return returnData(R.SUCCESS.getCode(), configParamService.getBaseInfo());
     }
 
+    @GetMapping(value = "/base/getBaseString")
+    @ApiOperation(value = "获取配置信息 ", httpMethod = "GET", notes = "ID")
+    public ResponseEntity getBaseString(@NotNull(message = "paramGroup") String paramGroup, @NotNull(message = "paramKey") String paramKey) {
+        configParamService.getBaseString(paramGroup, paramKey);
+        return returnData(R.SUCCESS.getCode(), null);
+    }
 
 
 }
diff --git a/src/main/java/com/mzl/flower/web/v2/configParam/ConfigParamGroupController.java b/src/main/java/com/mzl/flower/web/v2/configParam/ConfigParamGroupController.java
index 92ed052..6a9344b 100644
--- a/src/main/java/com/mzl/flower/web/v2/configParam/ConfigParamGroupController.java
+++ b/src/main/java/com/mzl/flower/web/v2/configParam/ConfigParamGroupController.java
@@ -5,8 +5,10 @@
 import com.mzl.flower.base.BaseController;
 import com.mzl.flower.base.R;
 import com.mzl.flower.base.ReturnDataDTO;
-import com.mzl.flower.dto.request.configParam.CreateConfigParamGroupDTO;
+import com.mzl.flower.dto.request.configParam.ParamGroupDTO;
 import com.mzl.flower.dto.request.configParam.QueryConfigParamDTO;
+import com.mzl.flower.dto.request.configParam.QueryConfigParamGroupDTO;
+import com.mzl.flower.dto.response.configParam.ConfigParamGroupVO;
 import com.mzl.flower.dto.response.configParam.ConfigParamVO;
 import com.mzl.flower.service.ConfigParamGroupService;
 import com.mzl.flower.service.ConfigParamService;
@@ -17,6 +19,7 @@
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Positive;
 
 /**
@@ -31,24 +34,34 @@
     @Autowired
     private ConfigParamGroupService configParamGroupService;
 
-    @PostMapping("")
+
+    @PostMapping("/new")
     @ApiOperation(value = "新增", notes = "新增")
-    public ResponseEntity<ReturnDataDTO> create(@Validated @RequestBody CreateConfigParamGroupDTO dto) {
+    public ResponseEntity<ReturnDataDTO> create(@Validated @RequestBody ParamGroupDTO dto) {
+        configParamGroupService.saveConfigParamGroup(dto);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
-    @PutMapping("/{id}")
+    @PostMapping("/edit")
     @ApiOperation(value = "修改", notes = "修改")
-    public ResponseEntity<ReturnDataDTO> update(@PathVariable Integer id,@Validated @RequestBody CreateConfigParamGroupDTO dto) {
+    public ResponseEntity<ReturnDataDTO> update(@Validated @RequestBody ParamGroupDTO dto) {
+        configParamGroupService.updateConfigParamGroup(dto);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
-    @DeleteMapping("/{id}")
-    @ApiOperation(value = "删除", notes = "删除")
-    public ResponseEntity<ReturnDataDTO> delete(Integer id) {
+    @GetMapping(value = "/delete")
+    @ApiOperation(value = "删除", httpMethod = "GET", notes = "ID")
+    public ResponseEntity<ReturnDataDTO> delete(@NotNull(message = "id不能为空") Long id) {
+        configParamGroupService.deleteConfigParamGroup(id);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
+    @GetMapping("/group/list")
+    @ApiOperation(value = "配置查询-列表", notes = "配置查询-列表")
+    public ResponseEntity<ReturnDataDTO<Page<ConfigParamGroupVO>>> grouplist(Page page, QueryConfigParamGroupDTO dto) {
+        return returnData(R.SUCCESS.getCode(), configParamGroupService.queryPage(dto, page));
+    }
+
     @GetMapping("/{id}")
     @ApiOperation(value = "详情", notes = "详情")
     public ResponseEntity<ReturnDataDTO> get(@PathVariable(value = "id") @Positive(message = "{id.positive}") Integer id) {
diff --git a/src/main/resources/mapper/configParam/ConfigParamGroupMapper.xml b/src/main/resources/mapper/configParam/ConfigParamGroupMapper.xml
index 714574e..aae9f77 100644
--- a/src/main/resources/mapper/configParam/ConfigParamGroupMapper.xml
+++ b/src/main/resources/mapper/configParam/ConfigParamGroupMapper.xml
@@ -2,17 +2,16 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.mzl.flower.mapper.configParam.ConfigParamGroupMapper">
 
-    <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.mzl.flower.entity.configParam.ConfigParamGroupDO">
-        <id column="id" property="id" />
-        <result column="deleted" property="deleted" />
-        <result column="create_by" property="createBy" />
-        <result column="create_time" property="createTime" />
-        <result column="update_by" property="updateBy" />
-        <result column="update_time" property="updateTime" />
-        <result column="param_group" property="paramGroup" />
-        <result column="param_group_name" property="paramGroupName" />
-        <result column="param_order" property="paramOrder" />
-    </resultMap>
 
+    <select id="queryPage" resultType="com.mzl.flower.dto.response.configParam.ConfigParamGroupVO">
+        select t.* from t_config_param_group t
+        where t.deleted= 0
+        <if test="dto.paramGroupName != null and dto.paramGroupName != ''">
+            and t.param_group_name like concat('%', #{dto.paramGroupName}, '%')
+        </if>
+        <if test="dto.paramGroup != null and dto.paramGroup != ''">
+            and t.param_group = #{dto.paramGroup}
+        </if>
+        order by t.param_order
+    </select>
 </mapper>
diff --git a/src/main/resources/mapper/configParam/ConfigParamMapper.xml b/src/main/resources/mapper/configParam/ConfigParamMapper.xml
index cc560ae..a87c667 100644
--- a/src/main/resources/mapper/configParam/ConfigParamMapper.xml
+++ b/src/main/resources/mapper/configParam/ConfigParamMapper.xml
@@ -2,29 +2,14 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.mzl.flower.mapper.configParam.ConfigParamMapper">
 
-    <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.mzl.flower.entity.configParam.ConfigParamDO">
-        <id column="id" property="id" />
-        <result column="deleted" property="deleted" />
-        <result column="create_by" property="createBy" />
-        <result column="create_time" property="createTime" />
-        <result column="update_by" property="updateBy" />
-        <result column="update_time" property="updateTime" />
-        <result column="param_group_id" property="paramGroupId" />
-        <result column="param_group" property="paramGroup" />
-        <result column="param_group_name" property="paramGroupName" />
-        <result column="param_name" property="paramName" />
-        <result column="param_key" property="paramKey" />
-        <result column="param_value" property="paramValue" />
-        <result column="param_placeholder" property="paramPlaceholder" />
-        <result column="param_tip" property="paramTip" />
-        <result column="param_order" property="paramOrder" />
-        <result column="param_value_type" property="paramValueType" />
-        <result column="param_dict" property="paramDict" />
-
-        <result column="param_control_type" property="paramControlType" />
-        <result column="param_require" property="paramRequire" />
-        <result column="param_limit" property="paramLimit" />
-    </resultMap>
-
+    <select id="queryPage" resultType="com.mzl.flower.dto.response.configParam.ConfigParamVO">
+        select t.* from t_config_param t
+        where t.deleted= 0
+        <if test="dto.paramGroupName != null and dto.paramGroupName != ''">
+            and t.param_group_name like concat('%', #{dto.paramGroupName}, '%')
+        </if>
+        <if test="dto.paramGroup != null and dto.paramGroup != ''">
+            and t.param_group = #{dto.paramGroup}
+        </if>
+    </select>
 </mapper>

--
Gitblit v1.9.3