luotaiqian 2026-07-14 18:05:48 +08:00
parent f063e75521
commit 0c961326dd
25 changed files with 1144 additions and 0 deletions

View File

@ -0,0 +1,74 @@
package org.qinan.safetyeval.adapter.controller.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.standards.service.IndustryProfessionalStandardsServiceI;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsAddCmd;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsPageQry;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsUpdateCmd;
import org.qinan.safetyeval.client.standards.response.IndustryProfessionalStandardsCo;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
/**
*
*
* @Author: ltq
* @Date: 2026-07-14 18:05:26
*/
@RestController
@AllArgsConstructor
@Api(tags = "安全评价机构业务范围与专业能力配备标准")
@RequestMapping("/standards")
public class IndustryProfessionalStandardsController implements Serializable {
private static final long serialVersionUID = 1L;
private final IndustryProfessionalStandardsServiceI industryProfessionalStandardsServiceI;
@GetMapping
@ApiOperation("查询安全评价机构业务范围与专业能力配备标准列表-分页")
public PageResponse<IndustryProfessionalStandardsCo> list(@Validated IndustryProfessionalStandardsPageQry qry) {
return industryProfessionalStandardsServiceI.listIndustryProfessionalStandardsPage(qry);
}
@GetMapping("/{id}")
@ApiOperation("查询安全评价机构业务范围与专业能力配备标准详情页面")
public SingleResponse<IndustryProfessionalStandardsCo> getInfo(@PathVariable("id") Long id) {
return SingleResponse.of(industryProfessionalStandardsServiceI.getIndustryProfessionalStandardsById(id));
}
@PostMapping
@ApiOperation("新增安全评价机构业务范围与专业能力配备标准")
public Response save(@Validated @RequestBody IndustryProfessionalStandardsAddCmd industryProfessionalStandardsAddCmd) {
industryProfessionalStandardsServiceI.saveIndustryProfessionalStandards(industryProfessionalStandardsAddCmd);
return Response.buildSuccess();
}
@PutMapping
@ApiOperation("修改安全评价机构业务范围与专业能力配备标准")
public Response update(@Validated @RequestBody IndustryProfessionalStandardsUpdateCmd industryProfessionalStandardsUpdateCmd) {
industryProfessionalStandardsServiceI.updateIndustryProfessionalStandards(industryProfessionalStandardsUpdateCmd);
return Response.buildSuccess();
}
@DeleteMapping("/{id}")
@ApiOperation("删除安全评价机构业务范围与专业能力配备标准(单个)")
public Response deletedById(@PathVariable("id") Long id) {
industryProfessionalStandardsServiceI.deletedIndustryProfessionalStandardsById(id);
return Response.buildSuccess();
}
@DeleteMapping("/ids")
@ApiOperation("删除安全评价机构业务范围与专业能力配备标准(多个)")
public Response deletedByIds(@RequestParam Long[] ids) {
industryProfessionalStandardsServiceI.deletedIndustryProfessionalStandardsByIds(ids);
return Response.buildSuccess();
}
}

View File

@ -0,0 +1,34 @@
package org.qinan.safetyeval.app.standards.convertor;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsAddCmd;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsUpdateCmd;
import org.qinan.safetyeval.domain.standards.model.IndustryProfessionalStandardsE;
/**
*
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
@Mapper(componentModel = "spring")
public interface IndustryProfessionalStandardsCmdConvertor {
/**
* cmd_add
*
* @param industryProfessionalStandardsAddCmd
* @return
*/
@Mapping(target = "industryProfessionalStandardsGateway", ignore = true)
IndustryProfessionalStandardsE convertCmdToE(IndustryProfessionalStandardsAddCmd industryProfessionalStandardsAddCmd);
/**
* cmd_update
*
* @param industryProfessionalStandardsUpdateCmd
* @return
*/
@Mapping(target = "industryProfessionalStandardsGateway", ignore = true)
IndustryProfessionalStandardsE convertCmdToE(IndustryProfessionalStandardsUpdateCmd industryProfessionalStandardsUpdateCmd);
}

