版本2.0更新

This commit is contained in:
yunian
2022-06-23 16:27:20 +08:00
parent 5a9e9a03f5
commit db6b7991af
899 changed files with 72581 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ddp-strategyx</artifactId>
<groupId>com.fibo.ddp</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ddp-strategyx-guide-rule</artifactId>
</project>

View File

@@ -0,0 +1,251 @@
package com.fibo.ddp.strategyx.guiderule.controller;
import com.fibo.ddp.common.model.common.ResponseEntityBuilder;
import com.fibo.ddp.common.model.common.ResponseEntityDto;
import com.fibo.ddp.common.model.common.enums.ErrorCodeEnum;
import com.fibo.ddp.common.model.common.requestParam.UpdateFolderParam;
import com.fibo.ddp.common.model.common.requestParam.UpdateStatusParam;
import com.fibo.ddp.common.model.strategyx.guiderule.request.RuleListParamV2;
import com.fibo.ddp.common.model.strategyx.guiderule.vo.RuleVo;
import com.fibo.ddp.common.service.monitor.logger.ArchivesLog;
import com.fibo.ddp.common.service.strategyx.guiderule.RuleService;
import com.fibo.ddp.common.utils.constant.OpTypeConst;
import com.fibo.ddp.common.utils.exception.ApiException;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
@Controller("ruleControllerV3")
@RequestMapping("v3/rule")
public class RuleInfoController {
@Autowired
private RuleService ruleService;
/**
* @api {POST} /v3/rule/getRuleInfo/{userId} 3.19. V3获取rule信息
* @apiGroup knowledge
* @apiVersion 2.0.0
* @apiParam {Long} userId : 规则id
* @apiSuccess {String} status 状态1成功0失败
* @apiParamExample {json} 请求示例:
* {}
* @apiSuccessExample {json} 成功返回数据示例:
* {"status":"1","error":"00000000","msg":null,"data":{"userId":666,"name":"2021_4_6测试接口","versionCode":"test2021_4_6第二次输入","description":"接口测试","priority":0,"parentId":0,"author":135,"userId":135,"organId":46,"engineId":null,"status":1,"type":1,"isNon":null,"content":"test","created":"2021-04-06T08:38:17.000+00:00","updated":"2021-04-07T05:12:52.000+00:00","ruleType":0,"ruleAudit":2,"score":0,"lastLogical":"","ruleConditionVo":{"userId":14,"logical":"&&","fieldId":null,"operator":null,"fieldValue":null,"ruleId":666,"parentId":0,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[{"userId":15,"logical":null,"fieldId":null,"operator":">","fieldValue":"1000","ruleId":666,"parentId":14,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null},{"userId":16,"logical":null,"fieldId":null,"operator":"<","fieldValue":"10000","ruleId":666,"parentId":14,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null}],"tempParentId":null},"ruleContentInfoList":[{"userId":16,"fieldId":10000,"fieldValue":"test01","ruleId":666},{"userId":17,"fieldId":10000,"fieldValue":"test02","ruleId":666}]}}
*/
@ResponseBody
@RequestMapping(value = "getRuleInfo/{id}", method = RequestMethod.POST)
public ResponseEntityDto<RuleVo> getRuleInfo(@PathVariable Long id) {
if (id == null) {
throw new ApiException(ErrorCodeEnum.PARAMS_EXCEPTION.getCode(), ErrorCodeEnum.PARAMS_EXCEPTION.getMessage());
}
RuleVo ruleVo = ruleService.queryById(id,2);
ResponseEntityDto<RuleVo> ruleResponseEntityDto = ResponseEntityBuilder.buildNormalResponse(ruleVo);
return ruleResponseEntityDto;
}
/**
* @api {POST} /v3/rule/getRuleList 3.20. V3规则 列表 list
* @apiGroup knowledge
* @apiVersion 2.0.0
* @apiParam {Integer} [pageNum] 第几页有默认值1
* @apiParam {Integer} [pageSize] 每页的数量有默认值10
* @apiParam {object} [ruleInfo] 查询条件rule对象不加查询条件则返回全部以下参数未此对象的字段
* @apiParam (ruleInfo) {Long} [userId] rule的id
* @apiParam (ruleInfo) {String} [name] rule的名字
* @apiParam (ruleInfo) {String} [versionCode] rule的代码
* @apiParam (ruleInfo) {String} [description] rule的描述信息
* @apiParam (ruleInfo) {Integer} [priority] 优先级
* @apiParam (ruleInfo) {String} [parentId] 父节点id文件夹id
* @apiParam (ruleInfo) {Integer} [priority] 优先级
* @apiParam (ruleInfo) {Long} [author] 用户id
* @apiParam (ruleInfo) {Long} [userId] 用户id
* @apiParam (ruleInfo) {Long} [organId] 组织id
* @apiParam (ruleInfo) {Integer} [engineId] 引擎id原表内容未用到
* @apiParam (ruleInfo) {Integer} [status] 状态id0 :停用 1 : 启用,-1删除
* @apiParam (ruleInfo) {Integer} [type] 规则类型0 : 系统的规则 1组织的规则 2 引擎的规则)
* @apiParam (ruleInfo) {Integer} [isNon] 逻辑关系“非”01
* @apiParam (ruleInfo) {String} [content] 规则执行内容
* @apiParam (ruleInfo) {Integer} [ruleType] 规则类型0硬性拒绝规则1加减分规则
* @apiParam (ruleInfo) {Integer} [ruleAudit] 规则审核2 终止5 继续)
* @apiParam (ruleInfo) {Integer} [score] 规则得分
* @apiParam (ruleInfo) {String} [lastLogical] 最后逻辑(原表内容未用到)
* @apiSuccess {String} status 状态: 1成功, 0失败
* @apiParamExample {json} 请求示例:
* {"pageNum":1,"pageSize":10,"ruleInfo":{"userId":666,"name":"2021_4_6测试接口","versionCode":"test2021_4_6第二次输入","description":"接口测试","priority":0,"parentId":0,"author":135,"userId":135,"organId":46,"engineId":null,"status":1,"type":1,"isNon":null,"content":"test","created":"2021-04-06T08:38:17.000+00:00","updated":"2021-04-06T09:07:27.000+00:00","ruleType":0,"ruleAudit":2,"score":0,"lastLogical":""}}
* @apiSuccessExample {json} 成功返回数据示例:
* {"status":"1","error":"00000000","msg":null,"data":{"userId":666,"name":"2021_4_6测试接口","versionCode":"test2021_4_6第二次输入","description":"接口测试","priority":0,"parentId":0,"author":135,"userId":135,"organId":46,"engineId":null,"status":1,"type":1,"isNon":null,"content":"test","created":"2021-04-06T08:38:17.000+00:00","updated":"2021-04-07T05:12:52.000+00:00","ruleType":0,"ruleAudit":2,"score":0,"lastLogical":"","ruleConditionVo":{"userId":14,"logical":"&&","fieldId":null,"operator":null,"fieldValue":null,"ruleId":666,"parentId":0,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[{"userId":15,"logical":null,"fieldId":null,"operator":">","fieldValue":"1000","ruleId":666,"parentId":14,"conditionType":0,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null},{"userId":16,"logical":null,"fieldId":null,"operator":"<","fieldValue":"10000","ruleId":666,"parentId":14,"conditionType":0,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null},{"userId":14,"logical":"&&","fieldId":null,"operator":null,"fieldValue":null,"ruleId":666,"parentId":0,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[{"userId":14,"logical":"&&","fieldId":null,"operator":null,"fieldValue":null,"ruleId":666,"parentId":0,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[{"userId":15,"logical":null,"fieldId":null,"operator":">","fieldValue":"1000","ruleId":666,"parentId":14,"conditionType":0,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null},{"userId":16,"logical":null,"fieldId":null,"operator":"<","fieldValue":"10000","ruleId":666,"parentId":14,"conditionType":0,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null}],"tempParentId":null},{"userId":15,"logical":null,"fieldId":null,"operator":">","fieldValue":"1000","ruleId":666,"parentId":14,"conditionType":0,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null},{"userId":16,"logical":null,"fieldId":null,"operator":"<","fieldValue":"10000","ruleId":666,"parentId":14,"conditionType":0,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null}],"tempParentId":null},{"userId":14,"logical":"&&","fieldId":null,"operator":null,"fieldValue":null,"ruleId":666,"parentId":0,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null}],"tempParentId":null},"ruleContentInfoList":[{"userId":16,"fieldId":10000,"fieldValue":"test01","ruleId":666},{"userId":17,"fieldId":10000,"fieldValue":"test02","ruleId":666}]}}
*/
@ResponseBody
@RequestMapping(value = "getRuleList", method = RequestMethod.POST)
public ResponseEntityDto getRuleList(@RequestBody RuleListParamV2 ruleListParam) {
PageInfo pageInfo = ruleService.queryByEntity(ruleListParam);
HashMap<String, Object> responseMap = new HashMap<>();
responseMap.put("pageInfo", pageInfo);
responseMap.put("klist", pageInfo.getList());
pageInfo.setList(null);
ResponseEntityDto ruleResponseEntityDto = ResponseEntityBuilder.buildNormalResponse(responseMap);
return ruleResponseEntityDto;
}
/**
* @api {POST} /v3/rule/addRule 3.21. V3添加规则
* @apiGroup knowledge
* @apiVersion 2.0.0
* @apiParam {String} name rule的名字
* @apiParam {String} versionCode rule的代码
* @apiParam {String} description rule的描述信息
* @apiParam {Integer} priority 优先级
* @apiParam {String} parentId 父节点id文件夹id
* @apiParam {Integer} [status] 状态id0 :停用 1 : 启用,-1删除默认启用
* @apiParam {Integer} [type] 规则类型0 : 系统的规则 1组织的规则 2 引擎的规则)默认组织规则
* @apiParam {Integer} [isNon] 逻辑关系“非”01
* @apiParam {String} [content] 规则执行内容
* @apiParam {Integer} ruleType 规则类型0硬性拒绝规则1加减分规则
* @apiParam {Integer} [ruleAudit] 规则审核2 终止5 继续根据ruleType推定拒绝规则为终止
* @apiParam {Integer} [score] 规则得分
* @apiParam {String} [lastLogical] 最后逻辑(原表内容未用到)
* @apiParam {object} [ruleConditionVo] 规则对应的一颗规则条件的树形对象
* @apiParam (ruleConditionVo) {String} logical 逻辑符号&&、||(仅关系表达式)
* @apiParam (ruleConditionVo) {Long} fieldId 字段id仅条件表达式
* @apiParam (ruleConditionVo) {String} operator 操作符(仅条件表达式)
* @apiParam (ruleConditionVo) {String} fieldValue 字段值(仅条件表达式)
* @apiParam (ruleConditionVo) {Integer} conditionType 条件类型1.关系表达式2.条件表达式
* @apiParam (ruleConditionVo) {List} [children] 子对象列表,和所属对象相同
* @apiParam {List} [ruleContentInfoList] 同一规则下的content对象list
* @apiParam (ruleContentInfoList) {Long} [fieldId] 字段id
* @apiParam (ruleContentInfoList) {String} [fieldValue] 字段值
* @apiSuccess {String} status 状态: 1成功, 0失败
* @apiParamExample {json} 请求示例:
* {"name":"2021_4_6测试接口02","versionCode":"test2021_4_7","description":"接口测试","priority":0,"parentId":0,"author":135,"userId":135,"organId":46,"status":1,"type":1,"isNon":null,"content":"test","ruleType":0,"ruleAudit":2,"score":0,"lastLogical":"","ruleConditionVo":{"logical":"&&","conditionType":"1","children":[{"fieldId":"0","operator":">","fieldValue":"10","conditionType":"1"},{"fieldId":"0","operator":"<","fieldValue":"100","conditionType":"1"}]},"ruleContentInfoList":[{"fieldId":"10000","fieldValue":"test1"},{"fieldId":"10000","fieldValue":"test2"}]}
* @apiSuccessExample {json} 成功返回数据示例:
* {"status":"1","error":"00000000","msg":null,"data":{"userId":668,"name":"2021_4_6测试接口02","versionCode":"test2021_4_7","description":"接口测试","priority":0,"parentId":0,"author":135,"userId":135,"organId":46,"engineId":null,"status":1,"type":1,"isNon":null,"content":"test","created":null,"updated":null,"ruleType":0,"ruleAudit":2,"score":0,"lastLogical":"","ruleConditionVo":{"userId":17,"logical":"&&","fieldId":null,"operator":null,"fieldValue":null,"ruleId":668,"parentId":0,"conditionType":1,"createTime":"2021-04-07T08:09:17.000+00:00","updateTime":null,"insertTempId":null,"children":[{"userId":18,"logical":null,"fieldId":null,"operator":">","fieldValue":"10","ruleId":668,"parentId":17,"conditionType":1,"createTime":"2021-04-07T08:09:17.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null},{"userId":19,"logical":null,"fieldId":null,"operator":"<","fieldValue":"100","ruleId":668,"parentId":17,"conditionType":1,"createTime":"2021-04-07T08:09:17.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null}],"tempParentId":null},"ruleContentInfoList":[{"userId":18,"fieldId":10000,"fieldValue":"test1","ruleId":668},{"userId":19,"fieldId":10000,"fieldValue":"test2","ruleId":668}]}}
*/
@ResponseBody
@RequestMapping(value = "addRule", method = RequestMethod.POST)
@ArchivesLog(operationType = OpTypeConst.SAVE_RULE)
public ResponseEntityDto<RuleVo> addRule(@RequestBody RuleVo ruleVo) {
RuleVo insert = ruleService.insertRuleInfo(ruleVo);
ResponseEntityDto<RuleVo> ruleResponseEntityDto = ResponseEntityBuilder.buildNormalResponse(insert);
return ruleResponseEntityDto;
}
/**
* @api {POST} /v3/rule/updateRule 3.22. V3修改规则
* @apiGroup knowledge
* @apiVersion 2.0.0
* @apiParam {Long} userId rule的id
* @apiParam {String} name rule的名字
* @apiParam {String} versionCode rule的代码
* @apiParam {String} description rule的描述信息
* @apiParam {Integer} priority 优先级
* @apiParam {String} parentId 父节点id文件夹id
* @apiParam {Long} author 用户id
* @apiParam {Long} userId 用户id
* @apiParam {Long} organId 组织id
* @apiParam {Integer} [engineId] 引擎id原表内容未用到
* @apiParam {Integer} status 状态id0 :停用 1 : 启用,-1删除
* @apiParam {Integer} type 规则类型0 : 系统的规则 1组织的规则 2 引擎的规则)
* @apiParam {Integer} [isNon] 逻辑关系“非”01
* @apiParam {String} [content] 规则执行内容
* @apiParam {Integer} ruleType 规则类型0硬性拒绝规则1加减分规则
* @apiParam {Integer} [ruleAudit] 规则审核2 终止5 继续根据ruleType推定拒绝规则为终止
* @apiParam {Integer} [score] 规则得分
* @apiParam {String} [lastLogical] 最后逻辑(原表内容未用到)
* @apiParam {object} [ruleConditionVo] 规则对应的一颗规则条件的树形对象
* @apiParam (ruleConditionVo) {Long} [userId] 条件id
* @apiParam (ruleConditionVo) {String} logical 逻辑符号&&、||(仅关系表达式)
* @apiParam (ruleConditionVo) {Long} fieldId 字段id仅条件表达式
* @apiParam (ruleConditionVo) {String} operator 操作符(仅条件表达式)
* @apiParam (ruleConditionVo) {String} fieldValue 字段值(仅条件表达式)
* @apiParam (ruleConditionVo) {Long} [ruleId] 规则id
* @apiParam (ruleConditionVo) {Long} [parentId] 条件父节点id
* @apiParam (ruleConditionVo) {Integer} conditionType 条件类型1.关系表达式2.条件表达式
* @apiParam (ruleConditionVo) {List} [children] 子对象列表,和所属对象相同
* @apiParam {List} [ruleContentInfoList] 同一规则下的content对象list
* @apiParam (ruleContentInfoList) {Long} [userId] content主键id
* @apiParam (ruleContentInfoList) {Long} fieldId 字段id
* @apiParam (ruleContentInfoList) {String} fieldValue 字段值
* @apiParam (ruleContentInfoList) {Long} [ruleId] 规则id
* @apiSuccess {String} status 状态: 1成功, 0失败
* @apiParamExample {json} 请求示例:
* {"userId":667,"name":"2021_4_7测试接口","versionCode":"test2021_4_7第二次输入","description":"接口测试","priority":0,"parentId":0,"author":135,"userId":135,"organId":46,"engineId":null,"status":1,"type":1,"isNon":null,"content":"test","created":"2021-04-06T08:38:17.000+00:00","updated":null,"ruleType":0,"ruleAudit":2,"score":0,"lastLogical":"","ruleConditionVo":{"userId":5,"logical":"&&","fieldId":null,"operator":null,"fieldValue":null,"ruleId":666,"parentId":0,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[{"userId":6,"logical":null,"fieldId":0,"operator":">","fieldValue":"1000","ruleId":666,"parentId":5,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null},{"userId":7,"logical":null,"fieldId":0,"operator":"<","fieldValue":"10000","ruleId":666,"parentId":5,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null}],"tempParentId":null},"ruleContentInfoList":[{"userId":10,"fieldId":"10000","fieldValue":"test01","ruleId":666},{"userId":11,"fieldId":"10000","fieldValue":"test02","ruleId":666}]}
* @apiSuccessExample {json} 成功返回数据示例:
* {"status":"1","error":"00000000","msg":null,"data":{"userId":667,"name":"2021_4_7测试接口","versionCode":"test2021_4_7第二次输入","description":"接口测试","priority":0,"parentId":0,"author":135,"userId":135,"organId":46,"engineId":null,"status":1,"type":1,"isNon":null,"content":"test","created":"2021-04-06T08:38:17.000+00:00","updated":null,"ruleType":0,"ruleAudit":2,"score":0,"lastLogical":"","ruleConditionVo":{"userId":20,"logical":"&&","fieldId":null,"operator":null,"fieldValue":null,"ruleId":667,"parentId":0,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[{"userId":21,"logical":null,"fieldId":null,"operator":">","fieldValue":"1000","ruleId":667,"parentId":20,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null},{"userId":22,"logical":null,"fieldId":null,"operator":"<","fieldValue":"10000","ruleId":667,"parentId":20,"conditionType":1,"createTime":"2021-04-06T08:38:26.000+00:00","updateTime":null,"insertTempId":null,"children":[],"tempParentId":null}],"tempParentId":null},"ruleContentInfoList":[{"userId":20,"fieldId":10000,"fieldValue":"test01","ruleId":667},{"userId":21,"fieldId":10000,"fieldValue":"test02","ruleId":667}]}}
*/
@ResponseBody
@RequestMapping(value = "updateRule", method = RequestMethod.POST)
@ArchivesLog(operationType = OpTypeConst.UPDATE_RULE)
public ResponseEntityDto<RuleVo> updateRule(@RequestBody RuleVo rule) {
RuleVo update = ruleService.updateRuleInfo(rule);
ResponseEntityDto<RuleVo> ruleResponseEntityDto = ResponseEntityBuilder.buildNormalResponse(update);
return ruleResponseEntityDto;
}
/**
* @api {POST} /v3/rule/updateRuleStatus 3.23. V3修改状态
* @apiGroup knowledge
* @apiVersion 2.0.0
* @apiParam {LongArray} ids 规则id数组
* @apiParam {Integer} status 目标状态0未启用1启用2删除
* @apiSuccess {String} status 状态1成功0失败
* @apiParamExample {json} 请求示例:
* {"ids":[666,667],"status":"1"}
* @apiSuccessExample {json} 成功返回数据示例:
* {"status":"1","error":"00000000","msg":null,"data":true}
*/
@ResponseBody
@RequestMapping(value = "updateRuleStatus", method = RequestMethod.POST)
@ArchivesLog(operationType = OpTypeConst.UPDATE_RULE_STATUS)
public ResponseEntityDto updateStatus(@RequestBody UpdateStatusParam param) {
UpdateStatusParam.checkParam(param);
boolean updateResult = ruleService.updateStatus(param.getList(), param.getStatus());
if (updateResult) {
return ResponseEntityBuilder.buildNormalResponse(updateResult);
} else {
return ResponseEntityBuilder.buildErrorResponse(ErrorCodeEnum.SERVER_ERROR);
}
}
@ResponseBody
@RequestMapping(value = "updateRuleParent", method = RequestMethod.POST)
@ArchivesLog(operationType = OpTypeConst.UPDATE_RULE_STATUS)
public ResponseEntityDto updateParent(@RequestBody UpdateFolderParam param) {
UpdateFolderParam.checkNotNull(param);
boolean updateResult = ruleService.updateParent(param.getIds(), param.getFolderId());
if (updateResult) {
return ResponseEntityBuilder.buildNormalResponse(updateResult);
} else {
return ResponseEntityBuilder.buildErrorResponse(ErrorCodeEnum.SERVER_ERROR);
}
}
// 查询简单规则
@ResponseBody
@RequestMapping(value = "getSimpleRule/{id}", method = RequestMethod.POST)
@ArchivesLog(operationType = OpTypeConst.SELECT_SAMPLE_RULE)
public ResponseEntityDto<RuleVo> getSimpleRule(@PathVariable Long id) {
if (id == null) {
throw new ApiException(ErrorCodeEnum.PARAMS_EXCEPTION.getCode(), ErrorCodeEnum.PARAMS_EXCEPTION.getMessage());
}
RuleVo ruleVo = ruleService.queryById(id,1);
ResponseEntityDto<RuleVo> ruleResponseEntityDto = ResponseEntityBuilder.buildNormalResponse(ruleVo);
return ruleResponseEntityDto;
}
@ResponseBody
@RequestMapping(value = "getScriptRule/{id}", method = RequestMethod.POST)
public ResponseEntityDto<RuleVo> getScriptRule(@PathVariable Long id) {
if (id == null) {
throw new ApiException(ErrorCodeEnum.PARAMS_EXCEPTION.getCode(), ErrorCodeEnum.PARAMS_EXCEPTION.getMessage());
}
RuleVo ruleVo = ruleService.queryById(id,3);
ResponseEntityDto<RuleVo> ruleResponseEntityDto = ResponseEntityBuilder.buildNormalResponse(ruleVo);
return ruleResponseEntityDto;
}
}

