cloud-rule/cloud-rule-server/src/main/java/com/muyu/controller/RuleVersionController.java

134 lines
4.9 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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 com.muyu.upload.ALiYunUpload;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Author蓬叁
* @Packagecom.muyu.controller
* @Projectcloud-rule
* @nameRuleVersionController
* @Date2024/8/27 上午11:42
*/
@Log4j2
@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));
}
/**
* 规则版本接口添加
* @param ruleVersionAddReq
* @return 添加结果
*/
@PostMapping("/add")
@Operation(summary = "规则版本接口添加",description = "根据客户需求创建对应规则版本")
public Result<String> add(
@Validated @RequestBody RuleVersionAddReq ruleVersionAddReq
){
ruleVersionService.save(RuleVersion.addBuild(ruleVersionAddReq));
Result<Object> objectResult = ALiYunUpload.uploadFiles(ruleVersionAddReq.getRuleVersionText(), ruleVersionAddReq.getRuleVersionType());
System.out.println(objectResult.getMsg());
return Result.success(null,"操作成功");
}
/**
* 规则版本接口修改
* @param ruleVersionId
* @param ruleVersionUpdReq
* @return 修改结果
*/
@PutMapping("/upd/{ruleVersionId}")
@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,"操作成功");
}
/**
* 根据ID获取规则版本信息
* @param ruleVersionId
* @return ID查询返回信息
*/
@GetMapping("/{ruleVersionId}")
@Operation(summary = "根据ID获取规则版本信息",description = "通过ID获取接口规则版本信息")
public Result<RuleVersion> findById(@PathVariable("ruleVersionId") Long ruleVersionId){
return Result.success(ruleVersionService.getById(ruleVersionId),"操作成功");
}
/**
*通过ID关闭激活
* @param ruleVersionId 请求ID
* @return 禁用结果
*/
@GetMapping("/unstart/{ruleVersionId}")
@Operation(summary = "通过ID关闭激活",description = "通过ID关闭激活之后禁止用户在使用此规则")
public Result<String> unstart(@PathVariable("ruleVersionId") Long ruleVersionId){
this.ruleVersionService.unstart(ruleVersionId);
return Result.success(null,"操作成功");
}
/**
*通过ID启动激活
* @param ruleVersionId 请求ID
* @return 启动结果
*/
@GetMapping("/start/{ruleVersionId}")
@Operation(summary = "通过ID启动激活",description = "通过ID启动激活之后禁止用户在使用此规则")
public Result<String> start(@PathVariable("ruleVersionId") Long ruleVersionId){
this.ruleVersionService.start(ruleVersionId);
return Result.success(null,"操作成功");
}
/**
* 生成规则版本代码
* @param ruleVersion
* @return 生成结果
*/
@PostMapping("/generatedCode")
@Operation(summary = "生成规则版本代码",description = "通过名称和编码生成版本类")
public Result<RuleVersion> generatedCode(
@Validated @RequestBody RuleVersion ruleVersion
){
return Result.success(ruleVersionService.generatedCode(ruleVersion));
}
}