luotaiqian 2026-07-21 11:56:02 +08:00
parent cd5277a1f8
commit 4c3a378c46
25 changed files with 1279 additions and 0 deletions

View File

@ -0,0 +1,74 @@
package org.qinan.safetyeval.adapter.web;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.item.service.EvalReviewItemServiceI;
import org.qinan.safetyeval.client.item.request.EvalReviewItemAddCmd;
import org.qinan.safetyeval.client.item.request.EvalReviewItemPageQry;
import org.qinan.safetyeval.client.item.request.EvalReviewItemUpdateCmd;
import org.qinan.safetyeval.client.item.response.EvalReviewItemCo;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
/**
*
*
* @Author: ltq
* @Date: 2026-07-21 11:54:47
*/
@RestController
@AllArgsConstructor
@Api(tags = "审核项信息")
@RequestMapping("/safetyEval/eval-review-item")
public class EvalReviewItemController implements Serializable {
private static final long serialVersionUID = 1L;
private final EvalReviewItemServiceI evalReviewItemServiceI;
@GetMapping
@ApiOperation("查询审核项信息列表-分页")
public PageResponse<EvalReviewItemCo> list(@Validated EvalReviewItemPageQry qry) {
return evalReviewItemServiceI.listEvalReviewItemPage(qry);
}
@GetMapping("/{id}")
@ApiOperation("查询审核项信息详情页面")
public SingleResponse<EvalReviewItemCo> getInfo(@PathVariable("id") Long id) {
return SingleResponse.of(evalReviewItemServiceI.getEvalReviewItemById(id));
}
@PostMapping
@ApiOperation("新增审核项信息")
public Response save(@Validated @RequestBody EvalReviewItemAddCmd evalReviewItemAddCmd) {
evalReviewItemServiceI.saveEvalReviewItem(evalReviewItemAddCmd);
return Response.buildSuccess();
}
@PutMapping
@ApiOperation("修改审核项信息")
public Response update(@Validated @RequestBody EvalReviewItemUpdateCmd evalReviewItemUpdateCmd) {
evalReviewItemServiceI.updateEvalReviewItem(evalReviewItemUpdateCmd);
return Response.buildSuccess();
}
@DeleteMapping("/{id}")
@ApiOperation("删除审核项信息(单个)")
public Response deletedById(@PathVariable("id") Long id) {
evalReviewItemServiceI.deletedEvalReviewItemById(id);
return Response.buildSuccess();
}
@DeleteMapping("/ids")
@ApiOperation("删除审核项信息(多个)")
public Response deletedByIds(@RequestParam Long[] ids) {
evalReviewItemServiceI.deletedEvalReviewItemByIds(ids);
return Response.buildSuccess();
}
}

View File

@ -0,0 +1,34 @@
package org.qinan.safetyeval.app.item.convertor;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.qinan.safetyeval.client.item.request.EvalReviewItemAddCmd;
import org.qinan.safetyeval.client.item.request.EvalReviewItemUpdateCmd;
import org.qinan.safetyeval.domain.item.model.EvalReviewItemE;
/**
*
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Mapper(componentModel = "spring")
public interface EvalReviewItemCmdConvertor {
/**
* cmd_add
*
* @param evalReviewItemAddCmd
* @return
*/
@Mapping(target = "evalReviewItemGateway", ignore = true)
EvalReviewItemE convertCmdToE(EvalReviewItemAddCmd evalReviewItemAddCmd);
/**
* cmd_update
*
* @param evalReviewItemUpdateCmd
* @return
*/
@Mapping(target = "evalReviewItemGateway", ignore = true)
EvalReviewItemE convertCmdToE(EvalReviewItemUpdateCmd evalReviewItemUpdateCmd);
}

View File

