package com.securityControl.system.service.impl; import com.securityControl.common.security.utils.SecurityUtils; import com.securityControl.system.api.domain.SysUser; import com.securityControl.system.domain.vo.ReturnCodeEntity; import com.securityControl.system.domain.vo.SysUserEntity; import com.securityControl.system.mapper.UserManageDao; import com.securityControl.system.service.UserManageService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Set; @Service @Slf4j public class UserManageServiceImpl implements UserManageService { @Autowired private UserManageDao dao; // @Autowired // private BCryptPasswordEncoder passwordEncoder; /** * 分页查询用户 * @param sysUser * @return */ @Override public List getUserList(SysUserEntity sysUser) { try{ List list=dao.getUserList(sysUser); return list; }catch (Exception e){ // log.error(e.toString(),e); } return new ArrayList(); } /** * 新增用户 * @param sysUser */ @Override public ReturnCodeEntity insertUser(SysUserEntity sysUser) { ReturnCodeEntity returnCodeEntity=new ReturnCodeEntity(); try{ sysUser.setPassWord(SecurityUtils.encryptPassword(sysUser.getPassWord()));//密码加密 //校验账号、手机号 int num=dao.getUserLoginNum(sysUser);//校验登陆账号 if(num>0){ returnCodeEntity.setMsg("登陆账号已存在"); returnCodeEntity.setCode("201"); return returnCodeEntity; } int num2=dao.getUserPhoneNum(sysUser);//校验登陆账号 if(num2>0){ returnCodeEntity.setMsg("该手机号已注册"); returnCodeEntity.setCode("201"); return returnCodeEntity; } int num3=dao.insertUser(sysUser); if(num3<1){ returnCodeEntity.setMsg("添加失败,请联系管理员"); returnCodeEntity.setCode("202"); return returnCodeEntity; }else{ returnCodeEntity.setMsg("添加成功"); returnCodeEntity.setCode("200"); return returnCodeEntity; } }catch (Exception e){ returnCodeEntity.setMsg("网络异常,请稍后重试"); returnCodeEntity.setCode("203"); // log.error(e.toString(),e); } return returnCodeEntity; } /** * 用户星系查询 * @param userId * @return */ @Override public SysUserEntity getUserDetail(String userId) { return dao.getUserDetail(userId); } @Override public ReturnCodeEntity updateUser(SysUserEntity sysUser) { ReturnCodeEntity returnCodeEntity=new ReturnCodeEntity(); try{ // sysUser.setPassWord(passwordEncoder.encode(sysUser.getPassWord()));//密码加密 //校验账号、手机号 int num=dao.getUserLoginNum(sysUser);//校验登陆账号 if(num>0){ returnCodeEntity.setMsg("登陆账号已存在"); returnCodeEntity.setCode("201"); return returnCodeEntity; } int num2=dao.getUserPhoneNum(sysUser);//校验登陆账号 if(num2>0){ returnCodeEntity.setMsg("该手机号已注册"); returnCodeEntity.setCode("201"); return returnCodeEntity; } int num3=dao.updateUser(sysUser); if(num3<1){ returnCodeEntity.setMsg("更新失败,请联系管理员"); returnCodeEntity.setCode("202"); return returnCodeEntity; }else{ returnCodeEntity.setMsg("更新成功"); returnCodeEntity.setCode("200"); return returnCodeEntity; } }catch (Exception e){ returnCodeEntity.setMsg("网络异常,请稍后重试"); returnCodeEntity.setCode("203"); // log.error(e.toString(),e); } return returnCodeEntity; } /** * 删除与用户 * @param userId * @return */ @Override public ReturnCodeEntity deleteUser(String userId) { ReturnCodeEntity returnCodeEntity=new ReturnCodeEntity(); try{ int num=dao.deleteUser(userId);//校验登陆账号 if(num<1){ returnCodeEntity.setMsg("注销失败,请联系管理员"); returnCodeEntity.setCode("202"); return returnCodeEntity; }else{ returnCodeEntity.setMsg("注销成功"); returnCodeEntity.setCode("200"); return returnCodeEntity; } }catch (Exception e){ returnCodeEntity.setMsg("网络异常,请稍后重试"); returnCodeEntity.setCode("203"); } return returnCodeEntity; } /** * 修改密码 * @param sysUser * @return */ @Override public ReturnCodeEntity updatePwd(SysUserEntity sysUser) { ReturnCodeEntity returnCodeEntity=new ReturnCodeEntity(); try{ ; SysUserEntity entity= dao.getUserDetail(sysUser.getUserId()+""); String newPwd=sysUser.getNewPwd(); String oldPwd= sysUser.getPassWord(); String pwd=entity.getPassWord(); /** * 老密码 新密码对比 */ if (!SecurityUtils.matchesPassword(oldPwd,pwd)){ returnCodeEntity.setMsg("密码错误"); returnCodeEntity.setCode("201"); return returnCodeEntity; } if("1".equals(entity.getStatus())){ returnCodeEntity.setMsg("该账号已注销,无法修改密码"); returnCodeEntity.setCode("201"); return returnCodeEntity; } if("2".equals(entity.getStatus())){ returnCodeEntity.setMsg("该账号已锁定,无法修改密码"); returnCodeEntity.setCode("201"); return returnCodeEntity; } sysUser.setPassWord(SecurityUtils.encryptPassword(newPwd));//密码加密 int num= dao.updatePwd(sysUser);// if(num<1){ returnCodeEntity.setMsg("修改失败,请联系管理员"); returnCodeEntity.setCode("202"); return returnCodeEntity; }else{ returnCodeEntity.setMsg("修改成功"); returnCodeEntity.setCode("200"); return returnCodeEntity; } }catch (Exception e){ returnCodeEntity.setMsg("网络异常,请稍后重试"); returnCodeEntity.setCode("203"); } return returnCodeEntity; } /** * 用户登录角色查询 * @param username * @return */ @Override public SysUser selectUserByUserName(String username) { return dao.selectUserByUserName(username); } }