feat():新增版本查,增,改接口
parent
9ffc2533ad
commit
2d9c466435
|
@ -4,12 +4,16 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
|||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.muyu.common.core.web.domain.BaseEntity;
|
||||
import com.muyu.common.domain.req.RuleVersionAddReq;
|
||||
import com.muyu.common.domain.req.RuleVersionUpdReq;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
/**
|
||||
* @Author:蓬叁
|
||||
* @Package:com.muyu.common.domain
|
||||
|
@ -67,4 +71,15 @@ public class RuleVersion extends BaseEntity {
|
|||
*/
|
||||
private String ruleVersionRemark ;
|
||||
|
||||
public static RuleVersion addBuild(RuleVersionAddReq ruleVersionAddReq) {
|
||||
return RuleVersion.builder()
|
||||
.ruleId(ruleVersionAddReq.getRuleId())
|
||||
.ruleVersionType(ruleVersionAddReq.getRuleVersionType())
|
||||
.ruleVersionName(ruleVersionAddReq.getRuleVersionName())
|
||||
.ruleVersionCode(ruleVersionAddReq.getRuleVersionCode())
|
||||
.ruleVersionActivate(ruleVersionAddReq.getRuleVersionActivate())
|
||||
.ruleVersionStatus(ruleVersionAddReq.getRuleVersionStatus())
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
package com.muyu.common.domain.req;
|
||||
|
||||
import com.muyu.common.core.validation.custom.IsSysRuleActivate;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author:蓬叁
|
||||
* @Package:com.muyu.common.domain.req
|
||||
* @Project:cloud-rule
|
||||
* @name:RuleVersionAddReq
|
||||
* @Date:2024/8/27 下午3:17
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Tag(name = "规则版本添加请求对象")
|
||||
public class RuleVersionAddReq {
|
||||
|
||||
/**
|
||||
* 规则ID
|
||||
*/
|
||||
@NotEmpty(message = "规则ID不可为空")
|
||||
@Schema(title = "规则ID",type = "Long",description = "一对多")
|
||||
private Long ruleId ;
|
||||
/**
|
||||
* 版本类
|
||||
*/
|
||||
@NotEmpty(message = "版本类不可为空")
|
||||
@Schema(title = "版本类",type = "String",description = "规则状态+引擎编码+类名")
|
||||
private String ruleVersionType ;
|
||||
/**
|
||||
* 版本名称
|
||||
*/
|
||||
@NotEmpty(message = "版本名称不可为空")
|
||||
@Schema(title = "版本名称",type = "String",description = "QQ检验")
|
||||
private String ruleVersionName ;
|
||||
/**
|
||||
* 版本编码
|
||||
*/
|
||||
@NotEmpty(message = "版本编码不可为空")
|
||||
@Schema(title = "版本编码",type = "String",description = "email")
|
||||
private String ruleVersionCode ;
|
||||
/**
|
||||
* 是否激活
|
||||
*/
|
||||
@Schema(title = "激活状态",type = "String",description = "U")
|
||||
@IsSysRuleActivate
|
||||
private String ruleVersionActivate ;
|
||||
/**
|
||||
* 版本状态
|
||||
*/
|
||||
@Schema(title = "版本状态",type = "String",description = "I")
|
||||
private String ruleVersionStatus ;
|
||||
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
package com.muyu.common.domain.req;
|
||||
|
||||
import com.muyu.common.core.validation.custom.IsSysRuleActivate;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author:蓬叁
|
||||
* @Package:com.muyu.common.domain.req
|
||||
* @Project:cloud-rule
|
||||
* @name:RuleVersionAddReq
|
||||
* @Date:2024/8/27 下午3:17
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Tag(name = "规则版本添加请求对象")
|
||||
public class RuleVersionUpdReq {
|
||||
|
||||
/**
|
||||
* 是否激活
|
||||
*/
|
||||
@Schema(title = "激活状态",type = "String",description = "U")
|
||||
@IsSysRuleActivate
|
||||
private String ruleVersionActivate ;
|
||||
/**
|
||||
* 版本状态
|
||||
*/
|
||||
@Schema(title = "版本状态",type = "String",description = "I")
|
||||
private String ruleVersionStatus ;
|
||||
/**
|
||||
* 是否测试
|
||||
*/
|
||||
@Schema(title = "测试状态",type = "String",description = "W")
|
||||
private String ruleVersionTest ;
|
||||
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
package com.muyu.common.domain.resp;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author:蓬叁
|
||||
* @Package:com.muyu.common.domain.resp
|
||||
* @Project:cloud-rule
|
||||
* @name:RuleVersionVersion
|
||||
* @Date:2024/8/27 上午11:56
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Tag(name = "接口规则版本信息对应对象",description = "负责接口规则版本信息查询的相应结果")
|
||||
public class RuleVersionResp {
|
||||
|
||||
/**
|
||||
* 规则版本ID
|
||||
*/
|
||||
@TableId(value = "rule_version_id",type = IdType.AUTO)
|
||||
@Schema(description = "规则版本ID",type = "Long")
|
||||
private Long ruleVersionId ;
|
||||
/**
|
||||
* 规则ID
|
||||
*/
|
||||
@Schema(description = "规则ID",type = "Long")
|
||||
private Long ruleId ;
|
||||
/**
|
||||
* 版本类
|
||||
*/
|
||||
@Schema(description = "版本类",type = "String")
|
||||
private String ruleVersionType ;
|
||||
/**
|
||||
* 版本名称
|
||||
*/
|
||||
@Schema(description = "版本名称",defaultValue = "QQ邮箱剔除",type = "String")
|
||||
private String ruleVersionName ;
|
||||
/**
|
||||
* 版本编号
|
||||
*/
|
||||
@Schema(description = "版本编号",defaultValue = "ISNW2F4S",type = "String")
|
||||
private String ruleVersionCode ;
|
||||
/**
|
||||
* 是否激活
|
||||
*/
|
||||
@Schema(description = "激活状态",defaultValue = "S",type = "String")
|
||||
private String ruleVersionActivate ;
|
||||
/**
|
||||
* 版本状态
|
||||
*/
|
||||
@Schema(description = "版本状态",defaultValue = "I",type = "String")
|
||||
private String ruleVersionStatus ;
|
||||
/**
|
||||
* 是否测试
|
||||
*/
|
||||
@Schema(description = "测试状态",defaultValue = "W",type = "String")
|
||||
private String ruleVersionTest ;
|
||||
/**
|
||||
* 代码
|
||||
*/
|
||||
@Schema(description = "代码",type = "String")
|
||||
private String ruleVersionText ;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Schema(description = "备注",type = "String")
|
||||
private String ruleVersionRemark ;
|
||||
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
package com.muyu.controller;
|
||||
|
||||
import com.muyu.common.core.domain.Result;
|
||||
import com.muyu.common.domain.RuleData;
|
||||
import com.muyu.common.domain.RuleVersion;
|
||||
import com.muyu.common.domain.req.RuleDataAddReq;
|
||||
import com.muyu.common.domain.req.RuleDataUpdReq;
|
||||
import com.muyu.common.domain.req.RuleVersionAddReq;
|
||||
import com.muyu.common.domain.req.RuleVersionUpdReq;
|
||||
import com.muyu.common.domain.resp.RuleVersionResp;
|
||||
import com.muyu.servier.RuleVersionService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author:蓬叁
|
||||
* @Package:com.muyu.controller
|
||||
* @Project:cloud-rule
|
||||
* @name:RuleVersionController
|
||||
* @Date:2024/8/27 上午11:42
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/ruleVersion")
|
||||
@Tag(name = "规则版本控制层",description = "进行版本制定,查看等操作")
|
||||
public class RuleVersionController {
|
||||
|
||||
@Autowired private RuleVersionService ruleVersionService;
|
||||
|
||||
/**
|
||||
* 查询规则版本接口
|
||||
* @param ruleId
|
||||
* @return 查询结果
|
||||
*/
|
||||
@RequestMapping(path = "/list/{ruleId}",method = RequestMethod.POST)
|
||||
@Operation(summary = "查询接口规则版本", description = "对当前规则下的版本进行查询版本信息")
|
||||
public Result<List<RuleVersionResp>> selectList(
|
||||
@PathVariable("ruleId") Long ruleId
|
||||
){
|
||||
return Result.success(ruleVersionService.selectList(ruleId));
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@Operation(summary = "规则版本接口添加",description = "根据客户需求创建对应规则版本")
|
||||
public Result<String> add(
|
||||
@Validated @RequestBody RuleVersionAddReq ruleVersionAddReq
|
||||
){
|
||||
ruleVersionService.save(RuleVersion.addBuild(ruleVersionAddReq));
|
||||
return Result.success(null,"操作成功");
|
||||
}
|
||||
|
||||
@PutMapping("/upd")
|
||||
@Operation(summary = "规则版本接口修改",description = "对激活、测试、状态等进行修改")
|
||||
public Result<String> update(
|
||||
@Schema(title = "客户ID",type = "Long",defaultValue = "1",description = "修改接口规则版本信息需要唯一条件")
|
||||
@PathVariable("ruleVersionId") Long ruleVersionId,
|
||||
@Validated @RequestBody RuleVersionUpdReq ruleVersionUpdReq){
|
||||
ruleVersionService.updateStatus(ruleVersionId,ruleVersionUpdReq);
|
||||
return Result.success(null,"操作成功");
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package com.muyu.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.muyu.common.domain.RuleVersion;
|
||||
import com.muyu.common.domain.req.RuleVersionUpdReq;
|
||||
import com.muyu.common.domain.resp.RuleVersionResp;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author:蓬叁
|
||||
* @Package:com.muyu.mapper
|
||||
* @Project:cloud-rule
|
||||
* @name:RuleVersionMapper
|
||||
* @Date:2024/8/27 上午11:45
|
||||
*/
|
||||
@Mapper
|
||||
public interface RuleVersionMapper extends BaseMapper<RuleVersion> {
|
||||
List<RuleVersionResp> selectByIdList(@Param("ruleId") Long ruleId);
|
||||
|
||||
void updateStatus(@Param("ruleVersionId") Long ruleVersionId, RuleVersionUpdReq ruleVersionUpdReq);
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package com.muyu.servier;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.muyu.common.domain.RuleVersion;
|
||||
import com.muyu.common.domain.req.RuleVersionUpdReq;
|
||||
import com.muyu.common.domain.resp.RuleVersionResp;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author:蓬叁
|
||||
* @Package:com.muyu.servier
|
||||
* @Project:cloud-rule
|
||||
* @name:RuleVersionServier
|
||||
* @Date:2024/8/27 上午11:46
|
||||
*/
|
||||
public interface RuleVersionService extends IService<RuleVersion> {
|
||||
List<RuleVersionResp> selectList(Long ruleId);
|
||||
|
||||
void updateStatus(Long ruleVersionId, RuleVersionUpdReq ruleVersionUpdReq);
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package com.muyu.servier.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.muyu.common.domain.RuleVersion;
|
||||
import com.muyu.common.domain.req.RuleVersionUpdReq;
|
||||
import com.muyu.common.domain.resp.RuleVersionResp;
|
||||
import com.muyu.mapper.RuleVersionMapper;
|
||||
import com.muyu.servier.RuleVersionService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author:蓬叁
|
||||
* @Package:com.muyu.servier.impl
|
||||
* @Project:cloud-rule
|
||||
* @name:RuleVersionServiceImpl
|
||||
* @Date:2024/8/27 上午11:47
|
||||
*/
|
||||
@Service
|
||||
public class RuleVersionServiceImpl
|
||||
extends ServiceImpl<RuleVersionMapper, RuleVersion>
|
||||
implements RuleVersionService {
|
||||
|
||||
@Autowired private RuleVersionMapper ruleVersionMapper;
|
||||
|
||||
@Override
|
||||
public List<RuleVersionResp> selectList(Long ruleId) {
|
||||
List<RuleVersionResp> ruleVersion = ruleVersionMapper.selectByIdList(ruleId);
|
||||
return ruleVersion;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateStatus(Long ruleVersionId, RuleVersionUpdReq ruleVersionUpdReq) {
|
||||
ruleVersionMapper.updateStatus(ruleVersionId,ruleVersionUpdReq);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.@//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.muyu.mapper.RuleVersionMapper">
|
||||
<update id="updateStatus">
|
||||
UPDATE `rule_version` SET
|
||||
<if test="ruleVersionActivate != null">
|
||||
`rule_version_activate` = NULL,
|
||||
</if>
|
||||
<if test="ruleVersionStatus != null">
|
||||
`rule_version_status` = NULL,
|
||||
</if>
|
||||
<if test="ruleVersionTest != null">
|
||||
`rule_version_test` = NULL
|
||||
</if>
|
||||
WHERE `rule_version_id` = #{ruleVersionId};
|
||||
</update>
|
||||
<select id="selectByIdList" resultType="com.muyu.common.domain.resp.RuleVersionResp">
|
||||
SELECT
|
||||
rule_version_id,
|
||||
rule_id,
|
||||
rule_version_type,
|
||||
rule_version_name,
|
||||
rule_version_code,
|
||||
rule_version_activate,
|
||||
rule_version_status,
|
||||
rule_version_test,
|
||||
rule_version_text,
|
||||
rule_version_remark
|
||||
FROM
|
||||
rule_version
|
||||
WHERE
|
||||
rule_id = #{ruleId}
|
||||
</select>
|
||||
</mapper>
|
Loading…
Reference in New Issue