Procházet zdrojové kódy

优化代码以及增加操作时间和操作人

wangfeng před 4 roky
rodič
revize
3136168840

+ 6 - 2
cdssman-service/src/main/java/com/diagbot/dto/UserRoleInfoFindDTO.java

@@ -1,8 +1,11 @@
 package com.diagbot.dto;
 
+import lombok.Data;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.sql.Date;
+
 /**
  * @author wangfeng
  * @Description:
@@ -16,14 +19,15 @@ public class UserRoleInfoFindDTO {
     /**
      * 用户名
      */
-    private Long usernId;
+    private Long userId;
 
     /**
      * 用户名
      */
     private String username;
 
-
+    private Date gmModified;
+    private String modifier;
     /**
      * 联系人
      */

+ 19 - 0
cdssman-service/src/main/java/com/diagbot/facade/UserFacade.java

@@ -8,11 +8,16 @@ import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.UserServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.UserInfoVO;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author wangfeng
@@ -40,5 +45,19 @@ public class UserFacade extends UserServiceImpl {
         boolean res = save(user);
         return user;
     }
+    public Map<String, String> getUserInfoByIds(List<String> ids) {
+        List<Long> longList
+                = ids.stream().map(r -> Long.valueOf(r)).distinct().collect(Collectors.toList());
+
+        Map<String, String> map = new HashMap<>();
+        if (ListUtil.isNotEmpty(longList)) {
+            List<User> userList = this.getByIds(longList);
+            if (ListUtil.isNotEmpty(userList)) {
+                map = userList.stream()
+                        .collect(Collectors.toMap(k -> k.getId().toString(), v -> v.getLinkman()));
+            }
+        }
+        return map;
+    }
 
 }

+ 13 - 1
cdssman-service/src/main/java/com/diagbot/facade/UserRoleFacade.java

@@ -11,6 +11,7 @@ import com.diagbot.service.UserRoleService;
 import com.diagbot.service.impl.UserRoleServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.UserHospitalInfoVO;
 import com.diagbot.vo.UserInfoVO;
@@ -18,6 +19,7 @@ import com.diagbot.vo.UserRoleInfoCancelVO;
 import com.diagbot.vo.UserRoleInfoFindVO;
 import com.diagbot.vo.UserRoleInfoVO;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.support.ManagedMap;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
@@ -72,12 +74,22 @@ public class UserRoleFacade extends UserRoleServiceImpl {
         IPage<UserRoleInfoFindDTO> dataAllIPage = userRoleService.getUserRoleAlls(userRoleInfoFindVO);
         List<UserRoleInfoFindDTO> dataAll = dataAllIPage.getRecords();
         List<Long> hospitalId = new ArrayList<>();
+        List<String> modifierid = new ArrayList<>();
         for (UserRoleInfoFindDTO data : dataAll) {
             hospitalId.add(data.getHospitalId());
+            modifierid.add(data.getModifier());
+        }
+        Map<Long, String> hospitalInfoData = new ManagedMap<>();
+        Map<String, String> userInfoByIds = new ManagedMap<>();
+        if(ListUtil.isNotEmpty(hospitalId)) {
+             hospitalInfoData = hospitalInfoFacade.getHospitalInfoData(hospitalId);
+        }
+        if(ListUtil.isNotEmpty(modifierid)) {
+            userInfoByIds = userFacade.getUserInfoByIds(modifierid);
         }
-        Map<Long, String> hospitalInfoData = hospitalInfoFacade.getHospitalInfoData(hospitalId);
         for (UserRoleInfoFindDTO userData : dataAll) {
             userData.setHospitalName(hospitalInfoData.get(userData.getHospitalId()));
+            userData.setModifier(userInfoByIds.get(userData.getModifier()));
         }
         return dataAllIPage.setRecords(dataAll);
     }

+ 3 - 0
cdssman-service/src/main/java/com/diagbot/mapper/UserMapper.java

@@ -3,6 +3,8 @@ package com.diagbot.mapper;
 import com.diagbot.entity.User;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * <p>
  * 系统用户表 Mapper 接口
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface UserMapper extends BaseMapper<User> {
 
+    List<User> getByIds(List<Long> ids);
 }

+ 3 - 1
cdssman-service/src/main/java/com/diagbot/service/UserService.java

@@ -3,6 +3,8 @@ package com.diagbot.service;
 import com.diagbot.entity.User;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 系统用户表 服务类
@@ -12,5 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2020-08-11
  */
 public interface UserService extends IService<User> {
-
+    public List<User> getByIds(List<Long> ids);
 }

+ 5 - 0
cdssman-service/src/main/java/com/diagbot/service/impl/UserServiceImpl.java

@@ -6,6 +6,8 @@ import com.diagbot.service.UserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 系统用户表 服务实现类
@@ -17,4 +19,7 @@ import org.springframework.stereotype.Service;
 @Service
 public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
 
+    public List<User> getByIds(List<Long> ids){
+        return baseMapper.getByIds(ids);
+    }
 }

+ 19 - 0
cdssman-service/src/main/java/com/diagbot/web/UserController.java

@@ -1,11 +1,21 @@
 package com.diagbot.web;
 
 
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.UserFacade;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.stereotype.Controller;
 import springfox.documentation.annotations.ApiIgnore;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 系统用户表 前端控制器
@@ -20,5 +30,14 @@ import springfox.documentation.annotations.ApiIgnore;
 @ApiIgnore
 @Deprecated
 public class UserController {
+    @Autowired
+    private UserFacade userFacade;
 
+    @ApiOperation(value = "根据用户ID列表获取用户数据(远程调用)[by:gaodm]", notes = "根据用户ID列表获取用户数据")
+    @PostMapping("/getUserInfoByIds")
+    @SysLogger("getUserInfoByIds")
+    @ApiIgnore
+    public RespDTO<Map<String, String>> getUserInfoByIds(@RequestBody List<String> ids) {
+        return RespDTO.onSuc(userFacade.getUserInfoByIds(ids));
+    }
 }

+ 7 - 0
cdssman-service/src/main/resources/mapper/UserMapper.xml

@@ -18,4 +18,11 @@
         <result column="remark" property="remark" />
     </resultMap>
 
+    <select id="getByIds" resultMap="BaseResultMap">
+        select u.* from sys_user u where u.is_deleted = 'N'
+        and u.id in
+        <foreach collection="list" item="ids" open="(" close=")" separator=",">
+            #{ids}
+        </foreach>
+    </select>
 </mapper>

+ 2 - 0
cdssman-service/src/main/resources/mapper/UserRoleMapper.xml

@@ -19,6 +19,8 @@
         c.id AS id,
         a.username AS username,
         a.linkman AS linkman,
+        a.gmt_modified AS gmModified,
+        a.modifier AS  modifier,
         c.user_id AS userId,
         d.id AS hospitalId,
         d.name AS hospitalName,

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 628 - 629
user-service/src/main/resources/mapper/UserMapper.xml