From a0ddf27ccdd8b4921c1cd70992c0f8b98f221d22 Mon Sep 17 00:00:00 2001 From: shenzhidan Date: Thu, 22 Jan 2026 08:25:32 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=9F=B9=E8=AE=AD=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TrainingApplyProcessController.java | 87 ++++++++++ .../TrainingApplyRecordController.java | 87 ++++++++++ .../training/TrainingApplyUserController.java | 80 +++++++++ .../web/training/TrainingUserController.java | 80 +++++++++ .../TrainingApplyProcessCoConvertor.java | 28 +++ .../TrainingApplyRecordCoConvertor.java | 33 ++++ .../TrainingApplyUserCoConvertor.java | 29 ++++ .../training/TrainingUserCoConvertor.java | 24 +++ .../TrainingApplyProcessQueryExe.java | 50 ++++++ .../TrainingApplyRecordDetailQryExe.java | 14 ++ .../training/TrainingApplyRecordQueryExe.java | 91 ++++++++++ .../training/TrainingApplyUserQueryExe.java | 42 +++++ .../query/training/TrainingUserQueryExe.java | 42 +++++ .../training/TrainingApplyProcessAddExe.java | 41 +++++ .../TrainingApplyProcessRemoveExe.java | 40 +++++ .../TrainingApplyProcessUpdateExe.java | 36 ++++ .../training/TrainingApplyRecordAddExe.java | 92 ++++++++++ .../TrainingApplyRecordRemoveExe.java | 40 +++++ .../TrainingApplyRecordUpdateExe.java | 69 ++++++++ .../training/TrainingApplyUserAddExe.java | 41 +++++ .../training/TrainingApplyUserRemoveExe.java | 40 +++++ .../training/TrainingApplyUserUpdateExe.java | 35 ++++ .../command/training/TrainingUserAddExe.java | 41 +++++ .../training/TrainingUserRemoveExe.java | 40 +++++ .../training/TrainingUserUpdateExe.java | 35 ++++ .../TrainingApplyProcessServiceImpl.java | 73 ++++++++ .../TrainingApplyRecordServiceImpl.java | 71 ++++++++ .../service/TrainingApplyUserServiceImpl.java | 59 +++++++ .../edu/service/TrainingUserServiceImpl.java | 59 +++++++ .../TrainingApplyProcessServiceI.java | 36 ++++ .../training/TrainingApplyRecordServiceI.java | 37 ++++ .../training/TrainingApplyUserServiceI.java | 27 +++ .../api/training/TrainingUserServiceI.java | 27 +++ .../training/ApproveDetailCO.java | 21 +++ .../training/TrainingApplyProcessCO.java | 81 +++++++++ .../training/TrainingApplyProcessNodeCO.java | 26 +++ .../training/TrainingApplyRecordCO.java | 112 ++++++++++++ .../training/TrainingApplyUserCO.java | 81 +++++++++ .../clientobject/training/TrainingUserCO.java | 75 ++++++++ .../training/TrainingApplyProcessAddCmd.java | 46 +++++ .../training/TrainingApplyProcessPageQry.java | 30 ++++ .../TrainingApplyProcessUpdateCmd.java | 46 +++++ .../training/TrainingApplyRecordAddCmd.java | 62 +++++++ .../training/TrainingApplyRecordPageQry.java | 38 ++++ .../TrainingApplyRecordUpdateCmd.java | 48 ++++++ .../dto/training/TrainingApplyUserAddCmd.java | 42 +++++ .../training/TrainingApplyUserPageQry.java | 28 +++ .../training/TrainingApplyUserUpdateCmd.java | 37 ++++ .../edu/dto/training/TrainingUserAddCmd.java | 43 +++++ .../edu/dto/training/TrainingUserPageQry.java | 28 +++ .../dto/training/TrainingUserUpdateCmd.java | 44 +++++ .../edu/domain/enums/ApplyStatusEnum.java | 34 ++++ .../edu/domain/enums/ApplyTypeEnum.java | 34 ++++ .../edu/domain/enums/ApprovalStatusEnum.java | 34 ++++ .../edu/domain/enums/ExamineStatusEnum.java | 35 ++++ .../training/TrainingApplyProcessGateway.java | 40 +++++ .../training/TrainingApplyRecordGateway.java | 38 ++++ .../training/TrainingApplyUserGateway.java | 40 +++++ .../gateway/training/TrainingUserGateway.java | 33 ++++ .../domain/model/training/ApproveDetailE.java | 22 +++ .../model/training/TrainingApplyProcessE.java | 100 +++++++++++ .../training/TrainingApplyProcessNodeE.java | 24 +++ .../training/TrainingApplyRecordDetailE.java | 19 ++ .../model/training/TrainingApplyRecordE.java | 162 ++++++++++++++++++ .../model/training/TrainingApplyUserE.java | 33 ++++ .../domain/model/training/TrainingUserE.java | 46 +++++ .../TrainingApplyProcessGatewayImpl.java | 87 ++++++++++ .../TrainingApplyRecordGatewayImpl.java | 72 ++++++++ .../TrainingApplyUserGatewayImpl.java | 83 +++++++++ .../training/TrainingUserGatewayImpl.java | 69 ++++++++ .../dataobject/TrainingApplyProcessDO.java | 47 +++++ .../dataobject/TrainingApplyRecordDO.java | 65 +++++++ .../dataobject/TrainingApplyUserDO.java | 47 +++++ .../dataobject/TrainingUserDO.java | 46 +++++ .../mapper/TrainingApplyProcessMapper.java | 31 ++++ .../mapper/TrainingApplyRecordMapper.java | 33 ++++ .../mapper/TrainingApplyUserMapper.java | 25 +++ .../mapper/TrainingUserMapper.java | 16 ++ .../TrainingApplyProcessRepositoryImpl.java | 60 +++++++ .../TrainingApplyRecordRepositoryImpl.java | 64 +++++++ .../impl/TrainingApplyUserRepositoryImpl.java | 45 +++++ .../impl/TrainingUserRepositoryImpl.java | 40 +++++ .../TrainingApplyProcessRepository.java | 34 ++++ .../TrainingApplyRecordRepository.java | 23 +++ .../training/TrainingApplyUserRepository.java | 24 +++ .../training/TrainingUserRepository.java | 19 ++ .../mapper/TrainingApplyProcessMapper.xml | 55 ++++++ .../mapper/TrainingApplyRecordMapper.xml | 97 +++++++++++ .../mapper/TrainingApplyUserMapper.xml | 33 ++++ .../resources/mapper/TrainingUserMapper.xml | 8 + 90 files changed, 4331 insertions(+) create mode 100644 web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyProcessController.java create mode 100644 web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyRecordController.java create mode 100644 web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyUserController.java create mode 100644 web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingUserController.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingApplyProcessCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingApplyRecordCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingApplyUserCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingUserCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyProcessQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyRecordDetailQryExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyRecordQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyUserQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingUserQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyProcessAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyProcessRemoveExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyProcessUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyRecordAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyRecordRemoveExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyRecordUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyUserAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyUserRemoveExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyUserUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/training/TrainingUserAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/training/TrainingUserRemoveExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/command/training/TrainingUserUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/edu/service/TrainingApplyProcessServiceImpl.java create mode 100644 web-app/src/main/java/com/zcloud/edu/service/TrainingApplyRecordServiceImpl.java create mode 100644 web-app/src/main/java/com/zcloud/edu/service/TrainingApplyUserServiceImpl.java create mode 100644 web-app/src/main/java/com/zcloud/edu/service/TrainingUserServiceImpl.java create mode 100644 web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyProcessServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyRecordServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyUserServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/edu/api/training/TrainingUserServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/ApproveDetailCO.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessCO.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessNodeCO.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyRecordCO.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyUserCO.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingUserCO.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyProcessAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyProcessPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyProcessUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserUpdateCmd.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/enums/ApplyStatusEnum.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/enums/ApplyTypeEnum.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/enums/ApprovalStatusEnum.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/enums/ExamineStatusEnum.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingApplyProcessGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingApplyRecordGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingApplyUserGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingUserGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/model/training/ApproveDetailE.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyProcessE.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyProcessNodeE.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordDetailE.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordE.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyUserE.java create mode 100644 web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingUserE.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyProcessGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyRecordGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyUserGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingUserGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyProcessDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyRecordDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyUserDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingUserDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyProcessMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyRecordMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyUserMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingUserMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyProcessRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyRecordRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyUserRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingUserRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyProcessRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyRecordRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyUserRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingUserRepository.java create mode 100644 web-infrastructure/src/main/resources/mapper/TrainingApplyProcessMapper.xml create mode 100644 web-infrastructure/src/main/resources/mapper/TrainingApplyRecordMapper.xml create mode 100644 web-infrastructure/src/main/resources/mapper/TrainingApplyUserMapper.xml create mode 100644 web-infrastructure/src/main/resources/mapper/TrainingUserMapper.xml diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyProcessController.java b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyProcessController.java new file mode 100644 index 0000000..1823ef1 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyProcessController.java @@ -0,0 +1,87 @@ +package com.zcloud.edu.web.training; + + +import com.zcloud.edu.api.training.TrainingApplyProcessServiceI; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO; +import com.zcloud.edu.dto.training.TrainingApplyProcessAddCmd; +import com.zcloud.edu.dto.training.TrainingApplyProcessPageQry; +import com.zcloud.edu.dto.training.TrainingApplyProcessUpdateCmd; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessCO; +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 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 makejava +* @Date 2026-01-12 15:30:01 +*/ +@Api(tags = "培训申请审批流程表") +@RequestMapping("/${application.gateway}/trainingApplyProcess") +@RestController +@AllArgsConstructor +public class TrainingApplyProcessController { + private final TrainingApplyProcessServiceI trainingApplyProcessService; + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody TrainingApplyProcessAddCmd cmd) { + SSOUser ssoUser = AuthContext.getCurrentUser(); + return trainingApplyProcessService.add(cmd); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody TrainingApplyProcessPageQry qry) { + return trainingApplyProcessService.listPage(qry); + } + + @ApiOperation("审批流程图") + @PostMapping("/processDiagram") + public MultiResponse getProcessDiagramByRecordId(@RequestBody TrainingApplyProcessPageQry qry) { + return MultiResponse.of(trainingApplyProcessService.getProcessDiagramByRecordId(qry)); + } + + @ApiOperation("所有数据") + @GetMapping("/listAll") + public MultiResponse listAll() { + return MultiResponse.of(new ArrayList()); + } + + @ApiOperation("详情") + @GetMapping("/{id}") + public SingleResponse getInfoById(@PathVariable("id") Long id) { + return SingleResponse.of(new TrainingApplyProcessCO()); + } + + @ApiOperation("删除") + @DeleteMapping("/{id}") + public Response remove(@PathVariable("id") Long id) { + trainingApplyProcessService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @DeleteMapping("/ids") + public Response removeBatch(@RequestParam Long[] ids) { + trainingApplyProcessService.removeBatch(ids); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("修改") + @PutMapping("/edit") + public SingleResponse edit(@Validated @RequestBody TrainingApplyProcessUpdateCmd trainingApplyProcessUpdateCmd) { + trainingApplyProcessService.edit(trainingApplyProcessUpdateCmd); + return SingleResponse.buildSuccess(); + } +} + diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyRecordController.java b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyRecordController.java new file mode 100644 index 0000000..c1c9fe2 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyRecordController.java @@ -0,0 +1,87 @@ +package com.zcloud.edu.web.training; + + +import com.zcloud.edu.api.training.TrainingApplyRecordServiceI; +import com.zcloud.edu.dto.training.TrainingApplyRecordAddCmd; +import com.zcloud.edu.dto.training.TrainingApplyRecordPageQry; +import com.zcloud.edu.dto.training.TrainingApplyRecordUpdateCmd; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO; +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 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 makejava +* @Date 2026-01-12 15:21:47 +*/ +@Api(tags = "培训申请记录") +@RequestMapping("/${application.gateway}/trainingApplyRecord") +@RestController +@AllArgsConstructor +public class TrainingApplyRecordController { + private final TrainingApplyRecordServiceI trainingApplyRecordService; + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody TrainingApplyRecordAddCmd cmd) { + SSOUser ssoUser = AuthContext.getCurrentUser(); + return trainingApplyRecordService.add(cmd); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody TrainingApplyRecordPageQry qry) { + return trainingApplyRecordService.listPage(qry); + } + + @ApiOperation("所有数据") + @GetMapping("/listAll") + public MultiResponse listAll() { + return MultiResponse.of(new ArrayList()); + } + + @ApiOperation("详情") + @GetMapping("/{id}") + public SingleResponse getInfoById(@PathVariable("id") Long id) { + return trainingApplyRecordService.getInfoById(id); + } + + @ApiOperation("删除") + @DeleteMapping("/{id}") + public Response remove(@PathVariable("id") Long id) { + trainingApplyRecordService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @DeleteMapping("/ids") + public Response removeBatch(@RequestParam Long[] ids) { + trainingApplyRecordService.removeBatch(ids); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("修改") + @PutMapping("/edit") + public SingleResponse edit(@Validated @RequestBody TrainingApplyRecordUpdateCmd trainingApplyRecordUpdateCmd) { + trainingApplyRecordService.edit(trainingApplyRecordUpdateCmd); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("审批培训申请") + @PostMapping("/approve") + public SingleResponse approve(@Validated @RequestBody TrainingApplyRecordUpdateCmd cmd) { + trainingApplyRecordService.approve(cmd); + return SingleResponse.buildSuccess(); + } +} + diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyUserController.java b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyUserController.java new file mode 100644 index 0000000..737e3d1 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyUserController.java @@ -0,0 +1,80 @@ +package com.zcloud.edu.web.training; + + +import com.zcloud.edu.api.training.TrainingApplyUserServiceI; +import com.zcloud.edu.dto.training.TrainingApplyUserAddCmd; +import com.zcloud.edu.dto.training.TrainingApplyUserPageQry; +import com.zcloud.edu.dto.training.TrainingApplyUserUpdateCmd; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyUserCO; +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 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 makejava +* @Date 2026-01-12 15:36:33 +*/ +@Api(tags = "培训申请人员") +@RequestMapping("/${application.gateway}/trainingApplyUser") +@RestController +@AllArgsConstructor +public class TrainingApplyUserController { + private final TrainingApplyUserServiceI trainingApplyUserService; + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody TrainingApplyUserAddCmd cmd) { + SSOUser ssoUser = AuthContext.getCurrentUser(); + return trainingApplyUserService.add(cmd); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody TrainingApplyUserPageQry qry) { + return trainingApplyUserService.listPage(qry); + } + + @ApiOperation("所有数据") + @GetMapping("/listAll") + public MultiResponse listAll() { + return MultiResponse.of(new ArrayList()); + } + + @ApiOperation("详情") + @GetMapping("/{id}") + public SingleResponse getInfoById(@PathVariable("id") Long id) { + return SingleResponse.of(new TrainingApplyUserCO()); + } + + @ApiOperation("删除") + @DeleteMapping("/{id}") + public Response remove(@PathVariable("id") Long id) { + trainingApplyUserService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @DeleteMapping("/ids") + public Response removeBatch(@RequestParam Long[] ids) { + trainingApplyUserService.removeBatch(ids); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("修改") + @PutMapping("/edit") + public SingleResponse edit(@Validated @RequestBody TrainingApplyUserUpdateCmd trainingApplyUserUpdateCmd) { + trainingApplyUserService.edit(trainingApplyUserUpdateCmd); + return SingleResponse.buildSuccess(); + } +} + diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingUserController.java b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingUserController.java new file mode 100644 index 0000000..caef267 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingUserController.java @@ -0,0 +1,80 @@ +package com.zcloud.edu.web.training; + + +import com.zcloud.edu.api.training.TrainingUserServiceI; +import com.zcloud.edu.dto.training.TrainingUserAddCmd; +import com.zcloud.edu.dto.training.TrainingUserPageQry; +import com.zcloud.edu.dto.training.TrainingUserUpdateCmd; +import com.zcloud.edu.dto.clientobject.training.TrainingUserCO; +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 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 makejava +* @Date 2026-01-12 15:41:01 +*/ +@Api(tags = "培训人员") +@RequestMapping("/${application.gateway}/trainingUser") +@RestController +@AllArgsConstructor +public class TrainingUserController { + private final TrainingUserServiceI trainingUserService; + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody TrainingUserAddCmd cmd) { + SSOUser ssoUser = AuthContext.getCurrentUser(); + return trainingUserService.add(cmd); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody TrainingUserPageQry qry) { + return trainingUserService.listPage(qry); + } + + @ApiOperation("所有数据") + @GetMapping("/listAll") + public MultiResponse listAll() { + return MultiResponse.of(new ArrayList()); + } + + @ApiOperation("详情") + @GetMapping("/{id}") + public SingleResponse getInfoById(@PathVariable("id") Long id) { + return SingleResponse.of(new TrainingUserCO()); + } + + @ApiOperation("删除") + @DeleteMapping("/{id}") + public Response remove(@PathVariable("id") Long id) { + trainingUserService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @DeleteMapping("/ids") + public Response removeBatch(@RequestParam Long[] ids) { + trainingUserService.removeBatch(ids); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("修改") + @PutMapping("/edit") + public SingleResponse edit(@Validated @RequestBody TrainingUserUpdateCmd trainingUserUpdateCmd) { + trainingUserService.edit(trainingUserUpdateCmd); + return SingleResponse.buildSuccess(); + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingApplyProcessCoConvertor.java b/web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingApplyProcessCoConvertor.java new file mode 100644 index 0000000..5215760 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingApplyProcessCoConvertor.java @@ -0,0 +1,28 @@ +package com.zcloud.edu.command.convertor.training; + +import com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessCO; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO; +import com.zcloud.edu.persistence.dataobject.TrainingApplyProcessDO; +import org.mapstruct.Mapper; + +import java.util.List; + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:30:01 +*/ +@Mapper(componentModel = "spring") +public interface TrainingApplyProcessCoConvertor { + /** + * @param trainingApplyProcessDOs + * @return + */ + List converDOsToCOs(List trainingApplyProcessDOs); + + List converEsToCOs(List trainingApplyProcessNodeES); +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingApplyRecordCoConvertor.java b/web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingApplyRecordCoConvertor.java new file mode 100644 index 0000000..693bf42 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingApplyRecordCoConvertor.java @@ -0,0 +1,33 @@ +package com.zcloud.edu.command.convertor.training; + +import com.zcloud.edu.domain.model.training.TrainingApplyRecordE; +import com.zcloud.edu.dto.clientobject.training.ApproveDetailCO; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO; +import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO; +import org.mapstruct.Mapper; + +import java.util.List; + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:21:47 +*/ +@Mapper(componentModel = "spring", uses = {TrainingApplyUserCoConvertor.class}) +public interface TrainingApplyRecordCoConvertor { + /** + * @param trainingApplyRecordDOs + * @return + */ + List converDOsToCOs(List trainingApplyRecordDOs); + + + TrainingApplyRecordCO converDOToCO(TrainingApplyRecordDO trainingApplyRecordDO); + + TrainingApplyRecordCO converEToCO(TrainingApplyRecordE trainingApplyRecordE); + + TrainingApplyRecordE converDetailDOToE(com.zcloud.edu.domain.model.training.TrainingApplyRecordDetailE trainingApplyRecordDO); +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingApplyUserCoConvertor.java b/web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingApplyUserCoConvertor.java new file mode 100644 index 0000000..b6b3e7b --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingApplyUserCoConvertor.java @@ -0,0 +1,29 @@ +package com.zcloud.edu.command.convertor.training; + +import com.zcloud.edu.domain.model.training.TrainingApplyUserE; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyUserCO; +import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO; +import org.mapstruct.Mapper; + +import java.util.List; + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:36:34 +*/ +@Mapper(componentModel = "spring") +public interface TrainingApplyUserCoConvertor { + /** + * @param trainingApplyUserDOs + * @return + */ + List converDOsToCOs(List trainingApplyUserDOs); + + List converDOsToEs(List trainingApplyUserDOs); + + List converEsToCOs(List trainingApplyUserEs); +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingUserCoConvertor.java b/web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingUserCoConvertor.java new file mode 100644 index 0000000..832c287 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/convertor/training/TrainingUserCoConvertor.java @@ -0,0 +1,24 @@ +package com.zcloud.edu.command.convertor.training; + +import com.zcloud.edu.dto.clientobject.training.TrainingUserCO; +import com.zcloud.edu.persistence.dataobject.TrainingUserDO; +import org.mapstruct.Mapper; + +import java.util.List; + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:41:02 +*/ +@Mapper(componentModel = "spring") +public interface TrainingUserCoConvertor { + /** + * @param trainingUserDOs + * @return + */ + List converDOsToCOs(List trainingUserDOs); +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyProcessQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyProcessQueryExe.java new file mode 100644 index 0000000..a352208 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyProcessQueryExe.java @@ -0,0 +1,50 @@ +package com.zcloud.edu.command.query.training; + +import com.zcloud.edu.command.convertor.training.TrainingApplyProcessCoConvertor; +import com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO; +import com.zcloud.edu.dto.training.TrainingApplyProcessPageQry; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessCO; +import com.zcloud.edu.persistence.dataobject.TrainingApplyProcessDO; +import com.zcloud.edu.persistence.repository.training.TrainingApplyProcessRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.alibaba.cola.dto.PageResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:30:03 +*/ +@Component +@AllArgsConstructor +public class TrainingApplyProcessQueryExe { + private final TrainingApplyProcessRepository trainingApplyProcessRepository; + private final TrainingApplyProcessCoConvertor trainingApplyProcessCoConvertor; + + /** + * 分页 + * + * @param trainingApplyProcessPageQry + * @return + */ + public PageResponse execute(TrainingApplyProcessPageQry trainingApplyProcessPageQry) { + Map params = PageQueryHelper.toHashMap(trainingApplyProcessPageQry); + PageResponse pageResponse = trainingApplyProcessRepository.listPage(params); + List examCenterCOS = trainingApplyProcessCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } + + + public List getProcessDiagramByRecordId(TrainingApplyProcessPageQry qry) { + List processList = trainingApplyProcessRepository.getProcessNodeByRecordId(qry.getEqTrainingApplyRecordId()); + return trainingApplyProcessCoConvertor.converEsToCOs(processList); + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyRecordDetailQryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyRecordDetailQryExe.java new file mode 100644 index 0000000..1426ede --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyRecordDetailQryExe.java @@ -0,0 +1,14 @@ +package com.zcloud.edu.command.query.training; + +import com.zcloud.edu.domain.gateway.training.TrainingApplyRecordGateway; +import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +@Component +@AllArgsConstructor +public class TrainingApplyRecordDetailQryExe { + + private final TrainingApplyRecordGateway trainingApplyRecordGateway; + private final TrainingApplyUserGateway trainingApplyUserGateway; +} diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyRecordQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyRecordQueryExe.java new file mode 100644 index 0000000..455ad54 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyRecordQueryExe.java @@ -0,0 +1,91 @@ +package com.zcloud.edu.command.query.training; + +import com.zcloud.edu.command.convertor.training.TrainingApplyRecordCoConvertor; +import com.zcloud.edu.command.convertor.training.TrainingApplyUserCoConvertor; +import com.zcloud.edu.domain.model.training.ApproveDetailE; +import com.zcloud.edu.domain.model.training.TrainingApplyRecordE; +import com.zcloud.edu.domain.model.training.TrainingApplyUserE; +import com.zcloud.edu.dto.training.TrainingApplyRecordPageQry; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO; +import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO; +import com.zcloud.edu.persistence.repository.training.TrainingApplyProcessRepository; +import com.zcloud.edu.persistence.repository.training.TrainingApplyRecordRepository; +import com.zcloud.edu.persistence.repository.training.TrainingApplyUserRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.alibaba.cola.dto.PageResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:21:50 +*/ +@Component +@AllArgsConstructor +public class TrainingApplyRecordQueryExe { + private final TrainingApplyRecordRepository trainingApplyRecordRepository; + private final TrainingApplyRecordCoConvertor trainingApplyRecordCoConvertor; + + private final TrainingApplyUserRepository trainingApplyUserRepository; + private final TrainingApplyUserCoConvertor trainingApplyUserCoConvertor; + + private final TrainingApplyProcessRepository trainingApplyProcessRepository; + + /** + * 分页 + * + * @param trainingApplyRecordPageQry + * @return + */ + public PageResponse execute(TrainingApplyRecordPageQry trainingApplyRecordPageQry) { + Map params = PageQueryHelper.toHashMap(trainingApplyRecordPageQry); + PageResponse pageResponse = trainingApplyRecordRepository.listPage(params); + List examCenterCOS = trainingApplyRecordCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } + + /** + * sql 分页 + */ + public PageResponse executeBySql(TrainingApplyRecordPageQry trainingApplyRecordPageQry) { + Map params = PageQueryHelper.toHashMap(trainingApplyRecordPageQry); + PageResponse pageResponse = trainingApplyRecordRepository.listPageSql(params); + List examCenterCOS = trainingApplyRecordCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } + + /** + * 培训申请记录详情(包含申请用户信息) + */ + public TrainingApplyRecordCO getInfoById(Long id) { + com.zcloud.edu.domain.model.training.TrainingApplyRecordDetailE trainingApplyRecordDO = trainingApplyRecordRepository.getDetailById(id); + if (trainingApplyRecordDO == null) return null; + TrainingApplyRecordE trainingApplyRecordE = trainingApplyRecordCoConvertor.converDetailDOToE(trainingApplyRecordDO); + + // 获取申请用户信息 + List applyUser = trainingApplyUserCoConvertor.converDOsToEs(trainingApplyUserRepository.getByRecordId(trainingApplyRecordE.getTrainingApplyRecordId())); + trainingApplyRecordE.addApplyUsers(applyUser); + + // 获取审批委托信息 + List approveDetails = trainingApplyProcessRepository.getApproveDetailList(trainingApplyRecordE.getTrainingApplyRecordId()); + trainingApplyRecordE.buildApproveDetails(approveDetails); + + return trainingApplyRecordCoConvertor.converEToCO(trainingApplyRecordE); + } + + /** + * 获取培训申请记录详情 + */ + public TrainingApplyRecordCO getSimpleInfoById(String trainingApplyRecordId) { + TrainingApplyRecordDO trainingApplyRecordDO = trainingApplyRecordRepository.getByTrainingRecordId(trainingApplyRecordId); + if (trainingApplyRecordDO == null) return null; + return trainingApplyRecordCoConvertor.converDOToCO(trainingApplyRecordDO); + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyUserQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyUserQueryExe.java new file mode 100644 index 0000000..9b16a9d --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyUserQueryExe.java @@ -0,0 +1,42 @@ +package com.zcloud.edu.command.query.training; + +import com.zcloud.edu.command.convertor.training.TrainingApplyUserCoConvertor; +import com.zcloud.edu.dto.training.TrainingApplyUserPageQry; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyUserCO; +import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO; +import com.zcloud.edu.persistence.repository.training.TrainingApplyUserRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.alibaba.cola.dto.PageResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:36:36 +*/ +@Component +@AllArgsConstructor +public class TrainingApplyUserQueryExe { + private final TrainingApplyUserRepository trainingApplyUserRepository; + private final TrainingApplyUserCoConvertor trainingApplyUserCoConvertor; + + /** + * 分页 + * + * @param trainingApplyUserPageQry + * @return + */ + public PageResponse execute(TrainingApplyUserPageQry trainingApplyUserPageQry) { + Map params = PageQueryHelper.toHashMap(trainingApplyUserPageQry); + PageResponse pageResponse = trainingApplyUserRepository.listPage(params); + List examCenterCOS = trainingApplyUserCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingUserQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingUserQueryExe.java new file mode 100644 index 0000000..2e35207 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingUserQueryExe.java @@ -0,0 +1,42 @@ +package com.zcloud.edu.command.query.training; + +import com.zcloud.edu.command.convertor.training.TrainingUserCoConvertor; +import com.zcloud.edu.dto.training.TrainingUserPageQry; +import com.zcloud.edu.dto.clientobject.training.TrainingUserCO; +import com.zcloud.edu.persistence.dataobject.TrainingUserDO; +import com.zcloud.edu.persistence.repository.training.TrainingUserRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.alibaba.cola.dto.PageResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:41:04 +*/ +@Component +@AllArgsConstructor +public class TrainingUserQueryExe { + private final TrainingUserRepository trainingUserRepository; + private final TrainingUserCoConvertor trainingUserCoConvertor; + + /** + * 分页 + * + * @param trainingUserPageQry + * @return + */ + public PageResponse execute(TrainingUserPageQry trainingUserPageQry) { + Map params = PageQueryHelper.toHashMap(trainingUserPageQry); + PageResponse pageResponse = trainingUserRepository.listPage(params); + List examCenterCOS = trainingUserCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyProcessAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyProcessAddExe.java new file mode 100644 index 0000000..26fc271 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyProcessAddExe.java @@ -0,0 +1,41 @@ +package com.zcloud.edu.command.training; + +import com.zcloud.edu.domain.gateway.training.TrainingApplyProcessGateway; +import com.zcloud.edu.domain.model.training.TrainingApplyProcessE; +import com.zcloud.edu.dto.training.TrainingApplyProcessAddCmd; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:29:59 +*/ +@Component +@AllArgsConstructor +public class TrainingApplyProcessAddExe { + private final TrainingApplyProcessGateway trainingApplyProcessGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(TrainingApplyProcessAddCmd cmd) { + TrainingApplyProcessE trainingApplyProcessE = new TrainingApplyProcessE(); + BeanUtils.copyProperties(cmd, trainingApplyProcessE); + boolean res = false; + try { + res = trainingApplyProcessGateway.add(trainingApplyProcessE); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (!res) { + throw new BizException("保存失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyProcessRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyProcessRemoveExe.java new file mode 100644 index 0000000..eb89441 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyProcessRemoveExe.java @@ -0,0 +1,40 @@ +package com.zcloud.edu.command.training; + +import com.zcloud.edu.domain.gateway.training.TrainingApplyProcessGateway; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:30:03 +*/ +@Component +@AllArgsConstructor +public class TrainingApplyProcessRemoveExe { + private final TrainingApplyProcessGateway trainingApplyProcessGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + boolean res = trainingApplyProcessGateway.deletedTrainingApplyProcessById(id); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + boolean res = trainingApplyProcessGateway.deletedTrainingApplyProcessByIds(ids); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyProcessUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyProcessUpdateExe.java new file mode 100644 index 0000000..b3107cc --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyProcessUpdateExe.java @@ -0,0 +1,36 @@ +package com.zcloud.edu.command.training; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.command.convertor.training.TrainingApplyRecordCoConvertor; +import com.zcloud.edu.domain.gateway.training.TrainingApplyProcessGateway; +import com.zcloud.edu.domain.model.training.TrainingApplyProcessE; +import com.zcloud.edu.dto.training.TrainingApplyProcessUpdateCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:30:05 +*/ +@Component +@AllArgsConstructor +public class TrainingApplyProcessUpdateExe { + private final TrainingApplyProcessGateway trainingApplyProcessGateway; + + @Transactional(rollbackFor = Exception.class) + public void execute(TrainingApplyProcessUpdateCmd trainingApplyProcessUpdateCmd) { + TrainingApplyProcessE trainingApplyProcessE = new TrainingApplyProcessE(); + BeanUtils.copyProperties(trainingApplyProcessUpdateCmd, trainingApplyProcessE); + boolean res = trainingApplyProcessGateway.update(trainingApplyProcessE); + if (!res) { + throw new BizException("修改失败"); + } + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyRecordAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyRecordAddExe.java new file mode 100644 index 0000000..28299d6 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyRecordAddExe.java @@ -0,0 +1,92 @@ +package com.zcloud.edu.command.training; + +import com.zcloud.edu.domain.gateway.training.TrainingApplyProcessGateway; +import com.zcloud.edu.domain.gateway.training.TrainingApplyRecordGateway; +import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway; +import com.zcloud.edu.domain.model.training.TrainingApplyRecordE; +import com.zcloud.edu.domain.model.training.TrainingApplyUserE; +import com.zcloud.edu.dto.training.TrainingApplyRecordAddCmd; +import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.dto.training.TrainingApplyUserAddCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.stream.Collectors; + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:21:45 +*/ +@Component +@AllArgsConstructor +public class TrainingApplyRecordAddExe { + private final TrainingApplyRecordGateway trainingApplyRecordGateway; + + private final TrainingApplyUserGateway trainingApplyUserGateway; + private final TrainingApplyProcessGateway trainingApplyProcessGateway; + + @Transactional(rollbackFor = Exception.class) + public String execute(TrainingApplyRecordAddCmd cmd) { + TrainingApplyRecordE record = assembleRecord(cmd); + // 保存主记录 + record.initiate(); + boolean recordResult = trainingApplyRecordGateway.add(record); + if (!recordResult) { + throw new BizException("培训申请主记录保存失败"); + } + + // 保存申请人员 + if (!CollectionUtils.isEmpty(record.getApplyUsers())) { + boolean userResult = trainingApplyUserGateway.addBatch(record.getApplyUsers()); + if (!userResult) { + throw new BizException("培训申请人员保存失败"); + } + } + + // 保存流程记录 + if (!CollectionUtils.isEmpty(record.getProcesses())) { + boolean processResult = trainingApplyProcessGateway.addBatch(record.getProcesses()); + if (!processResult) { + throw new BizException("培训申请流程记录保存失败"); + } + } + + return record.getTrainingApplyRecordId(); + } + + + /** + * 组装对象 + */ + private TrainingApplyRecordE assembleRecord(TrainingApplyRecordAddCmd cmd) { + TrainingApplyRecordE record = new TrainingApplyRecordE(); + BeanUtils.copyProperties(cmd, record); + + // 组装申请人员 + if (!CollectionUtils.isEmpty(cmd.getApplyUsers())) { + List users = cmd.getApplyUsers().stream() + .map(this::toUserEntity) + .collect(Collectors.toList()); + record.addApplyUsers(users); + } + + return record; + } + + /** + * DTO 转实体 + */ + private TrainingApplyUserE toUserEntity(TrainingApplyUserAddCmd cmd) { + TrainingApplyUserE user = new TrainingApplyUserE(); + BeanUtils.copyProperties(cmd, user); + return user; + } + +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyRecordRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyRecordRemoveExe.java new file mode 100644 index 0000000..f2b8199 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyRecordRemoveExe.java @@ -0,0 +1,40 @@ +package com.zcloud.edu.command.training; + +import com.zcloud.edu.domain.gateway.training.TrainingApplyRecordGateway; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:21:50 +*/ +@Component +@AllArgsConstructor +public class TrainingApplyRecordRemoveExe { + private final TrainingApplyRecordGateway trainingApplyRecordGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + boolean res = trainingApplyRecordGateway.deletedTrainingApplyRecordById(id); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + boolean res = trainingApplyRecordGateway.deletedTrainingApplyRecordByIds(ids); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyRecordUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyRecordUpdateExe.java new file mode 100644 index 0000000..8bc7168 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyRecordUpdateExe.java @@ -0,0 +1,69 @@ +package com.zcloud.edu.command.training; + +import com.alibaba.cola.exception.BizException; +import com.jjb.saas.framework.auth.model.SSOUser; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.edu.domain.gateway.training.TrainingApplyProcessGateway; +import com.zcloud.edu.domain.gateway.training.TrainingApplyRecordGateway; +import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway; +import com.zcloud.edu.domain.gateway.training.TrainingUserGateway; +import com.zcloud.edu.domain.model.training.TrainingApplyRecordE; +import com.zcloud.edu.dto.training.TrainingApplyRecordUpdateCmd; +import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO; +import com.zcloud.edu.persistence.repository.training.TrainingUserRepository; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:21:53 +*/ +@Component +@AllArgsConstructor +public class TrainingApplyRecordUpdateExe { + private final TrainingApplyRecordGateway trainingApplyRecordGateway; + private final TrainingApplyUserGateway trainingApplyUserGateway; + private final TrainingUserGateway trainingUserGateway; + + @Transactional(rollbackFor = Exception.class) + public void execute(TrainingApplyRecordUpdateCmd trainingApplyRecordUpdateCmd) { + TrainingApplyRecordE trainingApplyRecordE = new TrainingApplyRecordE(); + BeanUtils.copyProperties(trainingApplyRecordUpdateCmd, trainingApplyRecordE); + boolean res = trainingApplyRecordGateway.update(trainingApplyRecordE); + if (!res) { + throw new BizException("修改失败"); + } + } + + + /** + * 审批 + */ + @Transactional(rollbackFor = Exception.class) + public void executeApprove(TrainingApplyRecordUpdateCmd trainingApplyRecordUpdateCmd) { + TrainingApplyRecordE oldTrainingRecord = trainingApplyRecordGateway.getById(trainingApplyRecordUpdateCmd.getId()); + TrainingApplyRecordE trainingApplyRecordE = new TrainingApplyRecordE(); + BeanUtils.copyProperties(trainingApplyRecordUpdateCmd, trainingApplyRecordE); + trainingApplyRecordE.approve(oldTrainingRecord.getApprovalStatus()); + trainingApplyRecordE.addTrainingUser(); + boolean updateUserStatus = trainingApplyUserGateway.updateStatusByApprove(trainingApplyRecordE.getApplyUsers()); + if (!updateUserStatus) { + throw new BizException("修改申请人员状态失败"); + } + boolean addTrainingUser = trainingUserGateway.addBatch(trainingApplyRecordE.getTrainingUsers()); + if (!addTrainingUser) { + throw new BizException("新增培训人员失败"); + } + boolean res = trainingApplyRecordGateway.update(trainingApplyRecordE); + if (!res) { + throw new BizException("修改失败"); + } + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyUserAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyUserAddExe.java new file mode 100644 index 0000000..68487b2 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyUserAddExe.java @@ -0,0 +1,41 @@ +package com.zcloud.edu.command.training; + +import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway; +import com.zcloud.edu.domain.model.training.TrainingApplyUserE; +import com.zcloud.edu.dto.training.TrainingApplyUserAddCmd; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:36:32 +*/ +@Component +@AllArgsConstructor +public class TrainingApplyUserAddExe { + private final TrainingApplyUserGateway trainingApplyUserGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(TrainingApplyUserAddCmd cmd) { + TrainingApplyUserE trainingApplyUserE = new TrainingApplyUserE(); + BeanUtils.copyProperties(cmd, trainingApplyUserE); + boolean res = false; + try { + res = trainingApplyUserGateway.add(trainingApplyUserE); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (!res) { + throw new BizException("保存失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyUserRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyUserRemoveExe.java new file mode 100644 index 0000000..6916280 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyUserRemoveExe.java @@ -0,0 +1,40 @@ +package com.zcloud.edu.command.training; + +import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:36:37 +*/ +@Component +@AllArgsConstructor +public class TrainingApplyUserRemoveExe { + private final TrainingApplyUserGateway trainingApplyUserGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + boolean res = trainingApplyUserGateway.deletedTrainingApplyUserById(id); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + boolean res = trainingApplyUserGateway.deletedTrainingApplyUserByIds(ids); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyUserUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyUserUpdateExe.java new file mode 100644 index 0000000..d44f735 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingApplyUserUpdateExe.java @@ -0,0 +1,35 @@ +package com.zcloud.edu.command.training; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway; +import com.zcloud.edu.domain.model.training.TrainingApplyUserE; +import com.zcloud.edu.dto.training.TrainingApplyUserUpdateCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:36:39 +*/ +@Component +@AllArgsConstructor +public class TrainingApplyUserUpdateExe { + private final TrainingApplyUserGateway trainingApplyUserGateway; + + @Transactional(rollbackFor = Exception.class) + public void execute(TrainingApplyUserUpdateCmd trainingApplyUserUpdateCmd) { + TrainingApplyUserE trainingApplyUserE = new TrainingApplyUserE(); + BeanUtils.copyProperties(trainingApplyUserUpdateCmd, trainingApplyUserE); + boolean res = trainingApplyUserGateway.update(trainingApplyUserE); + if (!res) { + throw new BizException("修改失败"); + } + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/training/TrainingUserAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingUserAddExe.java new file mode 100644 index 0000000..48f8d80 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingUserAddExe.java @@ -0,0 +1,41 @@ +package com.zcloud.edu.command.training; + +import com.zcloud.edu.domain.gateway.training.TrainingUserGateway; +import com.zcloud.edu.domain.model.training.TrainingUserE; +import com.zcloud.edu.dto.training.TrainingUserAddCmd; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:41:00 +*/ +@Component +@AllArgsConstructor +public class TrainingUserAddExe { + private final TrainingUserGateway trainingUserGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(TrainingUserAddCmd cmd) { + TrainingUserE trainingUserE = new TrainingUserE(); + BeanUtils.copyProperties(cmd, trainingUserE); + boolean res = false; + try { + res = trainingUserGateway.add(trainingUserE); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (!res) { + throw new BizException("保存失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/training/TrainingUserRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingUserRemoveExe.java new file mode 100644 index 0000000..4a06b70 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingUserRemoveExe.java @@ -0,0 +1,40 @@ +package com.zcloud.edu.command.training; + +import com.zcloud.edu.domain.gateway.training.TrainingUserGateway; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:41:05 +*/ +@Component +@AllArgsConstructor +public class TrainingUserRemoveExe { + private final TrainingUserGateway trainingUserGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + boolean res = trainingUserGateway.deletedTrainingUserById(id); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + boolean res = trainingUserGateway.deletedTrainingUserByIds(ids); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/command/training/TrainingUserUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingUserUpdateExe.java new file mode 100644 index 0000000..5f3dde2 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/command/training/TrainingUserUpdateExe.java @@ -0,0 +1,35 @@ +package com.zcloud.edu.command.training; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.edu.domain.gateway.training.TrainingUserGateway; +import com.zcloud.edu.domain.model.training.TrainingUserE; +import com.zcloud.edu.dto.training.TrainingUserUpdateCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:41:08 +*/ +@Component +@AllArgsConstructor +public class TrainingUserUpdateExe { + private final TrainingUserGateway trainingUserGateway; + + @Transactional(rollbackFor = Exception.class) + public void execute(TrainingUserUpdateCmd trainingUserUpdateCmd) { + TrainingUserE trainingUserE = new TrainingUserE(); + BeanUtils.copyProperties(trainingUserUpdateCmd, trainingUserE); + boolean res = trainingUserGateway.update(trainingUserE); + if (!res) { + throw new BizException("修改失败"); + } + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/service/TrainingApplyProcessServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/TrainingApplyProcessServiceImpl.java new file mode 100644 index 0000000..90696c3 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/service/TrainingApplyProcessServiceImpl.java @@ -0,0 +1,73 @@ +package com.zcloud.edu.service; + +import com.zcloud.edu.api.training.TrainingApplyProcessServiceI; +import com.zcloud.edu.command.query.training.TrainingApplyRecordQueryExe; +import com.zcloud.edu.command.training.TrainingApplyProcessAddExe; +import com.zcloud.edu.command.training.TrainingApplyProcessRemoveExe; +import com.zcloud.edu.command.training.TrainingApplyProcessUpdateExe; +import com.zcloud.edu.command.query.training.TrainingApplyProcessQueryExe; +import com.zcloud.edu.domain.enums.ApplyTypeEnum; +import com.zcloud.edu.domain.model.training.TrainingApplyProcessE; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO; +import com.zcloud.edu.dto.training.TrainingApplyProcessAddCmd; +import com.zcloud.edu.dto.training.TrainingApplyProcessPageQry; +import com.zcloud.edu.dto.training.TrainingApplyProcessUpdateCmd; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:30:04 +*/ +@Service +@AllArgsConstructor +public class TrainingApplyProcessServiceImpl implements TrainingApplyProcessServiceI { + private final TrainingApplyProcessAddExe trainingApplyProcessAddExe; + private final TrainingApplyProcessUpdateExe trainingApplyProcessUpdateExe; + private final TrainingApplyProcessRemoveExe trainingApplyProcessRemoveExe; + private final TrainingApplyProcessQueryExe trainingApplyProcessQueryExe; + private final TrainingApplyRecordQueryExe trainingApplyRecordQueryExe; + + @Override + public PageResponse listPage(TrainingApplyProcessPageQry qry){ + + return trainingApplyProcessQueryExe.execute(qry); + } + + @Override + public SingleResponse add(TrainingApplyProcessAddCmd cmd) { + + trainingApplyProcessAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(TrainingApplyProcessUpdateCmd trainingApplyProcessUpdateCmd) { + trainingApplyProcessUpdateExe.execute(trainingApplyProcessUpdateCmd); + } + + @Override + public void remove(Long id) { + trainingApplyProcessRemoveExe.execute(id); + } + + @Override + public void removeBatch(Long[] ids) { + trainingApplyProcessRemoveExe.execute(ids); + } + + @Override + public List getProcessDiagramByRecordId(TrainingApplyProcessPageQry qry) { + return trainingApplyProcessQueryExe.getProcessDiagramByRecordId(qry); + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/service/TrainingApplyRecordServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/TrainingApplyRecordServiceImpl.java new file mode 100644 index 0000000..3d6a354 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/service/TrainingApplyRecordServiceImpl.java @@ -0,0 +1,71 @@ +package com.zcloud.edu.service; + +import com.jjb.saas.framework.auth.model.SSOUser; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.edu.api.training.TrainingApplyRecordServiceI; +import com.zcloud.edu.command.training.TrainingApplyRecordAddExe; +import com.zcloud.edu.command.training.TrainingApplyRecordRemoveExe; +import com.zcloud.edu.command.training.TrainingApplyRecordUpdateExe; +import com.zcloud.edu.command.query.training.TrainingApplyRecordQueryExe; +import com.zcloud.edu.dto.training.TrainingApplyRecordAddCmd; +import com.zcloud.edu.dto.training.TrainingApplyRecordPageQry; +import com.zcloud.edu.dto.training.TrainingApplyRecordUpdateCmd; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:21:52 +*/ +@Service +@AllArgsConstructor +public class TrainingApplyRecordServiceImpl implements TrainingApplyRecordServiceI { + private final TrainingApplyRecordAddExe trainingApplyRecordAddExe; + private final TrainingApplyRecordUpdateExe trainingApplyRecordUpdateExe; + private final TrainingApplyRecordRemoveExe trainingApplyRecordRemoveExe; + private final TrainingApplyRecordQueryExe trainingApplyRecordQueryExe; + + @Override + public PageResponse listPage(TrainingApplyRecordPageQry qry){ + SSOUser ssoUser = AuthContext.getCurrentUser(); + return trainingApplyRecordQueryExe.executeBySql(qry); + } + + @Override + public SingleResponse add(TrainingApplyRecordAddCmd cmd) { + + trainingApplyRecordAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(TrainingApplyRecordUpdateCmd trainingApplyRecordUpdateCmd) { + trainingApplyRecordUpdateExe.execute(trainingApplyRecordUpdateCmd); + } + + @Override + public void remove(Long id) { + trainingApplyRecordRemoveExe.execute(id); + } + + @Override + public void removeBatch(Long[] ids) { + trainingApplyRecordRemoveExe.execute(ids); + } + + @Override + public SingleResponse getInfoById(Long id) { + return SingleResponse.of(trainingApplyRecordQueryExe.getInfoById(id)); + } + + @Override + public void approve(TrainingApplyRecordUpdateCmd cmd) { + trainingApplyRecordUpdateExe.executeApprove(cmd); + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/service/TrainingApplyUserServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/TrainingApplyUserServiceImpl.java new file mode 100644 index 0000000..9c589af --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/service/TrainingApplyUserServiceImpl.java @@ -0,0 +1,59 @@ +package com.zcloud.edu.service; + +import com.zcloud.edu.api.training.TrainingApplyUserServiceI; +import com.zcloud.edu.command.training.TrainingApplyUserAddExe; +import com.zcloud.edu.command.training.TrainingApplyUserRemoveExe; +import com.zcloud.edu.command.training.TrainingApplyUserUpdateExe; +import com.zcloud.edu.command.query.training.TrainingApplyUserQueryExe; +import com.zcloud.edu.dto.training.TrainingApplyUserAddCmd; +import com.zcloud.edu.dto.training.TrainingApplyUserPageQry; +import com.zcloud.edu.dto.training.TrainingApplyUserUpdateCmd; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyUserCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:36:38 +*/ +@Service +@AllArgsConstructor +public class TrainingApplyUserServiceImpl implements TrainingApplyUserServiceI { + private final TrainingApplyUserAddExe trainingApplyUserAddExe; + private final TrainingApplyUserUpdateExe trainingApplyUserUpdateExe; + private final TrainingApplyUserRemoveExe trainingApplyUserRemoveExe; + private final TrainingApplyUserQueryExe trainingApplyUserQueryExe; + + @Override + public PageResponse listPage(TrainingApplyUserPageQry qry){ + + return trainingApplyUserQueryExe.execute(qry); + } + + @Override + public SingleResponse add(TrainingApplyUserAddCmd cmd) { + + trainingApplyUserAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(TrainingApplyUserUpdateCmd trainingApplyUserUpdateCmd) { + trainingApplyUserUpdateExe.execute(trainingApplyUserUpdateCmd); + } + + @Override + public void remove(Long id) { + trainingApplyUserRemoveExe.execute(id); + } + + @Override + public void removeBatch(Long[] ids) { + trainingApplyUserRemoveExe.execute(ids); + } +} + diff --git a/web-app/src/main/java/com/zcloud/edu/service/TrainingUserServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/TrainingUserServiceImpl.java new file mode 100644 index 0000000..c9f09dd --- /dev/null +++ b/web-app/src/main/java/com/zcloud/edu/service/TrainingUserServiceImpl.java @@ -0,0 +1,59 @@ +package com.zcloud.edu.service; + +import com.zcloud.edu.api.training.TrainingUserServiceI; +import com.zcloud.edu.command.training.TrainingUserAddExe; +import com.zcloud.edu.command.training.TrainingUserRemoveExe; +import com.zcloud.edu.command.training.TrainingUserUpdateExe; +import com.zcloud.edu.command.query.training.TrainingUserQueryExe; +import com.zcloud.edu.dto.training.TrainingUserAddCmd; +import com.zcloud.edu.dto.training.TrainingUserPageQry; +import com.zcloud.edu.dto.training.TrainingUserUpdateCmd; +import com.zcloud.edu.dto.clientobject.training.TrainingUserCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +/** +* web-app +* @Author makejava +* @Date 2026-01-12 15:41:07 +*/ +@Service +@AllArgsConstructor +public class TrainingUserServiceImpl implements TrainingUserServiceI { + private final TrainingUserAddExe trainingUserAddExe; + private final TrainingUserUpdateExe trainingUserUpdateExe; + private final TrainingUserRemoveExe trainingUserRemoveExe; + private final TrainingUserQueryExe trainingUserQueryExe; + + @Override + public PageResponse listPage(TrainingUserPageQry qry){ + + return trainingUserQueryExe.execute(qry); + } + + @Override + public SingleResponse add(TrainingUserAddCmd cmd) { + + trainingUserAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(TrainingUserUpdateCmd trainingUserUpdateCmd) { + trainingUserUpdateExe.execute(trainingUserUpdateCmd); + } + + @Override + public void remove(Long id) { + trainingUserRemoveExe.execute(id); + } + + @Override + public void removeBatch(Long[] ids) { + trainingUserRemoveExe.execute(ids); + } +} + diff --git a/web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyProcessServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyProcessServiceI.java new file mode 100644 index 0000000..3ef5996 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyProcessServiceI.java @@ -0,0 +1,36 @@ +package com.zcloud.edu.api.training; + +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO; +import com.zcloud.edu.dto.training.TrainingApplyProcessAddCmd; +import com.zcloud.edu.dto.training.TrainingApplyProcessPageQry; +import com.zcloud.edu.dto.training.TrainingApplyProcessUpdateCmd; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; + +import java.util.List; + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:30:04 +*/ +public interface TrainingApplyProcessServiceI { + PageResponse listPage(TrainingApplyProcessPageQry qry); + + SingleResponse add(TrainingApplyProcessAddCmd cmd); + + void edit(TrainingApplyProcessUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(Long[] ids); + + /** + * 获取审批流程图 + */ + List getProcessDiagramByRecordId(TrainingApplyProcessPageQry qry); + +} + diff --git a/web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyRecordServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyRecordServiceI.java new file mode 100644 index 0000000..e9a9f7c --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyRecordServiceI.java @@ -0,0 +1,37 @@ +package com.zcloud.edu.api.training; + +import com.zcloud.edu.dto.training.TrainingApplyRecordAddCmd; +import com.zcloud.edu.dto.training.TrainingApplyRecordPageQry; +import com.zcloud.edu.dto.training.TrainingApplyRecordUpdateCmd; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:21:51 +*/ +public interface TrainingApplyRecordServiceI { + PageResponse listPage(TrainingApplyRecordPageQry qry); + + SingleResponse add(TrainingApplyRecordAddCmd cmd); + + void edit(TrainingApplyRecordUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(Long[] ids); + + /** + * 培训申请记录详情 + */ + SingleResponse getInfoById(Long id); + + /** + * 审批培训申请 + */ + void approve(TrainingApplyRecordUpdateCmd cmd); +} + diff --git a/web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyUserServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyUserServiceI.java new file mode 100644 index 0000000..c174af5 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/api/training/TrainingApplyUserServiceI.java @@ -0,0 +1,27 @@ +package com.zcloud.edu.api.training; + +import com.zcloud.edu.dto.training.TrainingApplyUserAddCmd; +import com.zcloud.edu.dto.training.TrainingApplyUserPageQry; +import com.zcloud.edu.dto.training.TrainingApplyUserUpdateCmd; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyUserCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:36:37 +*/ +public interface TrainingApplyUserServiceI { + PageResponse listPage(TrainingApplyUserPageQry qry); + + SingleResponse add(TrainingApplyUserAddCmd cmd); + + void edit(TrainingApplyUserUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(Long[] ids); +} + diff --git a/web-client/src/main/java/com/zcloud/edu/api/training/TrainingUserServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/training/TrainingUserServiceI.java new file mode 100644 index 0000000..e9c139b --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/api/training/TrainingUserServiceI.java @@ -0,0 +1,27 @@ +package com.zcloud.edu.api.training; + +import com.zcloud.edu.dto.training.TrainingUserAddCmd; +import com.zcloud.edu.dto.training.TrainingUserPageQry; +import com.zcloud.edu.dto.training.TrainingUserUpdateCmd; +import com.zcloud.edu.dto.clientobject.training.TrainingUserCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:41:06 +*/ +public interface TrainingUserServiceI { + PageResponse listPage(TrainingUserPageQry qry); + + SingleResponse add(TrainingUserAddCmd cmd); + + void edit(TrainingUserUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(Long[] ids); +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/ApproveDetailCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/ApproveDetailCO.java new file mode 100644 index 0000000..3a80363 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/ApproveDetailCO.java @@ -0,0 +1,21 @@ +package com.zcloud.edu.dto.clientobject.training; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ApproveDetailCO { + + @ApiModelProperty(value = "审批类型 1-审批信息 2-委托信息") + private Integer approveType; + + @ApiModelProperty(value = "审批企业") + private String approveCorpName; + + @ApiModelProperty(value = "审批部门") + private String approveDeptName; + + @ApiModelProperty(value = "审批人") + private String approveUserName; + +} diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessCO.java new file mode 100644 index 0000000..44c720e --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessCO.java @@ -0,0 +1,81 @@ +package com.zcloud.edu.dto.clientobject.training; + +import com.alibaba.cola.dto.ClientObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:30:00 +*/ +@Data +public class TrainingApplyProcessCO extends ClientObject { + //主键 + @ApiModelProperty(value = "主键") + private Long id; + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String trainingApplyProcessId; + //培训申请记录id + @ApiModelProperty(value = "培训申请记录id") + private String trainingApplyRecordId; + //审批类型(1:发起,2:审批,3:委托) + @ApiModelProperty(value = "审批类型(1:发起,2:审批,3:委托)") + private Long applyType; + //记录审批状态 + @ApiModelProperty(value = "记录审批状态 审批状态1:待审批2:审批中,3:审批完成") + private Long approvalStatus; + //手机号 + @ApiModelProperty(value = "手机号") + private String phone; + //企业id + @ApiModelProperty(value = "企业id") + private Long corpinfoId; + //部门id + @ApiModelProperty(value = "部门id") + private Long departmentId; + //用户id + @ApiModelProperty(value = "用户id") + private Long userId; + //乐观锁 + @ApiModelProperty(value = "乐观锁") + private Integer version; + //创建人 + @ApiModelProperty(value = "创建人") + private Long createId; + //创建人姓名 + @ApiModelProperty(value = "创建人姓名") + private String createName; + //创建时间 + @ApiModelProperty(value = "创建时间") + private LocalDateTime createTime; + //更新人 + @ApiModelProperty(value = "更新人") + private Long updateId; + //修改人名称 + @ApiModelProperty(value = "修改人名称") + private String updateName; + //更新时间 + @ApiModelProperty(value = "更新时间") + private LocalDateTime updateTime; + //描述 + @ApiModelProperty(value = "描述") + private String remarks; + //是否删除 + @ApiModelProperty(value = "是否删除") + private String deleteEnum; + //租户id + @ApiModelProperty(value = "租户id") + private Long tenantId; + //机构id + @ApiModelProperty(value = "机构id") + private Long orgId; + //环境 + @ApiModelProperty(value = "环境") + private String env; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessNodeCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessNodeCO.java new file mode 100644 index 0000000..9e94aaf --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessNodeCO.java @@ -0,0 +1,26 @@ +package com.zcloud.edu.dto.clientobject.training; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class TrainingApplyProcessNodeCO { + + + @ApiModelProperty(value = "节点名称") + private String nodeName; + + @ApiModelProperty(value = "审批状态") + private Long approvalStatus; + + @ApiModelProperty(value = "姓名") + private String username; + + @ApiModelProperty(value = "审批类型") + private Long applyType; + + @ApiModelProperty(value = "时间") + private String time; + + +} diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyRecordCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyRecordCO.java new file mode 100644 index 0000000..299c142 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyRecordCO.java @@ -0,0 +1,112 @@ +package com.zcloud.edu.dto.clientobject.training; + +import com.alibaba.cola.dto.ClientObject; +import com.zcloud.edu.domain.model.training.ApproveDetailE; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:21:46 +*/ +@Data +public class TrainingApplyRecordCO extends ClientObject { + //主键 + @ApiModelProperty(value = "主键") + private Long id; + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String trainingApplyRecordId; + //申请企业id + @ApiModelProperty(value = "申请企业id") + private Long applyCorpinfoId; + //企业名称 + @ApiModelProperty(value = "申请企业名称") + private String applyCorpName; + //申请部门id + @ApiModelProperty(value = "申请部门id") + private Long applyDepartmentId; + //申请用户id + @ApiModelProperty(value = "申请用户id") + private Long applyUserId; + //审批企业id + @ApiModelProperty(value = "审批企业id") + private Long approvalCorpinfoId; + // 审批企业名称 + @ApiModelProperty(value = "审批企业名称") + private String approvalCorpName; + //审批部门id + @ApiModelProperty(value = "审批部门id") + private Long approvalDepartmentId; + // 审批部门名称 + @ApiModelProperty(value = "审批部门名称") + private String approvalDepartmentName; + //审批用户id + @ApiModelProperty(value = "审批用户id") + private Long approvalUserId; + // 审批用户名称 + @ApiModelProperty(value = "审批用户名称") + private String approvalUserName; + // 关联项目 + @ApiModelProperty(value = "关联项目") + private String projectName; + //审批状态1:待审批2:审批中,3:审批完成 + @ApiModelProperty(value = "审批状态1:待审批2:审批中,3:审批完成") + private Long approvalStatus; + //乐观锁 + @ApiModelProperty(value = "乐观锁") + private Integer version; + // 申请人数 + @ApiModelProperty(value = " 申请人数") + private Integer applyUserCount; + //创建人 + @ApiModelProperty(value = "创建人") + private Long createId; + //创建人姓名 + @ApiModelProperty(value = "创建人姓名") + private String createName; + //创建时间 + @ApiModelProperty(value = "创建时间") + private LocalDateTime createTime; + //更新人 + @ApiModelProperty(value = "更新人") + private Long updateId; + //修改人名称 + @ApiModelProperty(value = "修改人名称") + private String updateName; + //更新时间 + @ApiModelProperty(value = "更新时间") + private LocalDateTime updateTime; + //描述 + @ApiModelProperty(value = "描述") + private String remarks; + //是否删除 + @ApiModelProperty(value = "是否删除") + private String deleteEnum; + //租户id + @ApiModelProperty(value = "租户id") + private Long tenantId; + //机构id + @ApiModelProperty(value = "机构id") + private Long orgId; + //环境 + @ApiModelProperty(value = "环境") + private String env; + + // 申请人名称 + @ApiModelProperty(value = " 申请人名称") + private String applyUserName; + + @ApiModelProperty(value = "申请人列表") + private List applyUsers; + + @ApiModelProperty(value = "审批委托信息") + private List approveDetails; + +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyUserCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyUserCO.java new file mode 100644 index 0000000..e2b1d3f --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyUserCO.java @@ -0,0 +1,81 @@ +package com.zcloud.edu.dto.clientobject.training; + +import com.alibaba.cola.dto.ClientObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:36:33 +*/ +@Data +public class TrainingApplyUserCO extends ClientObject { + //主键 + @ApiModelProperty(value = "主键") + private Long id; + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String trainingApplyUserId; + //培训申请记录id + @ApiModelProperty(value = "培训申请记录id") + private String trainingApplyRecordId; + //用户id + @ApiModelProperty(value = "用户id") + private Long userId; + //手机号 + @ApiModelProperty(value = "手机号") + private String phone; + //申请状态1:待审批2:审批通过,3:审批不通过 + @ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过") + private Long applyStatus; + //用户名称 + @ApiModelProperty(value = "用户名称") + private String userName; + //身份证号 + @ApiModelProperty(value = "身份证号") + private String idCard; + //关联项目 + @ApiModelProperty(value = "关联项目") + private String projectName; + //乐观锁 + @ApiModelProperty(value = "乐观锁") + private Integer version; + //创建人 + @ApiModelProperty(value = "创建人") + private Long createId; + //创建人姓名 + @ApiModelProperty(value = "创建人姓名") + private String createName; + //创建时间 + @ApiModelProperty(value = "创建时间") + private LocalDateTime createTime; + //更新人 + @ApiModelProperty(value = "更新人") + private Long updateId; + //修改人名称 + @ApiModelProperty(value = "修改人名称") + private String updateName; + //更新时间 + @ApiModelProperty(value = "更新时间") + private LocalDateTime updateTime; + //描述 + @ApiModelProperty(value = "描述") + private String remarks; + //是否删除 + @ApiModelProperty(value = "是否删除") + private String deleteEnum; + //租户id + @ApiModelProperty(value = "租户id") + private Long tenantId; + //机构id + @ApiModelProperty(value = "机构id") + private Long orgId; + //环境 + @ApiModelProperty(value = "环境") + private String env; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingUserCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingUserCO.java new file mode 100644 index 0000000..6d66470 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingUserCO.java @@ -0,0 +1,75 @@ +package com.zcloud.edu.dto.clientobject.training; + +import com.alibaba.cola.dto.ClientObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:41:01 +*/ +@Data +public class TrainingUserCO extends ClientObject { + //主键 + @ApiModelProperty(value = "主键") + private Long id; + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String trainingUserId; + //手机号 + @ApiModelProperty(value = "手机号") + private String phone; + //申请状态1:待审批2:审批通过,3:审批不通过 + @ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过") + private Long applyStatus; + //有效期开始时间 + @ApiModelProperty(value = "有效期开始时间") + private LocalDateTime startTime; + //有效期结束时间 + @ApiModelProperty(value = "有效期结束时间") + private LocalDateTime endTime; + //考试状态:1.待考试2:考试通过,3:考试不通过 + @ApiModelProperty(value = "考试状态:1.待考试2:考试通过,3:考试不通过") + private Long examineStatus; + //乐观锁 + @ApiModelProperty(value = "乐观锁") + private Integer version; + //创建人 + @ApiModelProperty(value = "创建人") + private Long createId; + //创建人姓名 + @ApiModelProperty(value = "创建人姓名") + private String createName; + //创建时间 + @ApiModelProperty(value = "创建时间") + private LocalDateTime createTime; + //更新人 + @ApiModelProperty(value = "更新人") + private Long updateId; + //修改人名称 + @ApiModelProperty(value = "修改人名称") + private String updateName; + //更新时间 + @ApiModelProperty(value = "更新时间") + private LocalDateTime updateTime; + //描述 + @ApiModelProperty(value = "描述") + private String remarks; + //是否删除 + @ApiModelProperty(value = "是否删除") + private String deleteEnum; + //租户id + @ApiModelProperty(value = "租户id") + private Long tenantId; + //机构id + @ApiModelProperty(value = "机构id") + private Long orgId; + //环境 + @ApiModelProperty(value = "环境") + private String env; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyProcessAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyProcessAddCmd.java new file mode 100644 index 0000000..9c9ffac --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyProcessAddCmd.java @@ -0,0 +1,46 @@ +package com.zcloud.edu.dto.training; + +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 makejava +* @Date 2026-01-12 15:29:58 +*/ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class TrainingApplyProcessAddCmd extends Command { + @ApiModelProperty(value = "培训申请记录id", name = "trainingApplyRecordId", required = true) +// @NotEmpty(message = "培训申请记录id不能为空") + private String trainingApplyRecordId; + + @ApiModelProperty(value = "审批类型(1:发起,2:审批,3:委托)", name = "applyType", required = true) + @NotNull(message = "审批类型(1:发起,2:审批,3:委托)不能为空") + private Long applyType; + + @ApiModelProperty(value = "手机号", name = "phone", required = true) +// @NotEmpty(message = "手机号不能为空") + private String phone; + + @ApiModelProperty(value = "企业id", name = "corpinfoId", required = true) + @NotNull(message = "企业id不能为空") + private Long corpinfoId; + + @ApiModelProperty(value = "部门id", name = "departmentId", required = true) + @NotNull(message = "部门id不能为空") + private Long departmentId; + + @ApiModelProperty(value = "用户id", name = "userId", required = true) + @NotNull(message = "用户id不能为空") + private Long userId; + +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyProcessPageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyProcessPageQry.java new file mode 100644 index 0000000..3220e63 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyProcessPageQry.java @@ -0,0 +1,30 @@ +package com.zcloud.edu.dto.training; + +import com.alibaba.cola.dto.PageQuery; +import lombok.Data; + + + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:30:03 +*/ +@Data +public class TrainingApplyProcessPageQry extends PageQuery { + +/** +* 查询条件操作前缀,支持以下几种数据库查询操作: +* - `like`: 模糊匹配查询,对应SQL的LIKE操作符 +* - `eq`: 等值查询,对应SQL的=操作符 +* - `gt`: 大于比较查询 +* - `lt`: 小于比较查询 +* - `ge`: 大于等于比较查询 +* - `le`: 小于等于比较查询 +* - `ne`: 不等比较查询,对应SQL的!=操作符 +*/ + private String likeTrainingApplyProcessId; + + private String eqTrainingApplyRecordId; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyProcessUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyProcessUpdateCmd.java new file mode 100644 index 0000000..c4782bb --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyProcessUpdateCmd.java @@ -0,0 +1,46 @@ +package com.zcloud.edu.dto.training; + +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 makejava +* @Date 2026-01-12 15:30:05 +*/ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class TrainingApplyProcessUpdateCmd extends Command { + @ApiModelProperty(value = "主键", name = "id", required = true) + @NotNull(message = "主键不能为空") + private Long id; + @ApiModelProperty(value = "业务主键id", name = "trainingApplyProcessId", required = true) + @NotEmpty(message = "业务主键id不能为空") + private String trainingApplyProcessId; + @ApiModelProperty(value = "培训申请记录id", name = "trainingApplyRecordId", required = true) + @NotEmpty(message = "培训申请记录id不能为空") + private String trainingApplyRecordId; + @ApiModelProperty(value = "审批类型(1:发起,2:审批,3:委托)", name = "applyType", required = true) + @NotNull(message = "审批类型(1:发起,2:审批,3:委托)不能为空") + private Long applyType; + @ApiModelProperty(value = "手机号", name = "phone", required = true) + @NotEmpty(message = "手机号不能为空") + private String phone; + @ApiModelProperty(value = "企业id", name = "corpinfoId", required = true) + @NotNull(message = "企业id不能为空") + private Long corpinfoId; + @ApiModelProperty(value = "部门id", name = "departmentId", required = true) + @NotNull(message = "部门id不能为空") + private Long departmentId; + @ApiModelProperty(value = "用户id", name = "userId", required = true) + @NotNull(message = "用户id不能为空") + private Long userId; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordAddCmd.java new file mode 100644 index 0000000..fc1e82a --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordAddCmd.java @@ -0,0 +1,62 @@ +package com.zcloud.edu.dto.training; + +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.Valid; +import javax.validation.constraints.*; +import java.util.List; + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:21:35 +*/ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class TrainingApplyRecordAddCmd extends Command { + @ApiModelProperty(value = "申请企业id", name = "applyCorpinfoId", required = true) + @NotNull(message = "申请企业id不能为空") + private Long applyCorpinfoId; + + @ApiModelProperty(value = "申请部门id", name = "applyDepartmentId", required = true) + @NotNull(message = "申请部门id不能为空") + private Long applyDepartmentId; + + @ApiModelProperty(value = "申请用户id", name = "applyUserId", required = true) + @NotNull(message = "申请用户id不能为空") + private Long applyUserId; + + @ApiModelProperty(value = "审批企业id", name = "approvalCorpinfoId", required = true) + @NotNull(message = "审批企业id不能为空") + private Long approvalCorpinfoId; + + @ApiModelProperty(value = "审批部门id", name = "approvalDepartmentId", required = true) + @NotNull(message = "审批部门id不能为空") + private Long approvalDepartmentId; + + @ApiModelProperty(value = "审批用户id", name = "approvalUserId", required = true) + @NotNull(message = "审批用户id不能为空") + private Long approvalUserId; + + @ApiModelProperty(value = "关联项目", name = "projectName", required = true) + @NotEmpty(message = "关联项目不能为空") + private String projectName; + + @ApiModelProperty(value = "审批状态1:待审批2:审批中,3:审批完成", name = "approvalStatus", required = true) +// @NotNull(message = "审批状态1:待审批2:审批中,3:审批完成不能为空") + private Long approvalStatus; + + @ApiModelProperty(value = "申请人员列表") + @NotNull(message = "申请人员列表不能为空") + @Valid + private List applyUsers; + +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordPageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordPageQry.java new file mode 100644 index 0000000..d03c2a3 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordPageQry.java @@ -0,0 +1,38 @@ +package com.zcloud.edu.dto.training; + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:21:50 +*/ +@Data +public class TrainingApplyRecordPageQry extends PageQuery { + +/** +* 查询条件操作前缀,支持以下几种数据库查询操作: +* - `like`: 模糊匹配查询,对应SQL的LIKE操作符 +* - `eq`: 等值查询,对应SQL的=操作符 +* - `gt`: 大于比较查询 +* - `lt`: 小于比较查询 +* - `ge`: 大于等于比较查询 +* - `le`: 小于等于比较查询 +* - `ne`: 不等比较查询,对应SQL的!=操作符 +*/ + private String likeTrainingApplyRecordId; + + @ApiModelProperty(value = "审批状态1:待审批2:审批通过,3:审批完成", name = "approvalStatus", required = false) + private Long eqApprovalStatus; + + @ApiModelProperty(value = "审批人ID", name = "approvalUserId", required = false) + private Long eqApprovalUserId; + + @ApiModelProperty(value = "申请企业ID", name = "applyCorpinfoId", required = false) + private Long eqApplyCorpinfoId; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordUpdateCmd.java new file mode 100644 index 0000000..fee2aa2 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordUpdateCmd.java @@ -0,0 +1,48 @@ +package com.zcloud.edu.dto.training; + +import com.alibaba.cola.dto.Command; +import com.zcloud.edu.domain.model.training.TrainingApplyUserE; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import javax.validation.constraints.*; +import java.util.List; + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:21:52 +*/ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class TrainingApplyRecordUpdateCmd extends Command { + @ApiModelProperty(value = "主键", name = "id", required = true) + @NotNull(message = "主键不能为空") + private Long id; + @ApiModelProperty(value = "业务主键id", name = "trainingApplyRecordId", required = true) + private String trainingApplyRecordId; + @ApiModelProperty(value = "申请企业id", name = "applyCorpinfoId", required = true) + private Long applyCorpinfoId; + @ApiModelProperty(value = "申请部门id", name = "applyDepartmentId", required = true) + private Long applyDepartmentId; + @ApiModelProperty(value = "申请用户id", name = "applyUserId", required = true) + private Long applyUserId; + @ApiModelProperty(value = "审批企业id", name = "approvalCorpinfoId", required = true) + private Long approvalCorpinfoId; + @ApiModelProperty(value = "审批部门id", name = "approvalDepartmentId", required = true) + private Long approvalDepartmentId; + @ApiModelProperty(value = "审批用户id", name = "approvalUserId", required = true) + private Long approvalUserId; + @ApiModelProperty(value = "关联项目id", name = "projectName", required = true) + private String projectName; + @ApiModelProperty(value = "审批状态1:待审批2:审批中,3:审批完成", name = "approvalStatus", required = true) + private Long approvalStatus; + + @ApiModelProperty(value = "申请用户") + private List applyUsers; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserAddCmd.java new file mode 100644 index 0000000..aad1bc2 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserAddCmd.java @@ -0,0 +1,42 @@ +package com.zcloud.edu.dto.training; + +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 makejava +* @Date 2026-01-12 15:36:31 +*/ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class TrainingApplyUserAddCmd extends Command { + @ApiModelProperty(value = "培训申请记录id", name = "trainingApplyRecordId", required = true) +// @NotEmpty(message = "培训申请记录id不能为空") + private String trainingApplyRecordId; + + @ApiModelProperty(value = "用户id", name = "userId", required = true) + @NotNull(message = "用户id不能为空") + private Long userId; + + @ApiModelProperty(value = "手机号", name = "phone", required = true) + @NotEmpty(message = "手机号不能为空") + private String phone; + + @ApiModelProperty(value = "身份证号" , name = "idCard", required = true) + @NotEmpty(message = "身份证号不能为空") + private String idCard; + + @ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过", name = "applyStatus", required = true) +// @NotNull(message = "申请状态1:待审批2:审批通过,3:审批不通过不能为空") + private Long applyStatus; + +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserPageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserPageQry.java new file mode 100644 index 0000000..03b7454 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserPageQry.java @@ -0,0 +1,28 @@ +package com.zcloud.edu.dto.training; + +import com.alibaba.cola.dto.PageQuery; +import lombok.Data; + + + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:36:36 +*/ +@Data +public class TrainingApplyUserPageQry extends PageQuery { + +/** +* 查询条件操作前缀,支持以下几种数据库查询操作: +* - `like`: 模糊匹配查询,对应SQL的LIKE操作符 +* - `eq`: 等值查询,对应SQL的=操作符 +* - `gt`: 大于比较查询 +* - `lt`: 小于比较查询 +* - `ge`: 大于等于比较查询 +* - `le`: 小于等于比较查询 +* - `ne`: 不等比较查询,对应SQL的!=操作符 +*/ + private String likeTrainingApplyUserId; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserUpdateCmd.java new file mode 100644 index 0000000..897906b --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyUserUpdateCmd.java @@ -0,0 +1,37 @@ +package com.zcloud.edu.dto.training; + +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 makejava +* @Date 2026-01-12 15:36:39 +*/ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class TrainingApplyUserUpdateCmd extends Command { + @ApiModelProperty(value = "主键", name = "id", required = true) + @NotNull(message = "主键不能为空") + private Long id; + @ApiModelProperty(value = "业务主键id", name = "trainingApplyUserId", required = true) + private String trainingApplyUserId; + @ApiModelProperty(value = "培训申请记录id", name = "trainingApplyRecordId", required = true) + private String trainingApplyRecordId; + @ApiModelProperty(value = "用户id", name = "userId", required = true) + private Long userId; + @ApiModelProperty(value = "手机号", name = "phone", required = true) + private String phone; + @ApiModelProperty(value = "身份证号" , name = "idCard", required = true) + private String idCard; + @ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过", name = "applyStatus", required = true) + private Long applyStatus; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserAddCmd.java new file mode 100644 index 0000000..db05109 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserAddCmd.java @@ -0,0 +1,43 @@ +package com.zcloud.edu.dto.training; + +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.*; +import java.time.LocalDateTime; + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:40:59 +*/ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class TrainingUserAddCmd extends Command { + @ApiModelProperty(value = "手机号", name = "phone", required = true) + @NotEmpty(message = "手机号不能为空") + private String phone; + + @ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过", name = "applyStatus", required = true) + @NotNull(message = "申请状态1:待审批2:审批通过,3:审批不通过不能为空") + private Long applyStatus; + + @ApiModelProperty(value = "有效期开始时间", name = "startTime", required = true) + @NotNull(message = "有效期开始时间不能为空") + private LocalDateTime startTime; + + @ApiModelProperty(value = "有效期结束时间", name = "endTime", required = true) + @NotNull(message = "有效期结束时间不能为空") + private LocalDateTime endTime; + + @ApiModelProperty(value = "考试状态:1.待考试2:考试通过,3:考试不通过", name = "examineStatus", required = true) + @NotNull(message = "考试状态:1.待考试2:考试通过,3:考试不通过不能为空") + private Long examineStatus; + +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserPageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserPageQry.java new file mode 100644 index 0000000..f05e9e7 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserPageQry.java @@ -0,0 +1,28 @@ +package com.zcloud.edu.dto.training; + +import com.alibaba.cola.dto.PageQuery; +import lombok.Data; + + + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:41:04 +*/ +@Data +public class TrainingUserPageQry extends PageQuery { + +/** +* 查询条件操作前缀,支持以下几种数据库查询操作: +* - `like`: 模糊匹配查询,对应SQL的LIKE操作符 +* - `eq`: 等值查询,对应SQL的=操作符 +* - `gt`: 大于比较查询 +* - `lt`: 小于比较查询 +* - `ge`: 大于等于比较查询 +* - `le`: 小于等于比较查询 +* - `ne`: 不等比较查询,对应SQL的!=操作符 +*/ + private String likeTrainingUserId; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserUpdateCmd.java new file mode 100644 index 0000000..fde8bb0 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserUpdateCmd.java @@ -0,0 +1,44 @@ +package com.zcloud.edu.dto.training; + +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.*; +import java.time.LocalDateTime; + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:41:08 +*/ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class TrainingUserUpdateCmd extends Command { + @ApiModelProperty(value = "主键", name = "id", required = true) + @NotNull(message = "主键不能为空") + private Long id; + @ApiModelProperty(value = "业务主键id", name = "trainingUserId", required = true) + @NotEmpty(message = "业务主键id不能为空") + private String trainingUserId; + @ApiModelProperty(value = "手机号", name = "phone", required = true) + @NotEmpty(message = "手机号不能为空") + private String phone; + @ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过", name = "applyStatus", required = true) + @NotNull(message = "申请状态1:待审批2:审批通过,3:审批不通过不能为空") + private Long applyStatus; + @ApiModelProperty(value = "有效期开始时间", name = "startTime", required = true) + @NotNull(message = "有效期开始时间不能为空") + private LocalDateTime startTime; + @ApiModelProperty(value = "有效期结束时间", name = "endTime", required = true) + @NotNull(message = "有效期结束时间不能为空") + private LocalDateTime endTime; + @ApiModelProperty(value = "考试状态:1.待考试2:考试通过,3:考试不通过", name = "examineStatus", required = true) + @NotNull(message = "考试状态:1.待考试2:考试通过,3:考试不通过不能为空") + private Long examineStatus; +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/enums/ApplyStatusEnum.java b/web-domain/src/main/java/com/zcloud/edu/domain/enums/ApplyStatusEnum.java new file mode 100644 index 0000000..dff0c7c --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/enums/ApplyStatusEnum.java @@ -0,0 +1,34 @@ +package com.zcloud.edu.domain.enums; + +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 申请状态枚举 + */ +@Getter +@AllArgsConstructor +public enum ApplyStatusEnum { + + /** 待审批 */ + PENDING(1L, "待审批"), + + /** 审批通过 */ + APPROVED(2L, "审批通过"), + + /** 审批不通过 */ + REJECTED(3L, "审批不通过"); + + private final Long code; + private final String desc; + + public static ApplyStatusEnum of(Long code) { + for (ApplyStatusEnum status : values()) { + if (status.getCode().equals(code)) { + return status; + } + } + throw new BizException("未知的申请状态: " + code); + } +} diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/enums/ApplyTypeEnum.java b/web-domain/src/main/java/com/zcloud/edu/domain/enums/ApplyTypeEnum.java new file mode 100644 index 0000000..49c11c0 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/enums/ApplyTypeEnum.java @@ -0,0 +1,34 @@ +package com.zcloud.edu.domain.enums; + +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 审批类型枚举 + */ +@Getter +@AllArgsConstructor +public enum ApplyTypeEnum { + + /** 发起 */ + INITIATE(1L, "发起"), + + /** 审批 */ + APPROVAL(2L, "审批"), + + /** 委托 */ + DELEGATE(3L, "委托"); + + private final Long code; + private final String desc; + + public static ApplyTypeEnum of(Long code) { + for (ApplyTypeEnum type : values()) { + if (type.getCode().equals(code)) { + return type; + } + } + throw new BizException("未知的审批类型: " + code); + } +} diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/enums/ApprovalStatusEnum.java b/web-domain/src/main/java/com/zcloud/edu/domain/enums/ApprovalStatusEnum.java new file mode 100644 index 0000000..38c5c5c --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/enums/ApprovalStatusEnum.java @@ -0,0 +1,34 @@ +package com.zcloud.edu.domain.enums; + +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 审批状态枚举 + */ +@Getter +@AllArgsConstructor +public enum ApprovalStatusEnum { + + /** 待审批 */ + PENDING(1L, "待审批"), + + /** 审批中 */ + APPROVING(2L, "审批中"), + + /** 审批完成 */ + APPROVED(3L, "审批完成"); + + private final Long code; + private final String desc; + + public static ApprovalStatusEnum of(Long code) { + for (ApprovalStatusEnum status : values()) { + if (status.getCode().equals(code)) { + return status; + } + } + throw new BizException("未知的审批状态: " + code); + } +} \ No newline at end of file diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/enums/ExamineStatusEnum.java b/web-domain/src/main/java/com/zcloud/edu/domain/enums/ExamineStatusEnum.java new file mode 100644 index 0000000..67cdb78 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/enums/ExamineStatusEnum.java @@ -0,0 +1,35 @@ +package com.zcloud.edu.domain.enums; + + +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 考试状态枚举 + */ +@Getter +@AllArgsConstructor +public enum ExamineStatusEnum { + + /** 待考试 */ + PENDING(1L, "待考试"), + + /** 考试通过 */ + PASSED(2L, "考试通过"), + + /** 考试不通过 */ + FAILED(3L, "考试不通过"); + + private final Long code; + private final String desc; + + public static ExamineStatusEnum of(Long code) { + for (ExamineStatusEnum status : values()) { + if (status.getCode().equals(code)) { + return status; + } + } + throw new BizException("未知的考试状态: " + code); + } +} \ No newline at end of file diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingApplyProcessGateway.java b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingApplyProcessGateway.java new file mode 100644 index 0000000..a17323f --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingApplyProcessGateway.java @@ -0,0 +1,40 @@ +package com.zcloud.edu.domain.gateway.training; + +import com.zcloud.edu.domain.model.training.TrainingApplyProcessE; + +import java.util.List; + +/** +* web-domain +* @Author makejava +* @Date 2026-01-12 15:30:02 +*/ +public interface TrainingApplyProcessGateway { + + /** + * 新增 + */ + Boolean add(TrainingApplyProcessE trainingApplyProcessE) ; + + /** + * 批量新增 + */ + Boolean addBatch(List trainingApplyProcessEList); + + /** + * 修改 + */ + Boolean update(TrainingApplyProcessE trainingApplyProcessE); + + /** + * 删除 + */ + Boolean deletedTrainingApplyProcessById(Long id); + Boolean deletedTrainingApplyProcessByIds(Long[] id); + + /** + * 根据申请记录ID查询 + */ + List listByRecordId(String trainingApplyRecordId); +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingApplyRecordGateway.java b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingApplyRecordGateway.java new file mode 100644 index 0000000..7e4d218 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingApplyRecordGateway.java @@ -0,0 +1,38 @@ +package com.zcloud.edu.domain.gateway.training; + +import com.zcloud.edu.domain.model.training.TrainingApplyRecordE; + +/** +* web-domain +* @Author makejava +* @Date 2026-01-12 15:21:48 +*/ +public interface TrainingApplyRecordGateway { + + /** + * 新增 + */ + Boolean add(TrainingApplyRecordE trainingApplyRecordE) ; + + /** + * 修改 + */ + Boolean update(TrainingApplyRecordE trainingApplyRecordE); + + /** + * 删除 + */ + Boolean deletedTrainingApplyRecordById(Long id); + Boolean deletedTrainingApplyRecordByIds(Long[] id); + + /** + * 根据ID获取培训申请记录 + */ + TrainingApplyRecordE getById(Long id); + + /** + * 审批培训申请 + */ + Boolean approve(TrainingApplyRecordE trainingApplyRecordE); +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingApplyUserGateway.java b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingApplyUserGateway.java new file mode 100644 index 0000000..b1b300e --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingApplyUserGateway.java @@ -0,0 +1,40 @@ +package com.zcloud.edu.domain.gateway.training; + +import com.zcloud.edu.domain.model.training.TrainingApplyUserE; + +import java.util.List; + +/** +* web-domain +* @Author makejava +* @Date 2026-01-12 15:36:35 +*/ +public interface TrainingApplyUserGateway { + + /** + * 新增 + */ + Boolean add(TrainingApplyUserE trainingApplyUserE) ; + + /** + * 批量新增 + */ + Boolean addBatch(List trainingApplyUserEList); + + /** + * 修改 + */ + Boolean update(TrainingApplyUserE trainingApplyUserE); + + /** + * 删除 + */ + Boolean deletedTrainingApplyUserById(Long id); + Boolean deletedTrainingApplyUserByIds(Long[] id); + + /** + * 通过审批更新人员培训申请状态 + */ + Boolean updateStatusByApprove(List trainingApplyUserE); +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingUserGateway.java b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingUserGateway.java new file mode 100644 index 0000000..7bd4497 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/gateway/training/TrainingUserGateway.java @@ -0,0 +1,33 @@ +package com.zcloud.edu.domain.gateway.training; + +import com.zcloud.edu.domain.model.training.TrainingUserE; + +/** +* web-domain +* @Author makejava +* @Date 2026-01-12 15:41:03 +*/ +public interface TrainingUserGateway { + + /** + * 新增 + */ + Boolean add(TrainingUserE trainingUserE) ; + + /** + * 批量新增 + */ + Boolean addBatch(java.util.List trainingUserEList); + + /** + * 修改 + */ + Boolean update(TrainingUserE trainingUserE); + + /** + * 删除 + */ + Boolean deletedTrainingUserById(Long id); + Boolean deletedTrainingUserByIds(Long[] id); +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/training/ApproveDetailE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/ApproveDetailE.java new file mode 100644 index 0000000..6bcd422 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/ApproveDetailE.java @@ -0,0 +1,22 @@ +package com.zcloud.edu.domain.model.training; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ApproveDetailE { + + + @ApiModelProperty(value = "审批类型 1-审批信息 2-委托信息") + private Integer approveType; + + @ApiModelProperty(value = "审批企业") + private String approveCorpName; + + @ApiModelProperty(value = "审批部门") + private String approveDeptName; + + @ApiModelProperty(value = "审批人") + private String approveUserName; + +} diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyProcessE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyProcessE.java new file mode 100644 index 0000000..7abedfb --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyProcessE.java @@ -0,0 +1,100 @@ +package com.zcloud.edu.domain.model.training; + +import cn.hutool.core.util.IdUtil; +import com.jjb.saas.framework.domain.model.BaseE; +import com.zcloud.edu.domain.enums.ApplyTypeEnum; +import lombok.Data; + +/** +* web-domain +* @Author makejava +* @Date 2026-01-12 15:30:01 +*/ +@Data +public class TrainingApplyProcessE extends BaseE { + //业务主键id + private String trainingApplyProcessId; + //培训申请记录id + private String trainingApplyRecordId; + //审批类型(1:发起,2:审批,3:委托) + private Long applyType; + //手机号 + private String phone; + //企业id + private Long corpinfoId; + //部门id + private Long departmentId; + //用户id + private Long userId; + // 流程审批状态 审批状态1:待审批2:审批中,3:审批完成 + private Long approvalStatus; + + /** + * 创建发起流程 + */ + public static TrainingApplyProcessE createInitiate( + String recordId, Long applyType, Long corpinfoId, Long departmentId, Long userId, String remarks) { + + TrainingApplyProcessE process = new TrainingApplyProcessE(); + process.setTrainingApplyProcessId(IdUtil.simpleUUID()); + process.setTrainingApplyRecordId(recordId); + process.setApplyType(applyType); + process.setCorpinfoId(corpinfoId); + process.setDepartmentId(departmentId); + process.setUserId(userId); + process.setRemarks(remarks); + return process; + } + + /** + * 创建审批流程 + */ + public static TrainingApplyProcessE createApproval( + String recordId, Long corpinfoId, Long departmentId, Long userId, String remarks) { + + TrainingApplyProcessE process = new TrainingApplyProcessE(); + process.setTrainingApplyProcessId(IdUtil.simpleUUID()); + process.setTrainingApplyRecordId(recordId); + process.setApplyType(ApplyTypeEnum.APPROVAL.getCode()); + process.setCorpinfoId(corpinfoId); + process.setDepartmentId(departmentId); + process.setUserId(userId); + process.setRemarks(remarks); + return process; + } + + /** + * 创建委托流程 + */ + public static TrainingApplyProcessE createDelegate( + String recordId, Long corpinfoId, Long departmentId, Long userId, String remarks) { + + TrainingApplyProcessE process = new TrainingApplyProcessE(); + process.setTrainingApplyProcessId(IdUtil.simpleUUID()); + process.setTrainingApplyRecordId(recordId); + process.setApplyType(ApplyTypeEnum.DELEGATE.getCode()); + process.setCorpinfoId(corpinfoId); + process.setDepartmentId(departmentId); + process.setUserId(userId); + process.setRemarks(remarks); + return process; + } + + /** + * 设置审批状态 + */ + public void setApprovalStatus(Long approvalStatus) { + if (approvalStatus == null) return; + this.approvalStatus = approvalStatus; + } + + /** + * 判断是否需要设置审批状态 + */ + private boolean needApprovalStatus(Long applyType) { + return ApplyTypeEnum.APPROVAL.getCode().equals(applyType) + || ApplyTypeEnum.DELEGATE.getCode().equals(applyType); + } + +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyProcessNodeE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyProcessNodeE.java new file mode 100644 index 0000000..d8fdebd --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyProcessNodeE.java @@ -0,0 +1,24 @@ +package com.zcloud.edu.domain.model.training; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class TrainingApplyProcessNodeE { + + @ApiModelProperty(value = "节点名称") + private String nodeName; + + @ApiModelProperty(value = "审批状态") + private Long approvalStatus; + + @ApiModelProperty(value = "姓名") + private String username; + + @ApiModelProperty(value = "审批类型") + private Long applyType; + + @ApiModelProperty(value = "时间") + private String time; + +} diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordDetailE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordDetailE.java new file mode 100644 index 0000000..82ff667 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordDetailE.java @@ -0,0 +1,19 @@ +package com.zcloud.edu.domain.model.training; + +import lombok.Data; + +@Data +public class TrainingApplyRecordDetailE extends TrainingApplyRecordE { + + // 主表字段 + private Long id; + private String trainingApplyRecordId; + + // 关联查询字段 + private String applyUserName; + private String applyCorpName; + private String approvalUserName; + private String approvalDepartmentName; + private String approvalCorpName; + +} diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordE.java new file mode 100644 index 0000000..03d9d92 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordE.java @@ -0,0 +1,162 @@ +package com.zcloud.edu.domain.model.training; + +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.cola.exception.BizException; +import com.jjb.saas.framework.domain.model.BaseE; +import com.zcloud.edu.domain.enums.ApplyStatusEnum; +import com.zcloud.edu.domain.enums.ApplyTypeEnum; +import com.zcloud.edu.domain.enums.ApprovalStatusEnum; +import com.zcloud.edu.domain.enums.ExamineStatusEnum; +import lombok.Data; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** +* web-domain +* @Author makejava +* @Date 2026-01-12 15:21:48 +*/ +@Data +public class TrainingApplyRecordE extends BaseE { + //业务主键id + private String trainingApplyRecordId; + //申请企业id + private Long applyCorpinfoId; + //申请企业名称 + private String applyCorpName; + //申请部门id + private Long applyDepartmentId; + //申请用户id + private Long applyUserId; + //申请用户名称 + private String applyUserName; + //审批企业id + private Long approvalCorpinfoId; + //审批企业名称 + private String approvalCorpName; + //审批部门id + private Long approvalDepartmentId; + //审批部门名称 + private String approvalDepartmentName; + //审批用户id + private Long approvalUserId; + //审批用户名称 + private String approvalUserName; + // 关联项目 + private String projectName; + //审批状态1:待审批2:审批中,3:审批完成 + private Long approvalStatus; + + // 申请人员列表 + private List applyUsers = new ArrayList<>(); + + // 审批流程列表 + private List processes = new ArrayList<>(); + + // 审批人员列表 + private List approvalUsers; + + // 审批和委托信息 + private List approveDetails; + + // 培训人员 + private List trainingUsers = new ArrayList<>(); + + /** + * 发起培训申请 + */ + public void initiate() { + this.trainingApplyRecordId = StrUtil.isNotBlank(this.trainingApplyRecordId) ? this.trainingApplyRecordId : IdUtil.simpleUUID(); + + this.approvalStatus = ApprovalStatusEnum.PENDING.getCode(); + + // 初始化申请人员 + if (!CollectionUtils.isEmpty(this.applyUsers)) { + this.applyUsers.forEach(user -> { + user.setTrainingApplyUserId(StrUtil.isBlank(user.getTrainingApplyUserId()) ? IdUtil.simpleUUID() : user.getTrainingApplyUserId()); + user.setTrainingApplyRecordId(this.trainingApplyRecordId); + user.setApplyStatus(ApplyStatusEnum.PENDING.getCode()); + }); + } + + // 流程 + TrainingApplyProcessE initiateProcess = TrainingApplyProcessE.createInitiate( + this.trainingApplyRecordId, + ApplyTypeEnum.INITIATE.getCode(), + this.applyCorpinfoId, + this.applyDepartmentId, + this.applyUserId, + "发起培训申请" + ); + + this.processes.add(initiateProcess); + TrainingApplyProcessE process = TrainingApplyProcessE.createInitiate( + this.trainingApplyRecordId, + ApplyTypeEnum.APPROVAL.getCode(), + this.approvalCorpinfoId, + this.approvalDepartmentId, + this.approvalUserId, + "等待审批" + ); + this.processes.add(process); + } + + /** + * 审批通过 + */ + public void approve(Long approvalStatus){ + // 状态校验 + if (!ApprovalStatusEnum.PENDING.getCode().equals(approvalStatus) + && !ApprovalStatusEnum.APPROVING.getCode().equals(approvalStatus)) { + throw new BizException("只有待审批或审批中状态才能进行审批"); + } + + if (CollectionUtils.isEmpty(this.applyUsers)) { + throw new BizException("申请人员列表不能为空"); + } + + } + + /** + * 添加培训人员 + */ + public void addTrainingUser() { + if (this.applyUsers == null) return; + applyUsers.forEach(user -> { + TrainingUserE trainingUser = new TrainingUserE(); + trainingUser.setTrainingUserId(IdUtil.simpleUUID()); + trainingUser.setPhone(user.getPhone()); + trainingUser.setApplyStatus(user.getApplyStatus()); + trainingUser.setExamineStatus(ExamineStatusEnum.PENDING.getCode()); + this.trainingUsers.add(trainingUser); + }); + } + /** + * 批量添加申请人员 + */ + public void addApplyUsers(List users) { + if (!CollectionUtils.isEmpty(users)) { + this.applyUsers.addAll(users); + if (StrUtil.isNotBlank(this.projectName)) { + applyUsers.forEach(applyUser -> {applyUser.setProjectName(projectName);}); + } + } + } + + /** + * 组装审批和委托信息 + */ + public void buildApproveDetails(List approveDetails) { + if (!CollectionUtils.isEmpty(approveDetails)) { + this.approveDetails = approveDetails; + } + } + + +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyUserE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyUserE.java new file mode 100644 index 0000000..d2ad223 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyUserE.java @@ -0,0 +1,33 @@ +package com.zcloud.edu.domain.model.training; + +import com.jjb.saas.framework.domain.model.BaseE; +import lombok.Data; + +/** +* web-domain +* @Author makejava +* @Date 2026-01-12 15:36:34 +*/ +@Data +public class TrainingApplyUserE extends BaseE { + //主键ID + private Long id; + //业务主键id + private String trainingApplyUserId; + //培训申请记录id + private String trainingApplyRecordId; + //用户id + private Long userId; + //手机号 + private String phone; + //申请状态1:待审批2:审批通过,3:审批不通过 + private Long applyStatus; + //身份证号 + private String idCard; + //关联项目 + private String projectName; + //用户名称 + private String userName; + +} + diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingUserE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingUserE.java new file mode 100644 index 0000000..3250c76 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingUserE.java @@ -0,0 +1,46 @@ +package com.zcloud.edu.domain.model.training; + +import cn.hutool.core.util.IdUtil; +import com.jjb.saas.framework.domain.model.BaseE; +import com.zcloud.edu.domain.enums.ExamineStatusEnum; +import lombok.Data; + +import java.time.LocalDateTime; + +/** +* web-domain +* @Author makejava +* @Date 2026-01-12 15:41:02 +*/ +@Data +public class TrainingUserE extends BaseE { + //业务主键id + private String trainingUserId; + //手机号 + private String phone; + //申请状态1:待审批2:审批通过,3:审批不通过 + private Long applyStatus; + //有效期开始时间 + private LocalDateTime startTime; + //有效期结束时间 + private LocalDateTime endTime; + //考试状态:1.待考试2:考试通过,3:考试不通过 + private Long examineStatus; + + + /** + * 从申请人员创建培训人员 + */ + public static TrainingUserE fromApplyUser(TrainingApplyUserE applyUser) { + TrainingUserE trainingUser = new TrainingUserE(); + trainingUser.setTrainingUserId(IdUtil.simpleUUID()); + trainingUser.setPhone(applyUser.getPhone()); + trainingUser.setApplyStatus(applyUser.getApplyStatus()); + trainingUser.setExamineStatus(ExamineStatusEnum.PENDING.getCode()); + // 默认有效期1年 + trainingUser.setStartTime(LocalDateTime.now()); + trainingUser.setEndTime(LocalDateTime.now().plusYears(1)); + return trainingUser; + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyProcessGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyProcessGatewayImpl.java new file mode 100644 index 0000000..fb9f988 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyProcessGatewayImpl.java @@ -0,0 +1,87 @@ +package com.zcloud.edu.gatewayimpl.training; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zcloud.edu.domain.gateway.training.TrainingApplyProcessGateway; +import com.zcloud.edu.domain.model.training.TrainingApplyProcessE; +import com.zcloud.edu.persistence.dataobject.TrainingApplyProcessDO; +import com.zcloud.edu.persistence.repository.training.TrainingApplyProcessRepository; +import lombok.AllArgsConstructor; +import com.zcloud.gbscommon.utils.Tools; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:30:02 +*/ +@Service +@AllArgsConstructor +public class TrainingApplyProcessGatewayImpl implements TrainingApplyProcessGateway { + private final TrainingApplyProcessRepository trainingApplyProcessRepository; + + @Override + public Boolean add(TrainingApplyProcessE trainingApplyProcessE) { + TrainingApplyProcessDO d = new TrainingApplyProcessDO(StrUtil.isBlank(trainingApplyProcessE.getTrainingApplyProcessId()) + ? Tools.get32UUID() : trainingApplyProcessE.getTrainingApplyProcessId()); + BeanUtils.copyProperties(trainingApplyProcessE, d,"trainingApplyProcessId"); + trainingApplyProcessRepository.save(d); + return true; + } + + @Override + public Boolean addBatch(List processes) { + if (CollectionUtils.isEmpty(processes)) { + return true; + } + + List processDOList = processes.stream() + .map(process -> { + TrainingApplyProcessDO processDO = new TrainingApplyProcessDO(); + BeanUtils.copyProperties(process, processDO); + return processDO; + }) + .collect(Collectors.toList()); + + return trainingApplyProcessRepository.saveBatch(processDOList); + } + + @Override + public Boolean update(TrainingApplyProcessE trainingApplyProcessE) { + TrainingApplyProcessDO d = new TrainingApplyProcessDO(); + BeanUtils.copyProperties(trainingApplyProcessE, d); + trainingApplyProcessRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedTrainingApplyProcessById(Long id) { + return trainingApplyProcessRepository.removeById(id); + } + + @Override + public Boolean deletedTrainingApplyProcessByIds(Long[] ids) { + return trainingApplyProcessRepository.removeByIds(Arrays.asList(ids)); + } + + @Override + public List listByRecordId(String trainingApplyRecordId) { + List processDOList = trainingApplyProcessRepository.list(new LambdaQueryWrapper() + .eq(TrainingApplyProcessDO::getTrainingApplyRecordId, trainingApplyRecordId) + ); + return processDOList.stream() + .map(processDO -> { + TrainingApplyProcessE process = new TrainingApplyProcessE(); + BeanUtils.copyProperties(processDO, process); + return process; + }) + .collect(Collectors.toList()); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyRecordGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyRecordGatewayImpl.java new file mode 100644 index 0000000..253d329 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyRecordGatewayImpl.java @@ -0,0 +1,72 @@ +package com.zcloud.edu.gatewayimpl.training; + +import cn.hutool.core.util.StrUtil; +import com.zcloud.edu.domain.gateway.training.TrainingApplyRecordGateway; +import com.zcloud.edu.domain.model.training.TrainingApplyRecordE; +import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO; +import com.zcloud.edu.persistence.repository.training.TrainingApplyRecordRepository; +import lombok.AllArgsConstructor; +import com.zcloud.gbscommon.utils.Tools; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.Arrays; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:21:49 +*/ +@Service +@AllArgsConstructor +public class TrainingApplyRecordGatewayImpl implements TrainingApplyRecordGateway { + private final TrainingApplyRecordRepository trainingApplyRecordRepository; + + @Override + public Boolean add(TrainingApplyRecordE trainingApplyRecordE) { + TrainingApplyRecordDO d = new TrainingApplyRecordDO(StrUtil.isNotBlank(trainingApplyRecordE.getTrainingApplyRecordId()) + ? trainingApplyRecordE.getTrainingApplyRecordId() :Tools.get32UUID()); + BeanUtils.copyProperties(trainingApplyRecordE, d,"trainingApplyRecordId"); + trainingApplyRecordRepository.save(d); + return true; + } + + @Override + public Boolean update(TrainingApplyRecordE trainingApplyRecordE) { + TrainingApplyRecordDO d = new TrainingApplyRecordDO(); + BeanUtils.copyProperties(trainingApplyRecordE, d); + trainingApplyRecordRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedTrainingApplyRecordById(Long id) { + return trainingApplyRecordRepository.removeById(id); + } + + @Override + public Boolean deletedTrainingApplyRecordByIds(Long[] ids) { + return trainingApplyRecordRepository.removeByIds(Arrays.asList(ids)); + } + + /** + * 培训申请记录详情 + */ + @Override + public TrainingApplyRecordE getById(Long id) { + TrainingApplyRecordDO recordDO = trainingApplyRecordRepository.getById(id); + if (recordDO == null) { + return null; + } + + TrainingApplyRecordE recordE = new TrainingApplyRecordE(); + BeanUtils.copyProperties(recordDO, recordE); + return recordE; + } + + @Override + public Boolean approve(TrainingApplyRecordE trainingApplyRecordE) { + return null; + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyUserGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyUserGatewayImpl.java new file mode 100644 index 0000000..6c40d26 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyUserGatewayImpl.java @@ -0,0 +1,83 @@ +package com.zcloud.edu.gatewayimpl.training; + +import cn.hutool.core.util.StrUtil; +import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway; +import com.zcloud.edu.domain.model.training.TrainingApplyUserE; +import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO; +import com.zcloud.edu.persistence.repository.training.TrainingApplyUserRepository; +import lombok.AllArgsConstructor; +import com.zcloud.gbscommon.utils.Tools; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:36:35 +*/ +@Service +@AllArgsConstructor +public class TrainingApplyUserGatewayImpl implements TrainingApplyUserGateway { + private final TrainingApplyUserRepository trainingApplyUserRepository; + + @Override + public Boolean add(TrainingApplyUserE trainingApplyUserE) { + TrainingApplyUserDO d = new TrainingApplyUserDO(StrUtil.isBlank(trainingApplyUserE.getTrainingApplyUserId()) ? + Tools.get32UUID() : trainingApplyUserE.getTrainingApplyUserId()); + BeanUtils.copyProperties(trainingApplyUserE, d,"trainingApplyUserId"); + trainingApplyUserRepository.save(d); + return true; + } + + @Override + public Boolean addBatch(List trainingApplyUserEList) { + // 使用 Stream 流进行转换 + List doList = trainingApplyUserEList.stream() + .map(e -> { + TrainingApplyUserDO d = new TrainingApplyUserDO(Tools.get32UUID()); + BeanUtils.copyProperties(e, d, "trainingApplyUserId"); + return d; + }) + .collect(Collectors.toList()); + + trainingApplyUserRepository.saveBatch(doList); + return true; + } + + @Override + public Boolean update(TrainingApplyUserE trainingApplyUserE) { + TrainingApplyUserDO d = new TrainingApplyUserDO(); + BeanUtils.copyProperties(trainingApplyUserE, d); + trainingApplyUserRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedTrainingApplyUserById(Long id) { + return trainingApplyUserRepository.removeById(id); + } + + @Override + public Boolean deletedTrainingApplyUserByIds(Long[] ids) { + return trainingApplyUserRepository.removeByIds(Arrays.asList(ids)); + } + + @Override + public Boolean updateStatusByApprove(List trainingApplyUserE) { + List doList = trainingApplyUserE.stream() + .map(e -> { + TrainingApplyUserDO d = new TrainingApplyUserDO(); + BeanUtils.copyProperties(e, d); + return d; + }) + .collect(Collectors.toList()); + return trainingApplyUserRepository.updateBatchById(doList); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingUserGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingUserGatewayImpl.java new file mode 100644 index 0000000..7c1a635 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingUserGatewayImpl.java @@ -0,0 +1,69 @@ +package com.zcloud.edu.gatewayimpl.training; + +import cn.hutool.core.util.StrUtil; +import com.zcloud.edu.domain.gateway.training.TrainingUserGateway; +import com.zcloud.edu.domain.model.training.TrainingUserE; +import com.zcloud.edu.persistence.dataobject.TrainingUserDO; +import com.zcloud.edu.persistence.repository.training.TrainingUserRepository; +import lombok.AllArgsConstructor; +import com.zcloud.gbscommon.utils.Tools; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:41:04 +*/ +@Service +@AllArgsConstructor +public class TrainingUserGatewayImpl implements TrainingUserGateway { + private final TrainingUserRepository trainingUserRepository; + + @Override + public Boolean add(TrainingUserE trainingUserE) { + TrainingUserDO d = new TrainingUserDO(StrUtil.isBlank(trainingUserE.getTrainingUserId()) + ? Tools.get32UUID() : trainingUserE.getTrainingUserId()); + BeanUtils.copyProperties(trainingUserE, d,"trainingUserId"); + trainingUserRepository.save(d); + return true; + } + + @Override + public Boolean addBatch(List trainingUserEList) { + // 使用 Stream 流进行转换 + List doList = trainingUserEList.stream() + .map(e -> { + TrainingUserDO d = new TrainingUserDO(Tools.get32UUID()); + BeanUtils.copyProperties(e, d, "trainingUserId"); + return d; + }) + .collect(Collectors.toList()); + + trainingUserRepository.saveBatch(doList); + return true; + } + + @Override + public Boolean update(TrainingUserE trainingUserE) { + TrainingUserDO d = new TrainingUserDO(); + BeanUtils.copyProperties(trainingUserE, d); + trainingUserRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedTrainingUserById(Long id) { + return trainingUserRepository.removeById(id); + } + + @Override + public Boolean deletedTrainingUserByIds(Long[] ids) { + return trainingUserRepository.removeByIds(Arrays.asList(ids)); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyProcessDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyProcessDO.java new file mode 100644 index 0000000..206f9b7 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyProcessDO.java @@ -0,0 +1,47 @@ +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 makejava +* @Date 2026-01-12 15:30:02 +*/ +@Data +@TableName("training_apply_process") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class TrainingApplyProcessDO extends BaseDO { + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String trainingApplyProcessId; + //培训申请记录id + @ApiModelProperty(value = "培训申请记录id") + private String trainingApplyRecordId; + //审批类型(1:发起,2:审批,3:委托) + @ApiModelProperty(value = "审批类型(1:发起,2:审批,3:委托)") + private Long applyType; + //手机号 + @ApiModelProperty(value = "手机号") + private String phone; + //企业id + @ApiModelProperty(value = "企业id") + private Long corpinfoId; + //部门id + @ApiModelProperty(value = "部门id") + private Long departmentId; + //用户id + @ApiModelProperty(value = "用户id") + private Long userId; + + public TrainingApplyProcessDO(String trainingApplyProcessId) { + this.trainingApplyProcessId = trainingApplyProcessId; + } + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyRecordDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyRecordDO.java new file mode 100644 index 0000000..c60372d --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyRecordDO.java @@ -0,0 +1,65 @@ +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 makejava +* @Date 2026-01-12 15:21:48 +*/ +@Data +@TableName("training_apply_record") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class TrainingApplyRecordDO extends BaseDO { + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String trainingApplyRecordId; + //申请企业id + @ApiModelProperty(value = "申请企业id") + private Long applyCorpinfoId; + //申请企业名称 + @ApiModelProperty(value = "申请企业名称") + @TableField(exist = false) + private String applyCorpName; + //申请部门id + @ApiModelProperty(value = "申请部门id") + private Long applyDepartmentId; + //申请用户id + @ApiModelProperty(value = "申请用户id") + private Long applyUserId; + //审批企业id + @ApiModelProperty(value = "审批企业id") + private Long approvalCorpinfoId; + //审批部门id + @ApiModelProperty(value = "审批部门id") + private Long approvalDepartmentId; + //审批用户id + @ApiModelProperty(value = "审批用户id") + private Long approvalUserId; + // 关联项目 + @ApiModelProperty(value = "关联项目") + private String projectName; + //审批状态1:待审批2:审批中,3:审批完成 + @ApiModelProperty(value = "审批状态1:待审批2:审批中,3:审批完成") + private Long approvalStatus; + + // 申请人数 + @TableField(exist = false) + private Integer applyUserCount; + + // 申请人姓名 + @TableField(exist = false) + private String applyUserName; + + public TrainingApplyRecordDO(String trainingApplyRecordId) { + this.trainingApplyRecordId = trainingApplyRecordId; + } + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyUserDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyUserDO.java new file mode 100644 index 0000000..9bbc2e8 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyUserDO.java @@ -0,0 +1,47 @@ +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 makejava +* @Date 2026-01-12 15:36:34 +*/ +@Data +@TableName("training_apply_user") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class TrainingApplyUserDO extends BaseDO { + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String trainingApplyUserId; + //培训申请记录id + @ApiModelProperty(value = "培训申请记录id") + private String trainingApplyRecordId; + //用户id + @ApiModelProperty(value = "用户id") + private Long userId; + //手机号 + @ApiModelProperty(value = "手机号") + private String phone; + //身份证号 + @ApiModelProperty(value = "身份证号") + private String idCard; + //申请状态1:待审批2:审批通过,3:审批不通过 + @ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过") + private Long applyStatus; + + @TableField(exist = false) + private String userName; + + public TrainingApplyUserDO(String trainingApplyUserId) { + this.trainingApplyUserId = trainingApplyUserId; + } + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingUserDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingUserDO.java new file mode 100644 index 0000000..1b6fd99 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingUserDO.java @@ -0,0 +1,46 @@ +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; + +import java.time.LocalDateTime; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:41:03 +*/ +@Data +@TableName("training_user") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class TrainingUserDO extends BaseDO { + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String trainingUserId; + //手机号 + @ApiModelProperty(value = "手机号") + private String phone; + //申请状态1:待审批2:审批通过,3:审批不通过 + @ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过") + private Long applyStatus; + //有效期开始时间 + @ApiModelProperty(value = "有效期开始时间") + private LocalDateTime startTime; + //有效期结束时间 + @ApiModelProperty(value = "有效期结束时间") + private LocalDateTime endTime; + //考试状态:1.待考试2:考试通过,3:考试不通过 + @ApiModelProperty(value = "考试状态:1.待考试2:考试通过,3:考试不通过") + private Long examineStatus; + + public TrainingUserDO(String trainingUserId) { + this.trainingUserId = trainingUserId; + } + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyProcessMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyProcessMapper.java new file mode 100644 index 0000000..43ddcc6 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyProcessMapper.java @@ -0,0 +1,31 @@ +package com.zcloud.edu.persistence.mapper; + +import com.zcloud.edu.domain.model.training.ApproveDetailE; +import com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE; +import com.zcloud.edu.persistence.dataobject.TrainingApplyProcessDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:30:03 +*/ +@Mapper +public interface TrainingApplyProcessMapper extends BaseMapper { + + + /** + * 根据记录ID查询审批节点 + */ + List selectProcessNodeByRecordId(@Param("recordId") String recordId); + + /** + * 查询审批和微信信息 + */ + List selectApproveDetailList(@Param("trainingApplyRecordId") String trainingApplyRecordId); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyRecordMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyRecordMapper.java new file mode 100644 index 0000000..f206884 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyRecordMapper.java @@ -0,0 +1,33 @@ +package com.zcloud.edu.persistence.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE; +import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:21:49 +*/ +@Mapper +public interface TrainingApplyRecordMapper extends BaseMapper { + + /** + * 培训申请记录分页 + */ + IPage selectTrainingRecordPage(IPage page, @Param("ew") QueryWrapper queryWrapper); + + /** + * 培训申请记录详情 + */ + com.zcloud.edu.domain.model.training.TrainingApplyRecordDetailE selectByBusinessId(@Param("id") Long id); + + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyUserMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyUserMapper.java new file mode 100644 index 0000000..f0f1e25 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyUserMapper.java @@ -0,0 +1,25 @@ +package com.zcloud.edu.persistence.mapper; + +import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:36:36 +*/ +@Mapper +public interface TrainingApplyUserMapper extends BaseMapper { + + /** + * 根据申请记录ID查询申请人员(含姓名、身份证等) + */ + List selectByRecordId(@Param("trainingApplyRecordId") String trainingApplyRecordId); + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingUserMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingUserMapper.java new file mode 100644 index 0000000..cc94d9c --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingUserMapper.java @@ -0,0 +1,16 @@ +package com.zcloud.edu.persistence.mapper; + +import com.zcloud.edu.persistence.dataobject.TrainingUserDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:41:04 +*/ +@Mapper +public interface TrainingUserMapper extends BaseMapper { + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyProcessRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyProcessRepositoryImpl.java new file mode 100644 index 0000000..b987e31 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyProcessRepositoryImpl.java @@ -0,0 +1,60 @@ +package com.zcloud.edu.persistence.repository.impl; + +import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.edu.domain.model.training.ApproveDetailE; +import com.zcloud.edu.domain.model.training.TrainingApplyProcessE; +import com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE; +import com.zcloud.edu.persistence.dataobject.TrainingApplyProcessDO; +import com.zcloud.edu.persistence.mapper.TrainingApplyProcessMapper; +import com.zcloud.edu.persistence.repository.training.TrainingApplyProcessRepository; +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.Collections; +import java.util.List; +import java.util.Map; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:30:04 +*/ +@Service +@RequiredArgsConstructor +public class TrainingApplyProcessRepositoryImpl extends BaseRepositoryImpl implements TrainingApplyProcessRepository { + private final TrainingApplyProcessMapper trainingApplyProcessMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); + queryWrapper.orderByDesc("create_time"); + IPage result = trainingApplyProcessMapper.selectPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public List list(Map params) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); + return trainingApplyProcessMapper.selectList(queryWrapper); + } + + @Override + public List getProcessNodeByRecordId(String recordId) { + return trainingApplyProcessMapper.selectProcessNodeByRecordId(recordId); + } + + @Override + public List getApproveDetailList(String trainingApplyRecordId) { + return trainingApplyProcessMapper.selectApproveDetailList(trainingApplyRecordId); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyRecordRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyRecordRepositoryImpl.java new file mode 100644 index 0000000..a6e955a --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyRecordRepositoryImpl.java @@ -0,0 +1,64 @@ +package com.zcloud.edu.persistence.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.jjb.saas.framework.auth.model.SSOUser; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO; +import com.zcloud.edu.persistence.mapper.TrainingApplyRecordMapper; +import com.zcloud.edu.persistence.repository.training.TrainingApplyRecordRepository; +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 makejava +* @Date 2026-01-12 15:21:51 +*/ +@Service +@RequiredArgsConstructor +public class TrainingApplyRecordRepositoryImpl extends BaseRepositoryImpl implements TrainingApplyRecordRepository { + private final TrainingApplyRecordMapper trainingApplyRecordMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); + queryWrapper.orderByDesc("create_time"); + IPage result = trainingApplyRecordMapper.selectPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public PageResponse listPageSql(Map params) { + IPage iPage = new Query().getPage(params); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); +// SSOUser ssoUser = AuthContext.getCurrentUser(); +// queryWrapper.eq("approval_user_id", ssoUser.getUserId()); + IPage result = trainingApplyRecordMapper.selectTrainingRecordPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public TrainingApplyRecordDO getByTrainingRecordId(String id) { + return trainingApplyRecordMapper.selectOne(new LambdaQueryWrapper() + .eq(TrainingApplyRecordDO::getTrainingApplyRecordId, id) + ); + } + + @Override + public com.zcloud.edu.domain.model.training.TrainingApplyRecordDetailE getDetailById(Long id) { + return trainingApplyRecordMapper.selectByBusinessId(id); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyUserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyUserRepositoryImpl.java new file mode 100644 index 0000000..a638fbb --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyUserRepositoryImpl.java @@ -0,0 +1,45 @@ +package com.zcloud.edu.persistence.repository.impl; + +import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO; +import com.zcloud.edu.persistence.mapper.TrainingApplyUserMapper; +import com.zcloud.edu.persistence.repository.training.TrainingApplyUserRepository; +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.Collections; +import java.util.List; +import java.util.Map; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:36:37 +*/ +@Service +@RequiredArgsConstructor +public class TrainingApplyUserRepositoryImpl extends BaseRepositoryImpl implements TrainingApplyUserRepository { + private final TrainingApplyUserMapper trainingApplyUserMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); + queryWrapper.orderByDesc("create_time"); + IPage result = trainingApplyUserMapper.selectPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public List getByRecordId(String trainingApplyRecordId) { + return trainingApplyUserMapper.selectByRecordId(trainingApplyRecordId); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingUserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingUserRepositoryImpl.java new file mode 100644 index 0000000..d7996fb --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingUserRepositoryImpl.java @@ -0,0 +1,40 @@ +package com.zcloud.edu.persistence.repository.impl; + +import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.edu.domain.model.training.TrainingUserE; +import com.zcloud.edu.persistence.dataobject.TrainingUserDO; +import com.zcloud.edu.persistence.mapper.TrainingUserMapper; +import com.zcloud.edu.persistence.repository.training.TrainingUserRepository; +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.List; +import java.util.Map; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:41:05 +*/ +@Service +@RequiredArgsConstructor +public class TrainingUserRepositoryImpl extends BaseRepositoryImpl implements TrainingUserRepository { + private final TrainingUserMapper trainingUserMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); + queryWrapper.orderByDesc("create_time"); + IPage result = trainingUserMapper.selectPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyProcessRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyProcessRepository.java new file mode 100644 index 0000000..5b5e08f --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyProcessRepository.java @@ -0,0 +1,34 @@ +package com.zcloud.edu.persistence.repository.training; + +import com.zcloud.edu.domain.model.training.ApproveDetailE; +import com.zcloud.edu.domain.model.training.TrainingApplyProcessE; +import com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE; +import com.zcloud.edu.persistence.dataobject.TrainingApplyProcessDO; +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; + +import java.util.List; +import java.util.Map; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:30:03 +*/ +public interface TrainingApplyProcessRepository extends BaseRepository { + PageResponse listPage(Map params); + + List list(Map params); + + /** + * 根据申请记录ID获取流程节点 + */ + List getProcessNodeByRecordId(String recordId); + + /** + * 查询审批和委托信息 + */ + List getApproveDetailList(String trainingApplyRecordId); + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyRecordRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyRecordRepository.java new file mode 100644 index 0000000..033a461 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyRecordRepository.java @@ -0,0 +1,23 @@ +package com.zcloud.edu.persistence.repository.training; + +import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO; +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; + +import java.util.Map; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:21:51 +*/ +public interface TrainingApplyRecordRepository extends BaseRepository { + PageResponse listPage(Map params); + + PageResponse listPageSql(Map params); + + TrainingApplyRecordDO getByTrainingRecordId(String id); + + com.zcloud.edu.domain.model.training.TrainingApplyRecordDetailE getDetailById(Long id); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyUserRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyUserRepository.java new file mode 100644 index 0000000..c332271 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyUserRepository.java @@ -0,0 +1,24 @@ +package com.zcloud.edu.persistence.repository.training; + +import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO; +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; + +import java.util.List; +import java.util.Map; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:36:37 +*/ +public interface TrainingApplyUserRepository extends BaseRepository { + + PageResponse listPage(Map params); + + /** + * 根据申请记录ID查询申请人员(含姓名、身份证等) + */ + List getByRecordId(String trainingApplyRecordId); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingUserRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingUserRepository.java new file mode 100644 index 0000000..4f74efe --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingUserRepository.java @@ -0,0 +1,19 @@ +package com.zcloud.edu.persistence.repository.training; + +import com.zcloud.edu.domain.model.training.TrainingUserE; +import com.zcloud.edu.persistence.dataobject.TrainingUserDO; +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; + +import java.util.List; +import java.util.Map; + +/** +* web-infrastructure +* @Author makejava +* @Date 2026-01-12 15:41:05 +*/ +public interface TrainingUserRepository extends BaseRepository { + PageResponse listPage(Map params); +} + diff --git a/web-infrastructure/src/main/resources/mapper/TrainingApplyProcessMapper.xml b/web-infrastructure/src/main/resources/mapper/TrainingApplyProcessMapper.xml new file mode 100644 index 0000000..248b080 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/TrainingApplyProcessMapper.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + diff --git a/web-infrastructure/src/main/resources/mapper/TrainingApplyRecordMapper.xml b/web-infrastructure/src/main/resources/mapper/TrainingApplyRecordMapper.xml new file mode 100644 index 0000000..38d76f4 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/TrainingApplyRecordMapper.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web-infrastructure/src/main/resources/mapper/TrainingApplyUserMapper.xml b/web-infrastructure/src/main/resources/mapper/TrainingApplyUserMapper.xml new file mode 100644 index 0000000..d0be71e --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/TrainingApplyUserMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/web-infrastructure/src/main/resources/mapper/TrainingUserMapper.xml b/web-infrastructure/src/main/resources/mapper/TrainingUserMapper.xml new file mode 100644 index 0000000..1d23324 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/TrainingUserMapper.xml @@ -0,0 +1,8 @@ + + + + + + +