View File

@@ -0,0 +1,90 @@
package com.fibo.ddp.strategyx.guiderule.controller;
import com.fibo.ddp.common.model.common.ResponseEntityBuilder;
import com.fibo.ddp.common.model.common.ResponseEntityDto;
import com.fibo.ddp.common.model.common.enums.ErrorCodeEnum;
import com.fibo.ddp.common.model.common.requestParam.StatusParam;
import com.fibo.ddp.common.model.strategyx.guiderule.vo.RuleVersionVo;
import com.fibo.ddp.common.service.monitor.logger.ArchivesLog;
import com.fibo.ddp.common.service.strategyx.guiderule.RuleVersionService;
import com.fibo.ddp.common.utils.constant.OpTypeConst;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Controller
@ResponseBody
@RequestMapping("/v3/ruleVersion")
public class RuleVersionController {
@Autowired
private RuleVersionService versionService;
/**
* 查询指定版本下的内容
* @param versionId
* @return
*/
@PostMapping("/getRuleVersionInfo/{versionId}")
public ResponseEntityDto getRuleVersionInfo(@PathVariable Long versionId) {
RuleVersionVo version =versionService.queryById(versionId);
return ResponseEntityBuilder.buildNormalResponse(version);
}
/**
* 新增一个版本
* @param version
* @return
*/
@PostMapping("/addRuleVersion")
@ArchivesLog(operationType = OpTypeConst.SAVE_RULE_VERSION)
public ResponseEntityDto addRuleVersion(@RequestBody RuleVersionVo version){
boolean b = versionService.addVersion(version);
if (!b){
return ResponseEntityBuilder.buildErrorResponse(ErrorCodeEnum.PARAMS_EXCEPTION);
}
List< RuleVersionVo> ruleVersionList = versionService.queryVersionListByRuleId(version.getRuleId());
return ResponseEntityBuilder.buildNormalResponse(ruleVersionList);
}
/**
* 复制版本
* @param version
* @return
*/
@PostMapping("/copyRuleVersion")
@ArchivesLog(operationType = OpTypeConst.COPY_RULE_VERSION)
public ResponseEntityDto copyRuleVersion(@RequestBody RuleVersionVo version){
boolean b = versionService.copyVersion(version);
List< RuleVersionVo> ruleVersionList = versionService.queryVersionListByRuleId(version.getRuleId());
return ResponseEntityBuilder.buildNormalResponse(ruleVersionList);
}
/**
* 修改版本
* @param version
* @return
*/
@PostMapping("/updateRuleVersion")
@ArchivesLog(operationType = OpTypeConst.UPDATE_RULE_VERSION)
public ResponseEntityDto updateRuleVersion(@RequestBody RuleVersionVo version){
boolean b = versionService.updateVersion(version);
List<RuleVersionVo> ruleVersionList = versionService.queryVersionListByRuleId(version.getRuleId());
return ResponseEntityBuilder.buildNormalResponse(ruleVersionList);
}
/**
* 修改状态
* @param statusParam
* @return
*/
@RequestMapping(value = "/updateRuleVersionStatus", method = RequestMethod.POST)
@ArchivesLog(operationType = OpTypeConst.UPDATE_RULE_VERSION_STATUS)
public ResponseEntityDto<Object> updateStatus(@RequestBody StatusParam statusParam) {
versionService.updateStatus(statusParam);
List<RuleVersionVo> ruleVersionList = versionService.queryVersionListByRuleId(statusParam.getStrategyId());
return ResponseEntityBuilder.buildNormalResponse(ruleVersionList);
}
}