View File

@ -0,0 +1,42 @@
package org.qinan.safetyeval.app.standards.executor.command;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.standards.convertor.IndustryProfessionalStandardsCmdConvertor;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsAddCmd;
import org.qinan.safetyeval.domain.standards.ability.IndustryProfessionalStandardsAbility;
import org.qinan.safetyeval.domain.standards.model.IndustryProfessionalStandardsE;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.IndustryProfessionalStandardsQueryService;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
*
*
* @author ltq
* @date 2026-07-14 18:05:26
*/
@Component
@AllArgsConstructor
public class IndustryProfessionalStandardsAddCmdExe {
private final IndustryProfessionalStandardsQueryService industryProfessionalStandardsQueryService;
private final IndustryProfessionalStandardsCmdConvertor industryProfessionalStandardsCmdConvertor;
private final IndustryProfessionalStandardsAbility industryProfessionalStandardsAbility;
/**
*
*
* @param industryProfessionalStandardsAddCmd
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean execute(IndustryProfessionalStandardsAddCmd industryProfessionalStandardsAddCmd) {
IndustryProfessionalStandardsE industryProfessionalStandardsE = industryProfessionalStandardsCmdConvertor.convertCmdToE(industryProfessionalStandardsAddCmd);
boolean res = industryProfessionalStandardsE.add();
if (!res) {
throw new BizException("保存失败");
}
return true;
}
}

View File

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

View File

@ -0,0 +1,41 @@
package org.qinan.safetyeval.app.standards.executor.command;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.standards.convertor.IndustryProfessionalStandardsCmdConvertor;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsUpdateCmd;
import org.qinan.safetyeval.domain.standards.ability.IndustryProfessionalStandardsAbility;
import org.qinan.safetyeval.domain.standards.model.IndustryProfessionalStandardsE;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.IndustryProfessionalStandardsQueryService;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
*
*
* @author ltq
* @date 2026-07-14 18:05:26
*/
@Component
@AllArgsConstructor
public class IndustryProfessionalStandardsUpdateCmdExe {
private final IndustryProfessionalStandardsQueryService industryProfessionalStandardsQueryService;
private final IndustryProfessionalStandardsCmdConvertor industryProfessionalStandardsCmdConvertor;
private final IndustryProfessionalStandardsAbility industryProfessionalStandardsAbility;
/**
*
*
* @param industryProfessionalStandardsUpdateCmd
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean execute(IndustryProfessionalStandardsUpdateCmd industryProfessionalStandardsUpdateCmd) {
IndustryProfessionalStandardsE industryProfessionalStandardsE = industryProfessionalStandardsCmdConvertor.convertCmdToE(industryProfessionalStandardsUpdateCmd);
Boolean updateRes = industryProfessionalStandardsE.update();
if (!updateRes) {
throw new BizException("数据已被更新,请刷新重试");
}
return true;
}
}

View File

@ -0,0 +1,34 @@
package org.qinan.safetyeval.app.standards.executor.query;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.client.standards.response.IndustryProfessionalStandardsCo;
import org.qinan.safetyeval.infrastructure.convertor.IndustryProfessionalStandardsDoConvertor;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.IndustryProfessionalStandardsDO;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.IndustryProfessionalStandardsQueryService;
import org.springframework.stereotype.Component;
/**
*
*
* @author ltq
* @date 2026-07-14 18:05:26
*/
@Component
@AllArgsConstructor
public class IndustryProfessionalStandardsListQueryExe {
private final IndustryProfessionalStandardsQueryService industryProfessionalStandardsQueryService;
private final IndustryProfessionalStandardsDoConvertor industryProfessionalStandardsDoConvertor;
/**
* ID
*
* @param id ID
* @return
*/
public IndustryProfessionalStandardsCo execute(Long id) {
IndustryProfessionalStandardsDO industryProfessionalStandardsDO = industryProfessionalStandardsQueryService.getById(id);
return industryProfessionalStandardsDoConvertor.converDoToCo(industryProfessionalStandardsDO);
}
}

View File

@ -0,0 +1,32 @@
package org.qinan.safetyeval.app.standards.executor.query;
import com.alibaba.cola.dto.PageResponse;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsPageQry;
import org.qinan.safetyeval.client.standards.response.IndustryProfessionalStandardsCo;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.IndustryProfessionalStandardsQueryService;
import org.springframework.stereotype.Component;
/**
*
*
* @author ltq
* @date 2026-07-14 18:05:26
*/
@Component
@AllArgsConstructor
public class IndustryProfessionalStandardsPageQueryExe {
private final IndustryProfessionalStandardsQueryService industryProfessionalStandardsQueryService;
/**
*
*
* @param industryProfessionalStandardsPageQry
* @return
*/
public PageResponse<IndustryProfessionalStandardsCo> execute(IndustryProfessionalStandardsPageQry industryProfessionalStandardsPageQry) {
return industryProfessionalStandardsQueryService.listIndustryProfessionalStandardsPage(industryProfessionalStandardsPageQry);
}
}

View File

@ -0,0 +1,65 @@
package org.qinan.safetyeval.app.standards.service;
import com.alibaba.cola.dto.PageResponse;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsAddCmd;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsPageQry;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsUpdateCmd;
import org.qinan.safetyeval.client.standards.response.IndustryProfessionalStandardsCo;
/**
*
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
public interface IndustryProfessionalStandardsServiceI {
/**
*
*
* @param industryProfessionalStandardsPageQry
* @return
*/
PageResponse<IndustryProfessionalStandardsCo> listIndustryProfessionalStandardsPage(IndustryProfessionalStandardsPageQry industryProfessionalStandardsPageQry);
/**
* ID
*
* @param id ID
* @return
*/
IndustryProfessionalStandardsCo getIndustryProfessionalStandardsById(Long id);
/**
*
*
* @param industryProfessionalStandardsAddCmd
* @return
*/
boolean saveIndustryProfessionalStandards(IndustryProfessionalStandardsAddCmd industryProfessionalStandardsAddCmd);
/**
*
*
* @param industryProfessionalStandardsUpdateCmd
* @return
*/
boolean updateIndustryProfessionalStandards(IndustryProfessionalStandardsUpdateCmd industryProfessionalStandardsUpdateCmd);
/**
*
*
* @param id ID
* @return
*/
boolean deletedIndustryProfessionalStandardsById(Long id);
/**
*
*
* @param ids IDs
* @return
*/
boolean deletedIndustryProfessionalStandardsByIds(Long[] ids);
}

View File

@ -0,0 +1,63 @@
package org.qinan.safetyeval.app.standards.service.impl;
import com.alibaba.cola.dto.PageResponse;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.standards.executor.command.IndustryProfessionalStandardsAddCmdExe;
import org.qinan.safetyeval.app.standards.executor.command.IndustryProfessionalStandardsDelCmdExe;
import org.qinan.safetyeval.app.standards.executor.command.IndustryProfessionalStandardsUpdateCmdExe;
import org.qinan.safetyeval.app.standards.executor.query.IndustryProfessionalStandardsListQueryExe;
import org.qinan.safetyeval.app.standards.executor.query.IndustryProfessionalStandardsPageQueryExe;
import org.qinan.safetyeval.app.standards.service.IndustryProfessionalStandardsServiceI;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsAddCmd;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsPageQry;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsUpdateCmd;
import org.qinan.safetyeval.client.standards.response.IndustryProfessionalStandardsCo;
import org.springframework.stereotype.Service;
/**
*
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
@Service
@AllArgsConstructor
public class IndustryProfessionalStandardsServiceImpl implements IndustryProfessionalStandardsServiceI {
private final IndustryProfessionalStandardsListQueryExe industryProfessionalStandardsListQueryExe;
private final IndustryProfessionalStandardsUpdateCmdExe industryProfessionalStandardsUpdateCommandExe;
private final IndustryProfessionalStandardsAddCmdExe industryProfessionalStandardsAddCommandExe;
private final IndustryProfessionalStandardsDelCmdExe industryProfessionalStandardsDelCommandExe;
private final IndustryProfessionalStandardsPageQueryExe industryProfessionalStandardsPageQueryExe;
@Override
public PageResponse<IndustryProfessionalStandardsCo> listIndustryProfessionalStandardsPage(IndustryProfessionalStandardsPageQry industryProfessionalStandardsPageQry) {
return industryProfessionalStandardsPageQueryExe.execute(industryProfessionalStandardsPageQry);
}
@Override
public IndustryProfessionalStandardsCo getIndustryProfessionalStandardsById(Long id) {
return industryProfessionalStandardsListQueryExe.execute(id);
}
@Override
public boolean saveIndustryProfessionalStandards(IndustryProfessionalStandardsAddCmd industryProfessionalStandardsAddCmd) {
return industryProfessionalStandardsAddCommandExe.execute(industryProfessionalStandardsAddCmd);
}
@Override
public boolean updateIndustryProfessionalStandards(IndustryProfessionalStandardsUpdateCmd industryProfessionalStandardsUpdateCmd) {
return industryProfessionalStandardsUpdateCommandExe.execute(industryProfessionalStandardsUpdateCmd);
}
@Override
public boolean deletedIndustryProfessionalStandardsById(Long id) {
return industryProfessionalStandardsDelCommandExe.execute(id);
}
@Override
public boolean deletedIndustryProfessionalStandardsByIds(Long[] ids) {
return industryProfessionalStandardsDelCommandExe.execute(ids);
}
}

View File

@ -0,0 +1,42 @@
package org.qinan.safetyeval.client.standards.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* Cmd
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
@Data
public class IndustryProfessionalStandardsAddCmd implements Serializable {
private static final long serialVersionUID = 1L;
/**
* code
*/
@ApiModelProperty(value = "行业code", required = true)
@NotBlank(message = "行业code不能为空")
private String industryCode;
/**
* code
*/
@ApiModelProperty(value = "专业能力 code", required = true)
@NotBlank(message = "专业能力 code不能为空")
private String professionalCapabilityCode;
/**
*
*/
@ApiModelProperty(value = "专业能力名称")
private String professionalCapabilityName;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -0,0 +1,38 @@
package org.qinan.safetyeval.client.standards.request;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Qry
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
@Data
public class IndustryProfessionalStandardsPageQry extends PageQuery {
private static final long serialVersionUID = 1L;
/**
* code
*/
@ApiModelProperty(value = "行业code")
private String industryCode;
/**
* code
*/
@ApiModelProperty(value = "专业能力 code")
private String professionalCapabilityCode;
/**
*
*/
@ApiModelProperty(value = "专业能力名称")
private String professionalCapabilityName;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -0,0 +1,47 @@
package org.qinan.safetyeval.client.standards.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-14 18:05:26
*/
@Data
public class IndustryProfessionalStandardsUpdateCmd implements Serializable {
private static final long serialVersionUID = 1L;
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
/**
* code
*/
@ApiModelProperty(value = "行业code", required = true)
@NotBlank(message = "行业code不能为空")
private String industryCode;
/**
* code
*/
@ApiModelProperty(value = "专业能力 code", required = true)
@NotBlank(message = "专业能力 code不能为空")
private String professionalCapabilityCode;
/**
*
*/
@ApiModelProperty(value = "专业能力名称")
private String professionalCapabilityName;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
@NotNull(message = "version不能为空")
@ApiModelProperty(value = "version")
private Integer version;
}

View File

@ -0,0 +1,41 @@
package org.qinan.safetyeval.client.standards.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-14 18:05:26
*/
@Data
public class IndustryProfessionalStandardsCo extends ClientObject {
private static final long serialVersionUID = 1L;
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
/**
* code
*/
@ApiModelProperty(value = "行业code")
private String industryCode;
/**
* code
*/
@ApiModelProperty(value = "专业能力 code")
private String professionalCapabilityCode;
/**
*
*/
@ApiModelProperty(value = "专业能力名称")
private String professionalCapabilityName;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
@ApiModelProperty(value = "version")
private Integer version;
}

View File

@ -0,0 +1,29 @@
package org.qinan.safetyeval.domain.standards.ability;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.domain.standards.gateway.IndustryProfessionalStandardsGateway;
import org.springframework.stereotype.Service;
/**
*
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
@Service
@AllArgsConstructor
public class IndustryProfessionalStandardsAbility {
/**
*
**/
private final IndustryProfessionalStandardsGateway industryProfessionalStandardsGateway;
public boolean deletedIndustryProfessionalStandardsById(Long id) {
return industryProfessionalStandardsGateway.deletedIndustryProfessionalStandardsById(id);
}
public boolean deletedIndustryProfessionalStandardsByIds(Long[] ids) {
return industryProfessionalStandardsGateway.deletedIndustryProfessionalStandardsByIds(ids);
}
}

View File

@ -0,0 +1,44 @@
package org.qinan.safetyeval.domain.standards.gateway;
import org.qinan.safetyeval.domain.standards.model.IndustryProfessionalStandardsE;
/**
*
*
* @Author: WGG
* @Date: 2022/3/22 16:49
*/
public interface IndustryProfessionalStandardsGateway {
/**
*
*
* @param industryProfessionalStandardsE
* @return
*/
Boolean add(IndustryProfessionalStandardsE industryProfessionalStandardsE);
/**
*
*
* @param industryProfessionalStandardsE
* @return
*/
Boolean update(IndustryProfessionalStandardsE industryProfessionalStandardsE);
/**
*
*
* @param id
* @return
*/
Boolean deletedIndustryProfessionalStandardsById(Long id);
/**
*
*
* @param ids
* @return
*/
Boolean deletedIndustryProfessionalStandardsByIds(Long[] ids);
}

View File

@ -0,0 +1,56 @@
package org.qinan.safetyeval.domain.standards.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.standards.gateway.IndustryProfessionalStandardsGateway;
/**
*
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
@Data
@Entity
@EqualsAndHashCode(callSuper = true)
public class IndustryProfessionalStandardsE extends BaseE {
private static final long serialVersionUID = 1L;
/**
* code
*/
private String industryCode;
/**
* code
*/
private String professionalCapabilityCode;
/**
*
*/
private String professionalCapabilityName;
/**
*
*/
private String env;
private transient IndustryProfessionalStandardsGateway industryProfessionalStandardsGateway;
public IndustryProfessionalStandardsE() {
this.industryProfessionalStandardsGateway = SpringUtil.getBean(IndustryProfessionalStandardsGateway.class);
}
public static IndustryProfessionalStandardsE of() {
return DomainFactory.create(IndustryProfessionalStandardsE.class);
}
public boolean add() {
return industryProfessionalStandardsGateway.add(this);
}
public boolean update() {
return industryProfessionalStandardsGateway.update(this);
}
}

