From adcff04c70567f4b1e74ec2c8dcecbb5164f94ec Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Thu, 29 Sep 2022 09:43:35 +0800
Subject: [PATCH] 1、增加轮播图维护 2、修复队伍接口报错
---
src/main/java/org/springblade/modules/system/controller/UserController.java | 381 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 365 insertions(+), 16 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 7000c8c..3c41a72 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -17,16 +17,23 @@
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;
+import com.pinecone.utils.EncryptionUtils;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -37,24 +44,33 @@
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;
+import sun.misc.BASE64Encoder;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.*;
import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE;
@@ -71,6 +87,38 @@
public class UserController {
private final IUserService userService;
+
+ private final IRoleService roleService;
+
+ static BASE64Encoder encoder = new BASE64Encoder();
+
+ private final String sm4Key = "cd888d57e21a4ffc9be7ed601ab3ccd6";
+
+ private final String clientCode = "369947";
+
+ 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){
+ Map<String, Object> resultData = new HashMap<>();
+ try {
+ String encode = encoder.encode(file.getBytes());
+ JSONObject source = new JSONObject();
+ source.put("nameText",name);
+ source.put("numberText",idCardNo);
+ source.put("idPhoto",encode);
+ // 加密数据,请先引入外部jar到工程中
+ String encryptString = EncryptionUtils.encryptSM4(sm4Key,source.toString());
+ Map<String, Object> map = new HashMap<>(2);
+ map.put("clientCode",clientCode);
+ map.put("encryptString",encryptString);
+ String result= HttpUtil.postJson(url, new JSONObject(map).toJSONString());
+ resultData = (Map<String, Object>)JSONObject.parse(result);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return R.data(resultData);
+ }
/**
* 查询单条
@@ -142,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));
+ }
+
/**
* 新增或修改
*/
@@ -151,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));
}
@@ -163,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));
@@ -231,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));
}
@@ -273,6 +348,17 @@
public R importUser(MultipartFile file, Integer isCovered) {
UserImporter userImporter = new UserImporter(userService, isCovered == 1);
ExcelUtil.save(file, userImporter, UserExcel.class);
+ return R.success("操作成功");
+ }
+
+ /**
+ * 导入用户(保安员)
+ */
+ @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("操作成功");
}
@@ -330,7 +416,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));
}
@@ -374,4 +460,267 @@
User detail = userService.getOne(Condition.getQueryWrapper(user));
return R.data(UserWrapper.build().entityVO(detail));
}
+
+ @GetMapping("/selectUser")
+ public R selectUser() {
+ 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