View File

@@ -0,0 +1,47 @@
package com.fibo.ddp.strategyx.guiderule.controller.approval;
import com.fibo.ddp.common.model.approval.ApprovalConfig;
import com.fibo.ddp.common.model.common.ResponseEntityBuilder;
import com.fibo.ddp.common.model.common.ResponseEntityDto;
import com.fibo.ddp.common.model.common.enums.ErrorCodeEnum;
import com.fibo.ddp.common.model.common.requestParam.QueryListParam;
import com.fibo.ddp.common.model.common.requestParam.StatusParam;
import com.fibo.ddp.common.service.approval.ApprovalConfigService;
import com.github.pagehelper.PageInfo;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* (ApprovalConfig)表控制层
*/
@RestController
@RequestMapping("/v3/approvalConfig")
public class ApprovalConfigController {
/**
* 服务对象
*/
@Resource
private ApprovalConfigService approvalConfigService;
@PostMapping("/getApprovalList")
public ResponseEntityDto getApprovalList(@RequestBody QueryListParam<ApprovalConfig> param) {
PageInfo<ApprovalConfig> pageInfo = approvalConfigService.queryList(param);
return ResponseEntityBuilder.buildNormalResponse(pageInfo);
}
@PostMapping("/updateApprovalStatus")
public ResponseEntityDto updateApprovalStatus(@RequestBody StatusParam<ApprovalConfig> statusParam) {
boolean result = approvalConfigService.updateApprovalStatus(statusParam);
if (result){
return ResponseEntityBuilder.buildNormalResponse();
}
return ResponseEntityBuilder.buildErrorResponse(ErrorCodeEnum.PARAMS_EXCEPTION);
}
}

