From cd00884c3db8fa6808b3b5949ab1a2b1459d6bdc Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期三, 11 六月 2025 10:36:55 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java | 68 +++++++++++++++++++++++++++++++++- 1 files changed, 66 insertions(+), 2 deletions(-) diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java index 1434c07..8d9799b 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java @@ -3,9 +3,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CacheConstant; import org.jeecg.common.constant.CommonConstant; @@ -26,6 +28,7 @@ import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.system.vo.MdcUserProVo; import org.jeecg.modules.system.vo.SysUserDepVo; +import org.jeecg.modules.system.vo.UserSelector; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; @@ -437,7 +440,7 @@ * @return */ @Override - public Result<?> checkUserIsEffective(SysUser sysUser) { + public Result<?> checkUserIsEffective(SysUser sysUser, String loginType) { Result<?> result = new Result<Object>(); //鎯呭喌1锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴蜂笉瀛樺湪 if (sysUser == null) { @@ -461,7 +464,7 @@ } //鎯呭喌4锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰瘑鐮佺郴棣栨浣跨敤锛岄渶淇敼瀵嗙爜 List<DictModel> dictList = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_USER_FIRST_LOGIN); - if (dictList != null && !dictList.isEmpty()) { + if (!"terminal".equals(loginType) && dictList != null && !dictList.isEmpty()) { if (CommonConstant.DEL_FLAG_1.equals(Integer.valueOf(dictList.get(0).getValue())) && CommonConstant.DEL_FLAG_1.equals(sysUser.getPasswordFlag())) { baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "绯婚娆$櫥褰曠郴缁燂紝璇烽噸缃瘑鐮侊紒", CommonConstant.LOG_TYPE_1, null); result.setCode(5001); @@ -742,4 +745,65 @@ public List<SysUser> getEquipmentAdmin(String roleCode, String equipmentId) { return this.baseMapper.getEquipmentAdmin(roleCode, equipmentId); } + + @Override + public List<UserSelector> selectOperatorList(String equipmentCode, String productionId, String positionCode) { + LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysUser::getPost, positionCode); + if(StringUtils.isNotBlank(equipmentCode)) { + queryWrapper.and(q -> q.isNull(SysUser::getEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEquipmentIds, equipmentCode)); + } + if(StringUtils.isNotBlank(productionId)) { + queryWrapper.exists("select 1 from mdc_user_production t where t.user_id=sys_user.id and t.pro_id={0}", productionId); + } + queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); + queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); + queryWrapper.orderByDesc(SysUser::getId); + List<SysUser> sysUsers = userMapper.selectList(queryWrapper); + List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); + return collect; + } + + @Override + public List<UserSelector> selectOperatorList(String positionCode) { + LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysUser::getPost, positionCode); + queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); + queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); + queryWrapper.orderByDesc(SysUser::getId); + List<SysUser> sysUsers = userMapper.selectList(queryWrapper); + List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); + return collect; + } + + /** + * 鏍规嵁鐢ㄦ埛鍚嶆壒閲忚幏鍙栫湡瀹炲鍚嶆槧灏� + * @param userNames 鐢ㄦ埛鍚嶅垪琛� + * @return 鐢ㄦ埛鍚�->鐪熷疄濮撳悕鐨勬槧灏勶紙涓嶅瓨鍦ㄦ椂鍊间负null锛� + */ + @Override + public Map<String, String> getUserRealNamesByUserNames(List<String> userNames) { + if (CollectionUtils.isEmpty(userNames)) { + return Collections.emptyMap(); + } + + // 鍘婚噸骞惰繃婊ょ┖鍊� + Set<String> uniqueNames = userNames.stream() + .filter(StringUtils::isNotBlank) + .collect(Collectors.toSet()); + if (uniqueNames.isEmpty()) { + return Collections.emptyMap(); + } + + // 鎵归噺鏌ヨ锛堣嚜鍔ㄥ鐞咺N璇彞鍒嗙墖锛� + List<SysUser> users = userMapper.selectUsersByNames(new ArrayList<>(uniqueNames)); + + // 鏋勫缓鏄犲皠鍏崇郴 + return users.stream() + .collect(Collectors.toMap( + SysUser::getUsername, + SysUser::getRealname, + (existing, replacement) -> existing // 閲嶅閿鐞� + )); + } } -- Gitblit v1.9.3