数据有效性接口

This commit is contained in:
huangzj
2023-04-18 13:42:31 +08:00
parent 728a03afde
commit 20c5ebcbc7
12 changed files with 549 additions and 37 deletions

View File

@@ -0,0 +1,79 @@
package com.njcn.algorithm.controller.data;
import com.njcn.algorithm.pojo.param.CsDataEffectiveAddParm;
import com.njcn.algorithm.pojo.param.CsDataEffectiveAuditParm;
import com.njcn.algorithm.pojo.param.CsDataEffectiveQueryParm;
import com.njcn.algorithm.pojo.vo.AppBaseInformationVO;
import com.njcn.algorithm.pojo.vo.CsDataEffectiveVO;
import com.njcn.algorithm.service.CsDataEffectiveService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
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 java.util.List;
/**
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/4 9:02【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Slf4j
@RestController
@RequestMapping("/dataEffective")
@Api(tags = "数据有效性")
@AllArgsConstructor
public class DataEffectiveController extends BaseController {
private final CsDataEffectiveService csDataEffectiveService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/addDataEffective")
@ApiOperation("新增app数据有效性表")
@ApiImplicitParam(name = "csDataEffectiveAddParm", value = "新增app数据有效性表参数", required = true)
public HttpResult<Boolean> addDataEffective(@RequestBody @Validated CsDataEffectiveAddParm csDataEffectiveAddParm){
String methodDescribe = getMethodDescribe("addDataEffective");
boolean save = csDataEffectiveService.add (csDataEffectiveAddParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, save, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/auditDataEffective")
@ApiOperation("修改app数据有效性表")
@ApiImplicitParam(name = "auditParm", value = "修改app数据有效性表参数", required = true)
public HttpResult<Boolean> auditDataEffective(@RequestBody @Validated CsDataEffectiveAuditParm auditParm){
String methodDescribe = getMethodDescribe("auditDataEffective");
boolean save = csDataEffectiveService.auditDataEffective (auditParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, save, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryDataEffective")
@ApiOperation("查询app数据有效性表")
@ApiImplicitParam(name = "csDataEffectiveQueryParm", value = "查询app数据有效性表参数", required = true)
public HttpResult<List<CsDataEffectiveVO>> queryDataEffective(@RequestBody @Validated CsDataEffectiveQueryParm csDataEffectiveQueryParm ){
String methodDescribe = getMethodDescribe("queryDataEffective");
AppBaseInformationVO appBaseInformationVO = new AppBaseInformationVO();
List<CsDataEffectiveVO> list = csDataEffectiveService.queryDataEffective(csDataEffectiveQueryParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
}

View File

@@ -1,23 +1,11 @@
package com.njcn.algorithm.controller.dict;
import com.njcn.algorithm.pojo.param.CsDictAddParm;
import com.njcn.algorithm.pojo.vo.CsDictVO;
import com.njcn.algorithm.service.CsDictService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Description:
@@ -30,28 +18,28 @@ import java.util.List;
@Slf4j
@RestController
@RequestMapping("/dict")
@Api(tags = "字典表")
@Api(tags = "字典表/表结构更改弃用")
@AllArgsConstructor
public class DictDataController extends BaseController {
private final CsDictService csDictService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/addDict")
@ApiOperation("新增字典")
@ApiImplicitParam(name = "csDictAddParms", value = "新增项目参数", required = true)
public HttpResult<Boolean> addDict(@RequestBody @Validated List<CsDictAddParm> csDictAddParms){
String methodDescribe = getMethodDescribe("addDictType");
Boolean flag = csDictService.addDict(csDictAddParms);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryDictData")
@ApiOperation("查询字典")
@ApiImplicitParam(name = "dictType", value = "字典类型", required = true)
public HttpResult<List<CsDictVO>> queryDictData(@RequestParam("dictType")String dictType ){
String methodDescribe = getMethodDescribe("queryDictData");
List<CsDictVO> csDictVOList = csDictService.queryDictData(dictType);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csDictVOList, methodDescribe);
}
// private final CsDictService csDictService;
// @OperateInfo(info = LogEnum.BUSINESS_COMMON)
// @PostMapping("/addDict")
// @ApiOperation("新增字典")
// @ApiImplicitParam(name = "csDictAddParms", value = "新增项目参数", required = true)
// public HttpResult<Boolean> addDict(@RequestBody @Validated List<CsDictAddParm> csDictAddParms){
// String methodDescribe = getMethodDescribe("addDictType");
// Boolean flag = csDictService.addDict(csDictAddParms);
//
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
// }
// @OperateInfo(info = LogEnum.BUSINESS_COMMON)
// @PostMapping("/queryDictData")
// @ApiOperation("查询字典")
// @ApiImplicitParam(name = "dictType", value = "字典类型", required = true)
// public HttpResult<List<CsDictVO>> queryDictData(@RequestParam("dictType")String dictType ){
// String methodDescribe = getMethodDescribe("queryDictData");
// List<CsDictVO> csDictVOList = csDictService.queryDictData(dictType);
//
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csDictVOList, methodDescribe);
// }
}

View File

@@ -0,0 +1,16 @@
package com.njcn.algorithm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.algorithm.pojo.po.CsDataEffectivePO;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/18 9:49【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface CsDataEffectiveMapper extends BaseMapper<CsDataEffectivePO> {
}

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.algorithm.mapper.CsDataEffectiveMapper">
<resultMap id="BaseResultMap" type="com.njcn.algorithm.pojo.po.CsDataEffectivePO">
<!--@mbg.generated-->
<!--@Table cs_data_effective-->
<result column="project_id" jdbcType="VARCHAR" property="projectId" />
<result column="dev_id" jdbcType="VARCHAR" property="devId" />
<result column="register_time" jdbcType="TIMESTAMP" property="registerTime" />
<result column="retiree_time" jdbcType="TIMESTAMP" property="retireeTime" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
project_id, dev_id, register_time, retiree_time, create_by, create_time, update_by,
update_time
</sql>
</mapper>

View File

@@ -0,0 +1,47 @@
package com.njcn.algorithm.service;
import com.njcn.algorithm.pojo.param.CsDataEffectiveAddParm;
import com.njcn.algorithm.pojo.param.CsDataEffectiveAuditParm;
import com.njcn.algorithm.pojo.param.CsDataEffectiveQueryParm;
import com.njcn.algorithm.pojo.po.CsDataEffectivePO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.algorithm.pojo.vo.CsDataEffectiveVO;
import java.util.List;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/18 9:49【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface CsDataEffectiveService extends IService<CsDataEffectivePO>{
/**
* @Description: add
* @Param: [csDataEffectiveAddParm]
* @return: boolean
* @Author: clam
* @Date: 2023/4/18
*/
boolean add(CsDataEffectiveAddParm csDataEffectiveAddParm);
/**
* @Description: queryDataEffective
* @Param: [csDataEffectiveQueryParm]
* @return: java.util.List<com.njcn.algorithm.pojo.vo.CsDataEffectiveVO>
* @Author: clam
* @Date: 2023/4/18
*/
List<CsDataEffectiveVO> queryDataEffective(CsDataEffectiveQueryParm csDataEffectiveQueryParm);
/**
* @Description: auditDataEffective
* @Param: [auditParm]
* @return: boolean
* @Author: clam
* @Date: 2023/4/18
*/
boolean auditDataEffective(CsDataEffectiveAuditParm auditParm);
}