View File

@ -0,0 +1,53 @@
package org.qinan.safetyeval.infrastructure.convertor;
import org.mapstruct.Mapper;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsPageQry;
import org.qinan.safetyeval.client.standards.response.IndustryProfessionalStandardsCo;
import org.qinan.safetyeval.domain.standards.model.IndustryProfessionalStandardsE;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.IndustryProfessionalStandardsDO;
import java.util.List;
/**
*
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
@Mapper(componentModel = "spring")
public interface IndustryProfessionalStandardsDoConvertor {
/**
* DO
*
* @param industryProfessionalStandardsE
* @return
*/
IndustryProfessionalStandardsDO convertEeToDo(IndustryProfessionalStandardsE industryProfessionalStandardsE);
/**
* DOCo
*
* @param industryProfessionalStandardsDo DO
* @return
*/
IndustryProfessionalStandardsCo converDoToCo(IndustryProfessionalStandardsDO industryProfessionalStandardsDo);
/**
* qry TO DO
*
* @param industryProfessionalStandardsPageQry
* @return
*/
IndustryProfessionalStandardsDO convertQryToDo(IndustryProfessionalStandardsPageQry industryProfessionalStandardsPageQry);
/**
* DOsCos
*
* @param industryProfessionalStandardsDos dos
* @return
*/
List<IndustryProfessionalStandardsCo> converDosToCos(List<IndustryProfessionalStandardsDO> industryProfessionalStandardsDos);
}

