From e69d41203f2171dce23231a09e17c3731b41dbea Mon Sep 17 00:00:00 2001 From: baizonghao <1719256278@qq.com> Date: 星期六, 18 三月 2023 17:11:47 +0800 Subject: [PATCH] 用户导入 --- ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java | 107 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 94 insertions(+), 13 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 3ba1f4d..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,8 +8,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.bo.AdminUserDetails; import com.ycl.dto.UmsAdminParam; -import com.ycl.dto.UmsUserDto; +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; @@ -43,10 +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.Function; +import java.util.function.Consumer; import java.util.stream.Collectors; /** @@ -103,7 +105,7 @@ 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()); @@ -119,6 +121,57 @@ } 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); @@ -169,7 +222,6 @@ umsDepartManageMapper.insert(departManage); baseMapper.updateById(umsAdmin); - return umsAdmin; } @Override @@ -386,21 +438,50 @@ } @Override - public List<UmsUserDto> userExp() { - List<UmsAdmin> umsAdmins = baseMapper.selectList(null); - List<UmsUserDto> res = umsAdmins - .stream() + public List<UmsUserDto1> userExp() { + List<UmsAdmin> umsAdmins = baseMapper.selectToExp(); + List<UmsUserDto1> res = umsAdmins.stream() .map(item -> { - UmsUserDto res1 = new UmsUserDto(); + UmsUserDto1 res1 = new UmsUserDto1(); res1.setId(item.getId()); res1.setUsername(item.getUsername()); res1.setNickName(item.getNickName()); res1.setMobile(item.getMobile()); - res1.setRoles(item.getRoles()); - res1.setDepart(item.getDepart()); + 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()); - res1.setCreateTime(item.getCreateTime()); - res1.setStatus(item.getStatus()); + 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; -- Gitblit v1.8.0