浏览代码

增加部署自定义控制参数设置功能

luoshi 1 年之前
父节点
当前提交
0597cc52b2

+ 9 - 4
src/main/java/com/qmth/ops/api/controller/admin/DeployController.java

@@ -11,10 +11,7 @@ import com.qmth.ops.api.dto.DeployForm;
 import com.qmth.ops.api.security.AdminSession;
 import com.qmth.ops.api.security.Permission;
 import com.qmth.ops.api.vo.*;
-import com.qmth.ops.biz.domain.AppDeploy;
-import com.qmth.ops.biz.domain.Deploy;
-import com.qmth.ops.biz.domain.DeployMode;
-import com.qmth.ops.biz.domain.Version;
+import com.qmth.ops.biz.domain.*;
 import com.qmth.ops.biz.query.DeployQuery;
 import com.qmth.ops.biz.query.OrgQuery;
 import com.qmth.ops.biz.service.*;
@@ -37,6 +34,9 @@ public class DeployController {
     @Resource
     private DeployService deployService;
 
+    @Resource
+    private ControlParamService controlParamService;
+
     @Resource
     private AppService appService;
 
@@ -58,6 +58,11 @@ public class DeployController {
         return Arrays.stream(DeployMode.values()).map(item -> new CodeNameVO(item.getCode(), item.getName())).toArray();
     }
 
+    @RequestMapping("/control/params")
+    public List<ControlParam> listAppControlParam(@RequestParam Long appId) {
+        return controlParamService.listByAppId(appId);
+    }
+
     @PostMapping("/query")
     public IPage<DeployVO> query(DeployQuery query) {
         return deployService.query(query).convert(deploy -> new DeployVO(deploy, appService));

+ 8 - 0
src/main/java/com/qmth/ops/biz/dao/ControlParamDao.java

@@ -0,0 +1,8 @@
+package com.qmth.ops.biz.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.ops.biz.domain.ControlParam;
+
+public interface ControlParamDao extends BaseMapper<ControlParam> {
+
+}

+ 66 - 0
src/main/java/com/qmth/ops/biz/domain/ControlParam.java

@@ -0,0 +1,66 @@
+package com.qmth.ops.biz.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+
+@TableName(value = "control_param", autoResultMap = true)
+public class ControlParam implements Serializable {
+
+    private static final long serialVersionUID = 8092985217397275505L;
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    private Long appId;
+
+    @TableField("`key`")
+    private String key;
+
+    private String name;
+
+    private ValueType type;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getAppId() {
+        return appId;
+    }
+
+    public void setAppId(Long appId) {
+        this.appId = appId;
+    }
+
+    public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public ValueType getType() {
+        return type;
+    }
+
+    public void setType(ValueType type) {
+        this.type = type;
+    }
+}

+ 6 - 0
src/main/java/com/qmth/ops/biz/domain/ValueType.java

@@ -0,0 +1,6 @@
+package com.qmth.ops.biz.domain;
+
+public enum ValueType {
+
+    NUMBER, STRING, BOOLEAN
+}

+ 24 - 0
src/main/java/com/qmth/ops/biz/service/ControlParamService.java

@@ -0,0 +1,24 @@
+package com.qmth.ops.biz.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.ops.biz.dao.ControlParamDao;
+import com.qmth.ops.biz.domain.ControlParam;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service
+public class ControlParamService extends ServiceImpl<ControlParamDao, ControlParam> {
+
+    @Resource
+    private ControlParamDao controlParamDao;
+
+    public List<ControlParam> listByAppId(Long appId) {
+        return list(new LambdaQueryWrapper<ControlParam>().eq(ControlParam::getAppId, appId)
+                .orderByAsc(ControlParam::getKey));
+    }
+
+}
+

+ 13 - 0
src/main/resources/script/init.sql

@@ -183,3 +183,16 @@ CREATE TABLE IF NOT EXISTS `wxapp`
     PRIMARY KEY (`id`)
 ) ENGINE = InnoDB
   DEFAULT CHARSET = utf8mb4;
+
+
+CREATE TABLE IF NOT EXISTS `control_param`
+(
+    `id`     bigint(11) unsigned NOT NULL AUTO_INCREMENT,
+    `app_id` bigint(11) unsigned NOT NULL,
+    `key`    varchar(64)         NOT NULL,
+    `name`   varchar(64)         NOT NULL,
+    `type`   varchar(16)         NOT NULL,
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `app_key` (`app_id`, `key`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4;