Browse Source

修复了一些BUG

liuyc 3 years ago
parent
commit
25f39b4da8

+ 14 - 13
blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java

@@ -36,15 +36,14 @@ import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.constant.RoleConstant;
-import org.springblade.core.tool.utils.DateUtil;
-import org.springblade.core.tool.utils.Func;
-import org.springblade.core.tool.utils.StringPool;
-import org.springblade.core.tool.utils.StringUtil;
+import org.springblade.core.tool.utils.*;
 import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
 import org.springblade.manager.feign.SaveUserInfoByProjectClient;
+import org.springblade.system.cache.SysCache;
 import org.springblade.system.user.dto.UserDTO;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.excel.UserExcel;
+import org.springblade.system.user.excel.UserExcel2;
 import org.springblade.system.user.excel.UserImporter;
 import org.springblade.system.user.service.IUserService;
 import org.springblade.system.user.vo.UserVO;
@@ -55,9 +54,9 @@ import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collector;
+import java.util.stream.Collectors;
 
 import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE;
 
@@ -282,19 +281,21 @@ public class UserController {
     }
 
     /**
-     * 导出用户
+     * 导出全部用户
      */
     @GetMapping("export-user")
     @ApiOperationSupport(order = 13)
-    @ApiOperation(value = "导出用户", notes = "传入user")
+    @ApiOperation(value = "导出全部用户", notes = "传入token")
     public void exportUser(@ApiIgnore @RequestParam Map<String, Object> user, BladeUser bladeUser, HttpServletResponse response) {
-        QueryWrapper<User> queryWrapper = Condition.getQueryWrapper(user, User.class);
+        /*QueryWrapper<User> queryWrapper = Condition.getQueryWrapper(user, User.class);
         if (!AuthUtil.isAdministrator()) {
             queryWrapper.lambda().eq(User::getTenantId, bladeUser.getTenantId());
         }
         queryWrapper.lambda().eq(User::getIsDeleted, BladeConstant.DB_NOT_DELETED);
-        List<UserExcel> list = userService.exportUser(queryWrapper);
-        ExcelUtil.export(response, "用户数据" + DateUtil.time(), "用户数据表", list, UserExcel.class);
+        List<UserExcel> list = userService.exportUser(queryWrapper);*/
+        List<UserVO> list = userService.selectUserListByCondition();
+        List<UserExcel2> list1 = Objects.requireNonNull(BeanUtil.copy(list, UserExcel2.class));
+        ExcelUtil.export(response, "用户数据" + DateUtil.time(), "用户数据表", list1, UserExcel2.class);
     }
 
     /**
@@ -305,7 +306,7 @@ public class UserController {
     @ApiOperation(value = "导出模板")
     public void exportUser(HttpServletResponse response) {
         List<UserExcel> list = new ArrayList<>();
-        ExcelUtil.export(response, "用户数据模板", "用户数据表", list, UserExcel.class);
+        ExcelUtil.export(response, "用户数据模板" + DateUtil.time(), "用户数据表", list, UserExcel.class);
     }
 
 

+ 6 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/excel/UserExcel.java

@@ -54,9 +54,15 @@ public class UserExcel implements Serializable {
     private String idNumber;
 
     @ColumnWidth(15)
+    @ExcelIgnore
     @ExcelProperty("角色名称")
     private String roleName;
 
+    @ColumnWidth(15)
+    @ExcelIgnore
+    @ExcelProperty("部门名称")
+    private String postName;
+
     @ColumnWidth(15)
     @ExcelProperty("部门名称")
     private String deptName;

+ 93 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/excel/UserExcel2.java

@@ -0,0 +1,93 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.system.user.excel;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * UserExcel
+ *
+ * @author Chill
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class UserExcel2 implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @ColumnWidth(15)
+    @ExcelProperty("账户")
+    private String account;
+
+    @ColumnWidth(15)
+    @ExcelProperty("姓名")
+    private String realName;
+
+    @ColumnWidth(15)
+    @ExcelProperty("手机")
+    private String phone;
+
+    @ColumnWidth(15)
+    @ExcelProperty("身份证号")
+    private String idNumber;
+
+    @ColumnWidth(15)
+    @ExcelProperty("角色名称")
+    private String roleName;
+
+    @ColumnWidth(15)
+    @ExcelIgnore
+    @ExcelProperty("部门名称")
+    private String postName;
+
+    @ColumnWidth(15)
+    @ExcelProperty("部门名称")
+    private String deptName;
+
+    @ExcelIgnore
+    @ExcelProperty("角色ID")
+    private String roleId;
+
+    @ExcelIgnore
+    @ExcelProperty("部门ID")
+    private String deptId;
+
+    @ExcelIgnore
+    @ExcelProperty("岗位ID")
+    private String postId;
+
+    @ExcelIgnore
+    @ExcelProperty("租户编号")
+    private String tenantId;
+
+    @ExcelIgnore
+    @ExcelProperty("用户平台")
+    private String userType;
+
+    @ExcelIgnore
+    @ExcelProperty("用户平台名称")
+    private String userTypeName;
+
+
+}

+ 4 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.java

@@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.excel.UserExcel;
+import org.springblade.system.user.vo.UserVO;
 
 import java.util.List;
 
@@ -66,4 +67,7 @@ public interface UserMapper extends BaseMapper<User> {
 
     int updateRoleId(String id, String roleId1);
 
+    List<UserVO> selectUserListByCondition();
+
+
 }

+ 9 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml

@@ -88,4 +88,13 @@
         SELECT id, tenant_id, user_type, account, name, real_name, email, phone, birthday, role_id, dept_id, post_id FROM blade_user ${ew.customSqlSegment}
     </select>
 
+    <select id="selectUserListByCondition" resultType="org.springblade.system.user.vo.UserVO">
+        SELECT account, real_name, id_number, phone,
+        (SELECT dept_name FROM blade_dept d WHERE d.id = b.dept_id) AS "deptName",
+        (SELECT role_name FROM blade_role r WHERE r.id = b.role_id) AS "roleName"
+        FROM blade_user b
+        WHERE
+        account not in("admin","administrator")
+    </select>
+
 </mapper>

+ 2 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/service/IUserService.java

@@ -18,6 +18,7 @@ package org.springblade.system.user.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.core.mp.support.Query;
@@ -233,4 +234,5 @@ public interface IUserService extends BaseService<User> {
 
     boolean updateUserRoleIdTwo(String userId, String roleId);
 
+    List<UserVO> selectUserListByCondition();
 }

+ 9 - 4
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -426,11 +426,11 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
             // 设置用户平台
             user.setUserType(Func.toInt(DictCache.getKey(DictEnum.USER_TYPE, userExcel.getUserTypeName()), 1));
             // 设置部门ID
-            user.setDeptId(Func.toStrWithEmpty(SysCache.getDeptIds(userExcel.getTenantId(), userExcel.getDeptName()), StringPool.EMPTY));
+            user.setDeptId(Func.toStrWithEmpty(SysCache.getDeptIds(AuthUtil.getTenantId(), userExcel.getDeptName()), StringPool.EMPTY));
             // 设置岗位ID
             //user.setPostId(Func.toStrWithEmpty(SysCache.getPostIds(userExcel.getTenantId(), userExcel.getPostName()), StringPool.EMPTY));
             // 设置角色ID
-            user.setRoleId(Func.toStrWithEmpty(SysCache.getRoleIds(userExcel.getTenantId(), userExcel.getRoleName()), StringPool.EMPTY));
+            //user.setRoleId(Func.toStrWithEmpty(SysCache.getRoleIds(AuthUtil.getTenantId(), userExcel.getRoleName()), StringPool.EMPTY));
             // 设置租户ID
             if (!AuthUtil.isAdministrator() || StringUtil.isBlank(user.getTenantId())) {
                 user.setTenantId(AuthUtil.getTenantId());
@@ -438,7 +438,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
             // 覆盖数据
             if (isCovered) {
                 // 查询用户是否存在
-                User oldUser = UserCache.getUser(userExcel.getTenantId(), userExcel.getAccount());
+                User oldUser = UserCache.getUser(AuthUtil.getTenantId(), userExcel.getAccount());
                 if (oldUser != null && oldUser.getId() != null) {
                     user.setId(oldUser.getId());
                     this.updateUser(user);
@@ -464,7 +464,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
             user.setUserTypeName(DictCache.getValue(DictEnum.USER_TYPE, user.getUserType()));
             user.setRoleName(StringUtil.join(SysCache.getRoleNames(user.getRoleId())));
             user.setDeptName(StringUtil.join(SysCache.getDeptNames(user.getDeptId())));
-            //user.setPostName(StringUtil.join(SysCache.getPostNames(user.getPostId())));
+            user.setPostName(StringUtil.join(SysCache.getPostNames(user.getPostId())));
         });
         return userList;
     }
@@ -632,4 +632,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
         }
         return false;
     }
+
+    @Override
+    public List<UserVO> selectUserListByCondition() {
+        return baseMapper.selectUserListByCondition();
+    }
 }