@ -0,0 +1,42 @@
package org.qinan.safetyeval.app.item.executor.command;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.item.convertor.EvalReviewItemCmdConvertor;
import org.qinan.safetyeval.client.item.request.EvalReviewItemAddCmd;
import org.qinan.safetyeval.domain.item.ability.EvalReviewItemAbility;
import org.qinan.safetyeval.domain.item.model.EvalReviewItemE;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalReviewItemQueryService;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
*
*
* @author ltq
* @date 2026-07-21 11:54:47
*/
@Component
@AllArgsConstructor
public class EvalReviewItemAddCmdExe {
private final EvalReviewItemQueryService evalReviewItemQueryService;
private final EvalReviewItemCmdConvertor evalReviewItemCmdConvertor;
private final EvalReviewItemAbility evalReviewItemAbility;
/**
*
*
* @param evalReviewItemAddCmd
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean execute(EvalReviewItemAddCmd evalReviewItemAddCmd) {
EvalReviewItemE evalReviewItemE = evalReviewItemCmdConvertor.convertCmdToE(evalReviewItemAddCmd);
boolean res = evalReviewItemE.add();
if (!res) {
throw new BizException("保存失败");
}
return true;
}
}

View File

@ -0,0 +1,55 @@
package org.qinan.safetyeval.app.item.executor.command;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.domain.item.ability.EvalReviewItemAbility;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
*
*
* @author ltq
* @date 2026-07-21 11:54:47
*/
@Component
@AllArgsConstructor
public class EvalReviewItemDelCmdExe {
private final EvalReviewItemAbility evalReviewItemAbility;
/**
* IDS
*
* @param ids ID
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
if (ObjectUtil.isEmpty(ids)) {
throw new BizException("请传入正确的ID");
}
boolean deleteRes = evalReviewItemAbility.deletedEvalReviewItemByIds(ids);
if (!deleteRes) {
throw new BizException("删除失败");
}
return true;
}
/**
* ID
*
* @param id ID
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
boolean deleteRes = evalReviewItemAbility.deletedEvalReviewItemById(id);
if (!deleteRes) {
throw new BizException("删除失败");
}
return true;
}
}

View File

@ -0,0 +1,41 @@
package org.qinan.safetyeval.app.item.executor.command;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.item.convertor.EvalReviewItemCmdConvertor;
import org.qinan.safetyeval.client.item.request.EvalReviewItemUpdateCmd;
import org.qinan.safetyeval.domain.item.ability.EvalReviewItemAbility;
import org.qinan.safetyeval.domain.item.model.EvalReviewItemE;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalReviewItemQueryService;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
*
*
* @author ltq
* @date 2026-07-21 11:54:47
*/
@Component
@AllArgsConstructor
public class EvalReviewItemUpdateCmdExe {
private final EvalReviewItemQueryService evalReviewItemQueryService;
private final EvalReviewItemCmdConvertor evalReviewItemCmdConvertor;
private final EvalReviewItemAbility evalReviewItemAbility;
/**
*
*
* @param evalReviewItemUpdateCmd
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean execute(EvalReviewItemUpdateCmd evalReviewItemUpdateCmd) {
EvalReviewItemE evalReviewItemE = evalReviewItemCmdConvertor.convertCmdToE(evalReviewItemUpdateCmd);
Boolean updateRes = evalReviewItemE.update();
if (!updateRes) {
throw new BizException("数据已被更新,请刷新重试");
}
return true;
}
}

View File

@ -0,0 +1,34 @@
package org.qinan.safetyeval.app.item.executor.query;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.client.item.response.EvalReviewItemCo;
import org.qinan.safetyeval.infrastructure.convertor.EvalReviewItemDoConvertor;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalReviewItemDO;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalReviewItemQueryService;
import org.springframework.stereotype.Component;
/**
*
*
* @author ltq
* @date 2026-07-21 11:54:47
*/
@Component
@AllArgsConstructor
public class EvalReviewItemListQueryExe {
private final EvalReviewItemQueryService evalReviewItemQueryService;
private final EvalReviewItemDoConvertor evalReviewItemDoConvertor;
/**
* ID
*
* @param id ID
* @return
*/
public EvalReviewItemCo execute(Long id) {
EvalReviewItemDO evalReviewItemDO = evalReviewItemQueryService.getById(id);
return evalReviewItemDoConvertor.converDoToCo(evalReviewItemDO);
}
}

View File

@ -0,0 +1,32 @@
package org.qinan.safetyeval.app.item.executor.query;
import com.alibaba.cola.dto.PageResponse;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.client.item.request.EvalReviewItemPageQry;
import org.qinan.safetyeval.client.item.response.EvalReviewItemCo;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalReviewItemQueryService;
import org.springframework.stereotype.Component;
/**
*
*
* @author ltq
* @date 2026-07-21 11:54:47
*/
@Component
@AllArgsConstructor
public class EvalReviewItemPageQueryExe {
private final EvalReviewItemQueryService evalReviewItemQueryService;
/**
*
*
* @param evalReviewItemPageQry
* @return
*/
public PageResponse<EvalReviewItemCo> execute(EvalReviewItemPageQry evalReviewItemPageQry) {
return evalReviewItemQueryService.listEvalReviewItemPage(evalReviewItemPageQry);
}
}

View File

@ -0,0 +1,65 @@
package org.qinan.safetyeval.app.item.service;
import com.alibaba.cola.dto.PageResponse;
import org.qinan.safetyeval.client.item.request.EvalReviewItemAddCmd;
import org.qinan.safetyeval.client.item.request.EvalReviewItemPageQry;
import org.qinan.safetyeval.client.item.request.EvalReviewItemUpdateCmd;
import org.qinan.safetyeval.client.item.response.EvalReviewItemCo;
/**
*
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
public interface EvalReviewItemServiceI {
/**
*
*
* @param evalReviewItemPageQry
* @return
*/
PageResponse<EvalReviewItemCo> listEvalReviewItemPage(EvalReviewItemPageQry evalReviewItemPageQry);
/**
* ID
*
* @param id ID
* @return
*/
EvalReviewItemCo getEvalReviewItemById(Long id);
/**
*
*
* @param evalReviewItemAddCmd
* @return
*/
boolean saveEvalReviewItem(EvalReviewItemAddCmd evalReviewItemAddCmd);
/**
*
*
* @param evalReviewItemUpdateCmd
* @return
*/
boolean updateEvalReviewItem(EvalReviewItemUpdateCmd evalReviewItemUpdateCmd);
/**
*
*
* @param id ID
* @return
*/
boolean deletedEvalReviewItemById(Long id);
/**
*
*
* @param ids IDs
* @return
*/
boolean deletedEvalReviewItemByIds(Long[] ids);
}

View File

@ -0,0 +1,63 @@
package org.qinan.safetyeval.app.item.service.impl;
import com.alibaba.cola.dto.PageResponse;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.item.executor.command.EvalReviewItemAddCmdExe;
import org.qinan.safetyeval.app.item.executor.command.EvalReviewItemDelCmdExe;
import org.qinan.safetyeval.app.item.executor.command.EvalReviewItemUpdateCmdExe;
import org.qinan.safetyeval.app.item.executor.query.EvalReviewItemListQueryExe;
import org.qinan.safetyeval.app.item.executor.query.EvalReviewItemPageQueryExe;
import org.qinan.safetyeval.app.item.service.EvalReviewItemServiceI;
import org.qinan.safetyeval.client.item.request.EvalReviewItemAddCmd;
import org.qinan.safetyeval.client.item.request.EvalReviewItemPageQry;
import org.qinan.safetyeval.client.item.request.EvalReviewItemUpdateCmd;
import org.qinan.safetyeval.client.item.response.EvalReviewItemCo;
import org.springframework.stereotype.Service;
/**
*
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Service
@AllArgsConstructor
public class EvalReviewItemServiceImpl implements EvalReviewItemServiceI {
private final EvalReviewItemListQueryExe evalReviewItemListQueryExe;
private final EvalReviewItemUpdateCmdExe evalReviewItemUpdateCommandExe;
private final EvalReviewItemAddCmdExe evalReviewItemAddCommandExe;
private final EvalReviewItemDelCmdExe evalReviewItemDelCommandExe;
private final EvalReviewItemPageQueryExe evalReviewItemPageQueryExe;
@Override
public PageResponse<EvalReviewItemCo> listEvalReviewItemPage(EvalReviewItemPageQry evalReviewItemPageQry) {
return evalReviewItemPageQueryExe.execute(evalReviewItemPageQry);
}
@Override
public EvalReviewItemCo getEvalReviewItemById(Long id) {
return evalReviewItemListQueryExe.execute(id);
}
@Override
public boolean saveEvalReviewItem(EvalReviewItemAddCmd evalReviewItemAddCmd) {
return evalReviewItemAddCommandExe.execute(evalReviewItemAddCmd);
}
@Override
public boolean updateEvalReviewItem(EvalReviewItemUpdateCmd evalReviewItemUpdateCmd) {
return evalReviewItemUpdateCommandExe.execute(evalReviewItemUpdateCmd);
}
@Override
public boolean deletedEvalReviewItemById(Long id) {
return evalReviewItemDelCommandExe.execute(id);
}
@Override
public boolean deletedEvalReviewItemByIds(Long[] ids) {
return evalReviewItemDelCommandExe.execute(ids);
}
}

View File

@ -0,0 +1,64 @@
package org.qinan.safetyeval.client.item.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* Cmd
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Data
public class EvalReviewItemAddCmd implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ->eval_internal_review ; ->eval_tech_review
*/
@ApiModelProperty(value = "业务类型 内审->eval_internal_review ; 技审->eval_tech_review", required = true)
@NotBlank(message = "业务类型 内审->eval_internal_review ; 技审->eval_tech_review不能为空")
private String bizType;
/**
* id
*/
@ApiModelProperty(value = "业务id", required = true)
@NotNull(message = "业务id不能为空")
private Long bizId;
/**
* code
*/
@ApiModelProperty(value = "审核维度code")
private String reviewDimensionCode;
/**
*
*/
@ApiModelProperty(value = "审核维度 名称")
private String reviewDimensionName;
/**
*
*/
@ApiModelProperty(value = "审核重点")
private String reviewFocus;
/**
* ,conform_to to_be_revised
*/
@ApiModelProperty(value = "结论 ,conform_to 符合to_be_revised 需修改", required = true)
@NotBlank(message = "结论 ,conform_to 符合to_be_revised 需修改不能为空")
private String reviewConclusion;
/**
*
*/
@ApiModelProperty(value = "审核意见")
private String reviewOpinion;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -0,0 +1,58 @@
package org.qinan.safetyeval.client.item.request;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Qry
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Data
public class EvalReviewItemPageQry extends PageQuery {
private static final long serialVersionUID = 1L;
/**
* ->eval_internal_review ; ->eval_tech_review
*/
@ApiModelProperty(value = "业务类型 内审->eval_internal_review ; 技审->eval_tech_review")
private String bizType;
/**
* id
*/
@ApiModelProperty(value = "业务id")
private Long bizId;
/**
* code
*/
@ApiModelProperty(value = "审核维度code")
private String reviewDimensionCode;
/**
*
*/
@ApiModelProperty(value = "审核维度 名称")
private String reviewDimensionName;
/**
*
*/
@ApiModelProperty(value = "审核重点")
private String reviewFocus;
/**
* ,conform_to to_be_revised
*/
@ApiModelProperty(value = "结论 ,conform_to 符合to_be_revised 需修改")
private String reviewConclusion;
/**
*
*/
@ApiModelProperty(value = "审核意见")
private String reviewOpinion;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -0,0 +1,68 @@
package org.qinan.safetyeval.client.item.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* Cmd
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Data
public class EvalReviewItemUpdateCmd implements Serializable {
private static final long serialVersionUID = 1L;
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
/**
* ->eval_internal_review ; ->eval_tech_review
*/
@ApiModelProperty(value = "业务类型 内审->eval_internal_review ; 技审->eval_tech_review", required = true)
@NotBlank(message = "业务类型 内审->eval_internal_review ; 技审->eval_tech_review不能为空")
private String bizType;
/**
* id
*/
@ApiModelProperty(value = "业务id", required = true)
@NotNull(message = "业务id不能为空")
private Long bizId;
/**
* code
*/
@ApiModelProperty(value = "审核维度code")
private String reviewDimensionCode;
/**
*
*/
@ApiModelProperty(value = "审核维度 名称")
private String reviewDimensionName;
/**
*
*/
@ApiModelProperty(value = "审核重点")
private String reviewFocus;
/**
* ,conform_to to_be_revised
*/
@ApiModelProperty(value = "结论 ,conform_to 符合to_be_revised 需修改", required = true)
@NotBlank(message = "结论 ,conform_to 符合to_be_revised 需修改不能为空")
private String reviewConclusion;
/**
*
*/
@ApiModelProperty(value = "审核意见")
private String reviewOpinion;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
@NotNull(message = "version不能为空")
@ApiModelProperty(value = "version")
private Integer version;
}

View File

@ -0,0 +1,61 @@
package org.qinan.safetyeval.client.item.response;
import com.alibaba.cola.dto.ClientObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Co
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Data
public class EvalReviewItemCo extends ClientObject {
private static final long serialVersionUID = 1L;
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
/**
* ->eval_internal_review ; ->eval_tech_review
*/
@ApiModelProperty(value = "业务类型 内审->eval_internal_review ; 技审->eval_tech_review")
private String bizType;
/**
* id
*/
@ApiModelProperty(value = "业务id")
private Long bizId;
/**
* code
*/
@ApiModelProperty(value = "审核维度code")
private String reviewDimensionCode;
/**
*
*/
@ApiModelProperty(value = "审核维度 名称")
private String reviewDimensionName;
/**
*
*/
@ApiModelProperty(value = "审核重点")
private String reviewFocus;
/**
* ,conform_to to_be_revised
*/
@ApiModelProperty(value = "结论 ,conform_to 符合to_be_revised 需修改")
private String reviewConclusion;
/**
*
*/
@ApiModelProperty(value = "审核意见")
private String reviewOpinion;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
@ApiModelProperty(value = "version")
private Integer version;
}

View File

@ -0,0 +1,29 @@
package org.qinan.safetyeval.domain.item.ability;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.domain.item.gateway.EvalReviewItemGateway;
import org.springframework.stereotype.Service;
/**
*
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Service
@AllArgsConstructor
public class EvalReviewItemAbility {
/**
*
**/
private final EvalReviewItemGateway evalReviewItemGateway;
public boolean deletedEvalReviewItemById(Long id) {
return evalReviewItemGateway.deletedEvalReviewItemById(id);
}
public boolean deletedEvalReviewItemByIds(Long[] ids) {
return evalReviewItemGateway.deletedEvalReviewItemByIds(ids);
}
}

View File

@ -0,0 +1,44 @@
package org.qinan.safetyeval.domain.item.gateway;
import org.qinan.safetyeval.domain.item.model.EvalReviewItemE;
/**
*
*
* @Author: WGG
* @Date: 2022/3/22 16:49
*/
public interface EvalReviewItemGateway {
/**
*
*
* @param evalReviewItemE
* @return
*/
Boolean add(EvalReviewItemE evalReviewItemE);
/**
*
*
* @param evalReviewItemE
* @return
*/
Boolean update(EvalReviewItemE evalReviewItemE);
/**
*
*
* @param id
* @return
*/
Boolean deletedEvalReviewItemById(Long id);
/**
*
*
* @param ids
* @return
*/
Boolean deletedEvalReviewItemByIds(Long[] ids);
}

View File

@ -0,0 +1,72 @@
package org.qinan.safetyeval.domain.item.model;
import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.cola.domain.DomainFactory;
import com.alibaba.cola.domain.Entity;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.qinan.safetyeval.domain.item.gateway.EvalReviewItemGateway;
/**
*
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Data
@Entity
@EqualsAndHashCode(callSuper = true)
public class EvalReviewItemE extends BaseE {
private static final long serialVersionUID = 1L;
/**
* ->eval_internal_review ; ->eval_tech_review
*/
private String bizType;
/**
* id
*/
private Long bizId;
/**
* code
*/
private String reviewDimensionCode;
/**
*
*/
private String reviewDimensionName;
/**
*
*/
private String reviewFocus;
/**
* ,conform_to to_be_revised
*/
private String reviewConclusion;
/**
*
*/
private String reviewOpinion;
/**
*
*/
private String env;
private transient EvalReviewItemGateway evalReviewItemGateway;
public EvalReviewItemE() {
this.evalReviewItemGateway = SpringUtil.getBean(EvalReviewItemGateway.class);
}
public static EvalReviewItemE of() {
return DomainFactory.create(EvalReviewItemE.class);
}
public boolean add() {
return evalReviewItemGateway.add(this);
}
public boolean update() {
return evalReviewItemGateway.update(this);
}
}

View File

@ -0,0 +1,53 @@
package org.qinan.safetyeval.infrastructure.convertor;
import org.mapstruct.Mapper;
import org.qinan.safetyeval.client.item.request.EvalReviewItemPageQry;
import org.qinan.safetyeval.client.item.response.EvalReviewItemCo;
import org.qinan.safetyeval.domain.item.model.EvalReviewItemE;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalReviewItemDO;
import java.util.List;
/**
*
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Mapper(componentModel = "spring")
public interface EvalReviewItemDoConvertor {
/**
* DO
*
* @param evalReviewItemE
* @return
*/
EvalReviewItemDO convertEeToDo(EvalReviewItemE evalReviewItemE);
/**
* DOCo
*
* @param evalReviewItemDo DO
* @return
*/
EvalReviewItemCo converDoToCo(EvalReviewItemDO evalReviewItemDo);
/**
* qry TO DO
*
* @param evalReviewItemPageQry
* @return
*/
EvalReviewItemDO convertQryToDo(EvalReviewItemPageQry evalReviewItemPageQry);
/**
* DOsCos
*
* @param evalReviewItemDos dos
* @return
*/
List<EvalReviewItemCo> converDosToCos(List<EvalReviewItemDO> evalReviewItemDos);
}

