浏览代码

新增配置接口

zc 2 月之前
父节点
当前提交
04fcb2a6ab

+ 16 - 0
alien-store/src/main/java/shop/alien/store/controller/StoreDictController.java

@@ -7,6 +7,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 import shop.alien.entity.result.R;
 import shop.alien.entity.store.StoreDictionary;
+import shop.alien.entity.store.vo.SystemConfigVo;
 import shop.alien.store.service.StoreDictService;
 
 import java.util.Date;
@@ -99,4 +100,19 @@ public class StoreDictController {
     public R<Map<String, List<StoreDictionary>>> getDictList() {
         return R.data(storeDictService.getDictList());
     }
+
+    @ApiOperation("获取配置")
+    @ApiOperationSupport(order = 1)
+    @ApiImplicitParams({@ApiImplicitParam(name = "dictType", value = "字典类型", dataType = "String", paramType = "query", required = true)})
+    @GetMapping("/getConfig")
+    public R<SystemConfigVo> getConfig(String dictType) {
+        return R.data(storeDictService.getConfig(dictType));
+    }
+
+    @ApiOperation("修改配置")
+    @PutMapping(value = "editConfig")
+    private R editConfig(@RequestBody SystemConfigVo systemConfigVo) {
+        storeDictService.editConfig(systemConfigVo);
+        return R.success("成功");
+    }
 }

+ 16 - 0
alien-store/src/main/java/shop/alien/store/service/StoreDictService.java

@@ -3,6 +3,7 @@ package shop.alien.store.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import shop.alien.entity.store.StoreDictionary;
 import shop.alien.entity.store.vo.StoreDictionaryVo;
+import shop.alien.entity.store.vo.SystemConfigVo;
 
 import java.util.List;
 import java.util.Map;
@@ -42,4 +43,19 @@ public interface StoreDictService extends IService<StoreDictionary> {
 
     Map<String, List<StoreDictionary>> getDictList();
 
+    /**
+     * 查询字典值
+     *
+     * @param dictType 字典类型
+     * @return list
+     */
+    SystemConfigVo getConfig(String dictType);
+
+    /**
+     * 新增字典
+     *
+     * @param systemConfigVo 字典类
+     */
+    void editConfig(SystemConfigVo systemConfigVo);
+
 }

+ 35 - 0
alien-store/src/main/java/shop/alien/store/service/impl/StoreDictServiceImpl.java

@@ -3,13 +3,16 @@ package shop.alien.store.service.impl;
 import com.alibaba.excel.util.CollectionUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import shop.alien.entity.store.StoreDictionary;
 import shop.alien.entity.store.StoreMenu;
 import shop.alien.entity.store.vo.StoreDictionaryVo;
+import shop.alien.entity.store.vo.SystemConfigVo;
 import shop.alien.mapper.StoreDictionaryMapper;
 import shop.alien.store.service.StoreDictService;
 import shop.alien.store.util.CommonConstant;
@@ -96,6 +99,38 @@ public class StoreDictServiceImpl extends ServiceImpl<StoreDictionaryMapper, Sto
                 .collect(Collectors.groupingBy(StoreDictionary::getTypeName));
     }
 
+    @Override
+    public SystemConfigVo getConfig(String dictType) {
+        SystemConfigVo systemConfigVo = new SystemConfigVo();
+        systemConfigVo.setDictType(dictType);
+        LambdaQueryWrapper<StoreDictionary> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(StoreDictionary::getTypeName, dictType);
+        queryWrapper.eq(StoreDictionary::getDeleteFlag, 0);
+        List<StoreDictionary> storeDictionaryList = this.list(queryWrapper);
+        if(!CollectionUtils.isEmpty(storeDictionaryList)){
+            StoreDictionary storeDictionary = storeDictionaryList.get(0);
+            systemConfigVo.setConfigValue1(storeDictionary.getDictId());
+            systemConfigVo.setConfigValue2(storeDictionary.getDictDetail());
+        }
+        return systemConfigVo;
+    }
+
+    @Override
+    public void editConfig(SystemConfigVo systemConfigVo) {
+        if(systemConfigVo != null && StringUtils.isNotBlank(systemConfigVo.getDictType())){
+            LambdaQueryWrapper<StoreDictionary> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(StoreDictionary::getTypeName, systemConfigVo.getDictType());
+            queryWrapper.eq(StoreDictionary::getDeleteFlag, 0);
+            List<StoreDictionary> storeDictionaryList = this.list(queryWrapper);
+            if(!CollectionUtils.isEmpty(storeDictionaryList)){
+                StoreDictionary storeDictionary = storeDictionaryList.get(0);
+                storeDictionary.setDictId(systemConfigVo.getConfigValue1());
+                storeDictionary.setDictDetail(systemConfigVo.getConfigValue2());
+                storeDictionaryMapper.updateById(storeDictionary);
+            }
+        }
+    }
+
     public List<StoreDictionary> buildTreeOptimized(List<StoreDictionary> flatList) {
         // 创建三个存储结构
         Map<Integer, StoreDictionary> nodeMap = new HashMap<>();  // ID到节点的映射