init:培训类型信息代码第一版

main
SondonYong 2025-11-26 15:46:29 +08:00
parent 9abb9c3579
commit 3fff4c7563
39 changed files with 732 additions and 578 deletions

View File

@ -1,78 +0,0 @@
package com.zcloud.edu.web;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.edu.api.RiskPointServiceI;
import com.zcloud.edu.dto.RiskPointAddCmd;
import com.zcloud.edu.dto.RiskPointPageQry;
import com.zcloud.edu.dto.RiskPointUpdateCmd;
import com.zcloud.edu.dto.clientobject.RiskPointCo;
import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
/**
* @author lin
*/
@Api(tags = "风险点管理")
@RequestMapping("/risk/riskPoint")
@RestController
@AllArgsConstructor
public class RiskPointController {
private final RiskPointServiceI riskPointService;
@ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<RiskPointCo> add(@Validated @RequestBody RiskPointAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
return riskPointService.add(cmd);
}
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<RiskPointCo> page(@RequestBody RiskPointPageQry qry) {
return riskPointService.listPage(qry);
}
@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<RiskPointCo> listAll() {
return MultiResponse.of(new ArrayList<RiskPointCo>());
}
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<RiskPointCo> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(new RiskPointCo());
}
@ApiOperation("删除")
@DeleteMapping("/{id}")
public Response remove(@PathVariable("id") Long id) {
riskPointService.remove(id);
return SingleResponse.buildSuccess();
}
@ApiOperation("删除多个")
@DeleteMapping("/ids")
public Response removeBatch(@RequestParam Long[] ids) {
riskPointService.removeBatch(ids);
return SingleResponse.buildSuccess();
}
@ApiOperation("修改")
@PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody RiskPointUpdateCmd riskPointUpdateCmd) {
riskPointService.edit(riskPointUpdateCmd);
return SingleResponse.buildSuccess();
}
}

View File

@ -0,0 +1,81 @@
package com.zcloud.edu.web;
import com.zcloud.edu.api.TrainingTypeServiceI;
import com.zcloud.edu.dto.TrainingTypeAddCmd;
import com.zcloud.edu.dto.TrainingTypePageQry;
import com.zcloud.edu.dto.TrainingTypeUpdateCmd;
import com.zcloud.edu.dto.TrainingTypeRemoveCmd;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.edu.dto.clientobject.TrainingTypeCO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
/**
* web-adapter
* @Author SondonYong
* @Date 2025-11-26 15:04:06
*/
@Api(tags = "培训类型信息")
@RequestMapping("/${application.gateway}/trainingType")
@RestController
@AllArgsConstructor
public class TrainingTypeController {
private final TrainingTypeServiceI trainingTypeService;
@ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<TrainingTypeCO> add(@Validated @RequestBody TrainingTypeAddCmd cmd) {
return trainingTypeService.add(cmd);
}
@ApiOperation("修改")
@PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody TrainingTypeUpdateCmd cmd) {
trainingTypeService.edit(cmd);
return SingleResponse.buildSuccess();
}
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<TrainingTypeCO> page(@RequestBody TrainingTypePageQry qry) {
return trainingTypeService.listPage(qry);
}
@ApiOperation("所有数据")
@PostMapping("/listAll")
public MultiResponse<TrainingTypeCO> listAll() {
return MultiResponse.of(new ArrayList<TrainingTypeCO>());
}
@ApiOperation("详情")
@GetMapping("/getInfoById")
public SingleResponse<TrainingTypeCO> getInfoById(@RequestParam(value = "id") Long id) {
return trainingTypeService.getInfoById(id);
}
@ApiOperation("删除")
@PutMapping("/remove")
public Response remove(@RequestParam(value = "id") Long id) {
trainingTypeService.remove(id);
return SingleResponse.buildSuccess();
}
@ApiOperation("删除多个")
@PutMapping("/removeBatch")
public Response removeBatch(@Validated @RequestBody TrainingTypeRemoveCmd cmd) {
trainingTypeService.removeBatch(cmd.getIds());
return SingleResponse.buildSuccess();
}
}

View File

