basic-discipline-major

dev
luotaiqian 2026-07-13 17:38:37 +08:00
parent 680c01707e
commit 6b3d3dd217
25 changed files with 1217 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.major.service.BasicDisciplineMajorServiceI;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorAddCmd;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorPageQry;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorUpdateCmd;
import org.qinan.safetyeval.client.major.response.BasicDisciplineMajorCo;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
/**
*
*
* @Author: ltq
* @Date: 2026-07-13 17:34:09
*/
@RestController
@AllArgsConstructor
@Api(tags = "基础学科专业")
@RequestMapping("/safetyEval/basic-discipline-major")
public class BasicDisciplineMajorController implements Serializable {
private static final long serialVersionUID = 1L;
private final BasicDisciplineMajorServiceI basicDisciplineMajorServiceI;
@GetMapping
@ApiOperation("查询基础学科专业列表-分页")
public PageResponse<BasicDisciplineMajorCo> list(@Validated BasicDisciplineMajorPageQry qry) {
return basicDisciplineMajorServiceI.listBasicDisciplineMajorPage(qry);
}
@GetMapping("/{id}")
@ApiOperation("查询基础学科专业详情页面")
public SingleResponse<BasicDisciplineMajorCo> getInfo(@PathVariable("id") Long id) {
return SingleResponse.of(basicDisciplineMajorServiceI.getBasicDisciplineMajorById(id));
}
@PostMapping
@ApiOperation("新增基础学科专业")
public Response save(@Validated @RequestBody BasicDisciplineMajorAddCmd basicDisciplineMajorAddCmd) {
basicDisciplineMajorServiceI.saveBasicDisciplineMajor(basicDisciplineMajorAddCmd);
return Response.buildSuccess();
}
@PutMapping
@ApiOperation("修改基础学科专业")
public Response update(@Validated @RequestBody BasicDisciplineMajorUpdateCmd basicDisciplineMajorUpdateCmd) {
basicDisciplineMajorServiceI.updateBasicDisciplineMajor(basicDisciplineMajorUpdateCmd);
return Response.buildSuccess();
}
@DeleteMapping("/{id}")
@ApiOperation("删除基础学科专业(单个)")
public Response deletedById(@PathVariable("id") Long id) {
basicDisciplineMajorServiceI.deletedBasicDisciplineMajorById(id);
return Response.buildSuccess();
}
@DeleteMapping("/ids")
@ApiOperation("删除基础学科专业(多个)")
public Response deletedByIds(@RequestParam Long[] ids) {
basicDisciplineMajorServiceI.deletedBasicDisciplineMajorByIds(ids);
return Response.buildSuccess();
}
}

View File

@ -0,0 +1,34 @@
package org.qinan.safetyeval.app.major.convertor;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorAddCmd;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorUpdateCmd;
import org.qinan.safetyeval.domain.major.model.BasicDisciplineMajorE;
/**
*
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
@Mapper(componentModel = "spring")
public interface BasicDisciplineMajorCmdConvertor {
/**
* cmd_add
*
* @param basicDisciplineMajorAddCmd
* @return
*/
@Mapping(target = "basicDisciplineMajorGateway", ignore = true)
BasicDisciplineMajorE convertCmdToE(BasicDisciplineMajorAddCmd basicDisciplineMajorAddCmd);
/**
* cmd_update
*
* @param basicDisciplineMajorUpdateCmd
* @return
*/
@Mapping(target = "basicDisciplineMajorGateway", ignore = true)
BasicDisciplineMajorE convertCmdToE(BasicDisciplineMajorUpdateCmd basicDisciplineMajorUpdateCmd);
}

View File

