From 7d581f0f8c74beb999b4482bf2bbdc59e4d5846d Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 11 May 2022 10:36:38 +0800
Subject: [PATCH] 保安员,用户新增,保安员查询姓名修改,账号修改为姓+身份证号码后4位
---
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml | 57 +++++++++++
src/main/java/org/springblade/modules/FTP/DataHandler.java | 1
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml | 6
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java | 11 +
src/main/java/org/springblade/common/utils/DesensitizedUtil.java | 5 +
src/main/java/org/springblade/modules/system/controller/UserController.java | 209 +++++++++++++++++++++++++++++++++++------
6 files changed, 251 insertions(+), 38 deletions(-)
diff --git a/src/main/java/org/springblade/common/utils/DesensitizedUtil.java b/src/main/java/org/springblade/common/utils/DesensitizedUtil.java
index 7f74717..382b143 100644
--- a/src/main/java/org/springblade/common/utils/DesensitizedUtil.java
+++ b/src/main/java/org/springblade/common/utils/DesensitizedUtil.java
@@ -123,6 +123,11 @@
System.out.println("map = " + map);
Object o = map.get(a);
System.out.println("o = " + o);
+
+ String names = "张三";
+ System.out.println("names = " + names.substring(0,1));
+ String cardid ="360728199205120012";
+ System.out.println("cardid.substring(cardid.length()-4) = " + cardid.substring(cardid.length() - 4));
}
diff --git a/src/main/java/org/springblade/modules/FTP/DataHandler.java b/src/main/java/org/springblade/modules/FTP/DataHandler.java
index fba408d..06ebd4b 100644
--- a/src/main/java/org/springblade/modules/FTP/DataHandler.java
+++ b/src/main/java/org/springblade/modules/FTP/DataHandler.java
@@ -188,6 +188,7 @@
//返回的user,需处理敏感数据
User user1 = Objects.requireNonNull(BeanUtil.copy(user,User.class));
//敏感数据处理
+ user1.setRealName(DesensitizedUtil.desensitizedName(user.getRealName()));
user1.setCardid(DesensitizedUtil.desensitizedIdNumberBy4(user.getCardid()));
user1.setPhone(DesensitizedUtil.desensitizedPhoneNumber(user.getPhone()));
user1.setRegistered(DesensitizedUtil.desensitizedAddress(user.getRegistered()));
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 1b7e304..e62ded0 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -229,20 +229,37 @@
//@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
public R submit(@Valid @RequestBody User user) {
if (null == user.getId()) {
- //新增
- //密码加密
- if (Func.isNotEmpty(user.getPassword())) {
- user.setPassword(DigestUtil.encrypt(user.getPassword()));
- }
Integer userCount = userService.selectCountAccount(user.getAccount());
if (userCount > 0) {
throw new org.springblade.core.log.exception.ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
}
+ //判断角色
+ if(user.getRoleId().equals("1412226235153731586")){
+ //如果是保安员,默认为无证
+ user.setHold("2");
+ }
user.setTenantId("000000");
+ user.setDispatch("1");
+ //待审查
+ user.setExaminationType("2");
+// String realName = user.getRealName();
+// String cardid = user.getCardid();
+//// user.setAccount(user.getRealName());
+// user.setAccount(realName.substring(0,1)+cardid.substring(cardid.length()-4));
+ //默认在职
user.setStatus(1);
user.setIsDeleted(0);
user.setCreateTime(new Date());
user.setUpdateTime(new Date());
+
+ //密码加密
+ if (Func.isNotEmpty(user.getCardid())) {
+ //取身份证号码后6位作为密码
+ user.setPassword(DigestUtil.encrypt(user.getCardid().substring(user.getCardid().length() - 6)));
+ }
+ user.setCreateTime(new Date());
+ user.setTenantId("000000");
+
//判断是否为民警 code
if (null != user.getCode() && !user.getCode().equals("")) {
//民警
@@ -254,32 +271,72 @@
Jurisdiction one = jurisdictionService.getOne(Condition.getQueryWrapper(jurisdiction));
user.setJurisdiction(one.getId().toString());
}
- //新增
- boolean stats = userService.save(user);
- if (stats) {
- //内网同步
- String s = "insert into blade_user(" +
- "id,tenant_id,code,account,password,real_name,phone,sex,role_id,dept_id," +
- "create_time,update_time,cardid,status,is_deleted,jurisdiction) " +
- "values(" + "'" + user.getId() + "'" + "," +
- "'" + user.getTenantId() + "'" + "," +
- "'" + user.getCode() + "'" + "," +
- "'" + user.getAccount() + "'" + "," +
- "'" + user.getPassword() + "'" + "," +
- "'" + user.getRealName() + "'" + "," +
- "'" + user.getPhone() + "'" + "," +
- "'" + user.getSex() + "'" + "," +
- "'" + user.getRoleId() + "'" +
- "," + "'" + user.getDeptId() + "'" +
- "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getCreateTime()) + "'" +
- "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'" +
- "," + "'" + user.getCardid() + "'" +
- "," + "'" + user.getStatus() + "'" +
- "," + "'" + user.getIsDeleted() + "'" +
- "," + "'" + user.getJurisdiction() + "'"
- + ")";
- myAsyncService.FTP(s);
+ //用户新增
+// boolean status = userService.save(user);
+
+
+ User user1 = Objects.requireNonNull(BeanUtil.copy(user,User.class));
+
+ //生成随机数
+ String uuid = UUID.randomUUID().toString();
+ //将 user 存入 redis
+ redisTemplate.opsForValue().set(uuid,JSON.toJSONString(user));
+ //user1 临时设置uuid 到 reason_for_leav 离职原因字段
+ user1.setReasonForLeav(uuid);
+
+ //数据推送
+ Map<String, Object> map = new HashMap<>(1);
+ map.put("user",user1);
+ myAsyncService.FTPObject(map);
+
+ int count = 0;
+ int flag = 1;
+ Result result = new Result();
+ //调用ftp获取返回数据
+ while (true){
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ //调用ftp获取返回数据
+ result = Monitor.isFTPFileExist(uuid);
+ //如果返回true,就退处
+ if (result.getCode()==200){
+ flag = 1;
+ break;
+ }else if (result.getCode()==201){
+ flag = 2;
+ break;
+ }else if (result.getCode()==202){
+ flag = 3;
+ break;
+ }else if (result.getCode()==203){
+ flag = 4;
+ break;
+ }else{
+ //计数
+ count++;
+ //如果超过10s 没有读取到,则退出
+ if (count == 30) {
+ break;
+ }
+ }
}
+ if (flag==1 || flag==2) {
+ //返回
+ return R.data(200, null, "新增成功!");
+ }else if (flag==3){
+ throw new ServiceException(result.getMsg());
+ }else if (flag==4){
+// return R.data(201, null, "保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
+ return R.data(201, null, "保安证编号不匹配,请核实!");
+ }else{
+ //返回
+ return R.data(400, null, "新增失败!");
+ }
+
+
} else {
//修改
User user1 = userService.getById(user.getId());
@@ -306,6 +363,93 @@
//返回
return R.success("成功");
}
+
+ /**
+// * 新增或修改
+// */
+// @PostMapping("/submit")
+// @ApiOperationSupport(order = 4)
+// @ApiOperation(value = "新增或修改", notes = "传入User")
+// //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+// public R submit(@Valid @RequestBody User user) {
+// if (null == user.getId()) {
+// //新增
+// //密码加密
+// if (Func.isNotEmpty(user.getPassword())) {
+// user.setPassword(DigestUtil.encrypt(user.getPassword()));
+// }
+// Integer userCount = userService.selectCountAccount(user.getAccount());
+// if (userCount > 0) {
+// throw new org.springblade.core.log.exception.ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
+// }
+// user.setTenantId("000000");
+// user.setStatus(1);
+// user.setIsDeleted(0);
+// user.setCreateTime(new Date());
+// user.setUpdateTime(new Date());
+// //判断是否为民警 code
+// if (null != user.getCode() && !user.getCode().equals("")) {
+// //民警
+// //根据 deptId 查询dept信息,公安管理员
+// Dept dept = iDeptService.getById(user.getDeptId());
+// //获取辖区的数据
+// Jurisdiction jurisdiction = new Jurisdiction();
+// jurisdiction.setDeptName(dept.getDeptName());
+// Jurisdiction one = jurisdictionService.getOne(Condition.getQueryWrapper(jurisdiction));
+// user.setJurisdiction(one.getId().toString());
+// }
+// //新增
+// boolean stats = userService.save(user);
+// if (stats) {
+// //内网同步
+// String s = "insert into blade_user(" +
+// "id,tenant_id,code,account,password,real_name,phone,sex,role_id,dept_id," +
+// "create_time,update_time,cardid,status,is_deleted,jurisdiction) " +
+// "values(" + "'" + user.getId() + "'" + "," +
+// "'" + user.getTenantId() + "'" + "," +
+// "'" + user.getCode() + "'" + "," +
+// "'" + user.getAccount() + "'" + "," +
+// "'" + user.getPassword() + "'" + "," +
+// "'" + user.getRealName() + "'" + "," +
+// "'" + user.getPhone() + "'" + "," +
+// "'" + user.getSex() + "'" + "," +
+// "'" + user.getRoleId() + "'" +
+// "," + "'" + user.getDeptId() + "'" +
+// "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getCreateTime()) + "'" +
+// "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'" +
+// "," + "'" + user.getCardid() + "'" +
+// "," + "'" + user.getStatus() + "'" +
+// "," + "'" + user.getIsDeleted() + "'" +
+// "," + "'" + user.getJurisdiction() + "'"
+// + ")";
+// myAsyncService.FTP(s);
+// }
+// } else {
+// //修改
+// User user1 = userService.getById(user.getId());
+// user.setPassword(user1.getPassword());
+// user.setUpdateTime(new Date());
+// boolean b = userService.updateById(user);
+// if (b) {
+// String s1 =
+// "update blade_user set account = " + "'" + user.getAccount() + "'"
+// + ",code = " + "'" + user.getCode() + "'"
+// + ",real_name = " + "'" + user.getRealName() + "'"
+// + ",phone = " + "'" + user.getPhone() + "'"
+// + ",sex = " + "'" + user.getSex() + "'"
+// + ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'"
+// + ",role_id = " + "'" + user.getRoleId() + "'"
+// + ",dept_id = " + "'" + user.getDeptId() + "'"
+// + ",cardid = " + "'" + user.getCardid() + "'"
+// + ",guncode = " + "'" + user.getGuncode() + "'"
+// + " " + "where id = " + "'" + user.getId() + "'";
+// myAsyncService.FTP(s1);
+// }
+// }
+//
+// //返回
+// return R.success("成功");
+// }
/**
* 修改
@@ -1427,7 +1571,10 @@
user.setDispatch("1");
//待审查
user.setExaminationType("2");
- user.setAccount(user.getRealName());
+ String realName = user.getRealName();
+ String cardid = user.getCardid();
+// user.setAccount(user.getRealName());
+ user.setAccount(realName.substring(0,1)+cardid.substring(cardid.length()-4));
user.setStatus(1);
//密码加密
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
index 40f24f0..163405d 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -486,7 +486,7 @@
(select
bu.id,
bu.dept_id parentId,
- bu.real_name AS title,
+ bu.account AS title,
bu.id AS "value",
bu.id AS "key",
0 as "has_children"
@@ -552,7 +552,7 @@
(select
bu.id,
bu.dept_id parentId,
- bu.real_name AS title,
+ bu.account AS title,
bu.id AS "value",
bu.id AS "key",
0 as "has_children"
@@ -608,7 +608,7 @@
(select
bu.id,
bu.dept_id parentId,
- bu.real_name AS title,
+ bu.account AS title,
bu.id AS "value",
bu.id AS "key",
0 as "has_children"
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index 176b471..eeabaa2 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -572,7 +572,7 @@
ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
bu.is_apply isApply,
bu.is_train isTrain,
- bu.real_name as name,
+ bu.account as name,
#{user.deptId} parentId
from
blade_user bu
@@ -601,6 +601,59 @@
</if>
)
</select>
+
+ <!--保安员列表树 安员列表树,帅选无保安证,下拉tree-->
+<!-- <select id="getSecurityApplyTree" resultType="org.springblade.modules.system.node.TreeNode">-->
+<!-- (-->
+<!-- select #{user.deptId} as id,-->
+<!-- '全部' as name,-->
+<!-- 0 as parentId-->
+<!-- from blade_user limit 1-->
+<!-- )-->
+
+<!-- union all-->
+
+<!-- (-->
+<!-- select-->
+<!-- a.id,-->
+<!-- a.name,-->
+<!-- a.parentId-->
+<!-- from (-->
+<!-- select-->
+<!-- distinct-->
+<!-- bu.id,-->
+<!-- ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,-->
+<!-- bu.is_apply isApply,-->
+<!-- bu.is_train isTrain,-->
+<!-- bu.real_name as name,-->
+<!-- #{user.deptId} parentId-->
+<!-- from-->
+<!-- blade_user bu-->
+<!-- left join-->
+<!-- blade_dept bd-->
+<!-- on-->
+<!-- bu.dept_id = bd.id-->
+<!-- left join-->
+<!-- blade_role br-->
+<!-- on-->
+<!-- br.id = bu.role_id-->
+<!-- where-->
+<!-- bu.is_deleted = 0-->
+<!-- and bu.status = 1-->
+<!-- and ((bu.examination_type != 1 and bu.examination_type != 2) or bu.examination_type is null)-->
+<!-- and (hold = 2 or hold = 3)-->
+<!-- and bd.id = #{user.deptId}-->
+<!-- and br.role_alias = '保安'-->
+<!-- ) a-->
+<!-- where 1 = 1-->
+<!-- <if test="user.examType==1">-->
+<!-- and a.isApply != 1-->
+<!-- </if>-->
+<!-- <if test="user.examType==2">-->
+<!-- and a.isTrain != 1-->
+<!-- </if>-->
+<!-- )-->
+<!-- </select>-->
<select id="selectInr" resultType="java.util.HashMap">
@@ -847,7 +900,7 @@
select
distinct
bu.id,
- bu.real_name as name,
+ bu.account as name,
#{user.deptId} parentId
from
blade_user bu
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index 730a856..e6bf922 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -1339,7 +1339,10 @@
}
//设置账号
- user.setAccount(user.getRealName());
+ String realName = user.getRealName();
+ String cardid = user.getCardid();
+// user.setAccount(user.getRealName());
+ user.setAccount(realName.substring(0,1)+cardid.substring(cardid.length()-4));
//加密
user.setPassword(DigestUtil.encrypt(user.getCardid().substring(user.getCardid().length() - 6)));
user.setCreateTime(new Date());
@@ -1477,6 +1480,7 @@
//返回的user,需处理敏感数据
User user1 = Objects.requireNonNull(BeanUtil.copy(user,User.class));
//敏感数据处理
+ user1.setRealName(DesensitizedUtil.desensitizedName(user.getRealName()));
user1.setCardid(DesensitizedUtil.desensitizedIdNumberBy4(user.getCardid()));
user1.setPhone(DesensitizedUtil.desensitizedPhoneNumber(user.getPhone()));
user1.setRegistered(DesensitizedUtil.desensitizedAddress(user.getRegistered()));
@@ -1592,7 +1596,10 @@
}
//设置账号
- user.setAccount(user.getRealName());
+ String realName = user.getRealName();
+ String cardid = user.getCardid();
+// user.setAccount(user.getRealName());
+ user.setAccount(realName.substring(0,1)+cardid.substring(cardid.length()-4));
//加密
user.setPassword(DigestUtil.encrypt(user.getCardid().substring(user.getCardid().length() - 6)));
user.setCreateTime(new Date());
--
Gitblit v1.9.3