View File

@@ -0,0 +1,83 @@
package com.njcn.algorithm.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.algorithm.enums.AlgorithmResponseEnum;
import com.njcn.algorithm.mapper.CsDataEffectiveMapper;
import com.njcn.algorithm.pojo.param.CsDataEffectiveAddParm;
import com.njcn.algorithm.pojo.param.CsDataEffectiveAuditParm;
import com.njcn.algorithm.pojo.param.CsDataEffectiveQueryParm;
import com.njcn.algorithm.pojo.po.CsDataEffectivePO;
import com.njcn.algorithm.pojo.vo.CsDataEffectiveVO;
import com.njcn.algorithm.service.CsDataEffectiveService;
import com.njcn.common.pojo.exception.BusinessException;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.stream.Collectors;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/18 9:49【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
public class CsDataEffectiveServiceImpl extends ServiceImpl<CsDataEffectiveMapper, CsDataEffectivePO> implements CsDataEffectiveService{
@Override
@Transactional(rollbackFor = {Exception.class})
public boolean add(CsDataEffectiveAddParm csDataEffectiveAddParm) {
CsDataEffectiveQueryParm csDataEffectiveQueryParm = new CsDataEffectiveQueryParm();
csDataEffectiveQueryParm.setDevId (csDataEffectiveAddParm.getDevId ());
csDataEffectiveQueryParm.setProjectId (csDataEffectiveAddParm.getProjectId ());
List<CsDataEffectiveVO> list = this.queryDataEffective (csDataEffectiveQueryParm);
if(list.size ()>0){
throw new BusinessException (AlgorithmResponseEnum.DATA_ERROR);
}
CsDataEffectivePO csDataEffectivePO = new CsDataEffectivePO ();
BeanUtils.copyProperties (csDataEffectiveAddParm, csDataEffectivePO);
boolean save = this.save (csDataEffectivePO);
return save;
}
@Override
public List<CsDataEffectiveVO> queryDataEffective(CsDataEffectiveQueryParm csDataEffectiveQueryParm) {
QueryWrapper<CsDataEffectivePO> queryWrapper = new QueryWrapper<> ();
queryWrapper.eq (StringUtils.isNotBlank (csDataEffectiveQueryParm.getId ()),"id",csDataEffectiveQueryParm.getId ()).
eq (StringUtils.isNotBlank (csDataEffectiveQueryParm.getProjectId ()),"project_id",csDataEffectiveQueryParm.getProjectId ()).
eq (StringUtils.isNotBlank (csDataEffectiveQueryParm.getDevId ()),"dev_id",csDataEffectiveQueryParm.getDevId ());
List<CsDataEffectivePO> csDataEffectivePOS = this.getBaseMapper ( ).selectList (queryWrapper);
List<CsDataEffectiveVO> collect = csDataEffectivePOS.stream ( ).map (temp -> {
CsDataEffectiveVO vo = new CsDataEffectiveVO ( );
BeanUtils.copyProperties (temp, vo);
return vo;
}).collect (Collectors.toList ( ));
return collect;
}
@Override
public boolean auditDataEffective(CsDataEffectiveAuditParm auditParm) {
CsDataEffectiveQueryParm csDataEffectiveQueryParm = new CsDataEffectiveQueryParm();
csDataEffectiveQueryParm.setDevId (auditParm.getDevId ());
csDataEffectiveQueryParm.setProjectId (auditParm.getProjectId ());
List<CsDataEffectiveVO> list = this.queryDataEffective (csDataEffectiveQueryParm);
if(list.size ()>0){
throw new BusinessException (AlgorithmResponseEnum.DATA_ERROR);
}
CsDataEffectivePO csDataEffectivePO = new CsDataEffectivePO ();
BeanUtils.copyProperties (auditParm, csDataEffectivePO);
boolean flag = this.updateById (csDataEffectivePO);
return flag;
}
}