View File

@ -0,0 +1,48 @@
package org.qinan.safetyeval.infrastructure.gateway;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.domain.item.gateway.EvalReviewItemGateway;
import org.qinan.safetyeval.domain.item.model.EvalReviewItemE;
import org.qinan.safetyeval.infrastructure.convertor.EvalReviewItemDoConvertor;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalReviewItemDO;
import org.qinan.safetyeval.infrastructure.persistence.repository.EvalReviewItemRepository;
import org.springframework.stereotype.Service;
/**
*
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Service
@AllArgsConstructor
public class EvalReviewItemGatewayImpl implements EvalReviewItemGateway {
private final EvalReviewItemRepository evalReviewItemRepository;
private final EvalReviewItemDoConvertor evalReviewItemDoConvertor;
@Override
public Boolean add(EvalReviewItemE evalReviewItemE) {
EvalReviewItemDO evalReviewItemDO = evalReviewItemDoConvertor.convertEeToDo(evalReviewItemE);
boolean res = evalReviewItemRepository.addEvalReviewItem(evalReviewItemDO);
if (res) {
evalReviewItemE.setId(evalReviewItemDO.getId());
}
return res;
}
@Override
public Boolean update(EvalReviewItemE evalReviewItemE) {
boolean res = evalReviewItemRepository.updateEvalReviewItem(evalReviewItemDoConvertor.convertEeToDo(evalReviewItemE));
return res;
}
@Override
public Boolean deletedEvalReviewItemById(Long id) {
return evalReviewItemRepository.deletedEvalReviewItemById(id);
}
@Override
public Boolean deletedEvalReviewItemByIds(Long[] ids) {
return evalReviewItemRepository.deletedEvalReviewItemByIds(ids);
}
}

View File

@ -0,0 +1,52 @@
package org.qinan.safetyeval.infrastructure.persistence.domainobject;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("eval_review_item")
public class EvalReviewItemDO extends BaseDO {
private static final long serialVersionUID = 1L;
/**
* ->eval_internal_review ; ->eval_tech_review
*/
private String bizType;
/**
* id
*/
private Long bizId;
/**
* code
*/
private String reviewDimensionCode;
/**
*
*/
private String reviewDimensionName;
/**
*
*/
private String reviewFocus;
/**
* ,conform_to to_be_revised
*/
private String reviewConclusion;
/**
*
*/
private String reviewOpinion;
/**
*
*/
private String env;
}