View File

@@ -0,0 +1,50 @@
package com.fibo.ddp.strategyx.guiderule.controller.approval;
import com.fibo.ddp.common.model.approval.Approval;
import com.fibo.ddp.common.model.common.ResponseEntityBuilder;
import com.fibo.ddp.common.model.common.ResponseEntityDto;
import com.fibo.ddp.common.model.common.enums.ErrorCodeEnum;
import com.fibo.ddp.common.model.common.requestParam.QueryListParam;
import com.fibo.ddp.common.model.common.requestParam.StatusParam;
import com.fibo.ddp.common.service.approval.ApprovalService;
import com.github.pagehelper.PageInfo;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
@RequestMapping("/v3/approval")
public class ApprovalController {
/**
* 服务对象
*/
@Resource
private ApprovalService approvalService;
@PostMapping("/getApprovalList")
public ResponseEntityDto getApprovalList(@RequestBody QueryListParam<Approval> param) {
PageInfo<Approval> pageInfo = approvalService.queryList(param);
return ResponseEntityBuilder.buildNormalResponse(pageInfo);
}
@PostMapping("/updateApplyStatus")
public ResponseEntityDto updateApplyStatus(@RequestBody StatusParam<Approval> statusParam) {
boolean result = approvalService.updateApplyStatus(statusParam);
if (result){
return ResponseEntityBuilder.buildNormalResponse();
}
return ResponseEntityBuilder.buildErrorResponse(ErrorCodeEnum.PARAMS_EXCEPTION);
}
@PostMapping("/updateStatus")
public ResponseEntityDto updateStatus(@RequestBody StatusParam statusParam) {
boolean result = approvalService.updateStatus(statusParam);
if (result){
return ResponseEntityBuilder.buildNormalResponse();
}
return ResponseEntityBuilder.buildErrorResponse(ErrorCodeEnum.PARAMS_EXCEPTION);
}
}