View File

@ -0,0 +1,48 @@
package org.qinan.safetyeval.infrastructure.gateway;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.domain.standards.gateway.IndustryProfessionalStandardsGateway;
import org.qinan.safetyeval.domain.standards.model.IndustryProfessionalStandardsE;
import org.qinan.safetyeval.infrastructure.convertor.IndustryProfessionalStandardsDoConvertor;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.IndustryProfessionalStandardsDO;
import org.qinan.safetyeval.infrastructure.persistence.repository.IndustryProfessionalStandardsRepository;
import org.springframework.stereotype.Service;
/**
*
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
@Service
@AllArgsConstructor
public class IndustryProfessionalStandardsGatewayImpl implements IndustryProfessionalStandardsGateway {
private final IndustryProfessionalStandardsRepository industryProfessionalStandardsRepository;
private final IndustryProfessionalStandardsDoConvertor industryProfessionalStandardsDoConvertor;
@Override
public Boolean add(IndustryProfessionalStandardsE industryProfessionalStandardsE) {
IndustryProfessionalStandardsDO industryProfessionalStandardsDO = industryProfessionalStandardsDoConvertor.convertEeToDo(industryProfessionalStandardsE);
boolean res = industryProfessionalStandardsRepository.addIndustryProfessionalStandards(industryProfessionalStandardsDO);
if (res) {
industryProfessionalStandardsE.setId(industryProfessionalStandardsDO.getId());
}
return res;
}
@Override
public Boolean update(IndustryProfessionalStandardsE industryProfessionalStandardsE) {
boolean res = industryProfessionalStandardsRepository.updateIndustryProfessionalStandards(industryProfessionalStandardsDoConvertor.convertEeToDo(industryProfessionalStandardsE));
return res;
}
@Override
public Boolean deletedIndustryProfessionalStandardsById(Long id) {
return industryProfessionalStandardsRepository.deletedIndustryProfessionalStandardsById(id);
}
@Override
public Boolean deletedIndustryProfessionalStandardsByIds(Long[] ids) {
return industryProfessionalStandardsRepository.deletedIndustryProfessionalStandardsByIds(ids);
}
}

View File

@ -0,0 +1,36 @@
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-14 18:05:26
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("industry_professional_standards")
public class IndustryProfessionalStandardsDO extends BaseDO {
private static final long serialVersionUID = 1L;
/**
* code
*/
private String industryCode;
/**
* code
*/
private String professionalCapabilityCode;
/**
*
*/
private String professionalCapabilityName;
/**
*
*/
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.IndustryProfessionalStandardsDO;
/**
* Mapper
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
@Mapper
public interface IndustryProfessionalStandardsMapper extends BaseMapper<IndustryProfessionalStandardsDO> {
}

View File

@ -0,0 +1,31 @@
package org.qinan.safetyeval.infrastructure.persistence.queryservice;
import com.alibaba.cola.dto.PageResponse;
import org.qinan.safetyeval.client.standards.request.IndustryProfessionalStandardsPageQry;
import org.qinan.safetyeval.client.standards.response.IndustryProfessionalStandardsCo;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.IndustryProfessionalStandardsDO;
/**
*
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
public interface IndustryProfessionalStandardsQueryService {
/**
* ID
*
* @param id ID
* @return
*/
IndustryProfessionalStandardsDO getById(Long id);
/**
*
*
* @param industryProfessionalStandardsPageQry Qry
* @return
*/
PageResponse<IndustryProfessionalStandardsCo> listIndustryProfessionalStandardsPage(IndustryProfessionalStandardsPageQry industryProfessionalStandardsPageQry);
}

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.standards.request.IndustryProfessionalStandardsPageQry;
import org.qinan.safetyeval.client.standards.response.IndustryProfessionalStandardsCo;
import org.qinan.safetyeval.infrastructure.convertor.IndustryProfessionalStandardsDoConvertor;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.IndustryProfessionalStandardsDO;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.IndustryProfessionalStandardsQueryService;
import org.qinan.safetyeval.infrastructure.persistence.repository.IndustryProfessionalStandardsRepository;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
@Service
@AllArgsConstructor
public class IndustryProfessionalStandardsQueryServiceImpl implements IndustryProfessionalStandardsQueryService {
private final IndustryProfessionalStandardsRepository industryProfessionalStandardsRepository;
private final IndustryProfessionalStandardsDoConvertor industryProfessionalStandardsDoConvertor;
@Override
public IndustryProfessionalStandardsDO getById(Long id) {
return industryProfessionalStandardsRepository.getById(id);
}
@Override
public PageResponse<IndustryProfessionalStandardsCo> listIndustryProfessionalStandardsPage(IndustryProfessionalStandardsPageQry industryProfessionalStandardsPageQry) {
IPage<IndustryProfessionalStandardsDO> industryProfessionalStandardsDoPage = industryProfessionalStandardsRepository.listIndustryProfessionalStandardsPage(PageHelper.queryToPage(industryProfessionalStandardsPageQry), industryProfessionalStandardsPageQry);
List<IndustryProfessionalStandardsCo> industryProfessionalStandardsCoS = industryProfessionalStandardsDoConvertor.converDosToCos(industryProfessionalStandardsDoPage.getRecords());
return PageHelper.pageToResponse(industryProfessionalStandardsDoPage, industryProfessionalStandardsCoS);
}
}

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.standards.request.IndustryProfessionalStandardsPageQry;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.IndustryProfessionalStandardsDO;
/**
*
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
public interface IndustryProfessionalStandardsRepository extends BaseRepository<IndustryProfessionalStandardsDO> {
/**
* ID
*
* @param id ID
* @return
*/
IndustryProfessionalStandardsDO getById(Long id);
/**
*
*
* @param iPage
* @param industryProfessionalStandardsPageQry
* @return ipage
*/
IPage<IndustryProfessionalStandardsDO> listIndustryProfessionalStandardsPage(IPage iPage, IndustryProfessionalStandardsPageQry industryProfessionalStandardsPageQry);
/**
*
*
* @param industryProfessionalStandardsDO
* @return
*/
Boolean addIndustryProfessionalStandards(IndustryProfessionalStandardsDO industryProfessionalStandardsDO);
/**
*
*
* @param industryProfessionalStandardsDO
* @return
*/
Boolean updateIndustryProfessionalStandards(IndustryProfessionalStandardsDO industryProfessionalStandardsDO);
/**
*
*
* @param id
* @return
*/
Boolean deletedIndustryProfessionalStandardsById(Long id);
/**
*
*
* @param ids
* @return
*/
Boolean deletedIndustryProfessionalStandardsByIds(Long[] ids);
}