View File

@ -0,0 +1,15 @@
package org.qinan.safetyeval.infrastructure.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalReviewItemDO;
/**
* Mapper
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Mapper
public interface EvalReviewItemMapper extends BaseMapper<EvalReviewItemDO> {
}

View File

@ -0,0 +1,31 @@
package org.qinan.safetyeval.infrastructure.persistence.queryservice;
import com.alibaba.cola.dto.PageResponse;
import org.qinan.safetyeval.client.item.request.EvalReviewItemPageQry;
import org.qinan.safetyeval.client.item.response.EvalReviewItemCo;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalReviewItemDO;
/**
*
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
public interface EvalReviewItemQueryService {
/**
* ID
*
* @param id ID
* @return
*/
EvalReviewItemDO getById(Long id);
/**
*
*
* @param evalReviewItemPageQry Qry
* @return
*/
PageResponse<EvalReviewItemCo> listEvalReviewItemPage(EvalReviewItemPageQry evalReviewItemPageQry);
}

View File

@ -0,0 +1,42 @@
package org.qinan.safetyeval.infrastructure.persistence.queryservice.impl;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.common.PageHelper;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.client.item.request.EvalReviewItemPageQry;
import org.qinan.safetyeval.client.item.response.EvalReviewItemCo;
import org.qinan.safetyeval.infrastructure.convertor.EvalReviewItemDoConvertor;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalReviewItemDO;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.EvalReviewItemQueryService;
import org.qinan.safetyeval.infrastructure.persistence.repository.EvalReviewItemRepository;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Service
@AllArgsConstructor
public class EvalReviewItemQueryServiceImpl implements EvalReviewItemQueryService {
private final EvalReviewItemRepository evalReviewItemRepository;
private final EvalReviewItemDoConvertor evalReviewItemDoConvertor;
@Override
public EvalReviewItemDO getById(Long id) {
return evalReviewItemRepository.getById(id);
}
@Override
public PageResponse<EvalReviewItemCo> listEvalReviewItemPage(EvalReviewItemPageQry evalReviewItemPageQry) {
IPage<EvalReviewItemDO> evalReviewItemDoPage = evalReviewItemRepository.listEvalReviewItemPage(PageHelper.queryToPage(evalReviewItemPageQry), evalReviewItemPageQry);
List<EvalReviewItemCo> evalReviewItemCoS = evalReviewItemDoConvertor.converDosToCos(evalReviewItemDoPage.getRecords());
return PageHelper.pageToResponse(evalReviewItemDoPage, evalReviewItemCoS);
}
}

