|
|
@@ -2,20 +2,28 @@ package com.middle.platform.system.biz.service;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
+import com.github.pagehelper.PageInfo;
|
|
|
+import com.middle.platform.common.constant.Global;
|
|
|
import com.middle.platform.common.exception.BusinessException;
|
|
|
import com.middle.platform.common.utils.HashUtil;
|
|
|
+import com.middle.platform.common.utils.PageRes;
|
|
|
+import com.middle.platform.system.api.enums.DictType;
|
|
|
+import com.middle.platform.system.api.feign.DictApi;
|
|
|
+import com.middle.platform.system.api.pojo.SysUserFlag;
|
|
|
import com.middle.platform.system.api.pojo.UserCache;
|
|
|
import com.middle.platform.system.api.pojo.UserDto;
|
|
|
import com.middle.platform.system.biz.entity.SysUser;
|
|
|
import com.middle.platform.system.biz.mapper.SysUserMapper;
|
|
|
-import com.middle.platform.system.api.pojo.SysUserFlag;
|
|
|
import com.middle.platform.system.biz.pojo.req.SysUserPagePara;
|
|
|
import com.middle.platform.system.biz.pojo.req.SysUserPara;
|
|
|
+import com.middle.platform.system.biz.pojo.req.SysUserUpdPara;
|
|
|
import com.middle.platform.system.biz.pojo.res.SysUserVo;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
@@ -31,6 +39,7 @@ public class SysUserService {
|
|
|
|
|
|
private final SysUserMapper sysUserMapper;
|
|
|
private final SysUserMenuService sysUserMenuService;
|
|
|
+ private final DictApi dictApi;
|
|
|
@Value("${defaultPass:KW123!@}")
|
|
|
private String defaultPass;
|
|
|
|
|
|
@@ -43,12 +52,14 @@ public class SysUserService {
|
|
|
sysUser.setPhone(sysUserPara.getPhone());
|
|
|
sysUser.setUsername(sysUserPara.getUsername());
|
|
|
sysUser.setPassword(Optional.ofNullable(sysUserPara.getPassword()).map(HashUtil::argon2).orElseGet(() -> HashUtil.argon2(defaultPass)));
|
|
|
- sysUser.setStatus(0);
|
|
|
+ sysUser.setStatus(Global.USE);
|
|
|
sysUser.setRemark(sysUserPara.getRemark());
|
|
|
sysUserMapper.insert(sysUser);
|
|
|
//用户id主键
|
|
|
Long id = sysUser.getId();
|
|
|
- sysUserMenuService.save(id, sysUserPara.getMenu());
|
|
|
+ if (!CollectionUtils.isEmpty(sysUserPara.getMenu())) {
|
|
|
+ sysUserMenuService.save(id, sysUserPara.getMenu());
|
|
|
+ }
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
@@ -58,9 +69,14 @@ public class SysUserService {
|
|
|
* @param basePara
|
|
|
* @return 用户列表
|
|
|
*/
|
|
|
- public List<SysUserVo> pageQuery(SysUserPagePara basePara) {
|
|
|
+ public PageRes<SysUserVo> pageQuery(SysUserPagePara basePara) {
|
|
|
PageHelper.startPage(basePara.getPage(), basePara.getPageSize());
|
|
|
- return sysUserMapper.pageList(basePara);
|
|
|
+ List<SysUserVo> sysUserVos = sysUserMapper.pageList(basePara);
|
|
|
+ PageInfo<SysUserVo> pageInfo = new PageInfo<>(sysUserVos);
|
|
|
+ sysUserVos.forEach(u -> Optional.ofNullable(dictApi.query(DictType.SEX_TYPE, String.valueOf(u.getSex()))).ifPresent(d -> {
|
|
|
+ u.setSexLabel(d.getLabel());
|
|
|
+ }));
|
|
|
+ return new PageRes<>(pageInfo, sysUserVos);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -141,4 +157,44 @@ public class SysUserService {
|
|
|
sysUser.setPassword(HashUtil.argon2(defaultPass));
|
|
|
sysUserMapper.updateById(sysUser);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除用户
|
|
|
+ *
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Object remove(Long id) {
|
|
|
+ //删除用户
|
|
|
+ sysUserMapper.deleteById(id);
|
|
|
+ //删除用户关联菜单
|
|
|
+ sysUserMenuService.removeMenu(id);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改用户
|
|
|
+ *
|
|
|
+ * @param sysUserPara
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Object update(SysUserUpdPara sysUserPara) {
|
|
|
+ SysUser sysUser = checkUser(sysUserPara.getId());
|
|
|
+ sysUser.setName(sysUserPara.getName());
|
|
|
+ sysUser.setSex(sysUserPara.getSex());
|
|
|
+ sysUser.setPhone(sysUserPara.getPhone());
|
|
|
+ if(StringUtils.isNotBlank(sysUserPara.getPassword())){
|
|
|
+ sysUser.setPassword(Optional.of(sysUserPara.getPassword()).map(HashUtil::argon2).orElseGet(() -> HashUtil.argon2(defaultPass)));
|
|
|
+ }
|
|
|
+ sysUser.setStatus(Global.USE);
|
|
|
+ sysUser.setRemark(sysUserPara.getRemark());
|
|
|
+ sysUserMapper.updateById(sysUser);
|
|
|
+ //用户id主键
|
|
|
+ Long id = sysUser.getId();
|
|
|
+ if (!CollectionUtils.isEmpty(sysUserPara.getMenu())) {
|
|
|
+ sysUserMenuService.save(id, sysUserPara.getMenu());
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|