package com.lf.server.service.sys; import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.Md5Helper; import com.lf.server.helper.RsaHelper; import com.lf.server.helper.StringHelper; import com.lf.server.mapper.sys.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 用户表 * @author sws * @date 2022-09-27 */ @Service public class UserService implements UserMapper { @Autowired UserMapper userMapper; @Override public Integer selectCount(String uname) { uname = StringHelper.getLikeStr(uname); return userMapper.selectCount(uname); } @Override public UserEntity selectUser(int id) { return userMapper.selectUser(id); } @Override public UserEntity selectByUid(String uid) { return userMapper.selectByUid(uid); } @Override public List selectUserAll() { return userMapper.selectUserAll(); } @Override public List selectByPage(String uname, Integer limit, Integer offset) { uname = StringHelper.getLikeStr(uname); return userMapper.selectByPage(uname, limit, offset); } @Override public UserEntity selectByToken(String token) { return userMapper.selectByToken(token); } @Override public Integer insertUser(UserEntity userEntity) { return userMapper.insertUser(userEntity); } @Override public Integer insertUsers(List userEntity) { return userMapper.insertUsers(userEntity); } @Override public Integer deleteUser(int id) { return userMapper.deleteUser(id); } @Override public Integer deleteUsers(List ids) { return userMapper.deleteUsers(ids); } @Override public Integer updateUsers(UserEntity userEntity) { return userMapper.updateUsers(userEntity); } @Override public Integer selectCountForRole(String uname, Integer roleid, Integer depid) { uname = StringHelper.getLikeStr(uname); return userMapper.selectCountForRole(uname, roleid, depid); } @Override public List selectByPageForRole(String uname, Integer roleid, Integer depid, Integer limit, Integer offset) { uname = StringHelper.getLikeStr(uname); return userMapper.selectByPageForRole(uname, roleid, depid, limit, offset); } /** * 验证新用户密码 */ public String ValidateNewPwd(UserEntity entity) { if (entity == null) { return "没有找到用户"; } if (StringHelper.isEmpty(entity.getPwd())) { return "密码不能为空"; } try { String pwd = RsaHelper.decrypt(entity.getPwd()); if (!StringHelper.checkPwdValid(pwd)) { return "密码不符合要求"; } String newPwd = Md5Helper.reverse(Md5Helper.generate(pwd)); entity.setPwd(newPwd); return null; } catch (Exception ex) { return "密码解密失败"; } } /** * 验证老用户密码 */ public String ValidateOldPwd(UserEntity entity) { if (entity == null) { return "没有找到用户"; } if (StringHelper.isEmpty(entity.getPwd())) { return "用户密码不能为空"; } try { String pwd = RsaHelper.decrypt(entity.getPwd()); String salt = RsaHelper.decrypt(entity.getSalt()); UserEntity ue = selectUser(entity.getId()); if (ue == null) { return "没有找到用户"; } if (!Md5Helper.validatePassword(pwd, ue.getPwd())) { return "旧密码输入错误"; } if (!StringHelper.checkPwdValid(salt)) { return "密码不符合要求"; } String newPwd = Md5Helper.reverse(Md5Helper.generate(salt)); entity.setPwd(newPwd); entity.setSalt(null); return null; } catch (Exception ex) { return "密码解密失败"; } } }