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 | 368 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 342 insertions(+), 26 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 3343502..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;
@@ -78,13 +88,15 @@
private final IUserService userService;
+ private final IRoleService roleService;
+
static BASE64Encoder encoder = new BASE64Encoder();
- private final String sm4Key = "bf679652628841dc8f35f84989abf350";
+ private final String sm4Key = "cd888d57e21a4ffc9be7ed601ab3ccd6";
- private final String clientCode = "909BCF57904BDBD3E053AF0A020A3760";
+ private final String clientCode = "369947";
- private final String url = "http://eid.gongqing.gov.cn/uias-test/fca/verifyFace";
+ private final String url = "http://218.87.21.104:59944/uias/verifyFace";
@PostMapping("/faceCompare")
public R upload(@RequestParam("name")String name,@RequestParam("idCardNo")String idCardNo,@RequestParam("file") MultipartFile file){
@@ -178,6 +190,23 @@
IPage<User> pages = userService.selectUserPages(Condition.getPage(query), user, deptId);
return R.data(UserWrapper.build().pageVO(pages));
}
+
+ /**
+ * 自定义用户列表(带坐标)
+ */
+ @GetMapping("/pagetxl")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "account", value = "账号名", paramType = "query", dataType = "string"),
+ @ApiImplicitParam(name = "realName", value = "姓名", paramType = "query", dataType = "string")
+ })
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "列表", notes = "传入account和realName")
+ //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+ public R<IPage<UserVO>> pagetxl(@ApiIgnore User user, Query query, String deptId, BladeUser bladeUser) {
+ IPage<User> pages = userService.selectUserPagetxl(Condition.getPage(query), user, deptId);
+ return R.data(UserWrapper.build().pageVO(pages));
+ }
+
/**
* 新增或修改
*/
@@ -187,6 +216,15 @@
//@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
public R submit(@Valid @RequestBody User user) {
CacheUtil.clear(USER_CACHE);
+
+ if (user.getExamination_type() == null || user.getExamination_type().equals("")){
+ user.setExamination_type("0");
+ }
+
+ if (user.getExamination_mx() == null || user.getExamination_mx().equals("")){
+ user.setExamination_mx("正常");
+ }
+
return R.status(userService.submit(user));
}
@@ -199,11 +237,12 @@
public R update(@Valid @RequestBody User user) {
CacheUtil.clear(USER_CACHE);
- if (user.getOnline_status() == null || user.getOnline_status().equals("")){
- user.setOnline_status("0");
+ if (user.getExamination_type() == null || user.getExamination_type().equals("")){
+ user.setExamination_type("0");
}
- if (user.getWork_status() == null || user.getWork_status().equals("")){
- user.setWork_status("0");
+
+ if (user.getExamination_mx() == null || user.getExamination_mx().equals("")){
+ user.setExamination_mx("正常");
}
return R.status(userService.updateUser(user));
@@ -267,12 +306,12 @@
@ApiOperation(value = "修改基本信息", notes = "传入User")
public R updateInfo(@Valid @RequestBody User user) {
CacheUtil.clear(USER_CACHE);
- if (null!= user.getAvatar() && user.getAvatar()!="") {
- String avatar = user.getAvatar();
- String substring = avatar.substring(25, avatar.length());
- String url = "https://web.byisf.com/minio" + substring;
- user.setAvatar(url);
- }
+// if (null!= user.getAvatar() && user.getAvatar()!="") {
+// String avatar = user.getAvatar();
+// String substring = avatar.substring(25, avatar.length());
+// String url = "https://web.byisf.com/minio" + substring;
+// user.setAvatar(url);
+// }
return R.status(userService.updateUserInfo(user));
}
@@ -313,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);
}
@@ -366,7 +427,7 @@
@ApiOperationSupport(order = 17)
@ApiOperation(value = "查看平台详情", notes = "传入id")
@GetMapping("/platform-detail")
- @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+ //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
public R<UserVO> platformDetail(User user) {
return R.data(userService.platformDetail(user));
}
@@ -416,6 +477,261 @@
return R.data(userService.selectUser());
}
+ /**
+ * 统计用户注册数据
+ * @return
+ */
+ @GetMapping("/getUserRegisterStatisticsData")
+ public R getUserRegisterStatisticsData() {
+ return R.data(userService.getUserRegisterStatisticsData());
+ }
+
+ /**
+ * 统计六大队伍
+ */
+ @GetMapping("/getUserTypeCount")
+ public R getUserTypeCount() {
+ return R.data(userService.getUserTypeCount());
+ }
+ /**
+ * 按行政区统计六大队伍
+ */
+ @GetMapping("/getUserDistrictTypeCount")
+ 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