View File

@ -0,0 +1,72 @@
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.standards.request.IndustryProfessionalStandardsPageQry;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.IndustryProfessionalStandardsDO;
import org.qinan.safetyeval.infrastructure.persistence.mapper.IndustryProfessionalStandardsMapper;
import org.qinan.safetyeval.infrastructure.persistence.repository.IndustryProfessionalStandardsRepository;
import org.springframework.stereotype.Service;
import java.util.Arrays;
/**
*
*
* @Author: ltq
* @date 2026-07-14 18:05:26
*/
@Service
@AllArgsConstructor
public class IndustryProfessionalStandardsRepositoryImpl extends BaseRepositoryImpl<IndustryProfessionalStandardsMapper, IndustryProfessionalStandardsDO> implements IndustryProfessionalStandardsRepository {
private final IndustryProfessionalStandardsMapper industryProfessionalStandardsMapper;
@Override
public IndustryProfessionalStandardsDO getById(Long id) {
return super.lambdaQuery().eq(IndustryProfessionalStandardsDO::getId, id).eq(IndustryProfessionalStandardsDO::getDeleteEnum, BooleanEnum.FALSE.getValue()).one();
}
@Override
public IPage<IndustryProfessionalStandardsDO> listIndustryProfessionalStandardsPage(IPage iPage, IndustryProfessionalStandardsPageQry industryProfessionalStandardsPageQry) {
QueryWrapper<IndustryProfessionalStandardsDO> industryProfessionalStandardsDoQueryWrapper = new QueryWrapper<>();
if (ObjectUtil.isNotEmpty(industryProfessionalStandardsPageQry.getIndustryCode())) {
industryProfessionalStandardsDoQueryWrapper.eq("industry_code", industryProfessionalStandardsPageQry.getIndustryCode());
}
if (ObjectUtil.isNotEmpty(industryProfessionalStandardsPageQry.getProfessionalCapabilityCode())) {
industryProfessionalStandardsDoQueryWrapper.eq("professional_capability_code", industryProfessionalStandardsPageQry.getProfessionalCapabilityCode());
}
if (ObjectUtil.isNotEmpty(industryProfessionalStandardsPageQry.getProfessionalCapabilityName())) {
industryProfessionalStandardsDoQueryWrapper.like("professional_capability_name", industryProfessionalStandardsPageQry.getProfessionalCapabilityName());
}
if (ObjectUtil.isNotEmpty(industryProfessionalStandardsPageQry.getEnv())) {
industryProfessionalStandardsDoQueryWrapper.eq("env", industryProfessionalStandardsPageQry.getEnv());
}
industryProfessionalStandardsDoQueryWrapper.eq("delete_enum", BooleanEnum.FALSE.getValue());
return industryProfessionalStandardsMapper.selectPage(iPage, industryProfessionalStandardsDoQueryWrapper);
}
@Override
public Boolean addIndustryProfessionalStandards(IndustryProfessionalStandardsDO industryProfessionalStandardsDO) {
return super.save(industryProfessionalStandardsDO);
}
@Override
public Boolean updateIndustryProfessionalStandards(IndustryProfessionalStandardsDO industryProfessionalStandardsDO) {
return super.updateById(industryProfessionalStandardsDO);
}
@Override
public Boolean deletedIndustryProfessionalStandardsById(Long id) {
return super.removeEnById(id);
}
@Override
public Boolean deletedIndustryProfessionalStandardsByIds(Long[] ids) {
return super.removeBatchEnByIds(Arrays.asList(ids));
}
}

View File

@ -0,0 +1,45 @@
<?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.IndustryProfessionalStandardsMapper">
<resultMap type="org.qinan.safetyeval.infrastructure.persistence.domainobject.IndustryProfessionalStandardsDO"
id="IndustryProfessionalStandardsResult">
<id property="id" column="id"/>
<result property="industryCode" column="industry_code"/>
<result property="professionalCapabilityCode" column="professional_capability_code"/>
<result property="professionalCapabilityName" column="professional_capability_name"/>
<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="orgId" column="org_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="selectIndustryProfessionalStandards">
select id,
industry_code,
professional_capability_code,
professional_capability_name,
delete_enum,
remarks,
create_name,
update_name,
tenant_id,
org_id,
version,
create_time,
update_time,
create_id,
update_id,
env
from industry_professional_standards
</sql>
</mapper>