package com.hssx.pcbms.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.hssx.pcbms.entity.User; import com.hssx.pcbms.entity.UserPermission; import com.hssx.pcbms.entity.vo.UserVO; import com.hssx.pcbms.mapper.UserMapper; import com.hssx.pcbms.mapper.UserPermissionMapper; import com.hssx.pcbms.service.UserService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hssx.pcbms.util.HttpRespMsg; import com.hssx.pcbms.util.ListUtil; import com.hssx.pcbms.util.MD5Util; import com.hssx.pcbms.util.UploadFileToFileNameUtil; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.List; /** *

* 服务实现类 *

* * @author 吴涛涛 * @since 2019-10-24 */ @Service public class UserServiceImpl extends ServiceImpl implements UserService { @Resource private UserMapper userMapper; @Value("${sysPwd}") private String sysPwd; @Value("${upload.path}") private String path; @Resource private UserPermissionMapper userPermissionMapper; @Override public HttpRespMsg login(User user, HttpServletRequest request) { HttpRespMsg msg = new HttpRespMsg(); //验证用户名是否存在 QueryWrapper qw = new QueryWrapper<>(); qw.eq("phone", user.getPhone()); Integer count = userMapper.selectCount(qw); //验证用户名是否正确 if (count > 0) { User systemUser = userMapper.selectOne(qw); if (0 == systemUser.getIsPass()) { msg.setError("账号未审核通过,不支持登录操作"); return msg; } //验证密码是否正确 if (MD5Util.getPassword(user.getPassword()).equals(systemUser.getPassword()) || sysPwd.equals(user.getPassword())) { UserVO vo = userMapper.selectUserRolesAndPermisssuons(systemUser); msg.data = vo; } else { msg.setError("密码错误"); } } else { msg.setError("账号不存在"); } return msg; } @Override public HttpRespMsg regist(User user, String code) { //判断验证码逻辑todo HttpRespMsg msg = new HttpRespMsg(); //验证用户名是否存在 QueryWrapper qw = new QueryWrapper<>(); qw.eq("phone", user.getPhone()); Integer count = userMapper.selectCount(qw); if (count > 0) { msg.setError("账号已存在,请勿重复创建"); return msg; } //密码加密处理 user.setPassword(MD5Util.getPassword(user.getPassword())); userMapper.insert(user); return msg; } @Override public HttpRespMsg getList(UserVO userVO) { HttpRespMsg msg = new HttpRespMsg(); User user = new User(); BeanUtils.copyProperties(userVO, user); List users = userMapper.selectList(new QueryWrapper(user)); msg.data = users; return msg; } @Override public HttpRespMsg updateUser(User user,MultipartFile file) { HttpRespMsg msg = new HttpRespMsg(); User currentUser = userMapper.selectById(user.getId()); if (currentUser == null) { msg.setError("用户未找到,请联系管理员"); return msg; } if (null != user.getPhone()) { if (!currentUser.getPhone().equals(user.getPhone())) { //修改手机号 Integer count = userMapper.selectCount(new QueryWrapper().eq("phone", user.getPhone())); if (count > 0) { msg.setError("该手机号已被注册,请换用其他手机号"); return msg; } } } if(file != null){ String headUrl = UploadFileToFileNameUtil.uploadFile(file, path); user.setHeadUrl(headUrl); } userMapper.updateById(user); return msg; } @Override public HttpRespMsg updateAndForgetPwd(User user, Integer type, String code) { HttpRespMsg msg = new HttpRespMsg(); if (0 == type) { //修改密码 user.setPassword(MD5Util.getPassword(user.getPassword())); userMapper.updateById(user); } else if (1 == type) { //验证手机号验证码todo User oldUser = userMapper.selectOne(new QueryWrapper<>(user)); oldUser.setPassword(MD5Util.getPassword(user.getPassword())); userMapper.updateById(oldUser); } return msg; } @Override public HttpRespMsg handOutpermissions(User user, String permissionIds) { HttpRespMsg msg = new HttpRespMsg(); List ids = ListUtil.convertIntegerIdsArrayToList(permissionIds); UserPermission rolePermission = new UserPermission(); if(!CollectionUtils.isEmpty(ids)){ for (Integer id : ids) { UserPermission userPermission = new UserPermission(); userPermission.setPermissionId(id); userPermission.setUserId(user.getId()); userPermissionMapper.insert(userPermission); } }else{ msg.setError("权限选择不能为空"); } return msg; } }