From 983cf949c72b9422e53624ea73a5152f27d21768 Mon Sep 17 00:00:00 2001
From: fengshuonan <sn93@qq.com>
Date: Fri, 16 Jun 2023 22:29:01 +0800
Subject: [PATCH] =?UTF-8?q?=E3=80=907.6.0=E3=80=91=E3=80=90sys=E3=80=91?=
 =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=94=A8=E6=88=B7=E5=A7=93=E5=90=8D=E7=9A=84?=
 =?UTF-8?q?=E5=8C=85=E8=A3=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../kernel/sys/api/SysUserServiceApi.java     |  8 +++++
 .../sys/api/format/UserNameFormatProcess.java | 35 +++++++++++++++++++
 .../user/biz/UserIntegrationService.java      | 12 +++++++
 3 files changed, 55 insertions(+)
 create mode 100644 kernel-s-sys/sys-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/UserNameFormatProcess.java

diff --git a/kernel-s-sys/sys-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/SysUserServiceApi.java b/kernel-s-sys/sys-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/SysUserServiceApi.java
index 0f858cc79..feb405225 100644
--- a/kernel-s-sys/sys-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/SysUserServiceApi.java
+++ b/kernel-s-sys/sys-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/SysUserServiceApi.java
@@ -81,4 +81,12 @@ public interface SysUserServiceApi {
      */
     List<Long> getUserRoleIdList(Long userId);
 
+    /**
+     * 获取用户真实姓名
+     *
+     * @author fengshuonan
+     * @since 2023/6/16 22:26
+     */
+    String getUserRealName(Long userId);
+
 }
diff --git a/kernel-s-sys/sys-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/UserNameFormatProcess.java b/kernel-s-sys/sys-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/UserNameFormatProcess.java
new file mode 100644
index 000000000..f19bf3f05
--- /dev/null
+++ b/kernel-s-sys/sys-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/UserNameFormatProcess.java
@@ -0,0 +1,35 @@
+package cn.stylefeng.roses.kernel.sys.api.format;
+
+import cn.hutool.core.convert.Convert;
+import cn.hutool.extra.spring.SpringUtil;
+import cn.stylefeng.roses.kernel.rule.format.BaseSimpleFieldFormatProcess;
+import cn.stylefeng.roses.kernel.sys.api.SysUserServiceApi;
+
+/**
+ * 用户姓名包装
+ *
+ * @author fengshuonan
+ * @since 2023/6/16 22:26
+ */
+public class UserNameFormatProcess extends BaseSimpleFieldFormatProcess {
+
+    @Override
+    public Class<?> getItemClass() {
+        return Long.class;
+    }
+
+    @Override
+    public Object simpleItemFormat(Object businessId) {
+
+        if (businessId == null) {
+            return null;
+        }
+
+        Long userId = Convert.toLong(businessId);
+
+        SysUserServiceApi sysUserServiceApi = SpringUtil.getBean(SysUserServiceApi.class);
+
+        return sysUserServiceApi.getUserRealName(userId);
+    }
+
+}
diff --git a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/user/biz/UserIntegrationService.java b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/user/biz/UserIntegrationService.java
index 20b6b42a7..360423671 100644
--- a/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/user/biz/UserIntegrationService.java
+++ b/kernel-s-sys/sys-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/user/biz/UserIntegrationService.java
@@ -162,4 +162,16 @@ public class UserIntegrationService implements SysUserServiceApi {
         return sysUserRoleList.stream().map(SysUserRole::getRoleId).collect(Collectors.toList());
     }
 
+    @Override
+    public String getUserRealName(Long userId) {
+        LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        sysUserLambdaQueryWrapper.select(SysUser::getRealName);
+        sysUserLambdaQueryWrapper.eq(SysUser::getUserId, userId);
+        SysUser sysUser = this.sysUserService.getOne(sysUserLambdaQueryWrapper);
+        if (sysUser == null) {
+            return "";
+        }
+        return sysUser.getRealName();
+    }
+
 }