View File

@ -0,0 +1,65 @@
package org.qinan.safetyeval.infrastructure.persistence.repository;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import org.qinan.safetyeval.client.item.request.EvalReviewItemPageQry;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalReviewItemDO;
/**
*
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
public interface EvalReviewItemRepository extends BaseRepository<EvalReviewItemDO> {
/**
* ID
*
* @param id ID
* @return
*/
EvalReviewItemDO getById(Long id);
/**
*
*
* @param iPage
* @param evalReviewItemPageQry
* @return ipage
*/
IPage<EvalReviewItemDO> listEvalReviewItemPage(IPage iPage, EvalReviewItemPageQry evalReviewItemPageQry);
/**
*
*
* @param evalReviewItemDO
* @return
*/
Boolean addEvalReviewItem(EvalReviewItemDO evalReviewItemDO);
/**
*
*
* @param evalReviewItemDO
* @return
*/
Boolean updateEvalReviewItem(EvalReviewItemDO evalReviewItemDO);
/**
*
*
* @param id
* @return
*/
Boolean deletedEvalReviewItemById(Long id);
/**
*
*
* @param ids
* @return
*/
Boolean deletedEvalReviewItemByIds(Long[] ids);
}

View File

@ -0,0 +1,84 @@
package org.qinan.safetyeval.infrastructure.persistence.repository.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.enums.enums.BooleanEnum;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.client.item.request.EvalReviewItemPageQry;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalReviewItemDO;
import org.qinan.safetyeval.infrastructure.persistence.mapper.EvalReviewItemMapper;
import org.qinan.safetyeval.infrastructure.persistence.repository.EvalReviewItemRepository;
import org.springframework.stereotype.Service;
import java.util.Arrays;
/**
*
*
* @Author: ltq
* @date 2026-07-21 11:54:47
*/
@Service
@AllArgsConstructor
public class EvalReviewItemRepositoryImpl extends BaseRepositoryImpl<EvalReviewItemMapper, EvalReviewItemDO> implements EvalReviewItemRepository {
private final EvalReviewItemMapper evalReviewItemMapper;
@Override
public EvalReviewItemDO getById(Long id) {
return super.lambdaQuery().eq(EvalReviewItemDO::getId, id).eq(EvalReviewItemDO::getDeleteEnum, BooleanEnum.FALSE.getValue()).one();
}
@Override
public IPage<EvalReviewItemDO> listEvalReviewItemPage(IPage iPage, EvalReviewItemPageQry evalReviewItemPageQry) {
QueryWrapper<EvalReviewItemDO> evalReviewItemDoQueryWrapper = new QueryWrapper<>();
if (ObjectUtil.isNotEmpty(evalReviewItemPageQry.getBizType())) {
evalReviewItemDoQueryWrapper.eq("biz_type", evalReviewItemPageQry.getBizType());
}
if (ObjectUtil.isNotEmpty(evalReviewItemPageQry.getBizId())) {
evalReviewItemDoQueryWrapper.eq("biz_id", evalReviewItemPageQry.getBizId());
}
if (ObjectUtil.isNotEmpty(evalReviewItemPageQry.getReviewDimensionCode())) {
evalReviewItemDoQueryWrapper.eq("review_dimension_code", evalReviewItemPageQry.getReviewDimensionCode());
}
if (ObjectUtil.isNotEmpty(evalReviewItemPageQry.getReviewDimensionName())) {
evalReviewItemDoQueryWrapper.like("review_dimension_name", evalReviewItemPageQry.getReviewDimensionName());
}
if (ObjectUtil.isNotEmpty(evalReviewItemPageQry.getReviewFocus())) {
evalReviewItemDoQueryWrapper.eq("review_focus", evalReviewItemPageQry.getReviewFocus());
}
if (ObjectUtil.isNotEmpty(evalReviewItemPageQry.getReviewConclusion())) {
evalReviewItemDoQueryWrapper.eq("review_conclusion", evalReviewItemPageQry.getReviewConclusion());
}
if (ObjectUtil.isNotEmpty(evalReviewItemPageQry.getReviewOpinion())) {
evalReviewItemDoQueryWrapper.eq("review_opinion", evalReviewItemPageQry.getReviewOpinion());
}
if (ObjectUtil.isNotEmpty(evalReviewItemPageQry.getEnv())) {
evalReviewItemDoQueryWrapper.eq("env", evalReviewItemPageQry.getEnv());
}
evalReviewItemDoQueryWrapper.eq("delete_enum", BooleanEnum.FALSE.getValue());
return evalReviewItemMapper.selectPage(iPage, evalReviewItemDoQueryWrapper);
}
@Override
public Boolean addEvalReviewItem(EvalReviewItemDO evalReviewItemDO) {
return super.save(evalReviewItemDO);
}
@Override
public Boolean updateEvalReviewItem(EvalReviewItemDO evalReviewItemDO) {
return super.updateById(evalReviewItemDO);
}
@Override
public Boolean deletedEvalReviewItemById(Long id) {
return super.removeEnById(id);
}
@Override
public Boolean deletedEvalReviewItemByIds(Long[] ids) {
return super.removeBatchEnByIds(Arrays.asList(ids));
}
}

