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 |  235 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 224 insertions(+), 11 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 e3f78b2..00cb5a1 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -30,6 +30,7 @@
 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;
@@ -45,15 +46,20 @@
 import org.springblade.core.tool.constant.RoleConstant;
 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;
@@ -64,10 +70,7 @@
 import javax.validation.Valid;
 import java.io.IOException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE;
 
@@ -349,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);
 	}
 
@@ -487,6 +512,14 @@
 		//获取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()));
@@ -520,5 +553,185 @@
 //		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