From 4c19ddd36bdfb43b5ef4e8df3c9a98cd4d356d6c Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Thu, 26 May 2022 10:55:04 +0800
Subject: [PATCH] 1、资讯模糊匹配修改

---
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java |   99 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 98 insertions(+), 1 deletions(-)

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 c0aad74..6f1ba77 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
@@ -17,7 +17,6 @@
 package org.springblade.modules.system.service.impl;
 
 
-import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -44,11 +43,13 @@
 import org.springblade.modules.auth.enums.UserEnum;
 import org.springblade.modules.system.entity.*;
 import org.springblade.modules.system.excel.UserExcel;
+import org.springblade.modules.system.excel.UserExcels;
 import org.springblade.modules.system.mapper.UserMapper;
 import org.springblade.modules.system.service.IRoleService;
 import org.springblade.modules.system.service.IUserDeptService;
 import org.springblade.modules.system.service.IUserOauthService;
 import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.system.vo.UserDistrictStatisVO;
 import org.springblade.modules.system.vo.UserRegisterStatisVO;
 import org.springblade.modules.system.vo.UserVO;
 import org.springblade.modules.system.vo.UsersVo;
@@ -501,4 +502,100 @@
 	public List<UserRegisterStatisVO> getUserTypeCount() {
 		return baseMapper.getUserTypeCount();
 	}
+	@Override
+	public List<UserRegisterStatisVO> getUserTypeCountXq(String xid) {
+		return baseMapper.getUserTypeCountXq(xid);
+	}
+	@Override
+	public List<UserVO> getUserTypeList(String xid,String index) {
+		return baseMapper.getUserTypeList(xid,index);
+	}
+
+	@Override
+	public List<UserDistrictStatisVO> getUserDistrictTypeCount() {
+		return baseMapper.getUserDistrictTypeCount();
+	}
+
+	/**
+	 * 查询用户数据,未删除的,未审核的
+	 * @return
+	 */
+	@Override
+	public List<User> getNotAuditAllUserList() {
+		return baseMapper.getNotAuditAllUserList();
+	}
+
+	/**
+	 * 查询账号相同的用户数量
+	 *
+	 * @param account
+	 * @return
+	 */
+	@Override
+	public Integer selectCount(String account) {
+		return baseMapper.selectCountAccount(account);
+	}
+
+	@Override
+	public void updateAcc(String stype, String account) {
+		baseMapper.updateAcc(stype, account);
+	}
+	@Override
+	public boolean firstLogin(String id) {
+		return baseMapper.firstLogin(id);
+	}
+
+	@Override
+	public void delete(String account) {
+		baseMapper.delete(account);
+	}
+
+	/**
+	 * 用户导入(保安员导入)
+	 * @param data
+	 * @param isCovered
+	 */
+	@Override
+//	@Transactional(rollbackFor = Exception.class)
+	public void importUsers(List<UserExcels> data, Boolean isCovered) {
+		data.forEach(userExcel -> {
+			User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class));
+			// 设置租户ID
+			user.setTenantId("000000");
+			user.setRoleId("1495714343888039937");
+			user.setDeptId("1424615972718895106");
+			user.setStype("1");
+			user.setIsDeleted(0);
+			user.setStatus(1);
+			//查询身份证号是否有重复的,有的话只更新
+			User user1 = new User();
+			user1.setStatus(1);
+			user1.setIsDeleted(0);
+			user1.setSecurityId(userExcel.getSecurityId());
+			List<User> list = this.list(Condition.getQueryWrapper(user1));
+			if (list.size()>0){
+				//更新
+				user.setId(list.get(0).getId());
+				this.updateById(user);
+			}else {
+				String tenantId = user.getTenantId();
+				Tenant tenant = SysCache.getTenant(tenantId);
+				if (Func.isNotEmpty(tenant)) {
+					Integer accountNumber = tenant.getAccountNumber();
+					if (tenantProperties.getLicense()) {
+						String licenseKey = tenant.getLicenseKey();
+						String decrypt = DesUtil.decryptFormHex(licenseKey, TenantConstant.DES_KEY);
+						accountNumber = JsonUtil.parse(decrypt, Tenant.class).getAccountNumber();
+					}
+					Integer tenantCount = baseMapper.selectCount(Wrappers.<User>query().lambda().eq(User::getTenantId, tenantId));
+					if (accountNumber != null && accountNumber > 0 && accountNumber <= tenantCount) {
+						throw new ServiceException("当前租户已到最大账号额度!");
+					}
+				}
+				//新增
+				this.save(user);
+			}
+		});
+	}
+
 }

--
Gitblit v1.9.3