Răsfoiți Sursa

职位统一从筛选的下拉框选择 返回的时候,额外处理下,不需要再手动填写新字段

王苗苗 7 luni în urmă
părinte
comite
c503c20445

BIN
.DS_Store


BIN
slibra-admin/.DS_Store


+ 9 - 0
slibra-framework/src/main/java/com/slibra/framework/web/service/UserDetailsServiceImpl.java

@@ -1,5 +1,6 @@
 package com.slibra.framework.web.service;
 
+import com.slibra.system.mapper.SysPostMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +37,9 @@ public class UserDetailsServiceImpl implements UserDetailsService
     @Autowired
     private SysPermissionService permissionService;
 
+    @Autowired
+    private SysPostMapper sysPostMapper;
+
     @Override
     public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
     {
@@ -55,6 +59,11 @@ public class UserDetailsServiceImpl implements UserDetailsService
             log.info("登录用户:{} 已被停用.", username);
             throw new ServiceException(MessageUtils.message("user.blocked"));
         }
+        //2024年08月16日10:21:30  额外再处理一下用户的职位信息(前端接口使用)
+        Long[] postIds = user.getPostIds();
+        if (StringUtils.isNotEmpty(postIds)){
+            user.setPosition(this.sysPostMapper.getPostNamesByIds(postIds));
+        }
 
         passwordService.validate(user);
 

+ 2 - 0
slibra-system/src/main/java/com/slibra/system/mapper/SysPostMapper.java

@@ -96,4 +96,6 @@ public interface SysPostMapper
      * @return 结果
      */
     public SysPost checkPostCodeUnique(String postCode);
+
+    String getPostNamesByIds(Long[] postIds);
 }

+ 10 - 0
slibra-system/src/main/resources/mapper/system/SysPostMapper.xml

@@ -119,4 +119,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach> 
  	</delete>
 
+	<!-- 下面是新增的 -->
+	<select id="getPostNamesByIds" resultType="string" parameterType="Long">
+		SELECT
+			GROUP_CONCAT( post_name SEPARATOR ', ' )
+		FROM
+				( SELECT DISTINCT post_name FROM sys_post WHERE post_id IN
+				  <foreach collection="array" item="postId" open="(" separator="," close=")">
+					#{postId}
+				</foreach> ) temp
+	</select>
 </mapper>