package com.xcong.farmer.cms.modules.system.service.Impl; import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.farmer.cms.common.response.Result; import com.xcong.farmer.cms.modules.system.dto.AdminAddUserDto; import com.xcong.farmer.cms.modules.system.dto.AdminUpdateUserDto; import com.xcong.farmer.cms.modules.system.dto.AdminUserDto; import com.xcong.farmer.cms.modules.system.entity.RoleEntity; import com.xcong.farmer.cms.modules.system.entity.UserEntity; import com.xcong.farmer.cms.modules.system.mapper.RoleMapper; import com.xcong.farmer.cms.modules.system.mapper.UserMapper; import com.xcong.farmer.cms.modules.system.service.IUserService; import com.xcong.farmer.cms.modules.system.vo.AdminSeeUserInfoVo; import com.xcong.farmer.cms.modules.system.vo.AdminUserVo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.ObjectUtil; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @Service @Slf4j public class UserServiceImpl extends ServiceImpl implements IUserService { @Resource private RoleMapper roleMapper; @Override public Result getUserInPage(AdminUserDto adminUserDto) { Page page = new Page<>(adminUserDto.getPageNum(), adminUserDto.getPageSize()); UserEntity userEntity = new UserEntity(); if(StrUtil.isNotEmpty(adminUserDto.getUsername())){ userEntity.setUsername(adminUserDto.getUsername()); } IPage list = this.baseMapper.selectAdminUserVoInPage(page,userEntity); return Result.ok(list); } @Override @Transactional public Result addUser(AdminAddUserDto adminAddUserDto) { String username = adminAddUserDto.getUsername(); if(StrUtil.isEmpty(username)){ return Result.fail("请输入用户名"); } Long roleId = adminAddUserDto.getRoleId(); if(ObjectUtil.isEmpty(roleId)){ return Result.fail("请选择用户角色"); } RoleEntity roleEntity = roleMapper.selectById(roleId); if(ObjectUtil.isEmpty(roleEntity)){ return Result.fail("请选择用户角色"); } String phone = adminAddUserDto.getPhone(); if(StrUtil.isEmpty(phone)){ return Result.fail("请输入联系电话"); } UserEntity userEntity = new UserEntity(); userEntity.setUsername(username); userEntity.setPhone(phone); userEntity.setRoleId(roleId); userEntity.setRoleName(roleEntity.getRoleName()); if(StrUtil.isNotEmpty(adminAddUserDto.getNickname())){ userEntity.setNickname(adminAddUserDto.getNickname()); } if(StrUtil.isNotEmpty(adminAddUserDto.getEmail())){ userEntity.setEmail(adminAddUserDto.getEmail()); } userEntity.setPassword(SecureUtil.md5(UserEntity.PASSWORD_DEFAULT)); userEntity.setStatus(UserEntity.STATUS_ENABLE); int insert = this.baseMapper.insert(userEntity); if(insert > 0){ return Result.ok("添加成功"); } return Result.fail("添加失败"); } @Override @Transactional public Result activeUser(Long id) { UserEntity userEntity = this.baseMapper.selectById(id); if(ObjectUtil.isEmpty(userEntity)){ return Result.fail("用户不存在"); } userEntity.setStatus(UserEntity.STATUS_ENABLE); this.baseMapper.updateById(userEntity); return Result.ok("激活成功"); } @Override @Transactional public Result forbiddenUser(Long id) { UserEntity userEntity = this.baseMapper.selectById(id); if(ObjectUtil.isEmpty(userEntity)){ return Result.fail("用户不存在"); } userEntity.setStatus(UserEntity.STATUS_DISABLED); this.baseMapper.updateById(userEntity); return Result.ok("禁用成功"); } @Override @Transactional public Result deleteUser(Long id) { UserEntity userEntity = this.baseMapper.selectById(id); if(ObjectUtil.isEmpty(userEntity)){ return Result.fail("用户不存在"); } this.baseMapper.deleteById(id); return Result.ok("删除成功"); } @Override public Result seeUserInfo(Long id) { UserEntity userEntity = this.baseMapper.selectById(id); if(ObjectUtil.isEmpty(userEntity)){ return Result.fail("用户不存在"); } AdminSeeUserInfoVo adminSeeUserInfoVo = new AdminSeeUserInfoVo(); adminSeeUserInfoVo.setId(userEntity.getId()); adminSeeUserInfoVo.setUsername(userEntity.getUsername()); adminSeeUserInfoVo.setNickname(userEntity.getNickname()); adminSeeUserInfoVo.setPhone(userEntity.getPhone()); adminSeeUserInfoVo.setEmail(userEntity.getEmail()); adminSeeUserInfoVo.setRoleId(userEntity.getRoleId()); adminSeeUserInfoVo.setRoleName(userEntity.getRoleName()); return Result.ok(adminSeeUserInfoVo); } @Override @Transactional public Result updateUser(AdminUpdateUserDto adminUpdateUserDto) { String username = adminUpdateUserDto.getUsername(); if(StrUtil.isEmpty(username)){ return Result.fail("请输入用户名"); } Long roleId = adminUpdateUserDto.getRoleId(); if(ObjectUtil.isEmpty(roleId)){ return Result.fail("请选择用户角色"); } RoleEntity roleEntity = roleMapper.selectById(roleId); if(ObjectUtil.isEmpty(roleEntity)){ return Result.fail("请选择用户角色"); } String phone = adminUpdateUserDto.getPhone(); if(StrUtil.isEmpty(phone)){ return Result.fail("请输入联系电话"); } UserEntity userEntity = this.baseMapper.selectById(adminUpdateUserDto.getId()); if(ObjectUtil.isEmpty(userEntity)){ return Result.fail("用户不存在"); } userEntity.setUsername(username); userEntity.setPhone(phone); userEntity.setRoleId(roleId); userEntity.setRoleName(roleEntity.getRoleName()); if(StrUtil.isNotEmpty(adminUpdateUserDto.getNickname())){ userEntity.setNickname(adminUpdateUserDto.getNickname()); } if(StrUtil.isNotEmpty(adminUpdateUserDto.getEmail())){ userEntity.setEmail(adminUpdateUserDto.getEmail()); } int insert = this.baseMapper.updateById(userEntity); if(insert > 0){ return Result.ok("更新成功"); } return Result.fail("更新失败"); } @Override @Transactional public Result resetPassword(Long id) { UserEntity userEntity = this.baseMapper.selectById(id); if(ObjectUtil.isEmpty(userEntity)){ return Result.fail("用户不存在"); } userEntity.setPassword(SecureUtil.md5(UserEntity.PASSWORD_DEFAULT)); this.baseMapper.updateById(userEntity); return Result.ok("重置成功"); } }