From d11ef02813f9e1676d4f08df302f52d5d7fea733 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期二, 21 三月 2023 10:08:15 +0800
Subject: [PATCH] bug修改
---
ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java | 144 +++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 130 insertions(+), 14 deletions(-)
diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
index 53c1bc8..d96a0ed 100644
--- a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
@@ -8,7 +8,9 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.bo.AdminUserDetails;
import com.ycl.dto.UmsAdminParam;
+import com.ycl.dto.user.UmsUserDto1;
import com.ycl.dto.UpdateAdminPasswordParam;
+import com.ycl.entity.depart.UmsDepart;
import com.ycl.entity.user.*;
import com.ycl.exception.ApiException;
import com.ycl.exception.Asserts;
@@ -42,9 +44,11 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.function.Consumer;
import java.util.stream.Collectors;
/**
@@ -98,11 +102,10 @@
@Transactional(rollbackFor = Exception.class)
public UmsAdmin register(UmsAdminParam umsAdminParam) {
UmsAdmin umsAdmin = new UmsAdmin();
- //TODO mac,ip,鑱屽姟锛岀敤鎴风被鍨�
BeanUtils.copyProperties(umsAdminParam, umsAdmin);
umsAdmin.setCreateTime(new Date());
umsAdmin.setStatus(1);
- umsAdmin.setMacAddress(MacUtils.getMac());
+// umsAdmin.setMacAddress(MacUtils.getMac());
//鏌ヨ鏄惁鏈夌浉鍚岀敤鎴峰悕鐨勭敤鎴�
QueryWrapper<UmsAdmin> wrapper = new QueryWrapper<>();
wrapper.lambda().eq(UmsAdmin::getUsername, umsAdmin.getUsername());
@@ -112,6 +115,64 @@
}
//灏嗗瘑鐮佽繘琛屽姞瀵嗘搷浣�
String encodePassword = passwordEncoder.encode(umsAdmin.getPassword());
+
+ if ( !umsAdmin.getPassword().matches("^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,16}$")) {
+ Asserts.fail("瀵嗙爜闀垮害8鍒�16浣嶄笖瀵嗙爜涓殑瀛楃蹇呴』鍖呭惈瀛楁瘝锛堝ぇ鍐欐垨鑰呭皬鍐欙級鍜屽繀椤诲寘鍚暟瀛楋紝涓嶈兘鍖呭惈绌烘牸");
+ }
+ if(umsAdmin.getUsername().equals(umsAdmin.getPassword())){
+ Asserts.fail("瀵嗙爜涓嶈兘鍜岀櫥褰曞悕瀹屽叏涓�鑷�");
+ }
+ umsAdmin.setPassword(encodePassword);
+ baseMapper.insert(umsAdmin);
+
+ //娣诲姞瑙掕壊鎺堟潈
+ List<Long> ids = umsAdminParam.getRoleIds();
+ if (!ids.isEmpty()) {
+ List<UmsAdminRoleRelation> roleIds = new ArrayList<>();
+ for (Long id : ids) {
+ UmsAdminRoleRelation urr = new UmsAdminRoleRelation();
+ urr.setAdminId(umsAdmin.getId());
+ urr.setRoleId(id);
+ roleIds.add(urr);
+ }
+ umsAdminRoleRelationService.saveBatch(roleIds);
+ }
+
+ //娣诲姞閮ㄩ棬
+ UmsDepartManage departManage = new UmsDepartManage();
+ departManage.setUserId(umsAdmin.getId());
+ departManage.setDepartId(umsAdminParam.getDepartmentId());
+ departManage.setCreateTime(new Date());
+ departManage.setUpdateTime(new Date());
+ umsDepartManageMapper.insert(departManage);
+
+ baseMapper.updateById(umsAdmin);
+ return umsAdmin;
+ }
+
+ @Override
+ public void importExcl(UmsAdminParam umsAdminParam) {
+ UmsAdmin umsAdmin = new UmsAdmin();
+ BeanUtils.copyProperties(umsAdminParam, umsAdmin);
+ umsAdmin.setCreateTime(new Date());
+ umsAdmin.setStatus(1);
+ umsAdmin.setMacAddress(MacUtils.getMac());
+ //鏌ヨ鏄惁鏈夌浉鍚岀敤鎴峰悕鐨勭敤鎴�
+ QueryWrapper<UmsAdmin> wrapper = new QueryWrapper<>();
+ wrapper.lambda().eq(UmsAdmin::getUsername, umsAdmin.getUsername());
+ List<UmsAdmin> umsAdminList = list(wrapper);
+ if (umsAdminList.size() > 0) {
+ throw new RuntimeException("鐢ㄦ埛宸插瓨鍦�");
+ }
+ //灏嗗瘑鐮佽繘琛屽姞瀵嗘搷浣�
+ String encodePassword = passwordEncoder.encode(umsAdmin.getPassword());
+
+ if ( !umsAdmin.getPassword().matches("^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,16}$")) {
+ Asserts.fail("瀵嗙爜闀垮害8鍒�16浣嶄笖瀵嗙爜涓殑瀛楃蹇呴』鍖呭惈瀛楁瘝锛堝ぇ鍐欐垨鑰呭皬鍐欙級鍜屽繀椤诲寘鍚暟瀛楋紝涓嶈兘鍖呭惈绌烘牸");
+ }
+ if(umsAdmin.getUsername().equals(umsAdmin.getPassword())){
+ Asserts.fail("瀵嗙爜涓嶈兘鍜岀櫥褰曞悕瀹屽叏涓�鑷�");
+ }
umsAdmin.setPassword(encodePassword);
baseMapper.insert(umsAdmin);
@@ -137,7 +198,7 @@
}
umsRoleMenuRelations
.stream()
- .map(item->item.getMenuId())
+ .map(item -> item.getMenuId())
.collect(Collectors.toList())
.stream()
.distinct()
@@ -161,7 +222,6 @@
umsDepartManageMapper.insert(departManage);
baseMapper.updateById(umsAdmin);
- return umsAdmin;
}
@Override
@@ -297,16 +357,20 @@
return umsMenuList;
}
umsMenuList = umsMenuMapper.getMenuList(adminId);
- getCacheService().setResourceList(adminId, umsMenuList);
+ getCacheService().setResourceList(adminId, umsMenuList);
return umsMenuList;
}
@Override
public int updatePassword(UpdateAdminPasswordParam param) {
- if (StrUtil.isEmpty(param.getUsername())
- || StrUtil.isEmpty(param.getOldPassword())
- || StrUtil.isEmpty(param.getNewPassword())) {
+ if (StrUtil.isNotEmpty(param.getUsername())
+ && StrUtil.isNotEmpty(param.getOldPassword())
+ && StrUtil.isNotEmpty(param.getNewPassword())
+ && !param.getNewPassword().matches("^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,16}$")) {
return -1;
+ }
+ if(param.getUsername().equals(param.getNewPassword())){
+ return -4;
}
QueryWrapper<UmsAdmin> wrapper = new QueryWrapper<>();
wrapper.lambda().eq(UmsAdmin::getUsername, param.getUsername());
@@ -359,18 +423,68 @@
queryWrapper.eq(UmsAdmin::getUserType, pageUserVO.getUserType());
}*/
UmsAdmin umsAdmin = new UmsAdmin();
- if (pageUserVO.getUserType()!=null) {
- umsAdmin.setUserType(pageUserVO.getUserType());
+ if (pageUserVO.getUserType() != null) {
+ umsAdmin.setUserType(pageUserVO.getUserType());
}
- if (pageUserVO.getKeyword()!=null&&!("".equals(pageUserVO.getKeyword()))) {
- umsAdmin.setKeyword(pageUserVO.getKeyword());
+ if (pageUserVO.getKeyword() != null && !("".equals(pageUserVO.getKeyword()))) {
+ umsAdmin.setKeyword(pageUserVO.getKeyword());
}
- if (pageUserVO.getJobTitle()!=null&&!("".equals(pageUserVO.getJobTitle()))) {
+ if (pageUserVO.getJobTitle() != null && !("".equals(pageUserVO.getJobTitle()))) {
umsAdmin.setJobTitle(pageUserVO.getJobTitle());
}
- Page<UmsAdmin> page1 = baseMapper.selectCondPage(page,umsAdmin);
+ Page<UmsAdmin> page1 = baseMapper.selectCondPage(page, umsAdmin);
return page1;
+ }
+
+ @Override
+ public List<UmsUserDto1> userExp() {
+ List<UmsAdmin> umsAdmins = baseMapper.selectToExp();
+ List<UmsUserDto1> res = umsAdmins.stream()
+ .map(item -> {
+ UmsUserDto1 res1 = new UmsUserDto1();
+ res1.setId(item.getId());
+ res1.setUsername(item.getUsername());
+ res1.setNickName(item.getNickName());
+ res1.setMobile(item.getMobile());
+ StringBuffer roleStrBuffer = new StringBuffer();
+ List<UmsRole> roles = item.getRoles();
+ roles.forEach(new Consumer<UmsRole>() {
+ @Override
+ public void accept(UmsRole o) {
+ roleStrBuffer.append(o.getName());
+ roleStrBuffer.append(",");
+ }
+ });
+ roleStrBuffer.deleteCharAt(roleStrBuffer.length()-1);
+ res1.setRoles(roleStrBuffer.toString());
+ StringBuffer departStrBuffer = new StringBuffer();
+ List<UmsDepart> departs = item.getDepart();
+ departs.forEach(new Consumer<UmsDepart>() {
+ @Override
+ public void accept(UmsDepart o) {
+ departStrBuffer.append(o.getDepartName());
+ departStrBuffer.append(",");
+ }
+ });
+ departStrBuffer.deleteCharAt(departStrBuffer.length()-1);
+ res1.setDepart(departStrBuffer.toString());
+ res1.setJobTitle(item.getJobTitle());
+ Date createTime = item.getCreateTime();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ if (createTime != null){
+ res1.setCreateTime(sdf.format(createTime));
+ }
+
+ Integer status = item.getStatus();
+ if (status.equals(1)){
+ res1.setStatus("鍚敤");
+ }else {
+ res1.setStatus("绂佺敤");
+ }
+ return res1;
+ }).collect(Collectors.toList());
+ return res;
}
@Override
@@ -422,4 +536,6 @@
}
return str;
}
+
+
}
--
Gitblit v1.8.0