From 21777298b82264970d6fd1b30f3ba1d06b641d27 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Wed, 07 Dec 2022 18:25:58 +0800
Subject: [PATCH] 1、导出用户修改
---
src/main/java/org/springblade/modules/system/controller/UserController.java | 290 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 278 insertions(+), 12 deletions(-)
diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java
index 12aa775..00cb5a1 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -17,7 +17,9 @@
package org.springblade.modules.system.controller;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.aliyun.oss.ServiceException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@@ -27,6 +29,8 @@
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
+import org.springblade.common.config.FtpConfig;
+import org.springblade.common.utils.DesensitizedUtil;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.http.util.HttpUtil;
@@ -40,15 +44,23 @@
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.StringPool;
+import org.springblade.core.tool.utils.*;
+import org.springblade.modules.FTP.FtpUtil;
+import org.springblade.modules.system.dto.UserDTO;
+import org.springblade.modules.system.entity.Role;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.excel.UserExcel;
+import org.springblade.modules.system.excel.UserExcels;
import org.springblade.modules.system.excel.UserImporter;
+import org.springblade.modules.system.excel.UserImporters;
+import org.springblade.modules.system.service.IRoleService;
import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.system.vo.UserRegisterStatisVO;
import org.springblade.modules.system.vo.UserVO;
import org.springblade.modules.system.vo.UsersVo;
import org.springblade.modules.system.wrapper.UserWrapper;
+import org.springblade.modules.taskqd.vo.TaskqdVO;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
@@ -57,10 +69,8 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE;
@@ -77,6 +87,8 @@
public class UserController {
private final IUserService userService;
+
+ private final IRoleService roleService;
static BASE64Encoder encoder = new BASE64Encoder();
@@ -340,18 +352,40 @@
}
/**
+ * 导入用户(保安员)
+ */
+ @PostMapping("import-users")
+ @ApiOperation(value = "导入用户", notes = "传入excel")
+ public R importUsers(MultipartFile file, Integer isCovered) {
+ UserImporters userImporter = new UserImporters(userService, isCovered == 1);
+ ExcelUtil.save(file, userImporter, UserExcels.class);
+ return R.success("操作成功");
+ }
+
+ /**
* 导出用户
*/
@GetMapping("export-user")
@ApiOperationSupport(order = 13)
@ApiOperation(value = "导出用户", notes = "传入user")
- public void exportUser(@ApiIgnore @RequestParam Map<String, Object> user, BladeUser bladeUser, HttpServletResponse response) {
- QueryWrapper<User> queryWrapper = Condition.getQueryWrapper(user, User.class);
- if (!AuthUtil.isAdministrator()) {
- queryWrapper.lambda().eq(User::getTenantId, bladeUser.getTenantId());
+ public void exportUser(@ApiIgnore @RequestParam Map<String, String> user, BladeUser bladeUser, HttpServletResponse response) {
+// QueryWrapper<User> queryWrapper = Condition.getQueryWrapper(user, User.class);
+ User users = new User();
+ if (user.get("realName")!=null&&!user.get("realName").equals("")){
+ users.setRealName(user.get("realName").trim());
}
- queryWrapper.lambda().eq(User::getIsDeleted, BladeConstant.DB_NOT_DELETED);
- List<UserExcel> list = userService.exportUser(queryWrapper);
+ if (user.get("jurisdiction")!=null&&!user.get("jurisdiction").equals("")){
+ users.setJurisdiction(user.get("jurisdiction").trim());
+ }
+ if (user.get("workjurisdiction")!=null&&!user.get("workjurisdiction").equals("")){
+ users.setWorkjurisdiction(user.get("workjurisdiction").trim());
+ }
+
+// if (!AuthUtil.isAdministrator()) {
+// queryWrapper.lambda().eq(User::getTenantId, bladeUser.getTenantId());
+// }
+// queryWrapper.lambda().eq(User::getIsDeleted, BladeConstant.DB_NOT_DELETED);
+ List<UserExcel> list = userService.exportUser(users);
ExcelUtil.export(response, "用户数据" + DateUtil.time(), "用户数据表", list, UserExcel.class);
}
@@ -468,4 +502,236 @@
public R getUserDistrictTypeCount() {
return R.data(userService.getUserDistrictTypeCount());
}
+
+ /**
+ * 保安员新增
+ */
+ @PostMapping("/securitySave")
+ @Transactional(rollbackFor = Exception.class)
+ public R securitySave(@Valid @RequestBody Map<String, Object> userMap) {
+ //获取user
+ User user = JSON.parseObject(JSON.toJSONString(userMap.get("user")), User.class);
+
+ //数据脱敏处理
+// user.setAccount(user.getRealName().substring(0,1)+user.getCardid().substring(user.getCardid().length()-4));
+// user.setCardid(DesensitizedUtil.desensitizedIdNumber(user.getCardid()));
+// user.setPhone(DesensitizedUtil.desensitizedPhoneNumber(user.getPhone()));
+// user.setName(DesensitizedUtil.desensitizedName(user.getName()));
+// user.setRealName(DesensitizedUtil.desensitizedName(user.getRealName()));
+
+
+ Integer userCount = userService.selectCount(user.getAccount());
+ if (userCount > 0 && Func.isEmpty(user.getId())) {
+ throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
+ }
+
+ //密码加密
+ if (Func.isNotEmpty(user.getPassword())) {
+ user.setPassword(DigestUtil.encrypt(user.getPassword()));
+ }
+ user.setTenantId("000000");
+ //用户新增
+ boolean status = userService.save(user);
+
+ //头像
+// if (null!=user.getAvatar() && !user.getAvatar().equals("")) {
+// user.setAvatar(FtpConfig.ip + user.getAvatar().substring(26));
+// }
+//
+// String s = "insert into blade_user(id,tenant_id,account,password,name,real_name,avatar,email,phone,sex,role_id,dept_id,cardid," +
+// "jurisdiction,examination_type,status,is_deleted) " +
+// "values(" + "'" + user.getId() + "'" + "," + "'" + user.getTenantId() + "'" + "," + "'" + user.getAccount() + "'" + "," +
+// "'" + user.getPassword() + "'" + "," + "'" + user.getName() + "'" + "," + "'" + user.getRealName() + "'" + "," + "'" + user.getAvatar() + "'" + "," +
+// "'" + user.getEmail() + "'" + "," + "'" + user.getPhone() + "'" + "," + "'" + user.getSex() + "'" + "," + "'" + user.getRoleId() + "'" +
+// "," + "'" + user.getDeptId() + "'" +
+// "," + "'" + user.getCardid() + "'" +
+// "," + "'" + user.getJurisdiction() + "'" +
+// "," + "'" + user.getExamination_type() + "'" +
+// "," + "'" + user.getStatus() + "'" +
+// "," + "'" + user.getIsDeleted() + "'" + ")";
+// System.out.println(s);
+// FtpUtil.sqlFileUpload(s);
+ return R.status(status);
+ }
+
+
+ /**
+ * 保安员新增(数据同步调用)
+ */
+ @PostMapping("/securitySaves")
+ @Transactional(rollbackFor = Exception.class)
+ public R securitySaves(@RequestBody User user) {
+// Integer userCount = userService.selectCount(user.getAccount());
+// //判断用户是否存在
+// if (userCount > 0) {
+// throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
+// }
+ user.setRoleId("1495714343888039937");
+ user.setDeptId("1424615972718895106");
+ user.setStype("1");
+ user.setId(null);
+ //用户新增
+ boolean status = userService.save(user);
+ //返回
+ return R.status(status);
+ }
+
+ /**
+ * 保安员修改(数据同步调用)
+ */
+ @PostMapping("/updateBySecurtiy")
+ @Transactional(rollbackFor = Exception.class)
+ public R updateBySecurtiy(@RequestBody User user) {
+ User user1 = new User();
+ user1.setIsDeleted(0);
+ user1.setStatus(1);
+// user1.setCardid(user.getCardid());
+ user1.setSecurityId(user.getSecurityId());
+ User one = userService.getOne(Condition.getQueryWrapper(user1));
+ boolean status = false;
+ if (null!=one){
+ one.setRealName(user.getRealName());
+ one.setAvatar(user.getAvatar());
+ one.setPhone(user.getPhone());
+ one.setExamination_type(user.getExamination_type());
+ one.setStatus(user.getStatus());
+ one.setUpdateTime(new Date());
+ //修改
+ status = userService.updateById(one);
+ }
+ //返回
+ return R.status(status);
+ }
+
+ /**
+ * 保安员信息修改(账号,身份证,密码 修改)
+ */
+ @PostMapping("/updateUserByAccount")
+ @Transactional(rollbackFor = Exception.class)
+ public R updateUserByAccount(@RequestBody UserDTO user) {
+ User user1 = new User();
+ user1.setIsDeleted(0);
+ user1.setStatus(1);
+ user1.setSecurityId(user.getSecurityId());
+// user1.setCardid(user.getOldCardid());
+ User one = userService.getOne(Condition.getQueryWrapper(user1));
+ boolean status = false;
+ if (null!=one){
+ //修改
+ if (null!= user.getAccount()) {
+ one.setAccount(user.getAccount());
+ }
+ if (null!= user.getCardid()) {
+ one.setCardid(user.getCardid());
+ }
+ if (null!= user.getPassword()) {
+ one.setPassword(user.getPassword());
+ }
+ if (null!= user.getPhone()) {
+ one.setPhone(user.getPhone());
+ }
+ if (null!= user.getRealName()) {
+ one.setRealName(user.getRealName());
+ }
+ one.setUpdateTime(new Date());
+ //用户修改
+ status = userService.updateById(one);
+ }else {
+ User user2 = new User();
+ //如果没有,则插入一条
+ if (null!= user.getAccount()) {
+ user2.setAccount(user.getAccount());
+ }
+ if (null!= user.getCardid()) {
+ user2.setCardid(user.getCardid());
+ }
+ if (null!= user.getPassword()) {
+ user2.setPassword(user.getPassword());
+ }
+ if (null!= user.getPhone()) {
+ user2.setPhone(user.getPhone());
+ }
+ if (null!= user.getRealName()) {
+ user2.setRealName(user.getRealName());
+ }
+ if (null!= user.getSex()) {
+ user2.setSex(user.getSex());
+ }
+ user2.setStatus(1);
+ user2.setIsDeleted(0);
+ user2.setRoleId("1495714343888039937");
+ user2.setDeptId("1424615972718895106");
+ user2.setStype("1");
+ user2.setTenantId("000000");
+ user2.setCreateTime(new Date());
+ user2.setUpdateTime(new Date());
+ user2.setSecurityId(user.getSecurityId());
+ user2.setId(null);
+ //新增
+ status = userService.save(user2);
+ }
+ //返回
+ return R.status(status);
+ }
+
+ /**
+ * 同步删除
+ */
+ @PostMapping("/removeSecurity")
+ @Transactional(rollbackFor = Exception.class)
+ public R removeSecurity(@RequestBody User user) {
+ System.out.println("保安员开始删除 = " + user);
+ User user1 = new User();
+ user1.setIsDeleted(0);
+ user1.setStatus(1);
+ user1.setSecurityId(user.getId().toString());
+// user1.setCardid(user.getCardid());
+ User one = userService.getOne(Condition.getQueryWrapper(user1));
+ boolean status = false;
+ if (null!=one){
+ System.out.println("查询到保安员 = " + one);
+ //用户修改
+ status = userService.removeById(one.getId());
+ System.out.println("保安员删除状态: = " + status);
+ }
+ //返回
+ return R.status(status);
+ }
+
+ /**
+ * 人员统计
+ */
+ @GetMapping("/userCount")
+ public R cancelTask(String xid,String index) {
+ List<UserRegisterStatisVO> cout = userService.getUserTypeCountXq(xid);
+ List<UserVO> list = userService.getUserTypeList(xid,index);
+ Map<String,Object> res = new HashMap<>();
+ res.put("cout",cout);
+ res.put("list",list);
+ return R.data(res);
+ }
+
+ /**
+ * 首次登录发送祝贺信
+ */
+ @GetMapping("/firstLogin")
+ public R firstLogin(String id) {
+ return R.status(userService.firstLogin(id));
+ }
+
+
+ /**
+ * 清除无效编号
+ */
+ @GetMapping("/clearPaper")
+ public void clearPaper() {
+ //修改符合条件的用户信息
+ String s0 ="update blade_user set securitynumber = '',hold = '2' where securitynumber like concat('%','赣洪2022','%') and right(securitynumber,5) >2000";
+ FtpUtil.sqlFileClear(s0);
+
+ //修改符合条件的编号信息
+ String s1 ="delete from sys_security_paper where number like concat('%','赣洪2022','%') and right(number,5) >2000";
+ FtpUtil.sqlFileClear(s1);
+ }
}
+
--
Gitblit v1.9.3