diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/QualOnSiteReviewController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/QualOnSiteReviewController.java new file mode 100644 index 0000000..02224a2 --- /dev/null +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/QualOnSiteReviewController.java @@ -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.review.service.QualOnSiteReviewServiceI; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewAddCmd; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewPageQry; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewUpdateCmd; +import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; + +/** + * 资质现场核查 + * + * @Author: ltq + * @Date: 2026-07-20 15:17:00 + */ +@RestController +@AllArgsConstructor +@Api(tags = "资质现场核查") +@RequestMapping("/safetyEval/qual-on-site-review") +public class QualOnSiteReviewController implements Serializable { + private static final long serialVersionUID = 1L; + + private final QualOnSiteReviewServiceI qualOnSiteReviewServiceI; + + @GetMapping + @ApiOperation("监管端-查询资质现场核查列表-分页") + public PageResponse list(@Validated QualOnSiteReviewPageQry qry) { + return qualOnSiteReviewServiceI.listQualOnSiteReviewPage(qry); + } + + @GetMapping("/{id}") + @ApiOperation("查询资质现场核查详情页面") + public SingleResponse getInfo(@PathVariable("id") Long id) { + return SingleResponse.of(qualOnSiteReviewServiceI.getQualOnSiteReviewById(id)); + } + + @PostMapping + @ApiOperation("新增资质现场核查") + public Response save(@Validated @RequestBody QualOnSiteReviewAddCmd qualOnSiteReviewAddCmd) { + qualOnSiteReviewServiceI.saveQualOnSiteReview(qualOnSiteReviewAddCmd); + return Response.buildSuccess(); + } + + @PutMapping + @ApiOperation("修改资质现场核查") + public Response update(@Validated @RequestBody QualOnSiteReviewUpdateCmd qualOnSiteReviewUpdateCmd) { + qualOnSiteReviewServiceI.updateQualOnSiteReview(qualOnSiteReviewUpdateCmd); + return Response.buildSuccess(); + } + + @DeleteMapping("/{id}") + @ApiOperation("删除资质现场核查(单个)") + public Response deletedById(@PathVariable("id") Long id) { + qualOnSiteReviewServiceI.deletedQualOnSiteReviewById(id); + return Response.buildSuccess(); + } + + @DeleteMapping("/ids") + @ApiOperation("删除资质现场核查(多个)") + public Response deletedByIds(@RequestParam Long[] ids) { + qualOnSiteReviewServiceI.deletedQualOnSiteReviewByIds(ids); + return Response.buildSuccess(); + } + +} diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/convertor/QualOnSiteReviewCmdConvertor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/convertor/QualOnSiteReviewCmdConvertor.java new file mode 100644 index 0000000..7b8cd59 --- /dev/null +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/convertor/QualOnSiteReviewCmdConvertor.java @@ -0,0 +1,34 @@ +package org.qinan.safetyeval.app.review.convertor; + +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewAddCmd; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewUpdateCmd; +import org.qinan.safetyeval.domain.review.model.QualOnSiteReviewE; + +/** + * 资质现场核查转换 + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Mapper(componentModel = "spring") +public interface QualOnSiteReviewCmdConvertor { + /** + * cmd_add转领域模型 + * + * @param qualOnSiteReviewAddCmd + * @return + */ + @Mapping(target = "qualOnSiteReviewGateway", ignore = true) + QualOnSiteReviewE convertCmdToE(QualOnSiteReviewAddCmd qualOnSiteReviewAddCmd); + + /** + * cmd_update转领域模型 + * + * @param qualOnSiteReviewUpdateCmd + * @return + */ + @Mapping(target = "qualOnSiteReviewGateway", ignore = true) + QualOnSiteReviewE convertCmdToE(QualOnSiteReviewUpdateCmd qualOnSiteReviewUpdateCmd); +} diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewAddCmdExe.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewAddCmdExe.java new file mode 100644 index 0000000..65ddfc0 --- /dev/null +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewAddCmdExe.java @@ -0,0 +1,42 @@ +package org.qinan.safetyeval.app.review.executor.command; + +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.app.review.convertor.QualOnSiteReviewCmdConvertor; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewAddCmd; +import org.qinan.safetyeval.domain.review.ability.QualOnSiteReviewAbility; +import org.qinan.safetyeval.domain.review.model.QualOnSiteReviewE; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.QualOnSiteReviewQueryService; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +/** + * 新增资质现场核查执行器 + * + * @author ltq + * @date 2026-07-20 15:17:00 + */ +@Component +@AllArgsConstructor +public class QualOnSiteReviewAddCmdExe { + + private final QualOnSiteReviewQueryService qualOnSiteReviewQueryService; + private final QualOnSiteReviewCmdConvertor qualOnSiteReviewCmdConvertor; + private final QualOnSiteReviewAbility qualOnSiteReviewAbility; + + /** + * 新增资质现场核查 + * + * @param qualOnSiteReviewAddCmd 新增资质现场核查对象 + * @return + */ + @Transactional(rollbackFor = Exception.class) + public boolean execute(QualOnSiteReviewAddCmd qualOnSiteReviewAddCmd) { + QualOnSiteReviewE qualOnSiteReviewE = qualOnSiteReviewCmdConvertor.convertCmdToE(qualOnSiteReviewAddCmd); + boolean res = qualOnSiteReviewE.add(); + if (!res) { + throw new BizException("保存失败"); + } + return true; + } +} diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewDelCmdExe.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewDelCmdExe.java new file mode 100644 index 0000000..b41aa18 --- /dev/null +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewDelCmdExe.java @@ -0,0 +1,55 @@ +package org.qinan.safetyeval.app.review.executor.command; + +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.domain.review.ability.QualOnSiteReviewAbility; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +/** + * 删除资质现场核查询执行器 + * + * @author ltq + * @date 2026-07-20 15:17:00 + */ +@Component +@AllArgsConstructor +public class QualOnSiteReviewDelCmdExe { + private final QualOnSiteReviewAbility qualOnSiteReviewAbility; + + /** + * 根据IDS删除资质现场核查对象 + * + * @param ids 资质现场核查ID数组 + * @return + */ + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + if (ObjectUtil.isEmpty(ids)) { + throw new BizException("请传入正确的ID"); + } + boolean deleteRes = qualOnSiteReviewAbility.deletedQualOnSiteReviewByIds(ids); + if (!deleteRes) { + throw new BizException("删除失败"); + } + return true; + } + + /** + * 根据ID删除资质现场核查对象 + * + * @param id 删除资质现场核查对象ID + * @return + */ + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + boolean deleteRes = qualOnSiteReviewAbility.deletedQualOnSiteReviewById(id); + if (!deleteRes) { + throw new BizException("删除失败"); + } + return true; + } + + +} diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewUpdateCmdExe.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewUpdateCmdExe.java new file mode 100644 index 0000000..81bd266 --- /dev/null +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewUpdateCmdExe.java @@ -0,0 +1,41 @@ +package org.qinan.safetyeval.app.review.executor.command; + +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.app.review.convertor.QualOnSiteReviewCmdConvertor; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewUpdateCmd; +import org.qinan.safetyeval.domain.review.ability.QualOnSiteReviewAbility; +import org.qinan.safetyeval.domain.review.model.QualOnSiteReviewE; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.QualOnSiteReviewQueryService; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +/** + * 修改资质现场核查资源执行器 + * + * @author ltq + * @date 2026-07-20 15:17:00 + */ +@Component +@AllArgsConstructor +public class QualOnSiteReviewUpdateCmdExe { + private final QualOnSiteReviewQueryService qualOnSiteReviewQueryService; + private final QualOnSiteReviewCmdConvertor qualOnSiteReviewCmdConvertor; + private final QualOnSiteReviewAbility qualOnSiteReviewAbility; + + /** + * 修改资质现场核查 + * + * @param qualOnSiteReviewUpdateCmd 修改资质现场核查对象 + * @return + */ + @Transactional(rollbackFor = Exception.class) + public boolean execute(QualOnSiteReviewUpdateCmd qualOnSiteReviewUpdateCmd) { + QualOnSiteReviewE qualOnSiteReviewE = qualOnSiteReviewCmdConvertor.convertCmdToE(qualOnSiteReviewUpdateCmd); + Boolean updateRes = qualOnSiteReviewE.update(); + if (!updateRes) { + throw new BizException("数据已被更新,请刷新重试"); + } + return true; + } +} diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/query/QualOnSiteReviewListQueryExe.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/query/QualOnSiteReviewListQueryExe.java new file mode 100644 index 0000000..80ca679 --- /dev/null +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/query/QualOnSiteReviewListQueryExe.java @@ -0,0 +1,34 @@ +package org.qinan.safetyeval.app.review.executor.query; + +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo; +import org.qinan.safetyeval.infrastructure.convertor.QualOnSiteReviewDoConvertor; +import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualOnSiteReviewDO; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.QualOnSiteReviewQueryService; +import org.springframework.stereotype.Component; + +/** + * 资质现场核查查询执行器 + * + * @author ltq + * @date 2026-07-20 15:17:00 + */ +@Component +@AllArgsConstructor +public class QualOnSiteReviewListQueryExe { + + private final QualOnSiteReviewQueryService qualOnSiteReviewQueryService; + private final QualOnSiteReviewDoConvertor qualOnSiteReviewDoConvertor; + + /** + * 根据ID查找资质现场核查对象 + * + * @param id 资质现场核查ID + * @return + */ + public QualOnSiteReviewCo execute(Long id) { + QualOnSiteReviewDO qualOnSiteReviewDO = qualOnSiteReviewQueryService.getById(id); + return qualOnSiteReviewDoConvertor.converDoToCo(qualOnSiteReviewDO); + } + +} diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/query/QualOnSiteReviewPageQueryExe.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/query/QualOnSiteReviewPageQueryExe.java new file mode 100644 index 0000000..d41d43d --- /dev/null +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/query/QualOnSiteReviewPageQueryExe.java @@ -0,0 +1,32 @@ +package org.qinan.safetyeval.app.review.executor.query; + +import com.alibaba.cola.dto.PageResponse; +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewPageQry; +import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.QualOnSiteReviewQueryService; +import org.springframework.stereotype.Component; + +/** + * 资质现场核查分页查询执行器 + * + * @author ltq + * @date 2026-07-20 15:17:00 + */ +@Component +@AllArgsConstructor +public class QualOnSiteReviewPageQueryExe { + + private final QualOnSiteReviewQueryService qualOnSiteReviewQueryService; + + /** + * 分页查找资质现场核查 + * + * @param qualOnSiteReviewPageQry + * @return + */ + public PageResponse execute(QualOnSiteReviewPageQry qualOnSiteReviewPageQry) { + return qualOnSiteReviewQueryService.listQualOnSiteReviewPage(qualOnSiteReviewPageQry); + } + +} diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/QualOnSiteReviewServiceI.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/QualOnSiteReviewServiceI.java new file mode 100644 index 0000000..605bba6 --- /dev/null +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/QualOnSiteReviewServiceI.java @@ -0,0 +1,65 @@ +package org.qinan.safetyeval.app.review.service; + +import com.alibaba.cola.dto.PageResponse; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewAddCmd; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewPageQry; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewUpdateCmd; +import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo; + +/** + * 资质现场核查 + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +public interface QualOnSiteReviewServiceI { + /** + * 分页获取资质现场核查列表 + * + * @param qualOnSiteReviewPageQry 查找条件对象 + * @return 结果集 + */ + PageResponse listQualOnSiteReviewPage(QualOnSiteReviewPageQry qualOnSiteReviewPageQry); + + /** + * 根据ID获取资质现场核查详情 + * + * @param id 资质现场核查ID + * @return 结果集 + */ + QualOnSiteReviewCo getQualOnSiteReviewById(Long id); + + /** + * 新增资质现场核查 + * + * @param qualOnSiteReviewAddCmd 资质现场核查 + * @return 结果 + */ + boolean saveQualOnSiteReview(QualOnSiteReviewAddCmd qualOnSiteReviewAddCmd); + + /** + * 修改资质现场核查 + * + * @param qualOnSiteReviewUpdateCmd 资质现场核查 + * @return 结果 + */ + boolean updateQualOnSiteReview(QualOnSiteReviewUpdateCmd qualOnSiteReviewUpdateCmd); + + /** + * 删除资质现场核查 + * + * @param id 资质现场核查ID + * @return 结果 + */ + boolean deletedQualOnSiteReviewById(Long id); + + /** + * 删除资质现场核查 + * + * @param ids 资质现场核查IDs + * @return 结果 + */ + boolean deletedQualOnSiteReviewByIds(Long[] ids); + + +} diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/impl/QualOnSiteReviewServiceImpl.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/impl/QualOnSiteReviewServiceImpl.java new file mode 100644 index 0000000..e9a1b35 --- /dev/null +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/impl/QualOnSiteReviewServiceImpl.java @@ -0,0 +1,63 @@ +package org.qinan.safetyeval.app.review.service.impl; + +import com.alibaba.cola.dto.PageResponse; +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.app.review.executor.command.QualOnSiteReviewAddCmdExe; +import org.qinan.safetyeval.app.review.executor.command.QualOnSiteReviewDelCmdExe; +import org.qinan.safetyeval.app.review.executor.command.QualOnSiteReviewUpdateCmdExe; +import org.qinan.safetyeval.app.review.executor.query.QualOnSiteReviewListQueryExe; +import org.qinan.safetyeval.app.review.executor.query.QualOnSiteReviewPageQueryExe; +import org.qinan.safetyeval.app.review.service.QualOnSiteReviewServiceI; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewAddCmd; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewPageQry; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewUpdateCmd; +import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo; +import org.springframework.stereotype.Service; + +/** + * 资质现场核查 + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Service +@AllArgsConstructor +public class QualOnSiteReviewServiceImpl implements QualOnSiteReviewServiceI { + + private final QualOnSiteReviewListQueryExe qualOnSiteReviewListQueryExe; + private final QualOnSiteReviewUpdateCmdExe qualOnSiteReviewUpdateCommandExe; + private final QualOnSiteReviewAddCmdExe qualOnSiteReviewAddCommandExe; + private final QualOnSiteReviewDelCmdExe qualOnSiteReviewDelCommandExe; + private final QualOnSiteReviewPageQueryExe qualOnSiteReviewPageQueryExe; + + @Override + public PageResponse listQualOnSiteReviewPage(QualOnSiteReviewPageQry qualOnSiteReviewPageQry) { + return qualOnSiteReviewPageQueryExe.execute(qualOnSiteReviewPageQry); + } + + @Override + public QualOnSiteReviewCo getQualOnSiteReviewById(Long id) { + return qualOnSiteReviewListQueryExe.execute(id); + } + + @Override + public boolean saveQualOnSiteReview(QualOnSiteReviewAddCmd qualOnSiteReviewAddCmd) { + return qualOnSiteReviewAddCommandExe.execute(qualOnSiteReviewAddCmd); + } + + @Override + public boolean updateQualOnSiteReview(QualOnSiteReviewUpdateCmd qualOnSiteReviewUpdateCmd) { + return qualOnSiteReviewUpdateCommandExe.execute(qualOnSiteReviewUpdateCmd); + } + + @Override + public boolean deletedQualOnSiteReviewById(Long id) { + return qualOnSiteReviewDelCommandExe.execute(id); + } + + @Override + public boolean deletedQualOnSiteReviewByIds(Long[] ids) { + return qualOnSiteReviewDelCommandExe.execute(ids); + } + +} diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/review/request/QualOnSiteReviewAddCmd.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/review/request/QualOnSiteReviewAddCmd.java new file mode 100644 index 0000000..3ce7234 --- /dev/null +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/review/request/QualOnSiteReviewAddCmd.java @@ -0,0 +1,73 @@ +package org.qinan.safetyeval.client.review.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 资质现场核查新增Cmd + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Data +public class QualOnSiteReviewAddCmd implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 资质类型:add 新增 ,change:变更 + */ + @ApiModelProperty(value = "资质类型:add 新增 ,change:变更") + private String bizType; + /** + * 业务id + */ + @ApiModelProperty(value = "业务id") + private Long bizId; + /** + * 现场审查开始时间 + */ + @ApiModelProperty(value = "现场审查开始时间", required = true) + @NotNull(message = "现场审查开始时间不能为空") + private LocalDateTime reviewDateStart; + /** + * 审查地点 + */ + @ApiModelProperty(value = "审查地点") + private String reviewLocation; + /** + * 审查组成员名单 + */ + @ApiModelProperty(value = "审查组成员名单") + private String reviewMembers; + /** + * 材料准备要求 + */ + @ApiModelProperty(value = "材料准备要求") + private String materialRequirements; + /** + * 监管联系人姓名 + */ + @ApiModelProperty(value = "监管联系人姓名") + private String supervisorContact; + /** + * 监管联系电话 + */ + @ApiModelProperty(value = "监管联系电话") + private String contactPhone; + /** + * 现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过) + */ + @ApiModelProperty(value = "现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)", required = true) + @NotNull(message = "现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)不能为空") + private Long status; + /** + * 环境 + */ + @ApiModelProperty(value = "环境") + private String env; + +} diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/review/request/QualOnSiteReviewPageQry.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/review/request/QualOnSiteReviewPageQry.java new file mode 100644 index 0000000..e365d97 --- /dev/null +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/review/request/QualOnSiteReviewPageQry.java @@ -0,0 +1,60 @@ +package org.qinan.safetyeval.client.review.request; + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 资质现场核查分页查询Qry + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Data +public class QualOnSiteReviewPageQry extends PageQuery { + private static final long serialVersionUID = 1L; + + /** + * 现场审查开始时间 + */ + @ApiModelProperty(value = "现场审查开始时间") + private LocalDateTime reviewDateStart; + /** + * 审查地点 + */ + @ApiModelProperty(value = "审查地点") + private String reviewLocation; + /** + * 审查组成员名单 + */ + @ApiModelProperty(value = "审查组成员名单") + private String reviewMembers; + /** + * 材料准备要求 + */ + @ApiModelProperty(value = "材料准备要求") + private String materialRequirements; + /** + * 监管联系人姓名 + */ + @ApiModelProperty(value = "监管联系人姓名") + private String supervisorContact; + /** + * 监管联系电话 + */ + @ApiModelProperty(value = "监管联系电话") + private String contactPhone; + /** + * 现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过) + */ + @ApiModelProperty(value = "现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)") + private Long status; + /** + * 环境 + */ + @ApiModelProperty(value = "环境") + private String env; + +} diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/review/request/QualOnSiteReviewUpdateCmd.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/review/request/QualOnSiteReviewUpdateCmd.java new file mode 100644 index 0000000..b31096e --- /dev/null +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/review/request/QualOnSiteReviewUpdateCmd.java @@ -0,0 +1,77 @@ +package org.qinan.safetyeval.client.review.request; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 资质现场核查修改Cmd + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Data +public class QualOnSiteReviewUpdateCmd implements Serializable { + private static final long serialVersionUID = 1L; + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + /** + * 资质类型:add 新增 ,change:变更 + */ + @ApiModelProperty(value = "资质类型:add 新增 ,change:变更") + private String bizType; + /** + * 业务id + */ + @ApiModelProperty(value = "业务id") + private Long bizId; + /** + * 现场审查开始时间 + */ + @ApiModelProperty(value = "现场审查开始时间", required = true) + @NotNull(message = "现场审查开始时间不能为空") + private LocalDateTime reviewDateStart; + /** + * 审查地点 + */ + @ApiModelProperty(value = "审查地点") + private String reviewLocation; + /** + * 审查组成员名单 + */ + @ApiModelProperty(value = "审查组成员名单") + private String reviewMembers; + /** + * 材料准备要求 + */ + @ApiModelProperty(value = "材料准备要求") + private String materialRequirements; + /** + * 监管联系人姓名 + */ + @ApiModelProperty(value = "监管联系人姓名") + private String supervisorContact; + /** + * 监管联系电话 + */ + @ApiModelProperty(value = "监管联系电话") + private String contactPhone; + /** + * 现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过) + */ + @ApiModelProperty(value = "现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)", required = true) + @NotNull(message = "现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)不能为空") + private Long status; + /** + * 环境 + */ + @ApiModelProperty(value = "环境") + private String env; + @NotNull(message = "version不能为空") + @ApiModelProperty(value = "version") + private Integer version; +} diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/review/response/QualOnSiteReviewCo.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/review/response/QualOnSiteReviewCo.java new file mode 100644 index 0000000..9cfc236 --- /dev/null +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/review/response/QualOnSiteReviewCo.java @@ -0,0 +1,74 @@ +package org.qinan.safetyeval.client.review.response; + +import com.alibaba.cola.dto.ClientObject; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 资质现场核查Co + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Data +public class QualOnSiteReviewCo extends ClientObject { + private static final long serialVersionUID = 1L; + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + /** + * 资质类型:add 新增 ,change:变更 + */ + @ApiModelProperty(value = "资质类型:add 新增 ,change:变更") + private String bizType; + /** + * 业务id + */ + @ApiModelProperty(value = "业务id") + private Long bizId; + /** + * 现场审查开始时间 + */ + @ApiModelProperty(value = "现场审查开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime reviewDateStart; + /** + * 审查地点 + */ + @ApiModelProperty(value = "审查地点") + private String reviewLocation; + /** + * 审查组成员名单 + */ + @ApiModelProperty(value = "审查组成员名单") + private String reviewMembers; + /** + * 材料准备要求 + */ + @ApiModelProperty(value = "材料准备要求") + private String materialRequirements; + /** + * 监管联系人姓名 + */ + @ApiModelProperty(value = "监管联系人姓名") + private String supervisorContact; + /** + * 监管联系电话 + */ + @ApiModelProperty(value = "监管联系电话") + private String contactPhone; + /** + * 现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过) + */ + @ApiModelProperty(value = "现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)") + private Long status; + /** + * 环境 + */ + @ApiModelProperty(value = "环境") + private String env; + @ApiModelProperty(value = "version") + private Integer version; +} diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/review/ability/QualOnSiteReviewAbility.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/review/ability/QualOnSiteReviewAbility.java new file mode 100644 index 0000000..33cd1db --- /dev/null +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/review/ability/QualOnSiteReviewAbility.java @@ -0,0 +1,29 @@ +package org.qinan.safetyeval.domain.review.ability; + +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.domain.review.gateway.QualOnSiteReviewGateway; +import org.springframework.stereotype.Service; + +/** + * 资质现场核查 + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Service +@AllArgsConstructor +public class QualOnSiteReviewAbility { + /** + * 网关 + **/ + private final QualOnSiteReviewGateway qualOnSiteReviewGateway; + + + public boolean deletedQualOnSiteReviewById(Long id) { + return qualOnSiteReviewGateway.deletedQualOnSiteReviewById(id); + } + + public boolean deletedQualOnSiteReviewByIds(Long[] ids) { + return qualOnSiteReviewGateway.deletedQualOnSiteReviewByIds(ids); + } +} diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/review/gateway/QualOnSiteReviewGateway.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/review/gateway/QualOnSiteReviewGateway.java new file mode 100644 index 0000000..755da24 --- /dev/null +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/review/gateway/QualOnSiteReviewGateway.java @@ -0,0 +1,44 @@ +package org.qinan.safetyeval.domain.review.gateway; + +import org.qinan.safetyeval.domain.review.model.QualOnSiteReviewE; + +/** + * 资质现场核查网关 + * + * @Author: WGG + * @Date: 2022/3/22 16:49 + */ +public interface QualOnSiteReviewGateway { + + /** + * 新增资质现场核查 + * + * @param qualOnSiteReviewE 资质现场核查 + * @return 结果 + */ + Boolean add(QualOnSiteReviewE qualOnSiteReviewE); + + /** + * 修改资质现场核查 + * + * @param qualOnSiteReviewE 资质现场核查 + * @return 结果 + */ + Boolean update(QualOnSiteReviewE qualOnSiteReviewE); + + /** + * 删除资质现场核查 + * + * @param id + * @return 结果 + */ + Boolean deletedQualOnSiteReviewById(Long id); + + /** + * 删除资质现场核查 + * + * @param ids + * @return 结果 + */ + Boolean deletedQualOnSiteReviewByIds(Long[] ids); +} diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/review/model/QualOnSiteReviewE.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/review/model/QualOnSiteReviewE.java new file mode 100644 index 0000000..6262864 --- /dev/null +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/review/model/QualOnSiteReviewE.java @@ -0,0 +1,82 @@ +package org.qinan.safetyeval.domain.review.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.review.gateway.QualOnSiteReviewGateway; + +import java.time.LocalDateTime; + +/** + * 资质现场核查领域模型 + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Data +@Entity +@EqualsAndHashCode(callSuper = true) +public class QualOnSiteReviewE extends BaseE { + private static final long serialVersionUID = 1L; + + /** + * 资质类型:add 新增 ,change:变更 + */ + private String bizType; + /** + * 业务id + */ + private Long bizId; + /** + * 现场审查开始时间 + */ + private LocalDateTime reviewDateStart; + /** + * 审查地点 + */ + private String reviewLocation; + /** + * 审查组成员名单 + */ + private String reviewMembers; + /** + * 材料准备要求 + */ + private String materialRequirements; + /** + * 监管联系人姓名 + */ + private String supervisorContact; + /** + * 监管联系电话 + */ + private String contactPhone; + /** + * 现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过) + */ + private Long status; + /** + * 环境 + */ + private String env; + private transient QualOnSiteReviewGateway qualOnSiteReviewGateway; + + public QualOnSiteReviewE() { + this.qualOnSiteReviewGateway = SpringUtil.getBean(QualOnSiteReviewGateway.class); + } + + public static QualOnSiteReviewE of() { + return DomainFactory.create(QualOnSiteReviewE.class); + } + + public boolean add() { + return qualOnSiteReviewGateway.add(this); + } + + public boolean update() { + return qualOnSiteReviewGateway.update(this); + } +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/QualOnSiteReviewDoConvertor.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/QualOnSiteReviewDoConvertor.java new file mode 100644 index 0000000..e83187c --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/QualOnSiteReviewDoConvertor.java @@ -0,0 +1,53 @@ +package org.qinan.safetyeval.infrastructure.convertor; + +import org.mapstruct.Mapper; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewPageQry; +import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo; +import org.qinan.safetyeval.domain.review.model.QualOnSiteReviewE; +import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualOnSiteReviewDO; + +import java.util.List; + + +/** + * 资质现场核查对象转换 + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Mapper(componentModel = "spring") +public interface QualOnSiteReviewDoConvertor { + /** + * 领域对象转DO + * + * @param qualOnSiteReviewE + * @return + */ + QualOnSiteReviewDO convertEeToDo(QualOnSiteReviewE qualOnSiteReviewE); + + /** + * DO转Co + * + * @param qualOnSiteReviewDo DO + * @return + */ + + QualOnSiteReviewCo converDoToCo(QualOnSiteReviewDO qualOnSiteReviewDo); + + /** + * qry TO DO + * + * @param qualOnSiteReviewPageQry + * @return + */ + + QualOnSiteReviewDO convertQryToDo(QualOnSiteReviewPageQry qualOnSiteReviewPageQry); + + /** + * DOs转Cos + * + * @param qualOnSiteReviewDos dos + * @return + */ + List converDosToCos(List qualOnSiteReviewDos); +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gateway/QualOnSiteReviewGatewayImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gateway/QualOnSiteReviewGatewayImpl.java new file mode 100644 index 0000000..b623bea --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gateway/QualOnSiteReviewGatewayImpl.java @@ -0,0 +1,48 @@ +package org.qinan.safetyeval.infrastructure.gateway; + +import lombok.AllArgsConstructor; +import org.qinan.safetyeval.domain.review.gateway.QualOnSiteReviewGateway; +import org.qinan.safetyeval.domain.review.model.QualOnSiteReviewE; +import org.qinan.safetyeval.infrastructure.convertor.QualOnSiteReviewDoConvertor; +import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualOnSiteReviewDO; +import org.qinan.safetyeval.infrastructure.persistence.repository.QualOnSiteReviewRepository; +import org.springframework.stereotype.Service; + +/** + * 资质现场核查网关实现 + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Service +@AllArgsConstructor +public class QualOnSiteReviewGatewayImpl implements QualOnSiteReviewGateway { + private final QualOnSiteReviewRepository qualOnSiteReviewRepository; + private final QualOnSiteReviewDoConvertor qualOnSiteReviewDoConvertor; + + @Override + public Boolean add(QualOnSiteReviewE qualOnSiteReviewE) { + QualOnSiteReviewDO qualOnSiteReviewDO = qualOnSiteReviewDoConvertor.convertEeToDo(qualOnSiteReviewE); + boolean res = qualOnSiteReviewRepository.addQualOnSiteReview(qualOnSiteReviewDO); + if (res) { + qualOnSiteReviewE.setId(qualOnSiteReviewDO.getId()); + } + return res; + } + + @Override + public Boolean update(QualOnSiteReviewE qualOnSiteReviewE) { + boolean res = qualOnSiteReviewRepository.updateQualOnSiteReview(qualOnSiteReviewDoConvertor.convertEeToDo(qualOnSiteReviewE)); + return res; + } + + @Override + public Boolean deletedQualOnSiteReviewById(Long id) { + return qualOnSiteReviewRepository.deletedQualOnSiteReviewById(id); + } + + @Override + public Boolean deletedQualOnSiteReviewByIds(Long[] ids) { + return qualOnSiteReviewRepository.deletedQualOnSiteReviewByIds(ids); + } +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/domainobject/QualOnSiteReviewDO.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/domainobject/QualOnSiteReviewDO.java new file mode 100644 index 0000000..ecc26e0 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/domainobject/QualOnSiteReviewDO.java @@ -0,0 +1,64 @@ +package org.qinan.safetyeval.infrastructure.persistence.domainobject; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; + +/** + * 资质现场核查领域模型 + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("qual_on_site_review") +public class QualOnSiteReviewDO extends BaseDO { + private static final long serialVersionUID = 1L; + + /** + * 资质类型:add 新增 ,change:变更 + */ + private String bizType; + /** + * 业务id + */ + private Long bizId; + /** + * 现场审查开始时间 + */ + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime reviewDateStart; + /** + * 审查地点 + */ + private String reviewLocation; + /** + * 审查组成员名单 + */ + private String reviewMembers; + /** + * 材料准备要求 + */ + private String materialRequirements; + /** + * 监管联系人姓名 + */ + private String supervisorContact; + /** + * 监管联系电话 + */ + private String contactPhone; + /** + * 现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过) + */ + private Long status; + /** + * 环境 + */ + private String env; +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/mapper/QualOnSiteReviewMapper.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/mapper/QualOnSiteReviewMapper.java new file mode 100644 index 0000000..0c23239 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/mapper/QualOnSiteReviewMapper.java @@ -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.QualOnSiteReviewDO; + +/** + * 资质现场核查Mapper + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Mapper +public interface QualOnSiteReviewMapper extends BaseMapper { +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/QualOnSiteReviewQueryService.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/QualOnSiteReviewQueryService.java new file mode 100644 index 0000000..9cdf413 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/QualOnSiteReviewQueryService.java @@ -0,0 +1,31 @@ +package org.qinan.safetyeval.infrastructure.persistence.queryservice; + +import com.alibaba.cola.dto.PageResponse; +import org.qinan.safetyeval.client.review.request.QualOnSiteReviewPageQry; +import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo; +import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualOnSiteReviewDO; + +/** + * 资质现场核查 + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +public interface QualOnSiteReviewQueryService { + + /** + * 根据ID查找 + * + * @param id 资质现场核查ID + * @return + */ + QualOnSiteReviewDO getById(Long id); + + /** + * 分页查询资质现场核查 + * + * @param qualOnSiteReviewPageQry 分页Qry + * @return + */ + PageResponse listQualOnSiteReviewPage(QualOnSiteReviewPageQry qualOnSiteReviewPageQry); +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/QualOnSiteReviewQueryServiceImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/QualOnSiteReviewQueryServiceImpl.java new file mode 100644 index 0000000..99a6c73 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/QualOnSiteReviewQueryServiceImpl.java @@ -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.review.request.QualOnSiteReviewPageQry; +import org.qinan.safetyeval.client.review.response.QualOnSiteReviewCo; +import org.qinan.safetyeval.infrastructure.convertor.QualOnSiteReviewDoConvertor; +import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualOnSiteReviewDO; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.QualOnSiteReviewQueryService; +import org.qinan.safetyeval.infrastructure.persistence.repository.QualOnSiteReviewRepository; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 资质现场核查 + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Service +@AllArgsConstructor +public class QualOnSiteReviewQueryServiceImpl implements QualOnSiteReviewQueryService { + + private final QualOnSiteReviewRepository qualOnSiteReviewRepository; + private final QualOnSiteReviewDoConvertor qualOnSiteReviewDoConvertor; + + @Override + public QualOnSiteReviewDO getById(Long id) { + return qualOnSiteReviewRepository.getById(id); + } + + @Override + public PageResponse listQualOnSiteReviewPage(QualOnSiteReviewPageQry qualOnSiteReviewPageQry) { + IPage qualOnSiteReviewDoPage = qualOnSiteReviewRepository.listQualOnSiteReviewPage(PageHelper.queryToPage(qualOnSiteReviewPageQry), qualOnSiteReviewPageQry); + List qualOnSiteReviewCoS = qualOnSiteReviewDoConvertor.converDosToCos(qualOnSiteReviewDoPage.getRecords()); + return PageHelper.pageToResponse(qualOnSiteReviewDoPage, qualOnSiteReviewCoS); + } + +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/repository/QualOnSiteReviewRepository.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/repository/QualOnSiteReviewRepository.java new file mode 100644 index 0000000..6a748d8 --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/repository/QualOnSiteReviewRepository.java @@ -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.review.request.QualOnSiteReviewPageQry; +import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualOnSiteReviewDO; + +/** + * 资质现场核查 + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +public interface QualOnSiteReviewRepository extends BaseRepository { + /** + * 根据ID查找 + * + * @param id 资质现场核查ID + * @return + */ + QualOnSiteReviewDO getById(Long id); + + /** + * 分页查找资质现场核查对象 + * + * @param iPage 分页对象 + * @param qualOnSiteReviewPageQry 条件对象 + * @return ipage + */ + IPage listQualOnSiteReviewPage(IPage iPage, QualOnSiteReviewPageQry qualOnSiteReviewPageQry); + + /** + * 新增资质现场核查 + * + * @param qualOnSiteReviewDO 资质现场核查 + * @return 结果 + */ + Boolean addQualOnSiteReview(QualOnSiteReviewDO qualOnSiteReviewDO); + + /** + * 修改资质现场核查 + * + * @param qualOnSiteReviewDO 资质现场核查 + * @return 结果 + */ + Boolean updateQualOnSiteReview(QualOnSiteReviewDO qualOnSiteReviewDO); + + + /** + * 删除资质现场核查 + * + * @param id + * @return 结果 + */ + Boolean deletedQualOnSiteReviewById(Long id); + + /** + * 删除资质现场核查 + * + * @param ids + * @return 结果 + */ + Boolean deletedQualOnSiteReviewByIds(Long[] ids); + +} diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/repository/impl/QualOnSiteReviewRepositoryImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/repository/impl/QualOnSiteReviewRepositoryImpl.java new file mode 100644 index 0000000..49929bb --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/repository/impl/QualOnSiteReviewRepositoryImpl.java @@ -0,0 +1,90 @@ +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.review.request.QualOnSiteReviewPageQry; +import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualOnSiteReviewDO; +import org.qinan.safetyeval.infrastructure.persistence.mapper.QualOnSiteReviewMapper; +import org.qinan.safetyeval.infrastructure.persistence.repository.QualOnSiteReviewRepository; +import org.springframework.stereotype.Service; + +import java.util.Arrays; + +/** + * 资质现场核查 + * + * @Author: ltq + * @date 2026-07-20 15:17:00 + */ +@Service +@AllArgsConstructor +public class QualOnSiteReviewRepositoryImpl extends BaseRepositoryImpl implements QualOnSiteReviewRepository { + + private final QualOnSiteReviewMapper qualOnSiteReviewMapper; + + @Override + public QualOnSiteReviewDO getById(Long id) { + return super.lambdaQuery().eq(QualOnSiteReviewDO::getId, id).eq(QualOnSiteReviewDO::getDeleteEnum, BooleanEnum.FALSE.getValue()).one(); + } + + @Override + public IPage listQualOnSiteReviewPage(IPage iPage, QualOnSiteReviewPageQry qualOnSiteReviewPageQry) { + QueryWrapper qualOnSiteReviewDoQueryWrapper = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(qualOnSiteReviewPageQry.getBizType())) { + qualOnSiteReviewDoQueryWrapper.eq("biz_type", qualOnSiteReviewPageQry.getBizType()); + } + if (ObjectUtil.isNotEmpty(qualOnSiteReviewPageQry.getBizId())) { + qualOnSiteReviewDoQueryWrapper.eq("biz_id", qualOnSiteReviewPageQry.getBizId()); + } + if (ObjectUtil.isNotEmpty(qualOnSiteReviewPageQry.getReviewDateStart())) { + qualOnSiteReviewDoQueryWrapper.eq("review_date_start", qualOnSiteReviewPageQry.getReviewDateStart()); + } + if (ObjectUtil.isNotEmpty(qualOnSiteReviewPageQry.getReviewLocation())) { + qualOnSiteReviewDoQueryWrapper.eq("review_location", qualOnSiteReviewPageQry.getReviewLocation()); + } + if (ObjectUtil.isNotEmpty(qualOnSiteReviewPageQry.getReviewMembers())) { + qualOnSiteReviewDoQueryWrapper.eq("review_members", qualOnSiteReviewPageQry.getReviewMembers()); + } + if (ObjectUtil.isNotEmpty(qualOnSiteReviewPageQry.getMaterialRequirements())) { + qualOnSiteReviewDoQueryWrapper.eq("material_requirements", qualOnSiteReviewPageQry.getMaterialRequirements()); + } + if (ObjectUtil.isNotEmpty(qualOnSiteReviewPageQry.getSupervisorContact())) { + qualOnSiteReviewDoQueryWrapper.eq("supervisor_contact", qualOnSiteReviewPageQry.getSupervisorContact()); + } + if (ObjectUtil.isNotEmpty(qualOnSiteReviewPageQry.getContactPhone())) { + qualOnSiteReviewDoQueryWrapper.eq("contact_phone", qualOnSiteReviewPageQry.getContactPhone()); + } + if (ObjectUtil.isNotEmpty(qualOnSiteReviewPageQry.getStatus())) { + qualOnSiteReviewDoQueryWrapper.eq("status", qualOnSiteReviewPageQry.getStatus()); + } + if (ObjectUtil.isNotEmpty(qualOnSiteReviewPageQry.getEnv())) { + qualOnSiteReviewDoQueryWrapper.eq("env", qualOnSiteReviewPageQry.getEnv()); + } + qualOnSiteReviewDoQueryWrapper.eq("delete_enum", BooleanEnum.FALSE.getValue()); + return qualOnSiteReviewMapper.selectPage(iPage, qualOnSiteReviewDoQueryWrapper); + } + + @Override + public Boolean addQualOnSiteReview(QualOnSiteReviewDO qualOnSiteReviewDO) { + return super.save(qualOnSiteReviewDO); + } + + @Override + public Boolean updateQualOnSiteReview(QualOnSiteReviewDO qualOnSiteReviewDO) { + return super.updateById(qualOnSiteReviewDO); + } + + @Override + public Boolean deletedQualOnSiteReviewById(Long id) { + return super.removeEnById(id); + } + + @Override + public Boolean deletedQualOnSiteReviewByIds(Long[] ids) { + return super.removeBatchEnByIds(Arrays.asList(ids)); + } +} diff --git a/safety-eval-infrastructure/src/main/resources/mapper/QualOnSiteReviewMapper.xml b/safety-eval-infrastructure/src/main/resources/mapper/QualOnSiteReviewMapper.xml new file mode 100644 index 0000000..d4ce42f --- /dev/null +++ b/safety-eval-infrastructure/src/main/resources/mapper/QualOnSiteReviewMapper.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, + biz_type, + biz_id, + org_id, + review_date_start, + review_location, + review_members, + material_requirements, + supervisor_contact, + contact_phone, + status, + delete_enum, + remarks, + create_name, + update_name, + tenant_id, + version, + create_time, + update_time, + create_id, + update_id, + env + from qual_on_site_review + + \ No newline at end of file