@ -0,0 +1,42 @@
package org.qinan.safetyeval.app.major.executor.command;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.major.convertor.BasicDisciplineMajorCmdConvertor;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorAddCmd;
import org.qinan.safetyeval.domain.major.ability.BasicDisciplineMajorAbility;
import org.qinan.safetyeval.domain.major.model.BasicDisciplineMajorE;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.BasicDisciplineMajorQueryService;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
*
*
* @author ltq
* @date 2026-07-13 17:34:09
*/
@Component
@AllArgsConstructor
public class BasicDisciplineMajorAddCmdExe {
private final BasicDisciplineMajorQueryService basicDisciplineMajorQueryService;
private final BasicDisciplineMajorCmdConvertor basicDisciplineMajorCmdConvertor;
private final BasicDisciplineMajorAbility basicDisciplineMajorAbility;
/**
*
*
* @param basicDisciplineMajorAddCmd
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean execute(BasicDisciplineMajorAddCmd basicDisciplineMajorAddCmd) {
BasicDisciplineMajorE basicDisciplineMajorE = basicDisciplineMajorCmdConvertor.convertCmdToE(basicDisciplineMajorAddCmd);
boolean res = basicDisciplineMajorE.add();
if (!res) {
throw new BizException("保存失败");
}
return true;
}
}

View File

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

View File

@ -0,0 +1,41 @@
package org.qinan.safetyeval.app.major.executor.command;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.major.convertor.BasicDisciplineMajorCmdConvertor;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorUpdateCmd;
import org.qinan.safetyeval.domain.major.ability.BasicDisciplineMajorAbility;
import org.qinan.safetyeval.domain.major.model.BasicDisciplineMajorE;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.BasicDisciplineMajorQueryService;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
*
*
* @author ltq
* @date 2026-07-13 17:34:09
*/
@Component
@AllArgsConstructor
public class BasicDisciplineMajorUpdateCmdExe {
private final BasicDisciplineMajorQueryService basicDisciplineMajorQueryService;
private final BasicDisciplineMajorCmdConvertor basicDisciplineMajorCmdConvertor;
private final BasicDisciplineMajorAbility basicDisciplineMajorAbility;
/**
*
*
* @param basicDisciplineMajorUpdateCmd
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean execute(BasicDisciplineMajorUpdateCmd basicDisciplineMajorUpdateCmd) {
BasicDisciplineMajorE basicDisciplineMajorE = basicDisciplineMajorCmdConvertor.convertCmdToE(basicDisciplineMajorUpdateCmd);
Boolean updateRes = basicDisciplineMajorE.update();
if (!updateRes) {
throw new BizException("数据已被更新,请刷新重试");
}
return true;
}
}

View File

@ -0,0 +1,34 @@
package org.qinan.safetyeval.app.major.executor.query;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.client.major.response.BasicDisciplineMajorCo;
import org.qinan.safetyeval.infrastructure.convertor.BasicDisciplineMajorDoConvertor;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.BasicDisciplineMajorDO;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.BasicDisciplineMajorQueryService;
import org.springframework.stereotype.Component;
/**
*
*
* @author ltq
* @date 2026-07-13 17:34:09
*/
@Component
@AllArgsConstructor
public class BasicDisciplineMajorListQueryExe {
private final BasicDisciplineMajorQueryService basicDisciplineMajorQueryService;
private final BasicDisciplineMajorDoConvertor basicDisciplineMajorDoConvertor;
/**
* ID
*
* @param id ID
* @return
*/
public BasicDisciplineMajorCo execute(Long id) {
BasicDisciplineMajorDO basicDisciplineMajorDO = basicDisciplineMajorQueryService.getById(id);
return basicDisciplineMajorDoConvertor.converDoToCo(basicDisciplineMajorDO);
}
}

View File

@ -0,0 +1,32 @@
package org.qinan.safetyeval.app.major.executor.query;
import com.alibaba.cola.dto.PageResponse;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorPageQry;
import org.qinan.safetyeval.client.major.response.BasicDisciplineMajorCo;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.BasicDisciplineMajorQueryService;
import org.springframework.stereotype.Component;
/**
*
*
* @author ltq
* @date 2026-07-13 17:34:09
*/
@Component
@AllArgsConstructor
public class BasicDisciplineMajorPageQueryExe {
private final BasicDisciplineMajorQueryService basicDisciplineMajorQueryService;
/**
*
*
* @param basicDisciplineMajorPageQry
* @return
*/
public PageResponse<BasicDisciplineMajorCo> execute(BasicDisciplineMajorPageQry basicDisciplineMajorPageQry) {
return basicDisciplineMajorQueryService.listBasicDisciplineMajorPage(basicDisciplineMajorPageQry);
}
}

View File

@ -0,0 +1,65 @@
package org.qinan.safetyeval.app.major.service;
import com.alibaba.cola.dto.PageResponse;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorAddCmd;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorPageQry;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorUpdateCmd;
import org.qinan.safetyeval.client.major.response.BasicDisciplineMajorCo;
/**
*
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
public interface BasicDisciplineMajorServiceI {
/**
*
*
* @param basicDisciplineMajorPageQry
* @return
*/
PageResponse<BasicDisciplineMajorCo> listBasicDisciplineMajorPage(BasicDisciplineMajorPageQry basicDisciplineMajorPageQry);
/**
* ID
*
* @param id ID
* @return
*/
BasicDisciplineMajorCo getBasicDisciplineMajorById(Long id);
/**
*
*
* @param basicDisciplineMajorAddCmd
* @return
*/
boolean saveBasicDisciplineMajor(BasicDisciplineMajorAddCmd basicDisciplineMajorAddCmd);
/**
*
*
* @param basicDisciplineMajorUpdateCmd
* @return
*/
boolean updateBasicDisciplineMajor(BasicDisciplineMajorUpdateCmd basicDisciplineMajorUpdateCmd);
/**
*
*
* @param id ID
* @return
*/
boolean deletedBasicDisciplineMajorById(Long id);
/**
*
*
* @param ids IDs
* @return
*/
boolean deletedBasicDisciplineMajorByIds(Long[] ids);
}

View File

@ -0,0 +1,63 @@
package org.qinan.safetyeval.app.major.service.impl;
import com.alibaba.cola.dto.PageResponse;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.app.major.executor.command.BasicDisciplineMajorAddCmdExe;
import org.qinan.safetyeval.app.major.executor.command.BasicDisciplineMajorDelCmdExe;
import org.qinan.safetyeval.app.major.executor.command.BasicDisciplineMajorUpdateCmdExe;
import org.qinan.safetyeval.app.major.executor.query.BasicDisciplineMajorListQueryExe;
import org.qinan.safetyeval.app.major.executor.query.BasicDisciplineMajorPageQueryExe;
import org.qinan.safetyeval.app.major.service.BasicDisciplineMajorServiceI;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorAddCmd;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorPageQry;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorUpdateCmd;
import org.qinan.safetyeval.client.major.response.BasicDisciplineMajorCo;
import org.springframework.stereotype.Service;
/**
*
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
@Service
@AllArgsConstructor
public class BasicDisciplineMajorServiceImpl implements BasicDisciplineMajorServiceI {
private final BasicDisciplineMajorListQueryExe basicDisciplineMajorListQueryExe;
private final BasicDisciplineMajorUpdateCmdExe basicDisciplineMajorUpdateCommandExe;
private final BasicDisciplineMajorAddCmdExe basicDisciplineMajorAddCommandExe;
private final BasicDisciplineMajorDelCmdExe basicDisciplineMajorDelCommandExe;
private final BasicDisciplineMajorPageQueryExe basicDisciplineMajorPageQueryExe;
@Override
public PageResponse<BasicDisciplineMajorCo> listBasicDisciplineMajorPage(BasicDisciplineMajorPageQry basicDisciplineMajorPageQry) {
return basicDisciplineMajorPageQueryExe.execute(basicDisciplineMajorPageQry);
}
@Override
public BasicDisciplineMajorCo getBasicDisciplineMajorById(Long id) {
return basicDisciplineMajorListQueryExe.execute(id);
}
@Override
public boolean saveBasicDisciplineMajor(BasicDisciplineMajorAddCmd basicDisciplineMajorAddCmd) {
return basicDisciplineMajorAddCommandExe.execute(basicDisciplineMajorAddCmd);
}
@Override
public boolean updateBasicDisciplineMajor(BasicDisciplineMajorUpdateCmd basicDisciplineMajorUpdateCmd) {
return basicDisciplineMajorUpdateCommandExe.execute(basicDisciplineMajorUpdateCmd);
}
@Override
public boolean deletedBasicDisciplineMajorById(Long id) {
return basicDisciplineMajorDelCommandExe.execute(id);
}
@Override
public boolean deletedBasicDisciplineMajorByIds(Long[] ids) {
return basicDisciplineMajorDelCommandExe.execute(ids);
}
}

View File

@ -0,0 +1,54 @@
package org.qinan.safetyeval.client.major.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* Cmd
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
@Data
public class BasicDisciplineMajorAddCmd implements Serializable {
private static final long serialVersionUID = 1L;
/** code
("COAL_MINING", "煤炭开采业"),
("METAL_NONMETAL_MINING", "金属、非金属矿及其他矿采选业"),
("ONSHORE_OIL_GAS", "陆地石油和天然气开采业"),
("ONSHORE_OIL_GAS_PIPELINE", "陆上油气管道运输业"),
("PETROCHEMICAL_CHEMICAL_PHARMACEUTICAL", "石油加工业,化学原料、化学品及医药制造业"),
("FIREWORKS_FIRECRACKERS", "烟花爆竹制造业"),
("METAL_SMELTING", "金属冶炼"),
; */
@ApiModelProperty(value = "行业code 看 IndustryEnum),;",required = true)
@NotBlank(message = "行业code 看 IndustryEnum),;不能为空")
private String industryCode;
/**
* code
*/
@ApiModelProperty(value = "专业能力 code", required = true)
@NotBlank(message = "专业能力 code不能为空")
private String professionalCapabilityCode;
/**
* code
*/
@ApiModelProperty(value = "专业code")
private String professionalCode;
/**
*
*/
@ApiModelProperty(value = "专业名称", required = true)
@NotBlank(message = "专业名称不能为空")
private String professionalName;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -0,0 +1,49 @@
package org.qinan.safetyeval.client.major.request;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Qry
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
@Data
public class BasicDisciplineMajorPageQry extends PageQuery {
private static final long serialVersionUID = 1L;
/** code
("COAL_MINING", "煤炭开采业"),
("METAL_NONMETAL_MINING", "金属、非金属矿及其他矿采选业"),
("ONSHORE_OIL_GAS", "陆地石油和天然气开采业"),
("ONSHORE_OIL_GAS_PIPELINE", "陆上油气管道运输业"),
("PETROCHEMICAL_CHEMICAL_PHARMACEUTICAL", "石油加工业,化学原料、化学品及医药制造业"),
("FIREWORKS_FIRECRACKERS", "烟花爆竹制造业"),
("METAL_SMELTING", "金属冶炼"),
; */
@ApiModelProperty(value = "行业code 看 IndustryEnum),;")
private String industryCode;
/**
* code
*/
@ApiModelProperty(value = "专业能力 code")
private String professionalCapabilityCode;
/**
* code
*/
@ApiModelProperty(value = "专业code")
private String professionalCode;
/**
*
*/
@ApiModelProperty(value = "专业名称")
private String professionalName;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -0,0 +1,59 @@
package org.qinan.safetyeval.client.major.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-13 17:34:09
*/
@Data
public class BasicDisciplineMajorUpdateCmd implements Serializable {
private static final long serialVersionUID = 1L;
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
/** code
("COAL_MINING", "煤炭开采业"),
("METAL_NONMETAL_MINING", "金属、非金属矿及其他矿采选业"),
("ONSHORE_OIL_GAS", "陆地石油和天然气开采业"),
("ONSHORE_OIL_GAS_PIPELINE", "陆上油气管道运输业"),
("PETROCHEMICAL_CHEMICAL_PHARMACEUTICAL", "石油加工业,化学原料、化学品及医药制造业"),
("FIREWORKS_FIRECRACKERS", "烟花爆竹制造业"),
("METAL_SMELTING", "金属冶炼"),
; */
@ApiModelProperty(value = "行业code 看 IndustryEnum),;",required = true)
@NotBlank(message = "行业code 看 IndustryEnum),;不能为空")
private String industryCode;
/**
* code
*/
@ApiModelProperty(value = "专业能力 code", required = true)
@NotBlank(message = "专业能力 code不能为空")
private String professionalCapabilityCode;
/**
* code
*/
@ApiModelProperty(value = "专业code")
private String professionalCode;
/**
*
*/
@ApiModelProperty(value = "专业名称", required = true)
@NotBlank(message = "专业名称不能为空")
private String professionalName;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
@NotNull(message = "version不能为空")
@ApiModelProperty(value = "version")
private Integer version;
}

View File

@ -0,0 +1,52 @@
package org.qinan.safetyeval.client.major.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-13 17:34:09
*/
@Data
public class BasicDisciplineMajorCo extends ClientObject {
private static final long serialVersionUID = 1L;
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
/** code
("COAL_MINING", "煤炭开采业"),
("METAL_NONMETAL_MINING", "金属、非金属矿及其他矿采选业"),
("ONSHORE_OIL_GAS", "陆地石油和天然气开采业"),
("ONSHORE_OIL_GAS_PIPELINE", "陆上油气管道运输业"),
("PETROCHEMICAL_CHEMICAL_PHARMACEUTICAL", "石油加工业,化学原料、化学品及医药制造业"),
("FIREWORKS_FIRECRACKERS", "烟花爆竹制造业"),
("METAL_SMELTING", "金属冶炼"),
; */
@ApiModelProperty(value = "行业code 看 IndustryEnum),;")
private String industryCode;
/**
* code
*/
@ApiModelProperty(value = "专业能力 code")
private String professionalCapabilityCode;
/**
* code
*/
@ApiModelProperty(value = "专业code")
private String professionalCode;
/**
*
*/
@ApiModelProperty(value = "专业名称")
private String professionalName;
/**
*
*/
@ApiModelProperty(value = "环境")
private String env;
@ApiModelProperty(value = "version")
private Integer version;
}

View File

@ -0,0 +1,29 @@
package org.qinan.safetyeval.domain.major.ability;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.domain.major.gateway.BasicDisciplineMajorGateway;
import org.springframework.stereotype.Service;
/**
*
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
@Service
@AllArgsConstructor
public class BasicDisciplineMajorAbility {
/**
*
**/
private final BasicDisciplineMajorGateway basicDisciplineMajorGateway;
public boolean deletedBasicDisciplineMajorById(Long id) {
return basicDisciplineMajorGateway.deletedBasicDisciplineMajorById(id);
}
public boolean deletedBasicDisciplineMajorByIds(Long[] ids) {
return basicDisciplineMajorGateway.deletedBasicDisciplineMajorByIds(ids);
}
}

View File

@ -0,0 +1,44 @@
package org.qinan.safetyeval.domain.major.gateway;
import org.qinan.safetyeval.domain.major.model.BasicDisciplineMajorE;
/**
*
*
* @Author: WGG
* @Date: 2022/3/22 16:49
*/
public interface BasicDisciplineMajorGateway {
/**
*
*
* @param basicDisciplineMajorE
* @return
*/
Boolean add(BasicDisciplineMajorE basicDisciplineMajorE);
/**
*
*
* @param basicDisciplineMajorE
* @return
*/
Boolean update(BasicDisciplineMajorE basicDisciplineMajorE);
/**
*
*
* @param id
* @return
*/
Boolean deletedBasicDisciplineMajorById(Long id);
/**
*
*
* @param ids
* @return
*/
Boolean deletedBasicDisciplineMajorByIds(Long[] ids);
}

View File

@ -0,0 +1,68 @@
package org.qinan.safetyeval.domain.major.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.major.gateway.BasicDisciplineMajorGateway;
/**
*
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
@Data
@Entity
@EqualsAndHashCode(callSuper = true)
public class BasicDisciplineMajorE extends BaseE {
private static final long serialVersionUID = 1L;
/**
* code
* ("COAL_MINING", "煤炭开采业"),
* ("METAL_NONMETAL_MINING", "金属、非金属矿及其他矿采选业"),
* ("ONSHORE_OIL_GAS", "陆地石油和天然气开采业"),
* ("ONSHORE_OIL_GAS_PIPELINE", "陆上油气管道运输业"),
* ("PETROCHEMICAL_CHEMICAL_PHARMACEUTICAL", "石油加工业,化学原料、化学品及医药制造业"),
* ("FIREWORKS_FIRECRACKERS", "烟花爆竹制造业"),
* ("METAL_SMELTING", "金属冶炼"),
* ;
*/
private String industryCode;
/**
* code
*/
private String professionalCapabilityCode;
/**
* code
*/
private String professionalCode;
/**
*
*/
private String professionalName;
/**
*
*/
private String env;
private transient BasicDisciplineMajorGateway basicDisciplineMajorGateway;
public BasicDisciplineMajorE() {
this.basicDisciplineMajorGateway = SpringUtil.getBean(BasicDisciplineMajorGateway.class);
}
public static BasicDisciplineMajorE of() {
return DomainFactory.create(BasicDisciplineMajorE.class);
}
public boolean add() {
return basicDisciplineMajorGateway.add(this);
}
public boolean update() {
return basicDisciplineMajorGateway.update(this);
}
}