View File

@ -0,0 +1,53 @@
<?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="org.qinan.safetyeval.infrastructure.persistence.mapper.EvalReviewItemMapper">
<resultMap type="org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalReviewItemDO"
id="EvalReviewItemResult">
<id property="id" column="id"/>
<result property="bizType" column="biz_type"/>
<result property="bizId" column="biz_id"/>
<result property="reviewDimensionCode" column="review_dimension_code"/>
<result property="reviewDimensionName" column="review_dimension_name"/>
<result property="reviewFocus" column="review_focus"/>
<result property="reviewConclusion" column="review_conclusion"/>
<result property="reviewOpinion" column="review_opinion"/>
<result property="orgId" column="org_id"/>
<result property="deleteEnum" column="delete_enum"/>
<result property="remarks" column="remarks"/>
<result property="createName" column="create_name"/>
<result property="updateName" column="update_name"/>
<result property="tenantId" column="tenant_id"/>
<result property="version" column="version"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="createId" column="create_id"/>
<result property="updateId" column="update_id"/>
<result property="env" column="env"/>
</resultMap>
<sql id="selectEvalReviewItem">
select id,
biz_type,
biz_id,
review_dimension_code,
review_dimension_name,
review_focus,
review_conclusion,
review_opinion,
org_id,
delete_enum,
remarks,
create_name,
update_name,
tenant_id,
version,
create_time,
update_time,
create_id,
update_id,
env
from eval_review_item
</sql>
</mapper>