diff --git a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/enums/AlgorithmResponseEnum.java b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/enums/AlgorithmResponseEnum.java index 8b6dad52f..282daa43d 100644 --- a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/enums/AlgorithmResponseEnum.java +++ b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/enums/AlgorithmResponseEnum.java @@ -17,7 +17,7 @@ public enum AlgorithmResponseEnum { PROJECT_COMMON_ERROR("A00500","同一用户下项目名不能相同"), DICT_DATA_ERROR("A00501","暂无此字典表类型"), NDID_ERROR("A00502","存在相同的ndid"), - + DATA_ERROR("A00503","存在相同的数据"), ; diff --git a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/param/CsDataEffectiveAddParm.java b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/param/CsDataEffectiveAddParm.java new file mode 100644 index 000000000..0f96759e6 --- /dev/null +++ b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/param/CsDataEffectiveAddParm.java @@ -0,0 +1,57 @@ +package com.njcn.algorithm.pojo.param; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import java.util.Date; + +/** + * + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2023/4/18 9:49【需求编号】 + * + * @author clam + * @version V1.0.0 + */ + + +@ApiModel(value="装置数据有效性新增model") +@Data +public class CsDataEffectiveAddParm { + /** + * 项目id + */ + @ApiModelProperty(value="项目id") + @NotBlank(message="项目id不能为空!") + private String projectId; + + /** + * 设备id + */ + @ApiModelProperty(value="设备id") + @NotBlank(message="设备id不能为空!") + private String devId; + + /** + * 注册时间 + */ + @ApiModelProperty(value="注册时间") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date registerTime; + + /** + * 退役时间 + */ + @ApiModelProperty(value="退役时间") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date retireeTime; + + +} \ No newline at end of file diff --git a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/param/CsDataEffectiveAuditParm.java b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/param/CsDataEffectiveAuditParm.java new file mode 100644 index 000000000..52af8480f --- /dev/null +++ b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/param/CsDataEffectiveAuditParm.java @@ -0,0 +1,62 @@ +package com.njcn.algorithm.pojo.param; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import java.util.Date; + +/** + * + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2023/4/18 9:49【需求编号】 + * + * @author clam + * @version V1.0.0 + */ + + +@ApiModel(value="装置数据有效性修改model") +@Data +public class CsDataEffectiveAuditParm { + + + @ApiModelProperty(value = "id") + @NotBlank(message="id不能为空!") + private String id; + /** + * 项目id + */ + @ApiModelProperty(value="项目id") + @NotBlank(message="项目id不能为空!") + private String projectId; + + /** + * 设备id + */ + @ApiModelProperty(value="设备id") + @NotBlank(message="设备id不能为空!") + private String devId; + + /** + * 注册时间 + */ + @ApiModelProperty(value="注册时间") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date registerTime; + + /** + * 退役时间 + */ + @ApiModelProperty(value="退役时间") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date retireeTime; + + +} \ No newline at end of file diff --git a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/param/CsDataEffectiveQueryParm.java b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/param/CsDataEffectiveQueryParm.java new file mode 100644 index 000000000..1063692a5 --- /dev/null +++ b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/param/CsDataEffectiveQueryParm.java @@ -0,0 +1,39 @@ +package com.njcn.algorithm.pojo.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2023/4/18 9:49【需求编号】 + * + * @author clam + * @version V1.0.0 + */ + + +@ApiModel(value="装置数据查询有效性model") +@Data +public class CsDataEffectiveQueryParm { + + @ApiModelProperty(value = "id") + private String id; + /** + * 项目id + */ + @ApiModelProperty(value="项目id") + private String projectId; + + /** + * 设备id + */ + @ApiModelProperty(value="设备id") + private String devId; + + + + +} \ No newline at end of file diff --git a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/po/CsDataEffectivePO.java b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/po/CsDataEffectivePO.java new file mode 100644 index 000000000..cb0bae0c8 --- /dev/null +++ b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/po/CsDataEffectivePO.java @@ -0,0 +1,62 @@ +package com.njcn.algorithm.pojo.po; + +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 com.fasterxml.jackson.annotation.JsonFormat; +import com.njcn.db.bo.BaseEntity; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2023/4/18 9:49【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +/** + * 装置数据有效性表 + */ +@Data +@TableName(value = "cs_data_effective") +public class CsDataEffectivePO extends BaseEntity { + + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + /** + * 项目id + */ + @TableField(value = "project_id") + private String projectId; + + /** + * 设备id + */ + @TableField(value = "dev_id") + private String devId; + + /** + * 注册时间 + */ + @TableField(value = "register_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date registerTime; + + /** + * 退役时间 + */ + @TableField(value = "retiree_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date retireeTime; + + +} \ No newline at end of file diff --git a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/vo/CsDataEffectiveVO.java b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/vo/CsDataEffectiveVO.java new file mode 100644 index 000000000..23bd555d0 --- /dev/null +++ b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/vo/CsDataEffectiveVO.java @@ -0,0 +1,58 @@ +package com.njcn.algorithm.pojo.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.njcn.db.bo.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2023/4/18 9:49【需求编号】 + * + * @author clam + * @version V1.0.0 + */ + + +@ApiModel(value="装置数据Modle") +@Data +public class CsDataEffectiveVO extends BaseEntity { + + @ApiModelProperty(value = "id") + private String id; + /** + * 项目id + */ + @ApiModelProperty(value="项目id") + private String projectId; + + /** + * 设备id + */ + @ApiModelProperty(value="设备id") + private String devId; + + /** + * 注册时间 + */ + @ApiModelProperty(value="注册时间") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date registerTime; + + /** + * 退役时间 + */ + @ApiModelProperty(value="退役时间") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date retireeTime; + + +} \ No newline at end of file diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/data/DataEffectiveController.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/data/DataEffectiveController.java new file mode 100644 index 000000000..e4be2dd9f --- /dev/null +++ b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/data/DataEffectiveController.java @@ -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 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 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> queryDataEffective(@RequestBody @Validated CsDataEffectiveQueryParm csDataEffectiveQueryParm ){ + String methodDescribe = getMethodDescribe("queryDataEffective"); + AppBaseInformationVO appBaseInformationVO = new AppBaseInformationVO(); + List list = csDataEffectiveService.queryDataEffective(csDataEffectiveQueryParm); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } +} diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/dict/DictDataController.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/dict/DictDataController.java index c91df009c..5618d5c76 100644 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/dict/DictDataController.java +++ b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/dict/DictDataController.java @@ -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 addDict(@RequestBody @Validated List 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> queryDictData(@RequestParam("dictType")String dictType ){ - String methodDescribe = getMethodDescribe("queryDictData"); - List 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 addDict(@RequestBody @Validated List 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> queryDictData(@RequestParam("dictType")String dictType ){ +// String methodDescribe = getMethodDescribe("queryDictData"); +// List csDictVOList = csDictService.queryDictData(dictType); +// +// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csDictVOList, methodDescribe); +// } } diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/mapper/CsDataEffectiveMapper.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/mapper/CsDataEffectiveMapper.java new file mode 100644 index 000000000..4f9bf8d4c --- /dev/null +++ b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/mapper/CsDataEffectiveMapper.java @@ -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 { +} \ No newline at end of file diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/mapper/mapping/CsDataEffectiveMapper.xml b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/mapper/mapping/CsDataEffectiveMapper.xml new file mode 100644 index 000000000..815f42c47 --- /dev/null +++ b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/mapper/mapping/CsDataEffectiveMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + project_id, dev_id, register_time, retiree_time, create_by, create_time, update_by, + update_time + + \ No newline at end of file diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/CsDataEffectiveService.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/CsDataEffectiveService.java new file mode 100644 index 000000000..f251e1700 --- /dev/null +++ b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/CsDataEffectiveService.java @@ -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{ + + /** + * @Description: add + * @Param: [csDataEffectiveAddParm] + * @return: boolean + * @Author: clam + * @Date: 2023/4/18 + */ + boolean add(CsDataEffectiveAddParm csDataEffectiveAddParm); + /** + * @Description: queryDataEffective + * @Param: [csDataEffectiveQueryParm] + * @return: java.util.List + * @Author: clam + * @Date: 2023/4/18 + */ + List queryDataEffective(CsDataEffectiveQueryParm csDataEffectiveQueryParm); + /** + * @Description: auditDataEffective + * @Param: [auditParm] + * @return: boolean + * @Author: clam + * @Date: 2023/4/18 + */ + boolean auditDataEffective(CsDataEffectiveAuditParm auditParm); +} diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/impl/CsDataEffectiveServiceImpl.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/impl/CsDataEffectiveServiceImpl.java new file mode 100644 index 000000000..33c5ccbe7 --- /dev/null +++ b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/impl/CsDataEffectiveServiceImpl.java @@ -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 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 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 queryDataEffective(CsDataEffectiveQueryParm csDataEffectiveQueryParm) { + QueryWrapper 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 csDataEffectivePOS = this.getBaseMapper ( ).selectList (queryWrapper); + List 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 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; + } + +}