From 29d03cb87f225bd3a621fcc7ca945876ee80cfc7 Mon Sep 17 00:00:00 2001 From: zhangyue Date: Fri, 21 Nov 2025 17:31:08 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=96=B0=E5=A2=9E=20age,=20b?= =?UTF-8?q?irthday,=20and=20sex?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/info/dto/clientobject/UserCO.java | 13 + .../zcloud/basic/info/domain/model/UserE.java | 10 +- .../zcloud/basic/info/domain/utils/Smb.java | 284 ++++++++++++++++++ .../info/persistence/dataobject/UserDO.java | 17 ++ .../repository/impl/UserRepositoryImpl.java | 2 - .../src/main/resources/mapper/UserMapper.xml | 53 +++- 6 files changed, 366 insertions(+), 13 deletions(-) create mode 100644 web-domain/src/main/java/com/zcloud/basic/info/domain/utils/Smb.java diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/UserCO.java b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/UserCO.java index 755a210..9022d39 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/UserCO.java +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/UserCO.java @@ -171,5 +171,18 @@ public class UserCO extends ClientObject { // 入职状态 @ApiModelProperty(value = "入职状态") private Integer employmentFlag; + + + // 年龄 + @ApiModelProperty(value = "年龄") + private Integer age; + + //生日 + @ApiModelProperty(value = "生日") + private String birthday; + + // 性别 + @ApiModelProperty(value = "性别") + private String sex; } diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java index 2b466d7..22153f4 100644 --- a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java @@ -137,6 +137,14 @@ public class UserE extends BaseE { private final String defaultPassword = "Aa12345678"; private final String publicKey = "0402df2195296d4062ac85ad766994d73e871b887e18efb9a9a06b4cebc72372869b7da6c347c129dee2b46a0f279ff066b01c76208c2a052af75977c722a2ccee"; + // 年龄 + private Integer age; + + //生日 + private String birthday; + + // 性别 + private String sex; public void initAdd(Long tenantId, UserE userE) { @@ -144,7 +152,7 @@ public class UserE extends BaseE { userE.setTenantId(!ObjectUtils.isEmpty(userE.getTenantId())? userE.getTenantId() : tenantId); userE.setCorpinfoId(!ObjectUtils.isEmpty(userE.getCorpinfoId())? userE.getCorpinfoId() : tenantId); userE.setEmploymentFlag(1); - userE.setPassword("Aa@123456789"); + userE.setPassword(defaultPassword); } /** diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/utils/Smb.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/utils/Smb.java new file mode 100644 index 0000000..b734e16 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/utils/Smb.java @@ -0,0 +1,284 @@ +package com.zcloud.basic.info.domain.utils; + + +import com.jcraft.jsch.*; +import com.zcloud.gbscommon.utils.Tools; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.multipart.MultipartFile; + +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Vector; + +/** + * @author zhangyue + * @date 2025/10/31 16:08 + */ +@Configuration + +public class Smb { + + + public static String host; + public static Integer port; + public static String user; + public static String password; + public static String basePath; + + @Value("${smb.host}") + public void setHostPath(String hostProperties) { + host = hostProperties; + } + + @Value("${smb.port}") + public void setPortPath(Integer portProperties) { + port = portProperties; + } + + @Value("${smb.user}") + public void setUserPath(String userProperties) { + user = userProperties; + } + + @Value("${smb.password}") + public void setPasswordPath(String passwordProperties) { + password = passwordProperties; + } + + @Value("${smb.basePath}") + public void setBasePath(String basePathProperties) { + basePath = basePathProperties; + } + + + public static void sshSftp(MultipartFile file, String fileName, String path) throws Exception { + System.out.println("开始上传文件...--------------------"); + Session session = null; + Channel channel = null; + JSch jsch = new JSch(); + if (port <= 0) { + // 连接服务器,采用默认端口 + session = jsch.getSession(user, host); + } else { + // 采用指定的端口连接服务器 + session = jsch.getSession(user, host, port); + } + + // 如果服务器连接不上,则抛出异常 + if (session == null) { + throw new Exception("session is null"); + } + // 设置登陆主机的密码 + session.setPassword(password); + // 设置第一次登陆的时候提示,可选值:(ask | yes | no) + session.setConfig("StrictHostKeyChecking", "no"); + // 设置登陆超时时间 + session.connect(30000); + OutputStream outstream = null; + + try { + // 创建sftp通信通道 + channel = (Channel) session.openChannel("sftp"); + channel.connect(1000); + ChannelSftp sftp = (ChannelSftp) channel; + // 进入服务器指定的文件夹 +// File dir = new File(basePath+"/"+path); +// dir.setWritable(true, false); +// if(!dir.exists()){ +// dir.mkdirs(); +// } + createDir(basePath + path, sftp); + sftp.cd(basePath + path); + // 列出服务器指定的文件列表 +// Vector v = sftp.ls("*"); +// for(int i=0;i vector = channelSftp.ls(basePath + directoryFile); + if (vector.size() == 1) { // 文件,直接删除 + channelSftp.rm(basePath + directoryFile); + System.out.println("4、" + directoryFile + " 删除的文件....."); + } + } catch (Exception e) { + + } + // 切断远程连接 + channelSftp.exit(); + + } + +// public String saveFile(MultipartFile multipartFile) throws Exception{ +// return this.saveFile(multipartFile,Const.FILEPATHFILE); +// } + + public static String saveFile(MultipartFile file, String filePath) throws Exception{ + // 生成文件名 + String fileName = Tools.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + // 根据项目类型生成项目文件 + sshSftp(file, fileName, filePath); + // 返回文件保存目录 + return filePath + "/" + fileName; + } + +} diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/UserDO.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/UserDO.java index 7aa59cd..e19cfc0 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/UserDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/UserDO.java @@ -132,6 +132,23 @@ public class UserDO extends BaseDO { @TableField(exist = false) private String password; + // 年龄 + @ApiModelProperty(value = "年龄") + @TableField(exist = false) + private Integer age; + + //生日 + @ApiModelProperty(value = "生日") + @TableField(exist = false) + private String birthday; + + // 性别 + @ApiModelProperty(value = "性别") + @TableField(exist = false) + private String sex; + + + public UserDO(String userId) { this.userId = userId; } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java index 2e7418b..dffe890 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java @@ -109,8 +109,6 @@ public class UserRepositoryImpl extends BaseRepositoryImpl i @Override public UserDO getInfoById(Long id) { - UserDO d = userMapper.getInfoById(id); - System.out.println("getInfoById"); return userMapper.getInfoById(id); } diff --git a/web-infrastructure/src/main/resources/mapper/UserMapper.xml b/web-infrastructure/src/main/resources/mapper/UserMapper.xml index 38ba10b..5dffd95 100644 --- a/web-infrastructure/src/main/resources/mapper/UserMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/UserMapper.xml @@ -52,9 +52,20 @@ u.political_affiliation_name, u.employment_flag, CASE - WHEN MOD(SUBSTRING( u.user_id_card, 17, 1), 2) = 1 THEN '男' - ELSE '女' - END AS sex + WHEN LENGTH(u.user_id_card) > 0 + AND MOD(SUBSTRING(u.user_id_card, 17, 1), 2) = 1 THEN + '男' + WHEN LENGTH(u.user_id_card) > 0 + AND MOD(SUBSTRING(u.user_id_card, 17, 1), 2) = 0 THEN + '女' + END AS sex, + + CASE + WHEN LENGTH(u.user_id_card) > 0 THEN + (YEAR(NOW()) - SUBSTRING(u.user_id_card, 7, 4)) ELSE NULL + END AS age, + + cast(substring(u.user_id_card, 7, 8) AS DATE) AS birthday from user u left join corp_info c on c.id = u.corpinfo_id left join department d on d.id = u.department_id @@ -129,10 +140,21 @@ u.political_affiliation, u.political_affiliation_name, u.employment_flag, - CASE - WHEN MOD(SUBSTRING( u.user_id_card, 17, 1), 2) = 1 THEN '男' - ELSE '女' - END AS sex + CASE + WHEN LENGTH(u.user_id_card) > 0 + AND MOD(SUBSTRING(u.user_id_card, 17, 1), 2) = 1 THEN + '男' + WHEN LENGTH(u.user_id_card) > 0 + AND MOD(SUBSTRING(u.user_id_card, 17, 1), 2) = 0 THEN + '女' + END AS sex, + + CASE + WHEN LENGTH(u.user_id_card) > 0 THEN + (YEAR(NOW()) - SUBSTRING(u.user_id_card, 7, 4)) ELSE NULL + END AS age, + + cast(substring(u.user_id_card, 7, 8) AS DATE) AS birthday from user u left join corp_info c on c.id = u.corpinfo_id left join department d on d.id = u.department_id @@ -189,9 +211,20 @@ u.political_affiliation_name, u.employment_flag, CASE - WHEN MOD(SUBSTRING( u.user_id_card, 17, 1), 2) = 1 THEN '男' - ELSE '女' - END AS sex + WHEN LENGTH(u.user_id_card) > 0 + AND MOD(SUBSTRING(u.user_id_card, 17, 1), 2) = 1 THEN + '男' + WHEN LENGTH(u.user_id_card) > 0 + AND MOD(SUBSTRING(u.user_id_card, 17, 1), 2) = 0 THEN + '女' + END AS sex, + + CASE + WHEN LENGTH(u.user_id_card) > 0 THEN + (YEAR(NOW()) - SUBSTRING(u.user_id_card, 7, 4)) ELSE NULL + END AS age, + + cast(substring(u.user_id_card, 7, 8) AS DATE) AS birthday from user u left join corp_info c on c.id = u.corpinfo_id left join department d on d.id = u.department_id