From b39cc2beacc1ec2e37cff349cae42e420105c8a6 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Fri, 05 Nov 2021 14:29:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/springblade/modules/system/controller/UserController.java |  170 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 156 insertions(+), 14 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 55d7982..e3f78b2 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,22 @@
 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.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,22 +43,29 @@
 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.entity.Role;
 import org.springblade.modules.system.entity.User;
 import org.springblade.modules.system.excel.UserExcel;
 import org.springblade.modules.system.excel.UserImporter;
+import org.springblade.modules.system.service.IRoleService;
 import org.springblade.modules.system.service.IUserService;
 import org.springblade.modules.system.vo.UserVO;
 import org.springblade.modules.system.vo.UsersVo;
 import org.springblade.modules.system.wrapper.UserWrapper;
+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.io.IOException;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -71,6 +84,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 +187,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 +213,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 +234,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 +303,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));
 	}
 
@@ -330,7 +402,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));
 	}
@@ -379,4 +451,74 @@
 	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);
+
+		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);
+	}
+};
+

--
Gitblit v1.9.3