123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- package com.iden.bms.service;
- import cn.hutool.core.bean.BeanUtil;
- import cn.hutool.core.collection.CollUtil;
- import cn.hutool.core.util.StrUtil;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.iden.common.entity.*;
- import com.iden.common.enums.UserRoleEnum;
- import com.iden.common.enums.ValidStatusEnum;
- import com.iden.common.exception.BDException;
- import com.iden.common.service.*;
- import com.iden.common.util.MyBeanUtils;
- import com.iden.common.vo.PageReqVO;
- import com.iden.common.vo.UserLogindConvertVO;
- import com.iden.common.vo.SysUserVO;
- import org.apache.commons.codec.digest.DigestUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.annotation.Resource;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- /**
- *
- * @author makejava
- * @since 2021-05-21 00:08:38
- */
- @Service
- public class SysUserService {
- @Resource
- private IdenSysUserService idenSysUserService;
- public UserLogindConvertVO getLoginUser(String username,String password) {
- UserLogindConvertVO userLogindConvertVO = null;
- QueryWrapper<IdenSysUser> userQueryWrapper = new QueryWrapper<>();
- userQueryWrapper.lambda().eq(IdenSysUser::getUsername,username);
- IdenSysUser user = this.idenSysUserService.getOne(userQueryWrapper);
- if (user != null) {
- userLogindConvertVO = new UserLogindConvertVO();
- BeanUtil.copyProperties(user,userLogindConvertVO);
- String md5Password = DigestUtils.md5Hex(password);
- if (!md5Password.equalsIgnoreCase(user.getPassword())) {
- throw new BDException("用户名或密码错误");
- }
- if (ValidStatusEnum.INVALID.getValue().equals(user.getValidStatus())) {
- throw new BDException("用户已经停用");
- }
- }
- return userLogindConvertVO;
- }
- /**
- * 查询系统用户列表
- * @return
- */
- public IPage<SysUserVO> listSysUser(String nickname, String username, UserLogindConvertVO loginUser, PageReqVO pageReqVo) {
- IPage<IdenSysUser> page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize());
- QueryWrapper<IdenSysUser> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().like(StrUtil.isNotEmpty(nickname),IdenSysUser::getNickname,nickname)
- .eq(StrUtil.isNotEmpty(username),IdenSysUser::getUsername,username)
- .orderByAsc(IdenSysUser::getUsername);
- IPage<IdenSysUser> pageRes = this.idenSysUserService.page(page, queryWrapper);
- IPage<SysUserVO> results = new Page<>(pageRes.getCurrent(),pageRes.getSize(),pageRes.getTotal());
- if(CollUtil.isNotEmpty(pageRes.getRecords())){
- List<SysUserVO> list = new ArrayList<>();
- pageRes.getRecords().forEach(item -> {
- SysUserVO resVO = new SysUserVO();
- BeanUtils.copyProperties(item,resVO);
- resVO.setValidStatusName(ValidStatusEnum.getValueToName(resVO.getValidStatus()));
- list.add(resVO);
- });
- results.setRecords(list);
- }
- return results;
- }
- /**
- * 删除系统用户
- * @param id
- * @return
- */
- public boolean deleteById(Long id){
- return this.idenSysUserService.removeById(id);
- }
- /**
- * 详情
- * @param id
- * @return
- */
- public SysUserVO getSysUserById(Long id){
- IdenSysUser idenSysUser = this.idenSysUserService.getById(id);
- if (idenSysUser!=null){
- SysUserVO resVO = new SysUserVO();
- BeanUtil.copyProperties(idenSysUser,resVO);
- resVO.setValidStatusName(ValidStatusEnum.getValueToName(resVO.getValidStatus()));
- return resVO;
- }
- return null;
- }
- /**
- * 保存系统用户
- * @param vo
- */
- @Transactional(rollbackFor = Exception.class)
- public int createSysUser(SysUserVO vo, UserLogindConvertVO loginUser){
- QueryWrapper<IdenSysUser> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(IdenSysUser::getUsername,vo.getUsername());
- if(idenSysUserService.count(queryWrapper) > 0){
- return 1;
- }
- //保存系统用户
- IdenSysUser idenSysUser = new IdenSysUser();
- BeanUtil.copyProperties(vo,idenSysUser);
- idenSysUser.setCreateTime(new Date());
- idenSysUser.setRole(UserRoleEnum.HIGH.getValue());
- this.idenSysUserService.save(idenSysUser);
- return 0;
- }
- /**
- * 修改系统用户
- * @param vo
- */
- @Transactional(rollbackFor = Exception.class)
- public void updateSysUser(SysUserVO vo){
- //保存系统用户
- IdenSysUser idenSysUser = this.idenSysUserService.getById(vo.getId());
- MyBeanUtils.copyProperties(vo,idenSysUser);
- idenSysUser.setModifyTime(new Date());
- this.idenSysUserService.updateById(idenSysUser);
- }
- }
|