View File

@ -0,0 +1,53 @@
package org.qinan.safetyeval.infrastructure.convertor;
import org.mapstruct.Mapper;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorPageQry;
import org.qinan.safetyeval.client.major.response.BasicDisciplineMajorCo;
import org.qinan.safetyeval.domain.major.model.BasicDisciplineMajorE;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.BasicDisciplineMajorDO;
import java.util.List;
/**
*
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
@Mapper(componentModel = "spring")
public interface BasicDisciplineMajorDoConvertor {
/**
* DO
*
* @param basicDisciplineMajorE
* @return
*/
BasicDisciplineMajorDO convertEeToDo(BasicDisciplineMajorE basicDisciplineMajorE);
/**
* DOCo
*
* @param basicDisciplineMajorDo DO
* @return
*/
BasicDisciplineMajorCo converDoToCo(BasicDisciplineMajorDO basicDisciplineMajorDo);
/**
* qry TO DO
*
* @param basicDisciplineMajorPageQry
* @return
*/
BasicDisciplineMajorDO convertQryToDo(BasicDisciplineMajorPageQry basicDisciplineMajorPageQry);
/**
* DOsCos
*
* @param basicDisciplineMajorDos dos
* @return
*/
List<BasicDisciplineMajorCo> converDosToCos(List<BasicDisciplineMajorDO> basicDisciplineMajorDos);
}