@ -1,31 +0,0 @@
package com.zcloud.edu.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.edu.domain.gateway.RiskPointGateway;
import com.zcloud.edu.domain.model.RiskPointE;
import com.zcloud.edu.dto.RiskPointUpdateCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
*
*
* @author lin
*/
@Component
@AllArgsConstructor
public class RiskPointUpdateExe {
private final RiskPointGateway riskPointGateway;
@Transactional(rollbackFor = Exception.class)
public void execute(RiskPointUpdateCmd riskPointUpdateCmd) {
RiskPointE riskPointE = new RiskPointE();
BeanUtils.copyProperties(riskPointUpdateCmd, riskPointE);
boolean res = riskPointGateway.update(riskPointE);
if (!res) {
throw new BizException("修改失败");
}
}
}

View File

@ -1,31 +1,34 @@
package com.zcloud.edu.command; package com.zcloud.edu.command;
import com.zcloud.edu.domain.gateway.TrainingTypeGateway;
import com.zcloud.edu.domain.model.TrainingTypeE;
import com.zcloud.edu.dto.TrainingTypeAddCmd;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.zcloud.edu.domain.gateway.RiskPointGateway;
import com.zcloud.edu.domain.model.RiskPointE;
import com.zcloud.edu.dto.RiskPointAddCmd;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
/** /**
* * web-app
* * @Author SondonYong
* @author lin * @Date 2025-11-26 15:04:06
*/ */
@Component @Component
@AllArgsConstructor @AllArgsConstructor
public class RiskPointAddExe { public class TrainingTypeAddExe {
private final RiskPointGateway riskPointGateway; private final TrainingTypeGateway trainingTypeGateway;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean execute(RiskPointAddCmd cmd) { public boolean execute(TrainingTypeAddCmd cmd) {
RiskPointE examTypeE = new RiskPointE(); TrainingTypeE trainingTypeE = new TrainingTypeE();
BeanUtils.copyProperties(cmd, examTypeE); BeanUtils.copyProperties(cmd, trainingTypeE);
boolean res = false; boolean res = false;
try { try {
res = riskPointGateway.add(examTypeE); res = trainingTypeGateway.add(trainingTypeE);
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
@ -35,3 +38,4 @@ public class RiskPointAddExe {
return true; return true;
} }
} }

View File

@ -1,33 +1,40 @@
package com.zcloud.edu.command; package com.zcloud.edu.command;
import com.zcloud.edu.domain.gateway.TrainingTypeGateway;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.zcloud.edu.domain.gateway.RiskPointGateway;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
/** /**
* * web-app
* @author lin * @Author SondonYong
*/ * @Date 2025-11-26 15:04:07
*/
@Component @Component
@AllArgsConstructor @AllArgsConstructor
public class RiskPointRemoveExe { public class TrainingTypeRemoveExe {
private final RiskPointGateway riskPointGateway; private final TrainingTypeGateway trainingTypeGateway;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) { public boolean execute(Long id) {
boolean res = riskPointGateway.deletedRiskPointById(id); boolean res = trainingTypeGateway.deletedTrainingTypeById(id);
if(!res){ if(!res){
throw new BizException("删除失败"); throw new BizException("删除失败");
} }
return true; return true;
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) { public boolean execute(Long[] ids) {
boolean res = riskPointGateway.deletedRiskPointByIds(ids); boolean res = trainingTypeGateway.deletedTrainingTypeByIds(ids);
if(!res){ if(!res){
throw new BizException("删除失败"); throw new BizException("删除失败");
} }
return true; return true;
} }
} }

View File

@ -0,0 +1,35 @@
package com.zcloud.edu.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.edu.domain.gateway.TrainingTypeGateway;
import com.zcloud.edu.domain.model.TrainingTypeE;
import com.zcloud.edu.dto.TrainingTypeUpdateCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
* @Author SondonYong
* @Date 2025-11-26 15:04:07
*/
@Component
@AllArgsConstructor
public class TrainingTypeUpdateExe {
private final TrainingTypeGateway trainingTypeGateway;
@Transactional(rollbackFor = Exception.class)
public void execute(TrainingTypeUpdateCmd cmd) {
TrainingTypeE trainingTypeE = new TrainingTypeE();
BeanUtils.copyProperties(cmd, trainingTypeE);
boolean res = trainingTypeGateway.update(trainingTypeE);
if (!res) {
throw new BizException("修改失败");
}
}
}

View File

@ -1,16 +0,0 @@
package com.zcloud.edu.command.convertor;
import com.zcloud.edu.dto.clientobject.RiskPointCo;
import com.zcloud.edu.persistence.dataobject.RiskPointDO;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper(componentModel = "spring")
public interface RiskPointCoConvertor {
/**
* @param riskPointE
* @return
*/
List<RiskPointCo> converDOsToCOs(List<RiskPointDO> riskPointE);
}

View File

@ -0,0 +1,24 @@
package com.zcloud.edu.command.convertor;
import com.zcloud.edu.dto.clientobject.TrainingTypeCO;
import com.zcloud.edu.persistence.dataobject.TrainingTypeDO;
import org.mapstruct.Mapper;
import java.util.List;
/**
* web-app
* @Author SondonYong
* @Date 2025-11-26 15:04:06
*/
@Mapper(componentModel = "spring")
public interface TrainingTypeCoConvertor {
/**
* @param trainingTypeDOs
* @return
*/
List<TrainingTypeCO> converDOsToCOs(List<TrainingTypeDO> trainingTypeDOs);
}

View File

@ -1,36 +0,0 @@
package com.zcloud.edu.command.query;
import com.alibaba.cola.dto.PageResponse;
import com.zcloud.edu.command.convertor.RiskPointCoConvertor;
import com.zcloud.edu.dto.RiskPointPageQry;
import com.zcloud.edu.dto.clientobject.RiskPointCo;
import com.zcloud.edu.persistence.dataobject.RiskPointDO;
import com.zcloud.edu.persistence.repository.RiskPointRepository;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.List;
/**
*
*
* @author lin
*/
@Component
@AllArgsConstructor
public class RiskPointQueryExe {
private final RiskPointRepository riskPointRepository;
private final RiskPointCoConvertor riskPointCoConvertor;
/**
*
*
* @param riskPointPageQry
* @return
*/
public PageResponse<RiskPointCo> execute(RiskPointPageQry riskPointPageQry) {
PageResponse<RiskPointDO> pageResponse = riskPointRepository.listRiskPointPage(riskPointPageQry.toHashMap());
List<RiskPointCo> examCenterCOS = riskPointCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -0,0 +1,54 @@
package com.zcloud.edu.command.query;
import com.zcloud.edu.command.convertor.TrainingTypeCoConvertor;
import com.zcloud.edu.dto.TrainingTypePageQry;
import com.zcloud.edu.dto.clientobject.TrainingTypeCO;
import com.zcloud.edu.persistence.dataobject.TrainingTypeDO;
import com.zcloud.edu.persistence.repository.TrainingTypeRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.beans.BeanUtils;
import java.util.List;
import java.util.Map;
/**
* web-app
* @Author SondonYong
* @Date 2025-11-26 15:04:07
*/
@Component
@AllArgsConstructor
public class TrainingTypeQueryExe {
private final TrainingTypeRepository trainingTypeRepository;
private final TrainingTypeCoConvertor trainingTypeCoConvertor;
/**
*
*
* @param trainingTypePageQry
* @return
*/
public PageResponse<TrainingTypeCO> execute(TrainingTypePageQry trainingTypePageQry) {
Map<String,Object> params = PageQueryHelper.toHashMap(trainingTypePageQry);
PageResponse<TrainingTypeDO> pageResponse = trainingTypeRepository.listPage(params);
List<TrainingTypeCO> examCenterCOS = trainingTypeCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public SingleResponse<TrainingTypeCO> execute(Long id) {
SingleResponse<TrainingTypeDO> trainingTypeDO = trainingTypeRepository.getInfoById(id);
SingleResponse<TrainingTypeCO> trainingTypeCO = new SingleResponse<>();
TrainingTypeCO co = new TrainingTypeCO();
BeanUtils.copyProperties(trainingTypeDO.getData(), co);
trainingTypeCO.setData(co);
return trainingTypeCO;
}
}

View File

@ -1,56 +0,0 @@
package com.zcloud.edu.service;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.edu.api.RiskPointServiceI;
import com.zcloud.edu.command.RiskPointAddExe;
import com.zcloud.edu.command.RiskPointRemoveExe;
import com.zcloud.edu.command.RiskPointUpdateExe;
import com.zcloud.edu.command.query.RiskPointQueryExe;
import com.zcloud.edu.dto.RiskPointAddCmd;
import com.zcloud.edu.dto.RiskPointPageQry;
import com.zcloud.edu.dto.RiskPointUpdateCmd;
import com.zcloud.edu.dto.clientobject.RiskPointCo;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* @author lin
*/
@Service
@AllArgsConstructor
public class RiskPointServiceImpl implements RiskPointServiceI {
private final RiskPointAddExe riskPointAddExe;
private final RiskPointUpdateExe riskPointUpdateExe;
private final RiskPointRemoveExe riskPointRemoveExe;
private final RiskPointQueryExe riskPointQueryExe;
@Override
public PageResponse<RiskPointCo> listPage(RiskPointPageQry qry){
return riskPointQueryExe.execute(qry);
}
@Override
public SingleResponse add(RiskPointAddCmd cmd) {
riskPointAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}
@Override
public void edit(RiskPointUpdateCmd riskPointUpdateCmd) {
riskPointUpdateExe.execute(riskPointUpdateCmd);
}
@Override
public void remove(Long id) {
riskPointRemoveExe.execute(id);
}
@Override
public void removeBatch(Long[] ids) {
riskPointRemoveExe.execute(ids);
}
}

View File

@ -0,0 +1,62 @@
package com.zcloud.edu.service;
import com.zcloud.edu.api.TrainingTypeServiceI;
import com.zcloud.edu.command.TrainingTypeAddExe;
import com.zcloud.edu.command.TrainingTypeRemoveExe;
import com.zcloud.edu.command.TrainingTypeUpdateExe;
import com.zcloud.edu.command.query.TrainingTypeQueryExe;
import com.zcloud.edu.dto.TrainingTypeAddCmd;
import com.zcloud.edu.dto.TrainingTypePageQry;
import com.zcloud.edu.dto.TrainingTypeUpdateCmd;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.edu.dto.clientobject.TrainingTypeCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* web-app
* @Author SondonYong
* @Date 2025-11-26 15:04:07
*/
@Service
@AllArgsConstructor
public class TrainingTypeServiceImpl implements TrainingTypeServiceI {
private final TrainingTypeAddExe trainingTypeAddExe;
private final TrainingTypeUpdateExe trainingTypeUpdateExe;
private final TrainingTypeRemoveExe trainingTypeRemoveExe;
private final TrainingTypeQueryExe trainingTypeQueryExe;
@Override
public PageResponse<TrainingTypeCO> listPage(TrainingTypePageQry qry){
return trainingTypeQueryExe.execute(qry);
}
@Override
public SingleResponse<TrainingTypeCO> getInfoById(Long id){
return trainingTypeQueryExe.execute(id);
}
@Override
public SingleResponse add(TrainingTypeAddCmd cmd) {
trainingTypeAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}
@Override
public void edit(TrainingTypeUpdateCmd cmd) {
trainingTypeUpdateExe.execute(cmd);
}
@Override
public void remove(Long id) {
trainingTypeRemoveExe.execute(id);
}
@Override
public void removeBatch(Long[] ids) {
trainingTypeRemoveExe.execute(ids);
}
}

View File

@ -1,20 +0,0 @@
package com.zcloud.edu.api;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.edu.dto.RiskPointAddCmd;
import com.zcloud.edu.dto.RiskPointPageQry;
import com.zcloud.edu.dto.RiskPointUpdateCmd;
import com.zcloud.edu.dto.clientobject.RiskPointCo;
public interface RiskPointServiceI {
PageResponse<RiskPointCo> listPage(RiskPointPageQry qry);
SingleResponse<RiskPointCo> add(RiskPointAddCmd cmd);
void edit(RiskPointUpdateCmd riskPointUpdateCmd);
void remove(Long id);
void removeBatch(Long[] ids);
}

View File

@ -0,0 +1,29 @@
package com.zcloud.edu.api;
import com.zcloud.edu.dto.TrainingTypeAddCmd;
import com.zcloud.edu.dto.TrainingTypePageQry;
import com.zcloud.edu.dto.TrainingTypeUpdateCmd;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.edu.dto.clientobject.TrainingTypeCO;
/**
* web-client
* @Author SondonYong
* @Date 2025-11-26 15:04:07
*/
public interface TrainingTypeServiceI {
PageResponse<TrainingTypeCO> listPage(TrainingTypePageQry qry);
SingleResponse<TrainingTypeCO> getInfoById(Long id);
SingleResponse<TrainingTypeCO> add(TrainingTypeAddCmd cmd);
void edit(TrainingTypeUpdateCmd cmd);
void remove(Long id);
void removeBatch(Long[] ids);
}

View File

@ -1,30 +0,0 @@
package com.zcloud.edu.dto;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
/**
*
* @author lin
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RiskPointAddCmd extends Command {
@ApiModelProperty(value = "风险点名字", name = "riskPointName", required = true)
@NotEmpty(message = "风险点名字不能为空")
private String riskPointName;
// @ApiModelProperty(value = "部门Id", name = "deptId", required = true)
// @NotEmpty
// private String deptId;
@NotEmpty(message = "部门名字不能为空")
@ApiModelProperty(value = "部门名字", name = "deptName", required = true)
private String deptName;
}

View File

@ -1,46 +0,0 @@
package com.zcloud.edu.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
@Data
public class RiskPointPageQry extends PageQuery {
@ApiModelProperty(value = "风险点名称")
private String likeRiskPointName;
@ApiModelProperty(value = "部门名称")
private String eqDeptName;
public Map<String, Object> toHashMap() {
Map<String, Object> map = new HashMap<>();
Class<?> clazz = this.getClass();
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
try {
field.setAccessible(true);
map.put(field.getName(), field.get(this));
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
Class<?> superClass = clazz.getSuperclass();
if (superClass != null) {
Field[] superFields = superClass.getDeclaredFields();
for (Field field : superFields) {
try {
field.setAccessible(true);
map.put(field.getName(), field.get(this));
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
return map;
}
}

View File

@ -1,31 +0,0 @@
package com.zcloud.edu.dto;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
/**
*
* @author lin
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RiskPointUpdateCmd extends Command {
@ApiModelProperty(value = "风险点id", name = "id", required = true)
@NotEmpty
private String id;
@ApiModelProperty(value = "风险点名字", name = "riskPointName", required = true)
@NotEmpty
private String riskPointName;
@NotEmpty
@ApiModelProperty(value = "部门名字", name = "deptName", required = true)
private String deptName;
}

View File

@ -0,0 +1,31 @@
package com.zcloud.edu.dto;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.*;
/**
* web-client
* @Author SondonYong
* @Date 2025-11-26 15:04:06
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TrainingTypeAddCmd extends Command {
@ApiModelProperty(value = "名称", name = "name", required = true)
@NotEmpty(message = "名称不能为空")
private String name;
@ApiModelProperty(value = "排序", name = "sort", required = true)
@NotNull(message = "排序不能为空")
private Integer sort;
}

View File

@ -0,0 +1,28 @@
package com.zcloud.edu.dto;
import com.alibaba.cola.dto.PageQuery;
import lombok.Data;
/**
* web-client
* @Author SondonYong
* @Date 2025-11-26 15:04:07
*/
@Data
public class TrainingTypePageQry extends PageQuery {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
private String likeTrainingTypeId;
}

View File

@ -0,0 +1,27 @@
package com.zcloud.edu.dto;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.*;
/**
* web-client
* @Author SondonYong
* @Date 2025-11-26 15:04:07
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TrainingTypeRemoveCmd extends Command {
@ApiModelProperty(value = "主键", name = "ids", required = true)
@NotNull(message = "主键不能为空")
private Long[] ids;
}

View File

@ -0,0 +1,34 @@
package com.zcloud.edu.dto;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.*;
/**
* web-client
* @Author SondonYong
* @Date 2025-11-26 15:04:07
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TrainingTypeUpdateCmd extends Command {
@ApiModelProperty(value = "id", name = "id", required = true)
@NotNull(message = "id不能为空")
private Long id;
@ApiModelProperty(value = "业务主键id", name = "trainingTypeId", required = true)
@NotEmpty(message = "业务主键id不能为空")
private String trainingTypeId;
@ApiModelProperty(value = "名称", name = "name", required = true)
@NotEmpty(message = "名称不能为空")
private String name;
@ApiModelProperty(value = "排序", name = "sort", required = true)
@NotNull(message = "排序不能为空")
private Integer sort;
}

View File

@ -1,17 +0,0 @@
package com.zcloud.edu.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class RiskPointCo extends ClientObject {
@ApiModelProperty(value = "id")
private Long id;
@ApiModelProperty(value = "风险点名称")
private String riskPointName;
@ApiModelProperty(value = "部门名称")
private String deptName;
@ApiModelProperty(value = "创建人")
private String createName;
}

View File

@ -0,0 +1,70 @@
package com.zcloud.edu.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* web-client
*
* @Author SondonYong
* @Date 2025-11-26 15:28:58
*/
@Data
public class TrainingTypeCO extends ClientObject {
//id
@ApiModelProperty(value = "id")
private Long id;
//业务主键id
@ApiModelProperty(value = "业务主键id")
private String trainingTypeId;
//名称
@ApiModelProperty(value = "名称")
private String name;
//排序
@ApiModelProperty(value = "排序")
private Integer sort;
//删除标识true false
@ApiModelProperty(value = "删除标识true false")
private String deleteEnum;
//备注
@ApiModelProperty(value = "备注")
private String remarks;
//创建人姓名
@ApiModelProperty(value = "创建人姓名")
private String createName;
//更新人姓名
@ApiModelProperty(value = "更新人姓名")
private String updateName;
//租户id
@ApiModelProperty(value = "租户id")
private Long tenantId;
//单位id
@ApiModelProperty(value = "单位id")
private Long orgId;
//版本
@ApiModelProperty(value = "版本")
private Integer version;
//创建时间
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
//修改时间
@ApiModelProperty(value = "修改时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
//创建人id
@ApiModelProperty(value = "创建人id")
private Long createId;
//修改人id
@ApiModelProperty(value = "修改人id")
private Long updateId;
//环境
@ApiModelProperty(value = "环境")
private String env;
}

View File

@ -1,33 +0,0 @@
package com.zcloud.edu.domain.gateway;
import com.zcloud.edu.domain.model.RiskPointE;
/**
* getway
* @author lin
*/
public interface RiskPointGateway {
/**
*
* @param riskPointE
* @return
*/
Boolean add(RiskPointE riskPointE) ;
/**
*
* @param riskPointE
* @return
*/
Boolean update(RiskPointE riskPointE);
/**
*
* @param id
* @return
*/
Boolean deletedRiskPointById(Long id);
Boolean deletedRiskPointByIds(Long[] id);
}

View File

@ -0,0 +1,28 @@
package com.zcloud.edu.domain.gateway;
import com.zcloud.edu.domain.model.TrainingTypeE;
/**
* web-domain
* @Author SondonYong
* @Date 2025-11-26 15:04:07
*/
public interface TrainingTypeGateway {
/**
*
*/
Boolean add(TrainingTypeE trainingTypeE) ;
/**
*
*/
Boolean update(TrainingTypeE trainingTypeE);
/**
*
*/
Boolean deletedTrainingTypeById(Long id);
Boolean deletedTrainingTypeByIds(Long[] id);
}

View File

@ -1,20 +0,0 @@
package com.zcloud.edu.domain.model;
import com.alibaba.cola.domain.Entity;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*
* @author lin
*/
@Data
@Entity
@EqualsAndHashCode(callSuper = true)
public class RiskPointE extends BaseE {
private Long id;
private String riskPointName;
private String deptName;
}

View File

@ -0,0 +1,24 @@
package com.zcloud.edu.domain.model;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
import java.util.Date;
/**
* web-domain
* @Author SondonYong
* @Date 2025-11-26 15:04:06
*/
@Data
public class TrainingTypeE extends BaseE {
//id
private Long id;
//业务主键id
private String trainingTypeId;
//名称
private String name;
//排序
private Integer sort;
}

View File

@ -1,51 +0,0 @@
package com.zcloud.edu.gatewayimpl;
import com.zcloud.edu.domain.gateway.RiskPointGateway;
import com.zcloud.edu.domain.model.RiskPointE;
import com.zcloud.edu.persistence.dataobject.RiskPointDO;
import com.zcloud.edu.persistence.repository.RiskPointRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Arrays;
/**
*
*
* @author lin
*/
@Service
@AllArgsConstructor
public class RiskPointGatewayImpl implements RiskPointGateway {
private final RiskPointRepository riskPointRepository;
@Override
public Boolean add(RiskPointE riskPointE) {
RiskPointDO d = new RiskPointDO();
BeanUtils.copyProperties(riskPointE, d);
riskPointRepository.save(d);
return true;
}
@Override
public Boolean update(RiskPointE riskPointE) {
RiskPointDO d = new RiskPointDO();
BeanUtils.copyProperties(riskPointE, d);
riskPointRepository.updateById(d);
return true;
}
@Override
public Boolean deletedRiskPointById(Long id) {
return riskPointRepository.removeById(id);
}
@Override
public Boolean deletedRiskPointByIds(Long[] ids) {
return riskPointRepository.removeByIds(Arrays.asList(ids));
}
}

View File

@ -0,0 +1,56 @@
package com.zcloud.edu.gatewayimpl;
import com.alibaba.cloud.commons.lang.StringUtils;
import com.zcloud.edu.domain.gateway.TrainingTypeGateway;
import com.zcloud.edu.domain.model.TrainingTypeE;
import com.zcloud.edu.persistence.dataobject.TrainingTypeDO;
import com.zcloud.edu.persistence.repository.TrainingTypeRepository;
import com.zcloud.gbscommon.utils.UuidUtil;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Arrays;
/**
* web-infrastructure
* @Author SondonYong
* @Date 2025-11-26 15:04:07
*/
@Service
@AllArgsConstructor
public class TrainingTypeGatewayImpl implements TrainingTypeGateway {
private final TrainingTypeRepository trainingTypeRepository;
@Override
public Boolean add(TrainingTypeE trainingTypeE) {
TrainingTypeDO d = new TrainingTypeDO();
BeanUtils.copyProperties(trainingTypeE, d);
if(StringUtils.isEmpty(d.getTrainingTypeId())){
d.setTrainingTypeId(UuidUtil.get32UUID());
}
trainingTypeRepository.save(d);
return true;
}
@Override
public Boolean update(TrainingTypeE trainingTypeE) {
TrainingTypeDO d = new TrainingTypeDO();
BeanUtils.copyProperties(trainingTypeE, d);
trainingTypeRepository.updateById(d);
return true;
}
@Override
public Boolean deletedTrainingTypeById(Long id) {
return trainingTypeRepository.removeById(id);
}
@Override
public Boolean deletedTrainingTypeByIds(Long[] ids) {
return trainingTypeRepository.removeByIds(Arrays.asList(ids));
}
}

View File

@ -1,16 +0,0 @@
package com.zcloud.edu.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("risk_point")
public class RiskPointDO extends BaseDO {
private String riskPointName;
private String deptName;
}

View File

@ -0,0 +1,36 @@
package com.zcloud.edu.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.*;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* web-infrastructure
*
* @Author SondonYong
* @Date 2025-11-26 15:04:06
*/
@Data
@TableName("training_type")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class TrainingTypeDO extends BaseDO {
//业务主键id
@ApiModelProperty(value = "业务主键id")
private String trainingTypeId;
//名称
@ApiModelProperty(value = "名称")
private String name;
//排序
@ApiModelProperty(value = "排序")
private Integer sort;
public TrainingTypeDO(String trainingTypeId) {
this.trainingTypeId = trainingTypeId;
}
}

View File

@ -1,16 +0,0 @@
package com.zcloud.edu.persistence.domainobject;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("risk_point")
public class RiskPointDO extends BaseDO {
private String riskPointName;
private String deptName;
}

View File

@ -1,9 +0,0 @@
package com.zcloud.edu.persistence.mapper;
import com.zcloud.edu.persistence.dataobject.RiskPointDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface RiskPointMapper extends BaseMapper<RiskPointDO> {
}

View File

@ -0,0 +1,16 @@
package com.zcloud.edu.persistence.mapper;
import com.zcloud.edu.persistence.dataobject.TrainingTypeDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* web-infrastructure
* @Author SondonYong
* @Date 2025-11-26 15:04:07
*/
@Mapper
public interface TrainingTypeMapper extends BaseMapper<TrainingTypeDO> {
}

View File

@ -1,15 +0,0 @@
package com.zcloud.edu.persistence.repository;
import com.alibaba.cola.dto.PageResponse;
import com.zcloud.edu.persistence.dataobject.RiskPointDO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import java.util.Map;
/**
* @author lin
*/
public interface RiskPointRepository extends BaseRepository<RiskPointDO> {
PageResponse<RiskPointDO> listRiskPointPage(Map<String,Object> parmas);
}

View File

@ -0,0 +1,20 @@
package com.zcloud.edu.persistence.repository;
import com.zcloud.edu.persistence.dataobject.TrainingTypeDO;
import com.alibaba.cola.dto.SingleResponse;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import java.util.Map;
/**
* web-infrastructure
* @Author SondonYong
* @Date 2025-11-26 15:04:07
*/
public interface TrainingTypeRepository extends BaseRepository<TrainingTypeDO> {
PageResponse<TrainingTypeDO> listPage(Map<String,Object> params);
SingleResponse<TrainingTypeDO> getInfoById(Long id);
}

View File

@ -1,35 +0,0 @@
package com.zcloud.edu.persistence.repository.impl;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.edu.persistence.dataobject.RiskPointDO;
import com.zcloud.edu.persistence.mapper.RiskPointMapper;
import com.zcloud.edu.persistence.repository.RiskPointRepository;
import com.zcloud.edu.utils.PageQueryHelper;
import com.zcloud.edu.utils.Query;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* @author lin
*/
@Service
@RequiredArgsConstructor
public class RiskPointRepositoryImpl extends BaseRepositoryImpl<RiskPointMapper, RiskPointDO> implements RiskPointRepository {
private final RiskPointMapper riskPointMapper;
@Override
public PageResponse<RiskPointDO> listRiskPointPage(Map<String, Object> parmas) {
IPage<RiskPointDO> iPage = new Query<RiskPointDO>().getPage(parmas);
QueryWrapper<RiskPointDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, parmas);
queryWrapper.orderByDesc("create_time");
IPage<RiskPointDO> result = riskPointMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
}

View File

@ -0,0 +1,43 @@
package com.zcloud.edu.persistence.repository.impl;
import com.jjb.saas.framework.repository.common.PageHelper;
import com.zcloud.edu.persistence.dataobject.TrainingTypeDO;
import com.zcloud.edu.persistence.mapper.TrainingTypeMapper;
import com.zcloud.edu.persistence.repository.TrainingTypeRepository;
import com.alibaba.cola.dto.SingleResponse;
import com.alibaba.cola.dto.PageResponse;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* web-infrastructure
* @Author SondonYong
* @Date 2025-11-26 15:04:07
*/
@Service
@RequiredArgsConstructor
public class TrainingTypeRepositoryImpl extends BaseRepositoryImpl<TrainingTypeMapper, TrainingTypeDO> implements TrainingTypeRepository {
private final TrainingTypeMapper trainingTypeMapper;
@Override
public PageResponse<TrainingTypeDO> listPage(Map<String,Object> params) {
IPage<TrainingTypeDO> iPage = new Query<TrainingTypeDO>().getPage(params);
QueryWrapper<TrainingTypeDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
IPage<TrainingTypeDO> result = trainingTypeMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public SingleResponse<TrainingTypeDO> getInfoById(Long id) {
return SingleResponse.of(trainingTypeMapper.selectById(id));
}
}

View File

@ -2,6 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zcloud.edu.persistence.mapper.RiskPointMapper"> <mapper namespace="com.zcloud.edu.persistence.mapper.TrainingTypeMapper">
</mapper> </mapper>