View File

@@ -0,0 +1,89 @@
package com.fibo.ddp.strategyx.guiderule.controller.cignacmb;
import com.fibo.ddp.common.model.cignacmb.request.EventLogDetailParam;
import com.fibo.ddp.common.model.cignacmb.request.EventLogParam;
import com.fibo.ddp.common.model.cignacmb.request.RuleLogParam;
import com.fibo.ddp.common.model.cignacmb.response.EventLogDetailResponse;
import com.fibo.ddp.common.model.cignacmb.response.EventLogResponse;
import com.fibo.ddp.common.model.cignacmb.response.RuleLogResponse;
import com.fibo.ddp.common.model.common.ResponseEntityBuilder;
import com.fibo.ddp.common.model.common.ResponseEntityDto;
import com.fibo.ddp.common.model.common.enums.ErrorCodeEnum;
import com.fibo.ddp.common.service.cignacmb.BusinessEventLogService;
import com.fibo.ddp.common.service.cignacmb.BusinessRuleLogService;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
/**
* 招商信诺报表接口
*/
@RestController
@RequestMapping("/cignacmb")
public class CignaCmbController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private BusinessRuleLogService ruleLogService;
@Autowired
private BusinessEventLogService eventLogService;
/**
* 规则报表查询
* @param param
* @return
*/
@RequestMapping(value = "getRuleLogList", method = RequestMethod.POST)
public ResponseEntityDto<Object> getRuleLogList(@RequestBody RuleLogParam param){
// “规则编号、规则名称、规则执行时间段” 不能同时为空
if(StringUtils.isBlank(param.getRuleCode()) && StringUtils.isBlank(param.getRuleName())
&& (param.getStartTime() == null || param.getEndTime() == null)){
return ResponseEntityBuilder.buildErrorResponse(ErrorCodeEnum.PARAMS_EXCEPTION);
}
PageInfo<RuleLogResponse> pageInfo = ruleLogService.getRuleLogList(param);
return ResponseEntityBuilder.buildNormalResponse(pageInfo);
}
/**
* 事件报表查询
* @param param
* @return
*/
@RequestMapping(value = "getEventLogList", method = RequestMethod.POST)
public ResponseEntityDto<Object> getEventLogList(@RequestBody EventLogParam param){
// “事件流水号、执行时间段”不能同时为空
if(StringUtils.isBlank(param.getEventRequestId())
&& (param.getStartTime() == null || param.getEndTime() == null)){
return ResponseEntityBuilder.buildErrorResponse(ErrorCodeEnum.PARAMS_EXCEPTION);
}
PageInfo<EventLogResponse> pageInfo = eventLogService.getEventLogList(param);
return ResponseEntityBuilder.buildNormalResponse(pageInfo);
}
/**
* 事件对应规则输出详情
* @param param
* @return
*/
@RequestMapping(value = "getEventLogDetails", method = RequestMethod.POST)
public ResponseEntityDto<Object> getEventLogDetails(@RequestBody EventLogDetailParam param){
String ruleLogIds = param.getRuleLogIds();
if(StringUtils.isBlank(ruleLogIds)){
return ResponseEntityBuilder.buildNormalResponse();
}
List<String> ids = Arrays.asList(ruleLogIds.split(","));
List<EventLogDetailResponse> eventLogDetailResponses = ruleLogService.queryByIds(ids);
return ResponseEntityBuilder.buildNormalResponse(eventLogDetailResponses);
}
}