View File

@ -0,0 +1,48 @@
package org.qinan.safetyeval.infrastructure.gateway;
import lombok.AllArgsConstructor;
import org.qinan.safetyeval.domain.major.gateway.BasicDisciplineMajorGateway;
import org.qinan.safetyeval.domain.major.model.BasicDisciplineMajorE;
import org.qinan.safetyeval.infrastructure.convertor.BasicDisciplineMajorDoConvertor;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.BasicDisciplineMajorDO;
import org.qinan.safetyeval.infrastructure.persistence.repository.BasicDisciplineMajorRepository;
import org.springframework.stereotype.Service;
/**
*
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
@Service
@AllArgsConstructor
public class BasicDisciplineMajorGatewayImpl implements BasicDisciplineMajorGateway {
private final BasicDisciplineMajorRepository basicDisciplineMajorRepository;
private final BasicDisciplineMajorDoConvertor basicDisciplineMajorDoConvertor;
@Override
public Boolean add(BasicDisciplineMajorE basicDisciplineMajorE) {
BasicDisciplineMajorDO basicDisciplineMajorDO = basicDisciplineMajorDoConvertor.convertEeToDo(basicDisciplineMajorE);
boolean res = basicDisciplineMajorRepository.addBasicDisciplineMajor(basicDisciplineMajorDO);
if (res) {
basicDisciplineMajorE.setId(basicDisciplineMajorDO.getId());
}
return res;
}
@Override
public Boolean update(BasicDisciplineMajorE basicDisciplineMajorE) {
boolean res = basicDisciplineMajorRepository.updateBasicDisciplineMajor(basicDisciplineMajorDoConvertor.convertEeToDo(basicDisciplineMajorE));
return res;
}
@Override
public Boolean deletedBasicDisciplineMajorById(Long id) {
return basicDisciplineMajorRepository.deletedBasicDisciplineMajorById(id);
}
@Override
public Boolean deletedBasicDisciplineMajorByIds(Long[] ids) {
return basicDisciplineMajorRepository.deletedBasicDisciplineMajorByIds(ids);
}
}

View File

@ -0,0 +1,48 @@
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-13 17:34:09
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("basic_discipline_major")
public class BasicDisciplineMajorDO extends BaseDO {
private static final long serialVersionUID = 1L;
/**
* code
* ("COAL_MINING", "煤炭开采业"),
* ("METAL_NONMETAL_MINING", "金属、非金属矿及其他矿采选业"),
* ("ONSHORE_OIL_GAS", "陆地石油和天然气开采业"),
* ("ONSHORE_OIL_GAS_PIPELINE", "陆上油气管道运输业"),
* ("PETROCHEMICAL_CHEMICAL_PHARMACEUTICAL", "石油加工业,化学原料、化学品及医药制造业"),
* ("FIREWORKS_FIRECRACKERS", "烟花爆竹制造业"),
* ("METAL_SMELTING", "金属冶炼"),
* ;
*/
private String industryCode;
/**
* code
*/
private String professionalCapabilityCode;
/**
* code
*/
private String professionalCode;
/**
*
*/
private String professionalName;
/**
*
*/
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.BasicDisciplineMajorDO;
/**
* Mapper
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
@Mapper
public interface BasicDisciplineMajorMapper extends BaseMapper<BasicDisciplineMajorDO> {
}

View File

@ -0,0 +1,31 @@
package org.qinan.safetyeval.infrastructure.persistence.queryservice;
import com.alibaba.cola.dto.PageResponse;
import org.qinan.safetyeval.client.major.request.BasicDisciplineMajorPageQry;
import org.qinan.safetyeval.client.major.response.BasicDisciplineMajorCo;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.BasicDisciplineMajorDO;
/**
*
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
public interface BasicDisciplineMajorQueryService {
/**
* ID
*
* @param id ID
* @return
*/
BasicDisciplineMajorDO getById(Long id);
/**
*
*
* @param basicDisciplineMajorPageQry Qry
* @return
*/
PageResponse<BasicDisciplineMajorCo> listBasicDisciplineMajorPage(BasicDisciplineMajorPageQry basicDisciplineMajorPageQry);
}

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.major.request.BasicDisciplineMajorPageQry;
import org.qinan.safetyeval.client.major.response.BasicDisciplineMajorCo;
import org.qinan.safetyeval.infrastructure.convertor.BasicDisciplineMajorDoConvertor;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.BasicDisciplineMajorDO;
import org.qinan.safetyeval.infrastructure.persistence.queryservice.BasicDisciplineMajorQueryService;
import org.qinan.safetyeval.infrastructure.persistence.repository.BasicDisciplineMajorRepository;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
@Service
@AllArgsConstructor
public class BasicDisciplineMajorQueryServiceImpl implements BasicDisciplineMajorQueryService {
private final BasicDisciplineMajorRepository basicDisciplineMajorRepository;
private final BasicDisciplineMajorDoConvertor basicDisciplineMajorDoConvertor;
@Override
public BasicDisciplineMajorDO getById(Long id) {
return basicDisciplineMajorRepository.getById(id);
}
@Override
public PageResponse<BasicDisciplineMajorCo> listBasicDisciplineMajorPage(BasicDisciplineMajorPageQry basicDisciplineMajorPageQry) {
IPage<BasicDisciplineMajorDO> basicDisciplineMajorDoPage = basicDisciplineMajorRepository.listBasicDisciplineMajorPage(PageHelper.queryToPage(basicDisciplineMajorPageQry), basicDisciplineMajorPageQry);
List<BasicDisciplineMajorCo> basicDisciplineMajorCoS = basicDisciplineMajorDoConvertor.converDosToCos(basicDisciplineMajorDoPage.getRecords());
return PageHelper.pageToResponse(basicDisciplineMajorDoPage, basicDisciplineMajorCoS);
}
}

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.major.request.BasicDisciplineMajorPageQry;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.BasicDisciplineMajorDO;
/**
*
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
public interface BasicDisciplineMajorRepository extends BaseRepository<BasicDisciplineMajorDO> {
/**
* ID
*
* @param id ID
* @return
*/
BasicDisciplineMajorDO getById(Long id);
/**
*
*
* @param iPage
* @param basicDisciplineMajorPageQry
* @return ipage
*/
IPage<BasicDisciplineMajorDO> listBasicDisciplineMajorPage(IPage iPage, BasicDisciplineMajorPageQry basicDisciplineMajorPageQry);
/**
*
*
* @param basicDisciplineMajorDO
* @return
*/
Boolean addBasicDisciplineMajor(BasicDisciplineMajorDO basicDisciplineMajorDO);
/**
*
*
* @param basicDisciplineMajorDO
* @return
*/
Boolean updateBasicDisciplineMajor(BasicDisciplineMajorDO basicDisciplineMajorDO);
/**
*
*
* @param id
* @return
*/
Boolean deletedBasicDisciplineMajorById(Long id);
/**
*
*
* @param ids
* @return
*/
Boolean deletedBasicDisciplineMajorByIds(Long[] ids);
}

