first commit

This commit is contained in:
2025-02-20 15:14:38 +08:00
commit 70e3764011
1113 changed files with 107789 additions and 0 deletions
@@ -0,0 +1,269 @@
package lingtao.net.service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lingtao.net.bean.Msg;
import lingtao.net.bean.SysUser;
import lingtao.net.dao.SysUserMapper;
import lingtao.net.util.MD5Util;
@Service
public class SysUserService {
@Autowired
private SysUserMapper userMapper;
// 注册
public Msg register(SysUser user) {
user.setPassword(new MD5Util().md5(user.getPassword(), "lingtao"));
user.setCreateDate(new Date());
// 注册的用户都是未激活状态
user.setUserStatus("0");
// 注册的用户都是系统功能隐藏状态
user.setSysStatus("0");
// 注册的用户不需要判断IP
user.setNeedIp("1");
String roleId = user.getRole();
if (StringUtils.isEmpty(roleId))
return null;
// 给用户赋予角色
user.setRole("999," + roleId);
// user.setRole("999");
// Integer[] ids = {999};
int count = userMapper.insertSelective(user);
// 根据角色的id把角色的权限给用户
Integer[] ids = { 999, Integer.valueOf(roleId) };
// 新增用户后会自动回补id
Integer userId = user.getUserId();
userMapper.addUserRoles(userId, ids);
if (count < 0) {
return Msg.fail();
}
return Msg.success();
}
public List<SysUser> getUsers(SysUser user) {
// 用户所拥有的角色
String[] roleArr = user.getRole().split(",");
// 转成list,拿掉‘组长’身份
List<String> list = new ArrayList<String>(Arrays.asList(roleArr));
// 判断是否拥有超管身份标识
boolean isSuper = false;
for (int i = 0; i < roleArr.length; i++) {
// 有‘超级管理员’身份,状态改为true
if ("1".equals(roleArr[i])) {
isSuper = true;
break;
}
// 如果有【店长/考试审核员/客服/组长/IP管理员/操作日志/不填旺旺】身份,去掉。不带去查询
if ("666".equals(roleArr[i]) || "888".equals(roleArr[i]) || "999".equals(roleArr[i])
|| "1011".equals(roleArr[i]) || "1015".equals(roleArr[i]) || "1042".equals(roleArr[i])
|| "1049".equals(roleArr[i])) {
list.remove(roleArr[i]);
}
}
// 将list转为String[] 数组
roleArr = list.toArray(new String[list.size()]);
// 如果没有‘超级管理员’身份,只能看到负责的部门的用户;如果有可以看到所有用户
if (!isSuper) {
// 如果是通过‘用户角色’查询
if (StringUtils.isNotEmpty(user.getRoleSearch())) {
// 清除自己拥有的角色,防止查询出所有的部门数据
roleArr = null;
}
// 如果有多个
if (user.getRole().contains(",")) {
user.setRoleArr(roleArr);
} else {// 只有一个角色
user.setRoleSearch(user.getRole());
}
}
return userMapper.getUsers(user);
}
// 检查用户名是否存在
public Msg checkUsername(String username) {
SysUser user = userMapper.getUserByUsername(username);
if (user != null) {
return Msg.fail();
}
return Msg.success();
}
// 新增
public Msg addUser(SysUser user) {
user.setPassword(new MD5Util().md5(user.getPassword(), "lingtao"));
user.setCreateDate(new Date());
try {
userMapper.insertSelective(user);
return Msg.success();
} catch (Exception e) {
return Msg.fail();
}
}
// 修改
public Msg updateUserById(SysUser user) {
if (!"********".equals(user.getPassword())) { // 如果改过密码
user.setPassword(new MD5Util().md5(user.getPassword(), "lingtao"));
} else {
user.setPassword(null);
}
// 如果有【店长】身份,更改的角色前面添加【客服】
SysUser user2 = (SysUser) SecurityUtils.getSubject().getPrincipal();
boolean flag = false;
String[] role = user2.getRole().split(",");
for (int i = 0; i < role.length; i++) {
if ("666".equals(role[i])) {
flag = true;
break;
}
}
if (flag) {
user.setRole("999," + user.getRole());
}
user.setUpdateDate(new Date());
try {
userMapper.updateByPrimaryKeySelective(user);
return Msg.success();
} catch (Exception e) {
return Msg.fail();
}
}
// 删除用户
public Msg deleteUserById(Integer userId) {
try {
userMapper.deleteByPrimaryKey(userId);
return Msg.success();
} catch (Exception e) {
return Msg.fail("主外键关联,删除失败!");
}
}
// 改变用户状态
public Msg changeUserStatus(Integer userId) {
try {
userMapper.changeUserStatus(userId);
return Msg.success();
} catch (Exception e) {
return Msg.fail();
}
}
public void addUserRoles(Integer userId, Integer[] ids) {
userMapper.addUserRoles(userId, ids);
}
public void deleteUserRoles(Integer userId) {
userMapper.deleteUserRoles(userId);
}
public Msg updatePassword(SysUser user) {
user.setPassword(new MD5Util().md5(user.getPassword(), "lingtao"));
int i = userMapper.updateByPrimaryKeySelective(user);
if (i > 0) {
return Msg.success();
}
return Msg.fail();
}
public Msg addBirthDay(SysUser user) {
SysUser sysUser = (SysUser) SecurityUtils.getSubject().getPrincipal();
user.setUserId(sysUser.getUserId());
user.setIsBirthDay(0);
int i = userMapper.updateByPrimaryKeySelective(user);
if (i > 0) {
return Msg.success();
}
return Msg.fail();
}
// 改变用户生日状态
public Msg changeIsBirthDay(Integer userId) {
try {
userMapper.changeIsBirthDay(userId);
return Msg.success();
} catch (Exception e) {
return Msg.fail();
}
}
public Msg changeNeedIp() {
try {
userMapper.changeNeedIp();
return Msg.success();
} catch (Exception e) {
return Msg.fail();
}
}
// 改变用户系统状态(管理员调整)
public Msg changeSysStatus(Integer userId) {
try {
userMapper.changeSysStatus(userId);
return Msg.success();
} catch (Exception e) {
return Msg.fail();
}
}
// 改变用户系统状态(看完视频)
public Msg videoOverToChangeSysStatus(Integer userId) {
try {
userMapper.videoOverToChangeSysStatus(userId);
return Msg.success();
} catch (Exception e) {
return Msg.fail();
}
}
// 改变用户系统状态(答题通过)
public Msg examOverToChangeSysStatus(Integer userId) {
try {
userMapper.examOverToChangeSysStatus(userId);
return Msg.success();
} catch (Exception e) {
return Msg.fail();
}
}
// 改变阅读更新日志状态
public Msg changeReadLogStatus(Integer userId) {
try {
userMapper.changeReadLogStatus(userId);
return Msg.success();
} catch (Exception e) {
return Msg.fail();
}
}
public SysUser getUserInfo(Integer userId) {
try {
return userMapper.getUserInfo(userId);
} catch (Exception e) {
return null;
}
}
/**
* 客服数据 -- 根据搜索的店铺获取人员
*
* @return
*/
public List<SysUser> getRealnamesByShopname(String shopname) {
return userMapper.getRealnamesByShopname(shopname);
}
}