View File

@@ -0,0 +1,81 @@
package com.fibo.ddp.strategyx.guiderule.controller.cignacmb;
import com.fibo.ddp.common.model.cignacmb.req.BusinessRuleRelReq;
import com.fibo.ddp.common.model.common.ResponseEntityDto;
import com.fibo.ddp.common.service.cignacmb.ITBusinessRuleRelService;
import com.fibo.ddp.common.service.monitor.logger.ArchivesLog;
import com.fibo.ddp.common.utils.constant.OpTypeConst;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 业务类型与规则关联表 前端控制器
* </p>
*
* @author oldRose
* @since 2021-11-10
*/
@RestController
@RequestMapping("/businessRuleRel")
public class TBusinessRuleRelController {
@Autowired
private ITBusinessRuleRelService businessRuleRelService;
/**
* 新增业务类型和规则关联
*/
@PostMapping("/add")
@ArchivesLog(operationType = OpTypeConst.BUSINESS_RULE_REL_ADD)
public ResponseEntityDto<?> addBusinessRuleRel(@RequestBody BusinessRuleRelReq param) {
return businessRuleRelService.addBusinessRuleRel(param);
}
/**
* 编辑业务类型和规则关联
*/
@PostMapping("/edit")
@ArchivesLog(operationType = OpTypeConst.BUSINESS_RULE_REL_EDIT)
public ResponseEntityDto<?> editBusinessRuleRel(@RequestBody BusinessRuleRelReq param) {
return businessRuleRelService.editBusinessRuleRel(param);
}
/**
* 查看详情业务类型和规则关联
*/
@PostMapping("/detail")
@ArchivesLog(operationType = OpTypeConst.BUSINESS_RULE_REL_DETAIL)
public ResponseEntityDto<?> detailBusinessRuleRel(@RequestBody BusinessRuleRelReq param) {
return businessRuleRelService.detailBusinessRuleRel(param);
}
/**
* 删除详情业务类型和规则关联
*/
@PostMapping("/delete")
@ArchivesLog(operationType = OpTypeConst.BUSINESS_RULE_REL_DELETE)
public ResponseEntityDto<?> deleteBusinessRuleRel(@RequestBody BusinessRuleRelReq param) {
return businessRuleRelService.deleteBusinessRuleRel(param);
}
/**
* 获取投放计划列表分页(按修改时间,创建时间降序排列)
*/
@PostMapping("/list")
@ArchivesLog(operationType = OpTypeConst.BUSINESS_RULE_REL_PAGE)
public ResponseEntityDto<?> pageList(@RequestBody BusinessRuleRelReq param) {
return businessRuleRelService.pageList(param);
}
/**
* 根据业务类型查询对应规则
*/
@PostMapping("/queryByBusinessType")
@ArchivesLog(operationType = OpTypeConst.QUERY_BY_BUSINESSTYPE)
public ResponseEntityDto<?> queryByBusinessType(@RequestBody BusinessRuleRelReq param) {
return businessRuleRelService.queryByBusinessType(param);
}
}