View File

@ -0,0 +1,75 @@
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.major.request.BasicDisciplineMajorPageQry;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.BasicDisciplineMajorDO;
import org.qinan.safetyeval.infrastructure.persistence.mapper.BasicDisciplineMajorMapper;
import org.qinan.safetyeval.infrastructure.persistence.repository.BasicDisciplineMajorRepository;
import org.springframework.stereotype.Service;
import java.util.Arrays;
/**
*
*
* @Author: ltq
* @date 2026-07-13 17:34:09
*/
@Service
@AllArgsConstructor
public class BasicDisciplineMajorRepositoryImpl extends BaseRepositoryImpl<BasicDisciplineMajorMapper, BasicDisciplineMajorDO> implements BasicDisciplineMajorRepository {
private final BasicDisciplineMajorMapper basicDisciplineMajorMapper;
@Override
public BasicDisciplineMajorDO getById(Long id) {
return super.lambdaQuery().eq(BasicDisciplineMajorDO::getId, id).eq(BasicDisciplineMajorDO::getDeleteEnum, BooleanEnum.FALSE.getValue()).one();
}
@Override
public IPage<BasicDisciplineMajorDO> listBasicDisciplineMajorPage(IPage iPage, BasicDisciplineMajorPageQry basicDisciplineMajorPageQry) {
QueryWrapper<BasicDisciplineMajorDO> basicDisciplineMajorDoQueryWrapper = new QueryWrapper<>();
if (ObjectUtil.isNotEmpty(basicDisciplineMajorPageQry.getIndustryCode())) {
basicDisciplineMajorDoQueryWrapper.eq("industry_code", basicDisciplineMajorPageQry.getIndustryCode());
}
if (ObjectUtil.isNotEmpty(basicDisciplineMajorPageQry.getProfessionalCapabilityCode())) {
basicDisciplineMajorDoQueryWrapper.eq("professional_capability_code", basicDisciplineMajorPageQry.getProfessionalCapabilityCode());
}
if (ObjectUtil.isNotEmpty(basicDisciplineMajorPageQry.getProfessionalCode())) {
basicDisciplineMajorDoQueryWrapper.eq("professional_code", basicDisciplineMajorPageQry.getProfessionalCode());
}
if (ObjectUtil.isNotEmpty(basicDisciplineMajorPageQry.getProfessionalName())) {
basicDisciplineMajorDoQueryWrapper.like("professional_name", basicDisciplineMajorPageQry.getProfessionalName());
}
if (ObjectUtil.isNotEmpty(basicDisciplineMajorPageQry.getEnv())) {
basicDisciplineMajorDoQueryWrapper.eq("env", basicDisciplineMajorPageQry.getEnv());
}
basicDisciplineMajorDoQueryWrapper.eq("delete_enum", BooleanEnum.FALSE.getValue());
return basicDisciplineMajorMapper.selectPage(iPage, basicDisciplineMajorDoQueryWrapper);
}
@Override
public Boolean addBasicDisciplineMajor(BasicDisciplineMajorDO basicDisciplineMajorDO) {
return super.save(basicDisciplineMajorDO);
}
@Override
public Boolean updateBasicDisciplineMajor(BasicDisciplineMajorDO basicDisciplineMajorDO) {
return super.updateById(basicDisciplineMajorDO);
}
@Override
public Boolean deletedBasicDisciplineMajorById(Long id) {
return super.removeEnById(id);
}
@Override
public Boolean deletedBasicDisciplineMajorByIds(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.BasicDisciplineMajorMapper">
<resultMap type="org.qinan.safetyeval.infrastructure.persistence.domainobject.BasicDisciplineMajorDO"
id="BasicDisciplineMajorResult">
<id property="id" column="id"/>
<result property="industryCode" column="industry_code"/>
<result property="professionalCapabilityCode" column="professional_capability_code"/>
<result property="professionalCode" column="professional_code"/>
<result property="professionalName" column="professional_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="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="selectBasicDisciplineMajor">
select id,
industry_code,
professional_capability_code,
professional_code,
professional_name,
delete_enum,
remarks,
create_name,
update_name,
tenant_id,
version,
create_time,
update_time,
create_id,
update_id,
env
from basic_discipline_major
</sql>
</mapper>