From 421ee711aa469f00eaff610cfa85ad1d4b755688 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期四, 19 十月 2023 08:49:25 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java | 49 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 34 insertions(+), 15 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java index bd7e58d..b22d722 100644 --- a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java @@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.system.cache.DictCache; +import com.vci.ubcs.system.cache.NacosConfigCache; import com.vci.ubcs.system.cache.ParamCache; import com.vci.ubcs.system.cache.SysCache; import com.vci.ubcs.system.entity.Strategy; @@ -52,14 +53,12 @@ import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.support.Kv; import org.springblade.core.tool.utils.*; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.DigestUtils; import java.util.*; import java.util.stream.Collectors; -import java.util.stream.Stream; import static com.vci.ubcs.common.constant.CommonConstant.DEFAULT_PARAM_PASSWORD; @@ -78,19 +77,16 @@ private final IUserOauthService userOauthService; private final ISysClient sysClient; private final BladeTenantProperties tenantProperties; - //鎷垮埌閰嶇疆鐨勮秴绠d - @Value("${user-info.id}") - private String adminUserId; - @Value("${user-info.tenant-id}") - private String tenantId; + //鎷垮埌閰嶇疆鐨勮秴绠� + private final NacosConfigCache nacosConfigCache; @Override @Transactional(rollbackFor = Exception.class) public boolean submit(User user) { if (StringUtil.isBlank(user.getTenantId())) { - // user.setTenantId(BladeConstant.ADMIN_TENANT_ID); + // user.setTenantId(nacosConfigCache.getAdminUserInfo().getTenantId()); // 榛樿璁剧疆涓虹鐞嗙粍涓嬬殑鐢ㄦ埛 - user.setTenantId(this.tenantId); + user.setTenantId(nacosConfigCache.getAdminUserInfo().getTenantId()); } String tenantId = user.getTenantId(); //Tenant tenant = SysCache.getTenant(tenantId); @@ -110,7 +106,7 @@ Boolean flag = true; for (User user : users){ if (StringUtil.isBlank(user.getTenantId())) { - user.setTenantId(BladeConstant.ADMIN_TENANT_ID); + user.setTenantId(nacosConfigCache.getAdminUserInfo().getTenantId()); } String tenantId = user.getTenantId(); if (Func.isNotEmpty(user.getPassword())) { @@ -170,9 +166,10 @@ @Override public List<User> selectAllUser(User user, Long deptId){ List<Long> deptIdList = SysCache.getDeptChildIds(deptId); - List<User> users = baseMapper.selectUserPage(user, deptIdList, (AuthUtil.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : AuthUtil.getTenantId())); + List<User> users = baseMapper.selectUserPage(user, deptIdList, (AuthUtil.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId()) ? StringPool.EMPTY : AuthUtil.getTenantId())); return users; } + @Override public List<User> selectAllUser(){ LambdaQueryWrapper<User> wrapper= Wrappers.lambdaQuery(); @@ -387,6 +384,7 @@ @Override @Transactional(rollbackFor = Exception.class) public void importUser(List<UserExcel> data, Boolean isCovered) { + ArrayList<User> addUsers = new ArrayList<>(); data.forEach(userExcel -> { User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class)); // 璁剧疆鐢ㄦ埛骞冲彴 @@ -414,8 +412,10 @@ // 鑾峰彇榛樿瀵嗙爜閰嶇疆 String initPassword = ParamCache.getValue(DEFAULT_PARAM_PASSWORD); user.setPassword(initPassword); - this.submit(user); + addUsers.add(user); + //this.submit(user); }); + this.submitList(addUsers); } @Override @@ -514,17 +514,21 @@ @Override public Long checkRenAndExpr(Long userId) { //瓒呯骇绠$悊鍛樼洿鎺ヨ繑鍥炰笉闇�瑕佹彁閱掑瘑鐮佷慨鏀� - if(adminUserId.equals(userId)){ + if(nacosConfigCache.getAdminUserInfo().getUserId().equals(userId)){ return 0L; } QueryWrapper<User> wrapper = Wrappers.<User>query().eq("ID", userId); + User dbUser = this.getOne(wrapper); //鑾峰彇鍒板瘑鐮佷慨鏀规椂闂� - Date pwdUpdateTime = this.getOne(wrapper).getPwdUpdateTime(); + Date pwdUpdateTime = Func.isNotEmpty(dbUser) ? dbUser.getPwdUpdateTime():new Date(); Long pwdupdateday = 0L; if(!Func.isEmpty(pwdUpdateTime)){ pwdupdateday = dateToDay(pwdUpdateTime); } Strategy strategy = sysClient.getByUserId(userId).getData(); + if(Func.isNotEmpty(strategy)){ + throw new ServiceException("瀵嗙爜绛栫暐鏌ヨ涓虹┖锛岃妫�鏌ュ綋鍓嶇鎴蜂笅鏄惁瀛樺湪榛樿瀵嗙爜绛栫暐锛�"); + } //鏄惁鎻愰啋閫氳繃鏈�鍚庝竴娆′慨鏀瑰瘑鐮佺殑鏃堕棿鍔犱笂杩囨湡鏃堕棿鍑忓幓褰撳墠鏃堕棿锛屽鏋滃皬浜庤繃鏈熸彁閱掓椂闂村氨杩涜鎻愰啋锛屽鏋�<=0灏辨彁閱掑繀椤讳慨鏀瑰瘑鐮� long reminder = pwdupdateday+strategy.getExpirationTime()-dateToDay(new Date()); //鎻愰啋鐢ㄦ埛蹇呴』淇敼瀵嗙爜 @@ -555,7 +559,7 @@ public List<Map<String,String>> getByRoleUserList(BladeUser user, String roleName) { // 鑰冭檻鍒颁竴涓敤鎴峰彲浠ユ嫢鏈夊绉嶈鑹叉潈闄愶紝鑰岀敤鎴峰叧鑱旇鑹叉潈闄愭槸鐢╮ole_id瀛楁鐢ㄩ�楀彿鍒嗛殧瑙掕壊id鐨勶紝鐩存帴閲囩敤瀛愭煡璇㈡潵in鏌ヨ涓嶈兘瀹炵幇锛屾墍浠ュ厛鏌ヨ瑙掕壊id R<String> roleIds = sysClient.getRoleIds(user.getTenantId(), roleName); - if(roleIds.getCode() != 200){ + if(!roleIds.isSuccess()){ throw new ServiceException("绯荤粺鏈嶅姟feign鎺ュ彛璋冪敤閿欒锛�"); } if(Func.isBlank(roleIds.getData())){ @@ -569,6 +573,21 @@ return list.stream().distinct().collect(Collectors.toList()); } + /*** + * 鏇存柊鐢ㄦ埛鍚敤鍋滅敤鐘舵�� + * @param userIds + * @param status + * @return + */ + @Override + public boolean updateUserStatus(String userIds, boolean status) { + Integer userStatus = 0; + if(!status){ + userStatus = 1; + } + return this.update(Wrappers.<User>lambdaUpdate().in(User::getId, Func.toLongList(userIds)).set(User::getUserStatus,userStatus)); + } + /** * 鏃ユ湡鏃堕棿鏍煎紡杞ぉ * @param date -- Gitblit v1.9.3