From 6340fc6149ca94e56d79faf7086360f8c44eceef Mon Sep 17 00:00:00 2001 From: SondonYong Date: Tue, 2 Dec 2025 18:14:42 +0800 Subject: [PATCH] =?UTF-8?q?dev:=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web-adapter/pom.xml | 4 + .../basic/info/plan/DockingRZUserPlanJob.java | 112 ++++++++++++++++++ .../basic/info/web/RzUserController.java | 85 +++++++++++++ .../info/web/UserChangeRecordController.java | 1 + .../zcloud/basic/info/web/UserController.java | 15 ++- .../basic/info/command/RzUserAddExe.java | 112 ++++++++++++++++++ .../basic/info/command/RzUserRemoveExe.java | 39 ++++++ .../basic/info/command/RzUserUpdateExe.java | 34 ++++++ .../info/command/UserChangeRecordAddExe.java | 1 + .../command/UserChangeRecordUpdateExe.java | 1 + .../command/convertor/RzUserCoConvertor.java | 24 ++++ .../UserChangeRecordCoConvertor.java | 2 + .../info/command/query/RzUserQueryExe.java | 60 ++++++++++ .../query/UserChangeRecordQueryExe.java | 2 + .../basic/info/service/RzUserServiceImpl.java | 70 +++++++++++ .../service/UserChangeRecordServiceImpl.java | 1 + .../zcloud/basic/info/api/RzUserServiceI.java | 34 ++++++ .../info/api/UserChangeRecordServiceI.java | 1 + .../zcloud/basic/info/dto/RzUserAddCmd.java | 95 +++++++++++++++ .../zcloud/basic/info/dto/RzUserListQry.java | 28 +++++ .../zcloud/basic/info/dto/RzUserPageQry.java | 28 +++++ .../basic/info/dto/RzUserRemoveCmd.java | 30 +++++ .../basic/info/dto/RzUserUpdateCmd.java | 84 +++++++++++++ .../basic/info/dto/clientobject/RzUserCO.java | 80 +++++++++++++ .../info/domain/gateway/RzUserGateway.java | 30 +++++ .../gateway/UserChangeRecordGateway.java | 2 + .../basic/info/domain/model/RzUserE.java | 57 +++++++++ .../info/gatewayimpl/RzUserGatewayImpl.java | 50 ++++++++ .../UserChangeRecordGatewayImpl.java | 2 + .../info/persistence/dataobject/RzUserDO.java | 83 +++++++++++++ .../info/persistence/mapper/RzUserMapper.java | 17 +++ .../mapper/UserChangeRecordMapper.java | 1 + .../repository/RzUserRepository.java | 25 ++++ .../UserChangeRecordRepository.java | 1 + .../repository/impl/RzUserRepositoryImpl.java | 55 +++++++++ .../impl/UserChangeRecordRepositoryImpl.java | 1 + .../main/resources/mapper/RzUserMapper.xml | 7 ++ 37 files changed, 1268 insertions(+), 6 deletions(-) create mode 100644 web-adapter/src/main/java/com/zcloud/basic/info/plan/DockingRZUserPlanJob.java create mode 100644 web-adapter/src/main/java/com/zcloud/basic/info/web/RzUserController.java create mode 100644 web-app/src/main/java/com/zcloud/basic/info/command/RzUserAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/basic/info/command/RzUserRemoveExe.java create mode 100644 web-app/src/main/java/com/zcloud/basic/info/command/RzUserUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/basic/info/command/convertor/RzUserCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/basic/info/command/query/RzUserQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/basic/info/service/RzUserServiceImpl.java create mode 100644 web-client/src/main/java/com/zcloud/basic/info/api/RzUserServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/basic/info/dto/RzUserAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/basic/info/dto/RzUserListQry.java create mode 100644 web-client/src/main/java/com/zcloud/basic/info/dto/RzUserPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/basic/info/dto/RzUserRemoveCmd.java create mode 100644 web-client/src/main/java/com/zcloud/basic/info/dto/RzUserUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/RzUserCO.java create mode 100644 web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/RzUserGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/basic/info/domain/model/RzUserE.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/RzUserGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/RzUserDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/RzUserMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/RzUserRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/RzUserRepositoryImpl.java create mode 100644 web-infrastructure/src/main/resources/mapper/RzUserMapper.xml diff --git a/web-adapter/pom.xml b/web-adapter/pom.xml index 39601189..ad4ea89d 100644 --- a/web-adapter/pom.xml +++ b/web-adapter/pom.xml @@ -26,5 +26,9 @@ com.zcloud.basic.info web-client + + com.jjb.saas + jjb-saas-framework-job + diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/plan/DockingRZUserPlanJob.java b/web-adapter/src/main/java/com/zcloud/basic/info/plan/DockingRZUserPlanJob.java new file mode 100644 index 00000000..55faafab --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/basic/info/plan/DockingRZUserPlanJob.java @@ -0,0 +1,112 @@ +package com.zcloud.basic.info.plan; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.http.HttpRequest; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.alibaba.cloud.commons.lang.StringUtils; +import com.jjb.saas.framework.job.Job; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.context.XxlJobHelper; +import com.zcloud.gbscommon.utils.Tools; +import com.zcloud.gbscommon.utils.UuidUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@RequiredArgsConstructor +@Component +@Slf4j +public class DockingRZUserPlanJob implements Job { + + private static final String BASE_URL = "http://192.168.10.56:8090"; + + +// @JobRegister(cron = "0 30 0 * * ?", jobDesc = "超期未检查记录",triggerStatus = 1) +// @XxlJob("com.zcloud.zcGbsServicer.plan.CheckRecordPlanJob") + public ReturnT execute(String param) { + System.out.println("开始执行计划任务"); + XxlJobHelper.log( "============定时获取人资人员信息开始=========="); + // 获取总页数 + Integer userInfoCount = getUserInfoCount(); + // 定义每页大小 + int pageSize = 200; + // 计算总页数 + int totalPages = (int) Math.ceil((double) userInfoCount / pageSize); + + for (int pageNum = 1; pageNum <= totalPages; pageNum++) { + try { + XxlJobHelper.log("正在获取第 " + pageNum + "/" + totalPages + " 页数据..."); + + // 调用接口 + getUserInfo(pageNum, pageSize); + + XxlJobHelper.log("第 " + pageNum + " 页数据获取成功"); + + // 可选:添加延时,避免请求过快 + if (pageNum < totalPages) { + Thread.sleep(1000); // 1000毫秒间隔 + } + + } catch (Exception e) { + XxlJobHelper.log("第 " + pageNum + " 页获取失败: " + e.getMessage()); + // 可以选择继续执行下一页,或者中断 + // break; // 如果需要失败就停止 + } + } + XxlJobHelper.log( "============定时获取人资人员信息结束=========="); + return ReturnT.SUCCESS; + } + + /** + * 获取人资人员信息总数 + * @return + */ + public static Integer getUserInfoCount(){ + String url = BASE_URL + "/docking/rz/getUserInfoCount"; + + // 发送 POST 请求 + String result = HttpRequest.post(url) + .timeout(30000) // 30秒超时 + .execute() + .body(); + + System.out.println("响应结果:" + result); + if(result == null || StringUtils.isEmpty(result)){ + return 0; + } + return Integer.valueOf(result); + } + + public static String getUserInfo(Integer pageNum, Integer pageSize) { + // 方式1:GET 请求(如果接口是GET方式) + String url = BASE_URL + "/docking/rz/getUserInfo"; + + // 构建请求参数 + Map params = new HashMap<>(); + params.put("pageNum", pageNum); + params.put("pageSize", pageSize); + + // 发送 POST 请求 + String result = HttpRequest.post(url) + .form(params) // 表单参数 + .timeout(30000) // 30秒超时 + .execute() + .body(); + + System.out.println("响应结果:" + result); + JSONArray jsonArray = JSONUtil.parseArray(result); + + if(jsonArray == null){ + return null; + } + + return result; + } +} diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/web/RzUserController.java b/web-adapter/src/main/java/com/zcloud/basic/info/web/RzUserController.java new file mode 100644 index 00000000..051e379b --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/basic/info/web/RzUserController.java @@ -0,0 +1,85 @@ +package com.zcloud.basic.info.web; + + +import com.zcloud.basic.info.api.RzUserServiceI; +import com.zcloud.basic.info.dto.RzUserAddCmd; +import com.zcloud.basic.info.dto.RzUserPageQry; +import com.zcloud.basic.info.dto.RzUserListQry; +import com.zcloud.basic.info.dto.RzUserUpdateCmd; +import com.zcloud.basic.info.dto.RzUserRemoveCmd; +import com.zcloud.basic.info.dto.clientobject.RzUserCO; +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 SondonYong + * @Date 2025-12-02 17:15:56 + */ +@Api(tags = "人资人员信息表") +@RequestMapping("/${application.gateway}/rzUser") +@RestController +@AllArgsConstructor +public class RzUserController { + private final RzUserServiceI rzUserService; + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody RzUserAddCmd cmd) { + SSOUser ssoUser = AuthContext.getCurrentUser(); + return rzUserService.add(cmd); + } + + @ApiOperation("修改") + @PutMapping("/edit") + public SingleResponse edit(@Validated @RequestBody RzUserUpdateCmd cmd) { + rzUserService.edit(cmd); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody RzUserPageQry qry) { + return rzUserService.listPage(qry); + } + + @ApiOperation("所有数据") + @PostMapping("/listAll") + public MultiResponse listAll(@RequestBody RzUserListQry qry) { + return rzUserService.list(qry); + } + + @ApiOperation("详情") + @GetMapping("/getInfoById") + public SingleResponse getInfoById(@RequestParam(value = "id") Long id) { + return rzUserService.getInfoById(id); + } + + @ApiOperation("删除") + @PutMapping("/remove") + public Response remove(@RequestParam(value = "id") Long id) { + rzUserService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @PutMapping("/removeBatch") + public Response removeBatch(@Validated @RequestBody RzUserRemoveCmd cmd) { + rzUserService.removeBatch(cmd.getIds()); + return SingleResponse.buildSuccess(); + } + +} + diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/web/UserChangeRecordController.java b/web-adapter/src/main/java/com/zcloud/basic/info/web/UserChangeRecordController.java index cd8fd030..89666629 100644 --- a/web-adapter/src/main/java/com/zcloud/basic/info/web/UserChangeRecordController.java +++ b/web-adapter/src/main/java/com/zcloud/basic/info/web/UserChangeRecordController.java @@ -13,6 +13,7 @@ import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.SingleResponse; import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.basic.info.dto.clientobject.UserChangeRecordCO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/web/UserController.java b/web-adapter/src/main/java/com/zcloud/basic/info/web/UserController.java index 57cfecaf..1a757081 100644 --- a/web-adapter/src/main/java/com/zcloud/basic/info/web/UserController.java +++ b/web-adapter/src/main/java/com/zcloud/basic/info/web/UserController.java @@ -7,14 +7,11 @@ import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.SingleResponse; import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.utils.AuthContext; -import com.jjb.saas.system.client.role.response.RoleCO; import com.zcloud.basic.info.api.UserServiceI; import com.zcloud.basic.info.dto.*; import com.zcloud.basic.info.dto.clientobject.UserCO; +import com.zcloud.basic.info.plan.DockingRZUserPlanJob; import com.zcloud.gbscommon.translateaop.TranslateField; -import com.zcloud.gbscommon.utils.Tools; -import com.zcloud.gbscommon.zclouddepartment.response.ZcloudDepartmentInfoCo; -import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -23,8 +20,6 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.util.*; -import java.util.stream.Collectors; /** * web-adapter @@ -156,5 +151,13 @@ public class UserController { return SingleResponse.buildSuccess(); } + private final DockingRZUserPlanJob dockingRZPlanJob; + @ApiOperation("手动调用获取人资人员信息定时") + @PostMapping("/dockingRZ") + public Response dockingRZ(){ + dockingRZPlanJob.execute(""); + return SingleResponse.buildSuccess(); + } + } diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/RzUserAddExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/RzUserAddExe.java new file mode 100644 index 00000000..f5c74d41 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/basic/info/command/RzUserAddExe.java @@ -0,0 +1,112 @@ +package com.zcloud.basic.info.command; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import com.zcloud.basic.info.domain.gateway.RzUserGateway; +import com.zcloud.basic.info.domain.model.RzUserE; +import com.zcloud.basic.info.dto.RzUserAddCmd; +import com.alibaba.cola.exception.BizException; +import com.zcloud.basic.info.persistence.dataobject.RzUserDO; +import com.zcloud.gbscommon.utils.Tools; +import com.zcloud.gbscommon.utils.UuidUtil; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-12-02 17:15:55 + */ +@Component +@AllArgsConstructor +public class RzUserAddExe { + private final RzUserGateway rzUserGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(RzUserAddCmd cmd) { + RzUserE rzUserE = new RzUserE(); + BeanUtils.copyProperties(cmd, rzUserE); + boolean res = false; + try { + res = rzUserGateway.add(rzUserE); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (!res) { + throw new BizException("保存失败"); + } + return true; + } + + public void execute(JSONArray jsonArray){ + List collect = jsonArray.stream().map(o -> { + JSONObject json = new JSONObject(o); + RzUserDO user = new RzUserDO(); + user.setRzUserId(UuidUtil.get32UUID()); + user.setEmployeeName(json.getStr("employee_name")); + user.setEmployeeGender(json.getStr("employee_gender")); + user.setEmployeeAge(json.getInt("employee_age")); + user.setEntryTime(json.getStr("entry_time")); + user.setEmployeeStatus(json.getStr("employee_status")); + user.setJobName(json.getStr("job_name")); + user.setJobLevel(json.getStr("job_level")); + user.setDeptName(json.getStr("dept_name")); + user.setDeptCode(json.getStr("dept_code")); + user.setPositionName(json.getStr("position_name")); + user.setPhoneNumber(json.getStr("phone_number")); + user.setIdCardNumber(json.getStr("id_card_number")); + user.setEmployeeImagesCode(json.getStr("employee_images_code")); + user.setCorporationCode(json.getStr("corporation_code")); + user.setCorporationName(json.getStr("corporation_name")); + + // 1、通过姓名或手机号查找用户是否可以对应上 + // 系统中存在姓名为“张三” 但实际保存为“张 三”的情况,需要将此类情况对应上 +// List sysUserList = usersService.findByUserNameAndPhone( +// json.getStr("employee_name") +// , json.getStr("phone_number") +// , String.join(" ", json.getStr("employee_name").split(""))); +// String userId = sysUserList.get(0).getString("user_id"); +// // 2、如果对应上,记录用户id以及确认状态 +// if (ObjectUtil.isNotEmpty(sysUserList)) { +// user.setUSER_ID(userId); +// user.setIs_confirm("1"); +// user.setConfirm_status("1"); +// PageData pd = new PageData(); +// pd.put("user_id", userId); +// pd.put("in_hr_user", "1"); +// pd.put("user_id_card", user.getId_card_number()); +// usersService.updateUserIdCard(pd); +// +// } + /** + * 1.寻找用户的图片信息 + * 2.我有用户的头型图片,就不下载了 + * + */ +// boolean isUpdateImg = true; //是否下载头像图片. +// if (!Tools.isEmpty(userId)) { +// List userImgesByUserId = usersService.getUserImgesByUserId(userId); +// if (ObjectUtil.isNotEmpty(userImgesByUserId)) { +// isUpdateImg = false; +// } +// } +// if (isUpdateImg) { +// downloadUserImg(user.getId_card_number(), user.getUSER_ID()); //下载用户图片 +// } +// long countByIdCardNumber = humanResourceUserService.countByIdCardNumber(user.getId_card_number()); +// if (countByIdCardNumber == 0) { +// humanResourceUserService.save(user); +// } + return user; + }).collect(Collectors.toList()); + } +} + diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/RzUserRemoveExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/RzUserRemoveExe.java new file mode 100644 index 00000000..10a48183 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/basic/info/command/RzUserRemoveExe.java @@ -0,0 +1,39 @@ +package com.zcloud.basic.info.command; + +import com.zcloud.basic.info.domain.gateway.RzUserGateway; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-12-02 17:15:56 + */ +@Component +@AllArgsConstructor +public class RzUserRemoveExe { + private final RzUserGateway rzUserGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + boolean res = rzUserGateway.deletedRzUserById(id); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + boolean res = rzUserGateway.deletedRzUserByIds(ids); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/RzUserUpdateExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/RzUserUpdateExe.java new file mode 100644 index 00000000..2a6a3455 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/basic/info/command/RzUserUpdateExe.java @@ -0,0 +1,34 @@ +package com.zcloud.basic.info.command; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.basic.info.domain.gateway.RzUserGateway; +import com.zcloud.basic.info.domain.model.RzUserE; +import com.zcloud.basic.info.dto.RzUserUpdateCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-12-02 17:15:57 + */ +@Component +@AllArgsConstructor +public class RzUserUpdateExe { + private final RzUserGateway rzUserGateway; + + @Transactional(rollbackFor = Exception.class) + public void execute(RzUserUpdateCmd cmd) { + RzUserE rzUserE = new RzUserE(); + BeanUtils.copyProperties(cmd, rzUserE); + boolean res = rzUserGateway.update(rzUserE); + if (!res) { + throw new BizException("修改失败"); + } + } +} + diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/UserChangeRecordAddExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/UserChangeRecordAddExe.java index 621e7618..4f1b9337 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/UserChangeRecordAddExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/UserChangeRecordAddExe.java @@ -1,6 +1,7 @@ package com.zcloud.basic.info.command; import com.zcloud.basic.info.domain.gateway.UserChangeRecordGateway; +import com.zcloud.basic.info.domain.model.UserChangeRecordE; import com.zcloud.basic.info.dto.UserChangeRecordAddCmd; import com.alibaba.cola.exception.BizException; import lombok.AllArgsConstructor; diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/UserChangeRecordUpdateExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/UserChangeRecordUpdateExe.java index 2dda6d25..9ed4a827 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/UserChangeRecordUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/UserChangeRecordUpdateExe.java @@ -2,6 +2,7 @@ package com.zcloud.basic.info.command; import com.alibaba.cola.exception.BizException; import com.zcloud.basic.info.domain.gateway.UserChangeRecordGateway; +import com.zcloud.basic.info.domain.model.UserChangeRecordE; import com.zcloud.basic.info.dto.UserChangeRecordUpdateCmd; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/convertor/RzUserCoConvertor.java b/web-app/src/main/java/com/zcloud/basic/info/command/convertor/RzUserCoConvertor.java new file mode 100644 index 00000000..4000f803 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/basic/info/command/convertor/RzUserCoConvertor.java @@ -0,0 +1,24 @@ +package com.zcloud.basic.info.command.convertor; + +import com.zcloud.basic.info.dto.clientobject.RzUserCO; +import com.zcloud.basic.info.persistence.dataobject.RzUserDO; +import org.mapstruct.Mapper; + +import java.util.List; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-12-02 17:15:56 + */ +@Mapper(componentModel = "spring") +public interface RzUserCoConvertor { + /** + * @param rzUserDOs + * @return + */ + List converDOsToCOs(List rzUserDOs); +} + diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/convertor/UserChangeRecordCoConvertor.java b/web-app/src/main/java/com/zcloud/basic/info/command/convertor/UserChangeRecordCoConvertor.java index c17a91ff..83594614 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/convertor/UserChangeRecordCoConvertor.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/convertor/UserChangeRecordCoConvertor.java @@ -1,5 +1,7 @@ package com.zcloud.basic.info.command.convertor; +import com.zcloud.basic.info.dto.clientobject.UserChangeRecordCO; +import com.zcloud.basic.info.persistence.dataobject.UserChangeRecordDO; import org.mapstruct.Mapper; import java.util.List; diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/query/RzUserQueryExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/query/RzUserQueryExe.java new file mode 100644 index 00000000..8285811e --- /dev/null +++ b/web-app/src/main/java/com/zcloud/basic/info/command/query/RzUserQueryExe.java @@ -0,0 +1,60 @@ +package com.zcloud.basic.info.command.query; + +import com.alibaba.cola.dto.MultiResponse; +import com.zcloud.basic.info.command.convertor.RzUserCoConvertor; +import com.zcloud.basic.info.dto.RzUserPageQry; +import com.zcloud.basic.info.dto.RzUserListQry; +import com.zcloud.basic.info.dto.clientobject.RzUserCO; +import com.zcloud.basic.info.persistence.dataobject.RzUserDO; +import com.zcloud.basic.info.persistence.repository.RzUserRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.Map; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-12-02 17:15:56 + */ +@Component +@AllArgsConstructor +public class RzUserQueryExe { + private final RzUserRepository rzUserRepository; + private final RzUserCoConvertor rzUserCoConvertor; + + /** + * 分页 + * + * @return + */ + public PageResponse execute(RzUserPageQry qry) { + Map params = PageQueryHelper.toHashMap(qry); + PageResponse pageResponse = rzUserRepository.listPage(params); + List examCenterCOS = rzUserCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } + + public MultiResponse execute(RzUserListQry qry) { + Map params = PageQueryHelper.toHashMap(qry); + List list = rzUserRepository.list(params); + List examCenterCOS = rzUserCoConvertor.converDOsToCOs(list); + return MultiResponse.of(examCenterCOS); + } + + public SingleResponse execute(Long id) { + SingleResponse rzUserDO = rzUserRepository.getInfoById(id); + RzUserCO co = new RzUserCO(); + BeanUtils.copyProperties(rzUserDO.getData(), co); + return SingleResponse.of(co); + } + +} + diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/query/UserChangeRecordQueryExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/query/UserChangeRecordQueryExe.java index 32a1f313..0e980cb9 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/query/UserChangeRecordQueryExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/query/UserChangeRecordQueryExe.java @@ -4,6 +4,8 @@ import com.alibaba.cola.dto.MultiResponse; import com.zcloud.basic.info.command.convertor.UserChangeRecordCoConvertor; import com.zcloud.basic.info.dto.UserChangeRecordPageQry; import com.zcloud.basic.info.dto.UserChangeRecordListQry; +import com.zcloud.basic.info.dto.clientobject.UserChangeRecordCO; +import com.zcloud.basic.info.persistence.dataobject.UserChangeRecordDO; import com.zcloud.basic.info.persistence.repository.UserChangeRecordRepository; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.alibaba.cola.dto.PageResponse; diff --git a/web-app/src/main/java/com/zcloud/basic/info/service/RzUserServiceImpl.java b/web-app/src/main/java/com/zcloud/basic/info/service/RzUserServiceImpl.java new file mode 100644 index 00000000..78a6b3a4 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/basic/info/service/RzUserServiceImpl.java @@ -0,0 +1,70 @@ +package com.zcloud.basic.info.service; + +import com.alibaba.cola.dto.MultiResponse; +import com.zcloud.basic.info.api.RzUserServiceI; +import com.zcloud.basic.info.command.RzUserAddExe; +import com.zcloud.basic.info.command.RzUserRemoveExe; +import com.zcloud.basic.info.command.RzUserUpdateExe; +import com.zcloud.basic.info.command.query.RzUserQueryExe; +import com.zcloud.basic.info.dto.RzUserAddCmd; +import com.zcloud.basic.info.dto.RzUserPageQry; +import com.zcloud.basic.info.dto.RzUserListQry; +import com.zcloud.basic.info.dto.RzUserUpdateCmd; +import com.zcloud.basic.info.dto.clientobject.RzUserCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-12-02 17:15:57 + */ +@Service +@AllArgsConstructor +public class RzUserServiceImpl implements RzUserServiceI { + private final RzUserAddExe rzUserAddExe; + private final RzUserUpdateExe rzUserUpdateExe; + private final RzUserRemoveExe rzUserRemoveExe; + private final RzUserQueryExe rzUserQueryExe; + + @Override + public PageResponse listPage(RzUserPageQry qry) { + return rzUserQueryExe.execute(qry); + } + + @Override + public MultiResponse list(RzUserListQry qry) { + return rzUserQueryExe.execute(qry); + } + + @Override + public SingleResponse getInfoById(Long id) { + return rzUserQueryExe.execute(id); + } + + @Override + public SingleResponse add(RzUserAddCmd cmd) { + rzUserAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(RzUserUpdateCmd cmd) { + rzUserUpdateExe.execute(cmd); + } + + @Override + public void remove(Long id) { + rzUserRemoveExe.execute(id); + } + + @Override + public void removeBatch(Long[] ids) { + rzUserRemoveExe.execute(ids); + } +} + diff --git a/web-app/src/main/java/com/zcloud/basic/info/service/UserChangeRecordServiceImpl.java b/web-app/src/main/java/com/zcloud/basic/info/service/UserChangeRecordServiceImpl.java index e3c9503f..110497af 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/service/UserChangeRecordServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/basic/info/service/UserChangeRecordServiceImpl.java @@ -13,6 +13,7 @@ import com.zcloud.basic.info.dto.UserChangeRecordUpdateCmd; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.basic.info.dto.clientobject.UserChangeRecordCO; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; diff --git a/web-client/src/main/java/com/zcloud/basic/info/api/RzUserServiceI.java b/web-client/src/main/java/com/zcloud/basic/info/api/RzUserServiceI.java new file mode 100644 index 00000000..2047fe0e --- /dev/null +++ b/web-client/src/main/java/com/zcloud/basic/info/api/RzUserServiceI.java @@ -0,0 +1,34 @@ +package com.zcloud.basic.info.api; + +import com.alibaba.cola.dto.MultiResponse; +import com.zcloud.basic.info.dto.RzUserAddCmd; +import com.zcloud.basic.info.dto.RzUserPageQry; +import com.zcloud.basic.info.dto.RzUserListQry; +import com.zcloud.basic.info.dto.RzUserUpdateCmd; +import com.zcloud.basic.info.dto.clientobject.RzUserCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-12-02 17:15:57 + */ +public interface RzUserServiceI { + PageResponse listPage(RzUserPageQry qry); + + MultiResponse list(RzUserListQry qry); + + SingleResponse getInfoById(Long id); + + SingleResponse add(RzUserAddCmd cmd); + + void edit(RzUserUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(Long[] ids); +} + diff --git a/web-client/src/main/java/com/zcloud/basic/info/api/UserChangeRecordServiceI.java b/web-client/src/main/java/com/zcloud/basic/info/api/UserChangeRecordServiceI.java index a04d7c88..55c39958 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/api/UserChangeRecordServiceI.java +++ b/web-client/src/main/java/com/zcloud/basic/info/api/UserChangeRecordServiceI.java @@ -8,6 +8,7 @@ import com.zcloud.basic.info.dto.UserChangeRecordUpdateCmd; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.basic.info.dto.clientobject.UserChangeRecordCO; /** * web-client diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserAddCmd.java b/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserAddCmd.java new file mode 100644 index 00000000..40dcb982 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserAddCmd.java @@ -0,0 +1,95 @@ +package com.zcloud.basic.info.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.*; + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-12-02 17:15:55 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class RzUserAddCmd extends Command { + @ApiModelProperty(value = "用户名", name = "employeeName", required = true) + @NotEmpty(message = "用户名不能为空") + private String employeeName; + + @ApiModelProperty(value = "用户性别", name = "employeeGender", required = true) + @NotEmpty(message = "用户性别不能为空") + private String employeeGender; + + @ApiModelProperty(value = "年龄", name = "employeeAge", required = true) + @NotNull(message = "年龄不能为空") + private Integer employeeAge; + + @ApiModelProperty(value = "入职时间", name = "entryTime", required = true) + @NotEmpty(message = "入职时间不能为空") + private String entryTime; + + @ApiModelProperty(value = "状态(未入职、实习生、实习结束、在职、离职、退休、劳务派遣、劳务派遣结束)", name = " employeeStatus", required = true) + @NotEmpty(message = "状态(未入职、实习生、实习结束、在职、离职、退休、劳务派遣、劳务派遣结束)不能为空") + private String employeeStatus; + + @ApiModelProperty(value = "职务", name = "jobName", required = true) + @NotEmpty(message = "职务不能为空") + private String jobName; + + @ApiModelProperty(value = "职务级别", name = "jobLevel", required = true) + @NotEmpty(message = "职务级别不能为空") + private String jobLevel; + + @ApiModelProperty(value = "部门名称", name = "deptName", required = true) + @NotEmpty(message = "部门名称不能为空") + private String deptName; + + @ApiModelProperty(value = "部门编码", name = "deptCode", required = true) + @NotEmpty(message = "部门编码不能为空") + private String deptCode; + + @ApiModelProperty(value = "岗位", name = "positionName", required = true) + @NotEmpty(message = "岗位不能为空") + private String positionName; + + @ApiModelProperty(value = "手机号码", name = "phoneNumber", required = true) + @NotEmpty(message = "手机号码不能为空") + private String phoneNumber; + + @ApiModelProperty(value = "身份证号", name = "idCardNumber", required = true) + @NotEmpty(message = "身份证号不能为空") + private String idCardNumber; + + @ApiModelProperty(value = "员工照片编码", name = "employeeImagesCode", required = true) + @NotEmpty(message = "员工照片编码不能为空") + private String employeeImagesCode; + + @ApiModelProperty(value = "员工照片(base64 格式,图片格式:jpg)", name = " employeeImages", required = true) + @NotEmpty(message = "员工照片(base64 格式,图片格式:jpg)不能为空") + private String employeeImages; + + @ApiModelProperty(value = "企业编码", name = "corporationCode", required = true) + @NotEmpty(message = "企业编码不能为空") + private String corporationCode; + + @ApiModelProperty(value = "企业名称", name = "corporationName", required = true) + @NotEmpty(message = "企业名称不能为空") + private String corporationName; + + @ApiModelProperty(value = "是否确认", name = "isConfirm", required = true) + @NotEmpty(message = "是否确认不能为空") + private String isConfirm; + + @ApiModelProperty(value = "确认状态(0:未确认,1:自动确认,2:用户手动确认)", name = "confirmStatus", required = true) + @NotEmpty(message = "确认状态(0:未确认,1:自动确认,2:用户手动确认)不能为空") + private String confirmStatus; +} + diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserListQry.java b/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserListQry.java new file mode 100644 index 00000000..2210022f --- /dev/null +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserListQry.java @@ -0,0 +1,28 @@ +package com.zcloud.basic.info.dto; + +import com.alibaba.cola.dto.PageQuery; +import lombok.Data; + + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-12-02 17:15:56 + */ +@Data +public class RzUserListQry extends PageQuery { + + /** + * 查询条件操作前缀,支持以下几种数据库查询操作: + * - `like`: 模糊匹配查询,对应SQL的LIKE操作符 + * - `eq`: 等值查询,对应SQL的=操作符 + * - `gt`: 大于比较查询 + * - `lt`: 小于比较查询 + * - `ge`: 大于等于比较查询 + * - `le`: 小于等于比较查询 + * - `ne`: 不等比较查询,对应SQL的!=操作符 + */ + private String likeRzUserId; +} + diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserPageQry.java b/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserPageQry.java new file mode 100644 index 00000000..0c65361d --- /dev/null +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserPageQry.java @@ -0,0 +1,28 @@ +package com.zcloud.basic.info.dto; + +import com.alibaba.cola.dto.PageQuery; +import lombok.Data; + + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-12-02 17:15:56 + */ +@Data +public class RzUserPageQry extends PageQuery { + + /** + * 查询条件操作前缀,支持以下几种数据库查询操作: + * - `like`: 模糊匹配查询,对应SQL的LIKE操作符 + * - `eq`: 等值查询,对应SQL的=操作符 + * - `gt`: 大于比较查询 + * - `lt`: 小于比较查询 + * - `ge`: 大于等于比较查询 + * - `le`: 小于等于比较查询 + * - `ne`: 不等比较查询,对应SQL的!=操作符 + */ + private String likeRzUserId; +} + diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserRemoveCmd.java b/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserRemoveCmd.java new file mode 100644 index 00000000..ce86003b --- /dev/null +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserRemoveCmd.java @@ -0,0 +1,30 @@ +package com.zcloud.basic.info.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.*; + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-12-02 17:15:57 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class RzUserRemoveCmd extends Command { + + @ApiModelProperty(value = "主键", name = "ids", required = true) + @NotNull(message = "主键不能为空") + @Size(min = 1, message = "请选择数据") + private Long[] ids; + +} + diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserUpdateCmd.java b/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserUpdateCmd.java new file mode 100644 index 00000000..bf430fa7 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/RzUserUpdateCmd.java @@ -0,0 +1,84 @@ +package com.zcloud.basic.info.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.*; + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-12-02 17:15:57 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class RzUserUpdateCmd extends Command { + @ApiModelProperty(value = "主键", name = "id", required = true) + @NotNull(message = "主键不能为空") + private Long id; + @ApiModelProperty(value = "业务主键id", name = "rzUserId", required = true) + @NotEmpty(message = "业务主键id不能为空") + private String rzUserId; + @ApiModelProperty(value = "用户名", name = "employeeName", required = true) + @NotEmpty(message = "用户名不能为空") + private String employeeName; + @ApiModelProperty(value = "用户性别", name = "employeeGender", required = true) + @NotEmpty(message = "用户性别不能为空") + private String employeeGender; + @ApiModelProperty(value = "年龄", name = "employeeAge", required = true) + @NotNull(message = "年龄不能为空") + private Integer employeeAge; + @ApiModelProperty(value = "入职时间", name = "entryTime", required = true) + @NotEmpty(message = "入职时间不能为空") + private String entryTime; + @ApiModelProperty(value = "状态(未入职、实习生、实习结束、在职、离职、退休、劳务派遣、劳务派遣结束)", name = " employeeStatus", required = true) + @NotEmpty(message = "状态(未入职、实习生、实习结束、在职、离职、退休、劳务派遣、劳务派遣结束)不能为空") + private String employeeStatus; + @ApiModelProperty(value = "职务", name = "jobName", required = true) + @NotEmpty(message = "职务不能为空") + private String jobName; + @ApiModelProperty(value = "职务级别", name = "jobLevel", required = true) + @NotEmpty(message = "职务级别不能为空") + private String jobLevel; + @ApiModelProperty(value = "部门名称", name = "deptName", required = true) + @NotEmpty(message = "部门名称不能为空") + private String deptName; + @ApiModelProperty(value = "部门编码", name = "deptCode", required = true) + @NotEmpty(message = "部门编码不能为空") + private String deptCode; + @ApiModelProperty(value = "岗位", name = "positionName", required = true) + @NotEmpty(message = "岗位不能为空") + private String positionName; + @ApiModelProperty(value = "手机号码", name = "phoneNumber", required = true) + @NotEmpty(message = "手机号码不能为空") + private String phoneNumber; + @ApiModelProperty(value = "身份证号", name = "idCardNumber", required = true) + @NotEmpty(message = "身份证号不能为空") + private String idCardNumber; + @ApiModelProperty(value = "员工照片编码", name = "employeeImagesCode", required = true) + @NotEmpty(message = "员工照片编码不能为空") + private String employeeImagesCode; + @ApiModelProperty(value = "员工照片(base64 格式,图片格式:jpg)", name = " employeeImages", required = true) + @NotEmpty(message = "员工照片(base64 格式,图片格式:jpg)不能为空") + private String employeeImages; + @ApiModelProperty(value = "企业编码", name = "corporationCode", required = true) + @NotEmpty(message = "企业编码不能为空") + private String corporationCode; + @ApiModelProperty(value = "企业名称", name = "corporationName", required = true) + @NotEmpty(message = "企业名称不能为空") + private String corporationName; + @ApiModelProperty(value = "是否确认", name = "isConfirm", required = true) + @NotEmpty(message = "是否确认不能为空") + private String isConfirm; + @ApiModelProperty(value = "确认状态(0:未确认,1:自动确认,2:用户手动确认)", name = "confirmStatus", required = true) + @NotEmpty(message = "确认状态(0:未确认,1:自动确认,2:用户手动确认)不能为空") + private String confirmStatus; +} + diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/RzUserCO.java b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/RzUserCO.java new file mode 100644 index 00000000..d309cad8 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/RzUserCO.java @@ -0,0 +1,80 @@ +package com.zcloud.basic.info.dto.clientobject; + +import com.alibaba.cola.dto.ClientObject; +import io.swagger.annotations.ApiModelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-12-02 17:15:55 + */ +@Data +public class RzUserCO extends ClientObject { + //主键 + @ApiModelProperty(value = "主键") + private Long id; + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String rzUserId; + //用户名 + @ApiModelProperty(value = "用户名") + private String employeeName; + //用户性别 + @ApiModelProperty(value = "用户性别") + private String employeeGender; + //年龄 + @ApiModelProperty(value = "年龄") + private Integer employeeAge; + //入职时间 + @ApiModelProperty(value = "入职时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime entryTime; + //状态(未入职、实习生、实习结束、在职、离职、退休、劳务派遣、劳务派遣结束) + @ApiModelProperty(value = "状态(未入职、实习生、实习结束、在职、离职、退休、劳务派遣、劳务派遣结束)") + private String employeeStatus; + //职务 + @ApiModelProperty(value = "职务") + private String jobName; + //职务级别 + @ApiModelProperty(value = "职务级别") + private String jobLevel; + //部门名称 + @ApiModelProperty(value = "部门名称") + private String deptName; + //部门编码 + @ApiModelProperty(value = "部门编码") + private String deptCode; + //岗位 + @ApiModelProperty(value = "岗位") + private String positionName; + //手机号码 + @ApiModelProperty(value = "手机号码") + private String phoneNumber; + //身份证号 + @ApiModelProperty(value = "身份证号") + private String idCardNumber; + //员工照片编码 + @ApiModelProperty(value = "员工照片编码") + private String employeeImagesCode; + //员工照片(base64 格式,图片格式:jpg) + @ApiModelProperty(value = "员工照片(base64 格式,图片格式:jpg)") + private String employeeImages; + //企业编码 + @ApiModelProperty(value = "企业编码") + private String corporationCode; + //企业名称 + @ApiModelProperty(value = "企业名称") + private String corporationName; + //是否确认 + @ApiModelProperty(value = "是否确认") + private String isConfirm; + //确认状态(0:未确认,1:自动确认,2:用户手动确认) + @ApiModelProperty(value = "确认状态(0:未确认,1:自动确认,2:用户手动确认)") + private String confirmStatus; +} diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/RzUserGateway.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/RzUserGateway.java new file mode 100644 index 00000000..e55ed274 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/RzUserGateway.java @@ -0,0 +1,30 @@ +package com.zcloud.basic.info.domain.gateway; + +import com.zcloud.basic.info.domain.model.RzUserE; + +/** + * web-domain + * + * @Author SondonYong + * @Date 2025-12-02 17:15:56 + */ +public interface RzUserGateway { + + /** + * 新增 + */ + Boolean add(RzUserE rzUserE); + + /** + * 修改 + */ + Boolean update(RzUserE rzUserE); + + /** + * 删除 + */ + Boolean deletedRzUserById(Long id); + + Boolean deletedRzUserByIds(Long[] id); +} + diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/UserChangeRecordGateway.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/UserChangeRecordGateway.java index eb7a32b6..cf314cad 100644 --- a/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/UserChangeRecordGateway.java +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/UserChangeRecordGateway.java @@ -1,5 +1,7 @@ package com.zcloud.basic.info.domain.gateway; +import com.zcloud.basic.info.domain.model.UserChangeRecordE; + /** * web-domain * diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/RzUserE.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/RzUserE.java new file mode 100644 index 00000000..8b2c2835 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/RzUserE.java @@ -0,0 +1,57 @@ +package com.zcloud.basic.info.domain.model; + +import com.jjb.saas.framework.domain.model.BaseE; +import lombok.Data; + +import java.util.Date; + +/** + * web-domain + * + * @Author SondonYong + * @Date 2025-12-02 17:15:56 + */ +@Data +public class RzUserE extends BaseE { + //主键 + private Long id; + //业务主键id + private String rzUserId; + //用户名 + private String employeeName; + //用户性别 + private String employeeGender; + //年龄 + private Integer employeeAge; + //入职时间 + private String entryTime; + //状态(未入职、实习生、实习结束、在职、离职、退休、劳务派遣、劳务派遣结束) + private String employeeStatus; + //职务 + private String jobName; + //职务级别 + private String jobLevel; + //部门名称 + private String deptName; + //部门编码 + private String deptCode; + //岗位 + private String positionName; + //手机号码 + private String phoneNumber; + //身份证号 + private String idCardNumber; + //员工照片编码 + private String employeeImagesCode; + //员工照片(base64 格式,图片格式:jpg) + private String employeeImages; + //企业编码 + private String corporationCode; + //企业名称 + private String corporationName; + //是否确认 + private String isConfirm; + //确认状态(0:未确认,1:自动确认,2:用户手动确认) + private String confirmStatus; +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/RzUserGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/RzUserGatewayImpl.java new file mode 100644 index 00000000..8d327090 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/RzUserGatewayImpl.java @@ -0,0 +1,50 @@ +package com.zcloud.basic.info.gatewayimpl; + +import com.zcloud.basic.info.domain.gateway.RzUserGateway; +import com.zcloud.basic.info.domain.model.RzUserE; +import com.zcloud.basic.info.persistence.dataobject.RzUserDO; +import com.zcloud.basic.info.persistence.repository.RzUserRepository; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.Collections; + +/** + * web-infrastructure + * + * @Author SondonYong + * @Date 2025-12-02 17:15:56 + */ +@Service +@AllArgsConstructor +public class RzUserGatewayImpl implements RzUserGateway { + private final RzUserRepository rzUserRepository; + + @Override + public Boolean add(RzUserE rzUserE) { + RzUserDO d = new RzUserDO(); + BeanUtils.copyProperties(rzUserE, d); + rzUserRepository.save(d); + return true; + } + + @Override + public Boolean update(RzUserE rzUserE) { + RzUserDO d = new RzUserDO(); + BeanUtils.copyProperties(rzUserE, d); + rzUserRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedRzUserById(Long id) { + return rzUserRepository.removeById(id); + } + + @Override + public Boolean deletedRzUserByIds(Long[] ids) { + return rzUserRepository.removeByIds(Collections.singletonList(ids)); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserChangeRecordGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserChangeRecordGatewayImpl.java index e0e13ae4..22ce1fa4 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserChangeRecordGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserChangeRecordGatewayImpl.java @@ -1,6 +1,8 @@ package com.zcloud.basic.info.gatewayimpl; import com.zcloud.basic.info.domain.gateway.UserChangeRecordGateway; +import com.zcloud.basic.info.domain.model.UserChangeRecordE; +import com.zcloud.basic.info.persistence.dataobject.UserChangeRecordDO; import com.zcloud.basic.info.persistence.repository.UserChangeRecordRepository; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/RzUserDO.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/RzUserDO.java new file mode 100644 index 00000000..e4e714b9 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/RzUserDO.java @@ -0,0 +1,83 @@ +package com.zcloud.basic.info.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.*; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import lombok.Data; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * web-infrastructure + * + * @Author SondonYong + * @Date 2025-12-02 17:15:56 + */ +@Data +@TableName("rz_user") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class RzUserDO extends BaseDO { + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String rzUserId; + //用户名 + @ApiModelProperty(value = "用户名") + private String employeeName; + //用户性别 + @ApiModelProperty(value = "用户性别") + private String employeeGender; + //年龄 + @ApiModelProperty(value = "年龄") + private Integer employeeAge; + //入职时间 + @ApiModelProperty(value = "入职时间") + private String entryTime; + //状态(未入职、实习生、实习结束、在职、离职、退休、劳务派遣、劳务派遣结束) + @ApiModelProperty(value = "状态(未入职、实习生、实习结束、在职、离职、退休、劳务派遣、劳务派遣结束)") + private String employeeStatus; + //职务 + @ApiModelProperty(value = "职务") + private String jobName; + //职务级别 + @ApiModelProperty(value = "职务级别") + private String jobLevel; + //部门名称 + @ApiModelProperty(value = "部门名称") + private String deptName; + //部门编码 + @ApiModelProperty(value = "部门编码") + private String deptCode; + //岗位 + @ApiModelProperty(value = "岗位") + private String positionName; + //手机号码 + @ApiModelProperty(value = "手机号码") + private String phoneNumber; + //身份证号 + @ApiModelProperty(value = "身份证号") + private String idCardNumber; + //员工照片编码 + @ApiModelProperty(value = "员工照片编码") + private String employeeImagesCode; + //员工照片(base64 格式,图片格式:jpg) + @ApiModelProperty(value = "员工照片(base64 格式,图片格式:jpg)") + private String employeeImages; + //企业编码 + @ApiModelProperty(value = "企业编码") + private String corporationCode; + //企业名称 + @ApiModelProperty(value = "企业名称") + private String corporationName; + //是否确认 + @ApiModelProperty(value = "是否确认") + private String isConfirm; + //确认状态(0:未确认,1:自动确认,2:用户手动确认) + @ApiModelProperty(value = "确认状态(0:未确认,1:自动确认,2:用户手动确认)") + private String confirmStatus; + + public RzUserDO(String rzUserId) { + this.rzUserId = rzUserId; + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/RzUserMapper.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/RzUserMapper.java new file mode 100644 index 00000000..7b257f39 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/RzUserMapper.java @@ -0,0 +1,17 @@ +package com.zcloud.basic.info.persistence.mapper; + +import com.zcloud.basic.info.persistence.dataobject.RzUserDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * web-infrastructure + * + * @Author SondonYong + * @Date 2025-12-02 17:15:56 + */ +@Mapper +public interface RzUserMapper extends BaseMapper { + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserChangeRecordMapper.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserChangeRecordMapper.java index 6fdf66fc..d01259ac 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserChangeRecordMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserChangeRecordMapper.java @@ -1,6 +1,7 @@ package com.zcloud.basic.info.persistence.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zcloud.basic.info.persistence.dataobject.UserChangeRecordDO; import org.apache.ibatis.annotations.Mapper; /** diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/RzUserRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/RzUserRepository.java new file mode 100644 index 00000000..7d77d943 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/RzUserRepository.java @@ -0,0 +1,25 @@ +package com.zcloud.basic.info.persistence.repository; + +import com.zcloud.basic.info.persistence.dataobject.RzUserDO; +import com.alibaba.cola.dto.SingleResponse; +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; + +import java.util.Map; +import java.util.List; + +/** + * web-infrastructure + * + * @Author SondonYong + * @Date 2025-12-02 17:15:57 + */ +public interface RzUserRepository extends BaseRepository { + + PageResponse listPage(Map params); + + List list(Map params); + + SingleResponse getInfoById(Long id); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserChangeRecordRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserChangeRecordRepository.java index cc8f6c02..2068980f 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserChangeRecordRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserChangeRecordRepository.java @@ -3,6 +3,7 @@ package com.zcloud.basic.info.persistence.repository; import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.basic.info.persistence.dataobject.UserChangeRecordDO; import java.util.Map; import java.util.List; diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/RzUserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/RzUserRepositoryImpl.java new file mode 100644 index 00000000..ccd7f815 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/RzUserRepositoryImpl.java @@ -0,0 +1,55 @@ +package com.zcloud.basic.info.persistence.repository.impl; + +import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.basic.info.persistence.dataobject.RzUserDO; +import com.zcloud.basic.info.persistence.mapper.RzUserMapper; +import com.zcloud.basic.info.persistence.repository.RzUserRepository; +import com.alibaba.cola.dto.SingleResponse; +import com.alibaba.cola.dto.PageResponse; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.gbscommon.utils.Query; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.Map; +import java.util.List; + +/** + * web-infrastructure + * + * @Author SondonYong + * @Date 2025-12-02 17:15:57 + */ +@Service +@RequiredArgsConstructor +public class RzUserRepositoryImpl extends BaseRepositoryImpl implements RzUserRepository { + private final RzUserMapper rzUserMapper; + + @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 = rzUserMapper.selectPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public List list(Map params) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); + queryWrapper.orderByDesc("create_time"); + List result = rzUserMapper.selectList(queryWrapper); + return result; + } + + @Override + public SingleResponse getInfoById(Long id) { + return SingleResponse.of(rzUserMapper.selectById(id)); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserChangeRecordRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserChangeRecordRepositoryImpl.java index a1bc1b72..78b7bb8a 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserChangeRecordRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserChangeRecordRepositoryImpl.java @@ -1,6 +1,7 @@ package com.zcloud.basic.info.persistence.repository.impl; import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.basic.info.persistence.dataobject.UserChangeRecordDO; import com.zcloud.basic.info.persistence.mapper.UserChangeRecordMapper; import com.zcloud.basic.info.persistence.repository.UserChangeRecordRepository; import com.alibaba.cola.dto.SingleResponse; diff --git a/web-infrastructure/src/main/resources/mapper/RzUserMapper.xml b/web-infrastructure/src/main/resources/mapper/RzUserMapper.xml new file mode 100644 index 00000000..67b74307 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/RzUserMapper.xml @@ -0,0 +1,7 @@ + + + + + +