diff --git a/ruoyi-ui/src/api/system/user.js b/ruoyi-ui/src/api/system/user.js
index 45d23f9be..b01c499d8 100644
--- a/ruoyi-ui/src/api/system/user.js
+++ b/ruoyi-ui/src/api/system/user.js
@@ -1,136 +1,144 @@
-import request from '@/utils/request'
-import { praseStrEmpty } from "@/utils/ruoyi";
-
-// 查询用户列表
-export function listUser(query) {
- return request({
- url: '/system/user/list',
- method: 'get',
- params: query
- })
-}
-
-// 查询用户详细
-export function getUser(userId) {
- return request({
- url: '/system/user/' + praseStrEmpty(userId),
- method: 'get'
- })
-}
-
-// 查询用户列表根据roleId
-export function getUsersByRoleId() {
- return request({
- url: '/system/user/listbyroleid',
- method: 'get'
- })
-}
-
-
-// 新增用户
-export function addUser(data) {
- return request({
- url: '/system/user',
- method: 'post',
- data: data
- })
-}
-
-// 修改用户
-export function updateUser(data) {
- return request({
- url: '/system/user',
- method: 'put',
- data: data
- })
-}
-
-// 删除用户
-export function delUser(userId) {
- return request({
- url: '/system/user/' + userId,
- method: 'delete'
- })
-}
-
-// 导出用户
-export function exportUser(query) {
- return request({
- url: '/system/user/export',
- method: 'get',
- params: query
- })
-}
-
-// 用户密码重置
-export function resetUserPwd(userId, password) {
- const data = {
- userId,
- password
- }
- return request({
- url: '/system/user/resetPwd',
- method: 'put',
- data: data
- })
-}
-
-// 用户状态修改
-export function changeUserStatus(userId, status) {
- const data = {
- userId,
- status
- }
- return request({
- url: '/system/user/changeStatus',
- method: 'put',
- data: data
- })
-}
-
-// 查询用户个人信息
-export function getUserProfile() {
- return request({
- url: '/system/user/profile',
- method: 'get'
- })
-}
-
-// 修改用户个人信息
-export function updateUserProfile(data) {
- return request({
- url: '/system/user/profile',
- method: 'put',
- data: data
- })
-}
-
-// 用户密码重置
-export function updateUserPwd(oldPassword, newPassword) {
- const data = {
- oldPassword,
- newPassword
- }
- return request({
- url: '/system/user/profile/updatePwd',
- method: 'put',
- params: data
- })
-}
-
-// 用户头像上传
-export function uploadAvatar(data) {
- return request({
- url: '/system/user/profile/avatar',
- method: 'post',
- data: data
- })
-}
-
-// 下载用户导入模板
-export function importTemplate() {
- return request({
- url: '/system/user/importTemplate',
- method: 'get'
- })
-}
+import request from '@/utils/request'
+import { praseStrEmpty } from "@/utils/ruoyi";
+
+// 查询用户列表
+export function listUser(query) {
+ return request({
+ url: '/system/user/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询用户详细
+export function getUser(userId) {
+ return request({
+ url: '/system/user/' + praseStrEmpty(userId),
+ method: 'get'
+ })
+}
+
+// 查询用户列表根据roleId
+export function getUsersByRoleId() {
+ return request({
+ url: '/system/user/listbyroleid',
+ method: 'get'
+ })
+}
+
+// 根据roleid查询用户列表
+export function getUserOnlyByRoleId(roleId) {
+ return request({
+ url: '/system/user/onlybyroleid/' + roleId,
+ method: 'get'
+ })
+}
+
+
+// 新增用户
+export function addUser(data) {
+ return request({
+ url: '/system/user',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改用户
+export function updateUser(data) {
+ return request({
+ url: '/system/user',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除用户
+export function delUser(userId) {
+ return request({
+ url: '/system/user/' + userId,
+ method: 'delete'
+ })
+}
+
+// 导出用户
+export function exportUser(query) {
+ return request({
+ url: '/system/user/export',
+ method: 'get',
+ params: query
+ })
+}
+
+// 用户密码重置
+export function resetUserPwd(userId, password) {
+ const data = {
+ userId,
+ password
+ }
+ return request({
+ url: '/system/user/resetPwd',
+ method: 'put',
+ data: data
+ })
+}
+
+// 用户状态修改
+export function changeUserStatus(userId, status) {
+ const data = {
+ userId,
+ status
+ }
+ return request({
+ url: '/system/user/changeStatus',
+ method: 'put',
+ data: data
+ })
+}
+
+// 查询用户个人信息
+export function getUserProfile() {
+ return request({
+ url: '/system/user/profile',
+ method: 'get'
+ })
+}
+
+// 修改用户个人信息
+export function updateUserProfile(data) {
+ return request({
+ url: '/system/user/profile',
+ method: 'put',
+ data: data
+ })
+}
+
+// 用户密码重置
+export function updateUserPwd(oldPassword, newPassword) {
+ const data = {
+ oldPassword,
+ newPassword
+ }
+ return request({
+ url: '/system/user/profile/updatePwd',
+ method: 'put',
+ params: data
+ })
+}
+
+// 用户头像上传
+export function uploadAvatar(data) {
+ return request({
+ url: '/system/user/profile/avatar',
+ method: 'post',
+ data: data
+ })
+}
+
+// 下载用户导入模板
+export function importTemplate() {
+ return request({
+ url: '/system/user/importTemplate',
+ method: 'get'
+ })
+}
\ No newline at end of file
diff --git a/ruoyi-ui/src/views/benyi/customer/index.vue b/ruoyi-ui/src/views/benyi/customer/index.vue
index db5024161..679a1b1d8 100644
--- a/ruoyi-ui/src/views/benyi/customer/index.vue
+++ b/ruoyi-ui/src/views/benyi/customer/index.vue
@@ -122,6 +122,15 @@
v-hasPermi="['benyi:customer:export']"
>导出
+ 分配
+
取 消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -362,7 +396,7 @@ import {
updateCustomer,
exportCustomer,
} from "@/api/benyi/customer";
-import { listUser } from "@/api/system/user";
+import { listUser, getUserOnlyByRoleId } from "@/api/system/user";
import { provinceAndCityDataPlus, CodeToText } from "element-china-area-data";
export default {
@@ -386,10 +420,16 @@ export default {
customerList: [],
// 弹出层标题
title: "",
+ // roleId
+ roleId: 108,
// 是否显示弹出层
open: false,
+ open_fp: false,
gxOptions: [],
lyOptions: [],
+ roleId: 108,
+ // 角色找人选项
+ customerUserOptions: [],
// 用户选项
userOptions: [],
@@ -401,6 +441,8 @@ export default {
pageSize: 50,
},
+
+
// 查询参数
queryParams: {
pageNum: 1,
@@ -430,6 +472,7 @@ export default {
xfxm: undefined,
xfjz: undefined,
gbtime: undefined,
+ fpid: undefined,
},
// 表单参数
form: {},
@@ -456,6 +499,7 @@ export default {
this.lyOptions = response.data;
});
this.getUserList();
+ this.getUsersByRole();
},
methods: {
//排序
@@ -477,6 +521,24 @@ export default {
this.userOptions = response.rows;
});
},
+ /** 根据roleid查询用户列表 */
+ getUsersByRole() {
+ getUserOnlyByRoleId(this.roleId).then((response) => {
+ this.customerUserOptions = response.data;
+ });
+ },
+ // 通过roleid查询的教师字典翻译
+ userByRoleFormat(row, column) {
+ var actions = [];
+ var datas = this.customerUserOptions;
+ Object.keys(datas).map((key) => {
+ if (datas[key].userId == "" + row.fpid) {
+ actions.push(datas[key].nickName);
+ return false;
+ }
+ });
+ return actions.join("");
+ },
// 教师字典翻译
userFormat(row, column) {
var actions = [];
@@ -516,6 +578,7 @@ export default {
// 取消按钮
cancel() {
this.open = false;
+ this.open_fp = false;
this.reset();
},
// 表单重置
@@ -544,6 +607,7 @@ export default {
createTime: undefined,
createTime: undefined,
gbtime: undefined,
+ fpid: undefined,
};
this.selectedOptions = new Array();
this.resetForm("form");
@@ -582,6 +646,16 @@ export default {
this.title = "修改本一-客户关系管理";
});
},
+ /** 修改按钮操作 */
+ handleUpdate_fp(row) {
+ this.reset();
+ const id = row.id || this.ids;
+ getCustomer(id).then((response) => {
+ this.form = response.data;
+ this.open_fp = true;
+ this.title = "分配客户";
+ });
+ },
/** 提交按钮 */
submitForm: function () {
this.$refs["form"].validate((valid) => {
@@ -591,6 +665,7 @@ export default {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
+ this.open_fp = false;
this.getList();
}
});
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByCustomerController.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByCustomerController.java
index 4947c66b3..ed833c5e9 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByCustomerController.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByCustomerController.java
@@ -43,6 +43,7 @@ public class ByCustomerController extends BaseController {
@PreAuthorize("@ss.hasPermi('benyi:customer:list')")
@GetMapping("/list")
public TableDataInfo list(ByCustomer byCustomer) {
+ byCustomer.setCreateUserid(SecurityUtils.getLoginUser().getUser().getUserId());
startPage();
List list = byCustomerService.selectByCustomerList(byCustomer);
return getDataTable(list);
@@ -112,15 +113,25 @@ public class ByCustomerController extends BaseController {
@Log(title = "本一-客户关系管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ByCustomer byCustomer) {
- if (byCustomer.getZhgj().equals("") || byCustomer.getZhgj().equals(null)) {
+
+ if (byCustomer.getZhgj() != null) {
+ byCustomer.setZhgj(byCustomer.getZhgj());
+ }else {
byCustomer.setZhgj("无");
}
- if (byCustomer.getBz().equals("") || byCustomer.getBz().equals(null)) {
- byCustomer.setBz("无");
- }
- if (byCustomer.getXfxm().equals("") || byCustomer.getXfxm().equals(null)) {
+
+ if (byCustomer.getXfxm() != null) {
+ byCustomer.setXfxm(byCustomer.getXfxm());
+ }else {
byCustomer.setXfxm("无");
}
+
+ if (byCustomer.getBz() != null) {
+ byCustomer.setBz(byCustomer.getBz());
+ }else {
+ byCustomer.setBz("无");
+ }
+
return toAjax(byCustomerService.updateByCustomer(byCustomer));
}
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByCustomer.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByCustomer.java
index 09562c83f..9bf5905c9 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByCustomer.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByCustomer.java
@@ -107,6 +107,9 @@ public class ByCustomer extends BaseEntity {
//@Excel(name = "创建人", type = Excel.Type.EXPORT, targetAttr = "user_name")
private Long createUserid;
+ // 被分配者
+ private Long fpid;
+
/**
* 备注
*/
@@ -336,6 +339,7 @@ public class ByCustomer extends BaseEntity {
.append("xfjz", getXfjz())
.append("createTime", getCreateTime())
.append("gbtime", getGbtime())
+ .append("fpid", getFpid())
.toString();
}
@@ -355,4 +359,12 @@ public class ByCustomer extends BaseEntity {
public void setGbtime(Date gbtime) {
this.gbtime = gbtime;
}
+
+ public Long getFpid() {
+ return fpid;
+ }
+
+ public void setFpid(Long fpid) {
+ this.fpid = fpid;
+ }
}
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysUserController.java b/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysUserController.java
index c14df3c26..af7dcd623 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysUserController.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysUserController.java
@@ -170,6 +170,18 @@ public class SysUserController extends BaseController {
return ajax;
}
+ /**
+ * 根据roleId获取用户信息列表
+ */
+ //@PreAuthorize("@ss.hasPermi('system:user:query')")
+ @GetMapping(value = {"/onlybyroleid/{roleId}"})
+ public AjaxResult getUserOnlyByRoleId(@PathVariable Long roleId) {
+ AjaxResult ajax = AjaxResult.success();
+ List list = userService.selectUserOnlyByRoleId(roleId);
+ ajax.put(AjaxResult.DATA_TAG, list);
+ return ajax;
+ }
+
/**
* 新增用户
*/
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
index 3fda5b468..e006404d1 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
@@ -1,137 +1,145 @@
-package com.ruoyi.project.system.mapper;
-
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-
-import com.ruoyi.project.system.domain.SysUser;
-
-/**
- * 用户表 数据层
- *
- * @author ruoyi
- */
-public interface SysUserMapper
-{
- /**
- * 通过角色ID查询角色使用数量
- *
- * @param roleId 角色ID
- * @return 结果
- */
- public int countUserSchoolAdminRoleByDeptId(Long deptId,Long roleId);
-
- /**
- * 根据条件分页查询用户列表
- *
- * @param sysUser 用户信息
- * @return 用户信息集合信息
- */
- public List selectUserList(SysUser sysUser);
-
- /**
- * 根据条件分页查询用户列表
- *
- * @param sysUser 用户信息
- * @return 用户信息集合信息
- */
- public List selectUserListAll(SysUser sysUser);
-
- /**
- * 通过用户名查询用户
- *
- * @param userName 用户名
- * @return 用户对象信息
- */
- public SysUser selectUserByUserName(String userName);
-
- /**
- * 通过用户ID查询用户
- *
- * @param userId 用户ID
- * @return 用户对象信息
- */
- public SysUser selectUserById(Long userId);
-
- /**
- * 根据roleId查询用户列表
- *
- * @param sysUser 用户信息
- * @return 用户信息集合信息
- */
- public List selectUserListByRoleId(SysUser user);
-
- /**
- * 新增用户信息
- *
- * @param user 用户信息
- * @return 结果
- */
- public int insertUser(SysUser user);
-
- /**
- * 修改用户信息
- *
- * @param user 用户信息
- * @return 结果
- */
- public int updateUser(SysUser user);
-
- /**
- * 修改用户头像
- *
- * @param userName 用户名
- * @param avatar 头像地址
- * @return 结果
- */
- public int updateUserAvatar(@Param("userName") String userName, @Param("avatar") String avatar);
-
- /**
- * 重置用户密码
- *
- * @param userName 用户名
- * @param password 密码
- * @return 结果
- */
- public int resetUserPwd(@Param("userName") String userName, @Param("password") String password);
-
- /**
- * 通过用户ID删除用户
- *
- * @param userId 用户ID
- * @return 结果
- */
- public int deleteUserById(Long userId);
-
- /**
- * 批量删除用户信息
- *
- * @param userIds 需要删除的用户ID
- * @return 结果
- */
- public int deleteUserByIds(Long[] userIds);
-
- /**
- * 校验用户名称是否唯一
- *
- * @param userName 用户名称
- * @return 结果
- */
- public int checkUserNameUnique(String userName);
-
- /**
- * 校验手机号码是否唯一
- *
- * @param phonenumber 手机号码
- * @return 结果
- */
- public SysUser checkPhoneUnique(String phonenumber);
-
- /**
- * 校验email是否唯一
- *
- * @param email 用户邮箱
- * @return 结果
- */
- public SysUser checkEmailUnique(String email);
-}
+package com.ruoyi.project.system.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+
+import com.ruoyi.project.system.domain.SysUser;
+
+/**
+ * 用户表 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysUserMapper
+{
+ /**
+ * 通过角色ID查询角色使用数量
+ *
+ * @param roleId 角色ID
+ * @return 结果
+ */
+ public int countUserSchoolAdminRoleByDeptId(Long deptId,Long roleId);
+
+ /**
+ * 根据条件分页查询用户列表
+ *
+ * @param sysUser 用户信息
+ * @return 用户信息集合信息
+ */
+ public List selectUserList(SysUser sysUser);
+
+ /**
+ * 根据条件分页查询用户列表
+ *
+ * @param sysUser 用户信息
+ * @return 用户信息集合信息
+ */
+ public List selectUserListAll(SysUser sysUser);
+
+ /**
+ * 通过用户名查询用户
+ *
+ * @param userName 用户名
+ * @return 用户对象信息
+ */
+ public SysUser selectUserByUserName(String userName);
+
+ /**
+ * 通过用户ID查询用户
+ *
+ * @param userId 用户ID
+ * @return 用户对象信息
+ */
+ public SysUser selectUserById(Long userId);
+
+ /**
+ * 根据roleId查询用户列表
+ *
+ * @param user 用户信息
+ * @return 用户信息集合信息
+ */
+ public List selectUserListByRoleId(SysUser user);
+
+ /**
+ * 根据roleId查询用户列表
+ *
+ * @param roleId 用户信息
+ * @return 用户信息集合信息
+ */
+ public List selectUserOnlyByRoleId(Long roleId);
+
+ /**
+ * 新增用户信息
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ public int insertUser(SysUser user);
+
+ /**
+ * 修改用户信息
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ public int updateUser(SysUser user);
+
+ /**
+ * 修改用户头像
+ *
+ * @param userName 用户名
+ * @param avatar 头像地址
+ * @return 结果
+ */
+ public int updateUserAvatar(@Param("userName") String userName, @Param("avatar") String avatar);
+
+ /**
+ * 重置用户密码
+ *
+ * @param userName 用户名
+ * @param password 密码
+ * @return 结果
+ */
+ public int resetUserPwd(@Param("userName") String userName, @Param("password") String password);
+
+ /**
+ * 通过用户ID删除用户
+ *
+ * @param userId 用户ID
+ * @return 结果
+ */
+ public int deleteUserById(Long userId);
+
+ /**
+ * 批量删除用户信息
+ *
+ * @param userIds 需要删除的用户ID
+ * @return 结果
+ */
+ public int deleteUserByIds(Long[] userIds);
+
+ /**
+ * 校验用户名称是否唯一
+ *
+ * @param userName 用户名称
+ * @return 结果
+ */
+ public int checkUserNameUnique(String userName);
+
+ /**
+ * 校验手机号码是否唯一
+ *
+ * @param phonenumber 手机号码
+ * @return 结果
+ */
+ public SysUser checkPhoneUnique(String phonenumber);
+
+ /**
+ * 校验email是否唯一
+ *
+ * @param email 用户邮箱
+ * @return 结果
+ */
+ public SysUser checkEmailUnique(String email);
+}
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserService.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserService.java
index b691c7185..df44dc43f 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserService.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserService.java
@@ -1,192 +1,200 @@
-package com.ruoyi.project.system.service;
-
-import java.util.List;
-import com.ruoyi.project.system.domain.SysUser;
-
-/**
- * 用户 业务层
- *
- * @author ruoyi
- */
-public interface ISysUserService
-{
-
- /**
- * 通过角色ID查询角色使用数量
- *
- * @param roleId 角色ID
- * @return 结果
- */
- public int countUserSchoolAdminRoleByDeptId(Long deptId,Long roleId);
-
- /**
- * 根据条件分页查询用户列表
- *
- * @param user 用户信息
- * @return 用户信息集合信息
- */
- public List selectUserList(SysUser user);
-
- /**
- * 根据条件分页查询用户列表
- *
- * @param user 用户信息
- * @return 用户信息集合信息
- */
- public List selectUserListAll(SysUser user);
-
- /**
- * 通过用户名查询用户
- *
- * @param userName 用户名
- * @return 用户对象信息
- */
- public SysUser selectUserByUserName(String userName);
-
- /**
- * 通过用户ID查询用户
- *
- * @param userId 用户ID
- * @return 用户对象信息
- */
- public SysUser selectUserById(Long userId);
-
- /**
- * 根据roleId查询用户列表
- *
- * @param sysUser 用户信息
- * @return 用户信息集合信息
- */
- public List selectUserListByRoleId(SysUser user);
-
- /**
- * 根据用户ID查询用户所属角色组
- *
- * @param userName 用户名
- * @return 结果
- */
- public String selectUserRoleGroup(String userName);
-
- /**
- * 根据用户ID查询用户所属岗位组
- *
- * @param userName 用户名
- * @return 结果
- */
- public String selectUserPostGroup(String userName);
-
- /**
- * 校验用户名称是否唯一
- *
- * @param userName 用户名称
- * @return 结果
- */
- public String checkUserNameUnique(String userName);
-
- /**
- * 校验手机号码是否唯一
- *
- * @param user 用户信息
- * @return 结果
- */
- public String checkPhoneUnique(SysUser user);
-
- /**
- * 校验email是否唯一
- *
- * @param user 用户信息
- * @return 结果
- */
- public String checkEmailUnique(SysUser user);
-
- /**
- * 校验用户是否允许操作
- *
- * @param user 用户信息
- */
- public void checkUserAllowed(SysUser user);
-
- /**
- * 新增用户信息
- *
- * @param user 用户信息
- * @return 结果
- */
- public int insertUser(SysUser user);
-
- /**
- * 修改用户信息
- *
- * @param user 用户信息
- * @return 结果
- */
- public int updateUser(SysUser user);
-
- /**
- * 修改用户状态
- *
- * @param user 用户信息
- * @return 结果
- */
- public int updateUserStatus(SysUser user);
-
- /**
- * 修改用户基本信息
- *
- * @param user 用户信息
- * @return 结果
- */
- public int updateUserProfile(SysUser user);
-
- /**
- * 修改用户头像
- *
- * @param userName 用户名
- * @param avatar 头像地址
- * @return 结果
- */
- public boolean updateUserAvatar(String userName, String avatar);
-
- /**
- * 重置用户密码
- *
- * @param user 用户信息
- * @return 结果
- */
- public int resetPwd(SysUser user);
-
- /**
- * 重置用户密码
- *
- * @param userName 用户名
- * @param password 密码
- * @return 结果
- */
- public int resetUserPwd(String userName, String password);
-
- /**
- * 通过用户ID删除用户
- *
- * @param userId 用户ID
- * @return 结果
- */
- public int deleteUserById(Long userId);
-
- /**
- * 批量删除用户信息
- *
- * @param userIds 需要删除的用户ID
- * @return 结果
- */
- public int deleteUserByIds(Long[] userIds);
-
- /**
- * 导入用户数据
- *
- * @param userList 用户数据列表
- * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
- * @param operName 操作用户
- * @return 结果
- */
- public String importUser(List userList, Boolean isUpdateSupport, String operName);
-}
+package com.ruoyi.project.system.service;
+
+import java.util.List;
+import com.ruoyi.project.system.domain.SysUser;
+
+/**
+ * 用户 业务层
+ *
+ * @author ruoyi
+ */
+public interface ISysUserService
+{
+
+ /**
+ * 通过角色ID查询角色使用数量
+ *
+ * @param roleId 角色ID
+ * @return 结果
+ */
+ public int countUserSchoolAdminRoleByDeptId(Long deptId,Long roleId);
+
+ /**
+ * 根据条件分页查询用户列表
+ *
+ * @param user 用户信息
+ * @return 用户信息集合信息
+ */
+ public List selectUserList(SysUser user);
+
+ /**
+ * 根据条件分页查询用户列表
+ *
+ * @param user 用户信息
+ * @return 用户信息集合信息
+ */
+ public List selectUserListAll(SysUser user);
+
+ /**
+ * 通过用户名查询用户
+ *
+ * @param userName 用户名
+ * @return 用户对象信息
+ */
+ public SysUser selectUserByUserName(String userName);
+
+ /**
+ * 通过用户ID查询用户
+ *
+ * @param userId 用户ID
+ * @return 用户对象信息
+ */
+ public SysUser selectUserById(Long userId);
+
+ /**
+ * 根据roleId查询用户列表
+ *
+ * @param sysUser 用户信息
+ * @return 用户信息集合信息
+ */
+ public List selectUserListByRoleId(SysUser user);
+
+ /**
+ * 根据roleId查询用户列表
+ *
+ * @param roleId 用户信息
+ * @return 用户信息集合信息
+ */
+ public List selectUserOnlyByRoleId(Long roleId);
+
+ /**
+ * 根据用户ID查询用户所属角色组
+ *
+ * @param userName 用户名
+ * @return 结果
+ */
+ public String selectUserRoleGroup(String userName);
+
+ /**
+ * 根据用户ID查询用户所属岗位组
+ *
+ * @param userName 用户名
+ * @return 结果
+ */
+ public String selectUserPostGroup(String userName);
+
+ /**
+ * 校验用户名称是否唯一
+ *
+ * @param userName 用户名称
+ * @return 结果
+ */
+ public String checkUserNameUnique(String userName);
+
+ /**
+ * 校验手机号码是否唯一
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ public String checkPhoneUnique(SysUser user);
+
+ /**
+ * 校验email是否唯一
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ public String checkEmailUnique(SysUser user);
+
+ /**
+ * 校验用户是否允许操作
+ *
+ * @param user 用户信息
+ */
+ public void checkUserAllowed(SysUser user);
+
+ /**
+ * 新增用户信息
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ public int insertUser(SysUser user);
+
+ /**
+ * 修改用户信息
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ public int updateUser(SysUser user);
+
+ /**
+ * 修改用户状态
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ public int updateUserStatus(SysUser user);
+
+ /**
+ * 修改用户基本信息
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ public int updateUserProfile(SysUser user);
+
+ /**
+ * 修改用户头像
+ *
+ * @param userName 用户名
+ * @param avatar 头像地址
+ * @return 结果
+ */
+ public boolean updateUserAvatar(String userName, String avatar);
+
+ /**
+ * 重置用户密码
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ public int resetPwd(SysUser user);
+
+ /**
+ * 重置用户密码
+ *
+ * @param userName 用户名
+ * @param password 密码
+ * @return 结果
+ */
+ public int resetUserPwd(String userName, String password);
+
+ /**
+ * 通过用户ID删除用户
+ *
+ * @param userId 用户ID
+ * @return 结果
+ */
+ public int deleteUserById(Long userId);
+
+ /**
+ * 批量删除用户信息
+ *
+ * @param userIds 需要删除的用户ID
+ * @return 结果
+ */
+ public int deleteUserByIds(Long[] userIds);
+
+ /**
+ * 导入用户数据
+ *
+ * @param userList 用户数据列表
+ * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
+ * @param operName 操作用户
+ * @return 结果
+ */
+ public String importUser(List userList, Boolean isUpdateSupport, String operName);
+}
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
index 8bb8ec858..9a914036b 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
@@ -1,461 +1,474 @@
-package com.ruoyi.project.system.service.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.ruoyi.project.system.domain.*;
-import com.ruoyi.project.system.mapper.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.exception.CustomException;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
-import com.ruoyi.project.system.service.ISysConfigService;
-import com.ruoyi.project.system.service.ISysUserService;
-
-/**
- * 用户 业务层处理
- *
- * @author ruoyi
- */
-@Service
-public class SysUserServiceImpl implements ISysUserService {
- private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
-
- @Autowired
- private SysUserMapper userMapper;
-
- @Autowired
- private SysRoleMapper roleMapper;
-
- @Autowired
- private SysPostMapper postMapper;
-
- @Autowired
- private SysUserRoleMapper userRoleMapper;
-
- @Autowired
- private SysUserPostMapper userPostMapper;
-
- @Autowired
- private SysUserDeptMapper userDeptMapper;
-
- @Autowired
- private ISysConfigService configService;
-
- /**
- * 通过角色ID查询角色使用数量
- *
- * @param roleId 角色ID
- * @return 结果
- */
- public int countUserSchoolAdminRoleByDeptId(Long deptId, Long roleId) {
- return userMapper.countUserSchoolAdminRoleByDeptId(deptId, roleId);
- }
-
- /**
- * 根据条件分页查询用户列表
- *
- * @param user 用户信息
- * @return 用户信息集合信息
- */
- @Override
- @DataScope(deptAlias = "d", userAlias = "u")
- public List selectUserList(SysUser user) {
- return userMapper.selectUserList(user);
- }
-
- /**
- * 根据条件分页查询用户列表
- *
- * @param user 用户信息
- * @return 用户信息集合信息
- */
- @Override
- public List selectUserListAll(SysUser user) {
- return userMapper.selectUserListAll(user);
- }
-
- /**
- * 通过用户名查询用户
- *
- * @param userName 用户名
- * @return 用户对象信息
- */
- @Override
- public SysUser selectUserByUserName(String userName) {
- return userMapper.selectUserByUserName(userName);
- }
-
- /**
- * 通过用户ID查询用户
- *
- * @param userId 用户ID
- * @return 用户对象信息
- */
- @Override
- public SysUser selectUserById(Long userId) {
- return userMapper.selectUserById(userId);
- }
-
- /**
- * 根据roleId查询用户列表
- *
- * @param user 用户信息
- * @return 用户信息集合信息
- */
- @Override
- public List selectUserListByRoleId(SysUser sysUser) {
- return userMapper.selectUserListByRoleId(sysUser);
- }
-
- /**
- * 查询用户所属角色组
- *
- * @param userName 用户名
- * @return 结果
- */
- @Override
- public String selectUserRoleGroup(String userName) {
- List list = roleMapper.selectRolesByUserName(userName);
- StringBuffer idsStr = new StringBuffer();
- for (SysRole role : list) {
- idsStr.append(role.getRoleName()).append(",");
- }
- if (StringUtils.isNotEmpty(idsStr.toString())) {
- return idsStr.substring(0, idsStr.length() - 1);
- }
- return idsStr.toString();
- }
-
- /**
- * 查询用户所属岗位组
- *
- * @param userName 用户名
- * @return 结果
- */
- @Override
- public String selectUserPostGroup(String userName) {
- List list = postMapper.selectPostsByUserName(userName);
- StringBuffer idsStr = new StringBuffer();
- for (SysPost post : list) {
- idsStr.append(post.getPostName()).append(",");
- }
- if (StringUtils.isNotEmpty(idsStr.toString())) {
- return idsStr.substring(0, idsStr.length() - 1);
- }
- return idsStr.toString();
- }
-
- /**
- * 校验用户名称是否唯一
- *
- * @param userName 用户名称
- * @return 结果
- */
- @Override
- public String checkUserNameUnique(String userName) {
- int count = userMapper.checkUserNameUnique(userName);
- if (count > 0) {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
- }
-
- /**
- * 校验用户名称是否唯一
- *
- * @param user 用户信息
- * @return
- */
- @Override
- public String checkPhoneUnique(SysUser user) {
- Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
- SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber());
- if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
- }
-
- /**
- * 校验email是否唯一
- *
- * @param user 用户信息
- * @return
- */
- @Override
- public String checkEmailUnique(SysUser user) {
- Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
- SysUser info = userMapper.checkEmailUnique(user.getEmail());
- if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
- }
-
- /**
- * 校验用户是否允许操作
- *
- * @param user 用户信息
- */
- public void checkUserAllowed(SysUser user) {
- if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) {
- throw new CustomException("不允许操作超级管理员用户");
- }
- }
-
- /**
- * 新增保存用户信息
- *
- * @param user 用户信息
- * @return 结果
- */
- @Override
- @Transactional
- public int insertUser(SysUser user) {
- // 新增用户信息
- int rows = userMapper.insertUser(user);
- // 新增用户岗位关联
- insertUserPost(user);
- // 新增用户与角色管理
- insertUserRole(user);
- //新增用户与部门管理
- insertUserDept(user);
- return rows;
- }
-
- /**
- * 修改保存用户信息
- *
- * @param user 用户信息
- * @return 结果
- */
- @Override
- @Transactional
- public int updateUser(SysUser user) {
- Long userId = user.getUserId();
- // 删除用户与角色关联
- userRoleMapper.deleteUserRoleByUserId(userId);
- // 新增用户与角色管理
- insertUserRole(user);
- // 删除用户与岗位关联
- userPostMapper.deleteUserPostByUserId(userId);
- // 新增用户与岗位管理
- insertUserPost(user);
- // 删除用户与部门关联
- userDeptMapper.deleteUserDeptByUserId(userId);
- // 新增用户与角色管理
- insertUserDept(user);
- return userMapper.updateUser(user);
- }
-
- /**
- * 修改用户状态
- *
- * @param user 用户信息
- * @return 结果
- */
- @Override
- public int updateUserStatus(SysUser user) {
- return userMapper.updateUser(user);
- }
-
- /**
- * 修改用户基本信息
- *
- * @param user 用户信息
- * @return 结果
- */
- @Override
- public int updateUserProfile(SysUser user) {
- return userMapper.updateUser(user);
- }
-
- /**
- * 修改用户头像
- *
- * @param userId 用户ID
- * @param avatar 头像地址
- * @return 结果
- */
- public boolean updateUserAvatar(String userName, String avatar) {
- return userMapper.updateUserAvatar(userName, avatar) > 0;
- }
-
- /**
- * 重置用户密码
- *
- * @param user 用户信息
- * @return 结果
- */
- @Override
- public int resetPwd(SysUser user) {
- return userMapper.updateUser(user);
- }
-
- /**
- * 重置用户密码
- *
- * @param userName 用户名
- * @param password 密码
- * @return 结果
- */
- @Override
- public int resetUserPwd(String userName, String password) {
- return userMapper.resetUserPwd(userName, password);
- }
-
- /**
- * 新增用户角色信息
- *
- * @param user 用户对象
- */
- public void insertUserRole(SysUser user) {
- Long[] roles = user.getRoleIds();
- if (StringUtils.isNotNull(roles)) {
- // 新增用户与角色管理
- List list = new ArrayList();
- for (Long roleId : roles) {
- SysUserRole ur = new SysUserRole();
- ur.setUserId(user.getUserId());
- ur.setRoleId(roleId);
- list.add(ur);
- }
- if (list.size() > 0) {
- userRoleMapper.batchUserRole(list);
- }
- }
- }
-
- /**
- * 新增用户岗位信息
- *
- * @param user 用户对象
- */
- public void insertUserPost(SysUser user) {
- Long[] posts = user.getPostIds();
- if (StringUtils.isNotNull(posts)) {
- // 新增用户与岗位管理
- List list = new ArrayList();
- for (Long postId : posts) {
- SysUserPost up = new SysUserPost();
- up.setUserId(user.getUserId());
- up.setPostId(postId);
- list.add(up);
- }
- if (list.size() > 0) {
- userPostMapper.batchUserPost(list);
- }
- }
- }
-
- /**
- * 新增用户部门信息
- *
- * @param user 用户对象
- */
- public void insertUserDept(SysUser user) {
- Long[] depts = user.getDeptIds();
- if (StringUtils.isNotNull(depts)) {
- // 新增用户与部门管理
- List list = new ArrayList();
- for (Long deptId : depts) {
- SysUserDept ud = new SysUserDept();
- ud.setUserId(user.getUserId());
- ud.setDeptId(deptId);
- list.add(ud);
- }
- if (list.size() > 0) {
- userDeptMapper.batchUserDept(list);
- }
- }
- }
-
- /**
- * 通过用户ID删除用户
- *
- * @param userId 用户ID
- * @return 结果
- */
- @Override
- public int deleteUserById(Long userId) {
- // 删除用户与角色关联
- userRoleMapper.deleteUserRoleByUserId(userId);
- // 删除用户与岗位表
- userPostMapper.deleteUserPostByUserId(userId);
- return userMapper.deleteUserById(userId);
- }
-
- /**
- * 批量删除用户信息
- *
- * @param userIds 需要删除的用户ID
- * @return 结果
- */
- public int deleteUserByIds(Long[] userIds) {
- for (Long userId : userIds) {
- checkUserAllowed(new SysUser(userId));
- }
- return userMapper.deleteUserByIds(userIds);
- }
-
- /**
- * 导入用户数据
- *
- * @param userList 用户数据列表
- * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
- * @param operName 操作用户
- * @return 结果
- */
- @Override
- public String importUser(List userList, Boolean isUpdateSupport, String operName) {
- if (StringUtils.isNull(userList) || userList.size() == 0) {
- throw new CustomException("导入用户数据不能为空!");
- }
- int successNum = 0;
- int failureNum = 0;
- StringBuilder successMsg = new StringBuilder();
- StringBuilder failureMsg = new StringBuilder();
- String password = configService.selectConfigByKey("sys.user.initPassword");
- for (SysUser user : userList) {
- try {
- // 验证是否存在这个用户
- SysUser u = userMapper.selectUserByUserName(user.getUserName());
- if (StringUtils.isNull(u)) {
- user.setPassword(SecurityUtils.encryptPassword(password));
- user.setCreateBy(operName);
- this.insertUser(user);
- successNum++;
- successMsg.append("
" + successNum + "、账号 " + user.getUserName() + " 导入成功");
- } else if (isUpdateSupport) {
- user.setUpdateBy(operName);
- this.updateUser(user);
- successNum++;
- successMsg.append("
" + successNum + "、账号 " + user.getUserName() + " 更新成功");
- } else {
- failureNum++;
- failureMsg.append("
" + failureNum + "、账号 " + user.getUserName() + " 已存在");
- }
- } catch (Exception e) {
- failureNum++;
- String msg = "
" + failureNum + "、账号 " + user.getUserName() + " 导入失败:";
- failureMsg.append(msg + e.getMessage());
- log.error(msg, e);
- }
- }
- if (failureNum > 0) {
- failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
- throw new CustomException(failureMsg.toString());
- } else {
- successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
- }
- return successMsg.toString();
- }
-
-}
+package com.ruoyi.project.system.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ruoyi.project.system.domain.*;
+import com.ruoyi.project.system.mapper.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.ruoyi.common.constant.UserConstants;
+import com.ruoyi.common.exception.CustomException;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.system.service.ISysConfigService;
+import com.ruoyi.project.system.service.ISysUserService;
+
+/**
+ * 用户 业务层处理
+ *
+ * @author ruoyi
+ */
+@Service
+public class SysUserServiceImpl implements ISysUserService {
+ private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
+
+ @Autowired
+ private SysUserMapper userMapper;
+
+ @Autowired
+ private SysRoleMapper roleMapper;
+
+ @Autowired
+ private SysPostMapper postMapper;
+
+ @Autowired
+ private SysUserRoleMapper userRoleMapper;
+
+ @Autowired
+ private SysUserPostMapper userPostMapper;
+
+ @Autowired
+ private SysUserDeptMapper userDeptMapper;
+
+ @Autowired
+ private ISysConfigService configService;
+
+ /**
+ * 通过角色ID查询角色使用数量
+ *
+ * @param roleId 角色ID
+ * @return 结果
+ */
+ public int countUserSchoolAdminRoleByDeptId(Long deptId, Long roleId) {
+ return userMapper.countUserSchoolAdminRoleByDeptId(deptId, roleId);
+ }
+
+ /**
+ * 根据条件分页查询用户列表
+ *
+ * @param user 用户信息
+ * @return 用户信息集合信息
+ */
+ @Override
+ @DataScope(deptAlias = "d", userAlias = "u")
+ public List selectUserList(SysUser user) {
+ return userMapper.selectUserList(user);
+ }
+
+ /**
+ * 根据条件分页查询用户列表
+ *
+ * @param user 用户信息
+ * @return 用户信息集合信息
+ */
+ @Override
+ public List selectUserListAll(SysUser user) {
+ return userMapper.selectUserListAll(user);
+ }
+
+ /**
+ * 通过用户名查询用户
+ *
+ * @param userName 用户名
+ * @return 用户对象信息
+ */
+ @Override
+ public SysUser selectUserByUserName(String userName) {
+ return userMapper.selectUserByUserName(userName);
+ }
+
+ /**
+ * 通过用户ID查询用户
+ *
+ * @param userId 用户ID
+ * @return 用户对象信息
+ */
+ @Override
+ public SysUser selectUserById(Long userId) {
+ return userMapper.selectUserById(userId);
+ }
+
+ /**
+ * 根据roleId查询用户列表
+ *
+ * @param user 用户信息
+ * @return 用户信息集合信息
+ */
+ @Override
+ public List selectUserListByRoleId(SysUser sysUser) {
+ return userMapper.selectUserListByRoleId(sysUser);
+ }
+
+ /**
+ * 根据roleId查询用户列表
+ *
+ * @param roleId 用户信息
+ * @return 用户信息集合信息
+ */
+ @Override
+ public List selectUserOnlyByRoleId(Long roleId) {
+ return userMapper.selectUserOnlyByRoleId(roleId);
+ }
+
+
+
+ /**
+ * 查询用户所属角色组
+ *
+ * @param userName 用户名
+ * @return 结果
+ */
+ @Override
+ public String selectUserRoleGroup(String userName) {
+ List list = roleMapper.selectRolesByUserName(userName);
+ StringBuffer idsStr = new StringBuffer();
+ for (SysRole role : list) {
+ idsStr.append(role.getRoleName()).append(",");
+ }
+ if (StringUtils.isNotEmpty(idsStr.toString())) {
+ return idsStr.substring(0, idsStr.length() - 1);
+ }
+ return idsStr.toString();
+ }
+
+ /**
+ * 查询用户所属岗位组
+ *
+ * @param userName 用户名
+ * @return 结果
+ */
+ @Override
+ public String selectUserPostGroup(String userName) {
+ List list = postMapper.selectPostsByUserName(userName);
+ StringBuffer idsStr = new StringBuffer();
+ for (SysPost post : list) {
+ idsStr.append(post.getPostName()).append(",");
+ }
+ if (StringUtils.isNotEmpty(idsStr.toString())) {
+ return idsStr.substring(0, idsStr.length() - 1);
+ }
+ return idsStr.toString();
+ }
+
+ /**
+ * 校验用户名称是否唯一
+ *
+ * @param userName 用户名称
+ * @return 结果
+ */
+ @Override
+ public String checkUserNameUnique(String userName) {
+ int count = userMapper.checkUserNameUnique(userName);
+ if (count > 0) {
+ return UserConstants.NOT_UNIQUE;
+ }
+ return UserConstants.UNIQUE;
+ }
+
+ /**
+ * 校验用户名称是否唯一
+ *
+ * @param user 用户信息
+ * @return
+ */
+ @Override
+ public String checkPhoneUnique(SysUser user) {
+ Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
+ SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber());
+ if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
+ return UserConstants.NOT_UNIQUE;
+ }
+ return UserConstants.UNIQUE;
+ }
+
+ /**
+ * 校验email是否唯一
+ *
+ * @param user 用户信息
+ * @return
+ */
+ @Override
+ public String checkEmailUnique(SysUser user) {
+ Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
+ SysUser info = userMapper.checkEmailUnique(user.getEmail());
+ if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
+ return UserConstants.NOT_UNIQUE;
+ }
+ return UserConstants.UNIQUE;
+ }
+
+ /**
+ * 校验用户是否允许操作
+ *
+ * @param user 用户信息
+ */
+ public void checkUserAllowed(SysUser user) {
+ if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) {
+ throw new CustomException("不允许操作超级管理员用户");
+ }
+ }
+
+ /**
+ * 新增保存用户信息
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ @Override
+ @Transactional
+ public int insertUser(SysUser user) {
+ // 新增用户信息
+ int rows = userMapper.insertUser(user);
+ // 新增用户岗位关联
+ insertUserPost(user);
+ // 新增用户与角色管理
+ insertUserRole(user);
+ //新增用户与部门管理
+ insertUserDept(user);
+ return rows;
+ }
+
+ /**
+ * 修改保存用户信息
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ @Override
+ @Transactional
+ public int updateUser(SysUser user) {
+ Long userId = user.getUserId();
+ // 删除用户与角色关联
+ userRoleMapper.deleteUserRoleByUserId(userId);
+ // 新增用户与角色管理
+ insertUserRole(user);
+ // 删除用户与岗位关联
+ userPostMapper.deleteUserPostByUserId(userId);
+ // 新增用户与岗位管理
+ insertUserPost(user);
+ // 删除用户与部门关联
+ userDeptMapper.deleteUserDeptByUserId(userId);
+ // 新增用户与角色管理
+ insertUserDept(user);
+ return userMapper.updateUser(user);
+ }
+
+ /**
+ * 修改用户状态
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ @Override
+ public int updateUserStatus(SysUser user) {
+ return userMapper.updateUser(user);
+ }
+
+ /**
+ * 修改用户基本信息
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ @Override
+ public int updateUserProfile(SysUser user) {
+ return userMapper.updateUser(user);
+ }
+
+ /**
+ * 修改用户头像
+ *
+ * @param userId 用户ID
+ * @param avatar 头像地址
+ * @return 结果
+ */
+ public boolean updateUserAvatar(String userName, String avatar) {
+ return userMapper.updateUserAvatar(userName, avatar) > 0;
+ }
+
+ /**
+ * 重置用户密码
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ @Override
+ public int resetPwd(SysUser user) {
+ return userMapper.updateUser(user);
+ }
+
+ /**
+ * 重置用户密码
+ *
+ * @param userName 用户名
+ * @param password 密码
+ * @return 结果
+ */
+ @Override
+ public int resetUserPwd(String userName, String password) {
+ return userMapper.resetUserPwd(userName, password);
+ }
+
+ /**
+ * 新增用户角色信息
+ *
+ * @param user 用户对象
+ */
+ public void insertUserRole(SysUser user) {
+ Long[] roles = user.getRoleIds();
+ if (StringUtils.isNotNull(roles)) {
+ // 新增用户与角色管理
+ List list = new ArrayList();
+ for (Long roleId : roles) {
+ SysUserRole ur = new SysUserRole();
+ ur.setUserId(user.getUserId());
+ ur.setRoleId(roleId);
+ list.add(ur);
+ }
+ if (list.size() > 0) {
+ userRoleMapper.batchUserRole(list);
+ }
+ }
+ }
+
+ /**
+ * 新增用户岗位信息
+ *
+ * @param user 用户对象
+ */
+ public void insertUserPost(SysUser user) {
+ Long[] posts = user.getPostIds();
+ if (StringUtils.isNotNull(posts)) {
+ // 新增用户与岗位管理
+ List list = new ArrayList();
+ for (Long postId : posts) {
+ SysUserPost up = new SysUserPost();
+ up.setUserId(user.getUserId());
+ up.setPostId(postId);
+ list.add(up);
+ }
+ if (list.size() > 0) {
+ userPostMapper.batchUserPost(list);
+ }
+ }
+ }
+
+ /**
+ * 新增用户部门信息
+ *
+ * @param user 用户对象
+ */
+ public void insertUserDept(SysUser user) {
+ Long[] depts = user.getDeptIds();
+ if (StringUtils.isNotNull(depts)) {
+ // 新增用户与部门管理
+ List list = new ArrayList();
+ for (Long deptId : depts) {
+ SysUserDept ud = new SysUserDept();
+ ud.setUserId(user.getUserId());
+ ud.setDeptId(deptId);
+ list.add(ud);
+ }
+ if (list.size() > 0) {
+ userDeptMapper.batchUserDept(list);
+ }
+ }
+ }
+
+ /**
+ * 通过用户ID删除用户
+ *
+ * @param userId 用户ID
+ * @return 结果
+ */
+ @Override
+ public int deleteUserById(Long userId) {
+ // 删除用户与角色关联
+ userRoleMapper.deleteUserRoleByUserId(userId);
+ // 删除用户与岗位表
+ userPostMapper.deleteUserPostByUserId(userId);
+ return userMapper.deleteUserById(userId);
+ }
+
+ /**
+ * 批量删除用户信息
+ *
+ * @param userIds 需要删除的用户ID
+ * @return 结果
+ */
+ public int deleteUserByIds(Long[] userIds) {
+ for (Long userId : userIds) {
+ checkUserAllowed(new SysUser(userId));
+ }
+ return userMapper.deleteUserByIds(userIds);
+ }
+
+ /**
+ * 导入用户数据
+ *
+ * @param userList 用户数据列表
+ * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
+ * @param operName 操作用户
+ * @return 结果
+ */
+ @Override
+ public String importUser(List userList, Boolean isUpdateSupport, String operName) {
+ if (StringUtils.isNull(userList) || userList.size() == 0) {
+ throw new CustomException("导入用户数据不能为空!");
+ }
+ int successNum = 0;
+ int failureNum = 0;
+ StringBuilder successMsg = new StringBuilder();
+ StringBuilder failureMsg = new StringBuilder();
+ String password = configService.selectConfigByKey("sys.user.initPassword");
+ for (SysUser user : userList) {
+ try {
+ // 验证是否存在这个用户
+ SysUser u = userMapper.selectUserByUserName(user.getUserName());
+ if (StringUtils.isNull(u)) {
+ user.setPassword(SecurityUtils.encryptPassword(password));
+ user.setCreateBy(operName);
+ this.insertUser(user);
+ successNum++;
+ successMsg.append("
" + successNum + "、账号 " + user.getUserName() + " 导入成功");
+ } else if (isUpdateSupport) {
+ user.setUpdateBy(operName);
+ this.updateUser(user);
+ successNum++;
+ successMsg.append("
" + successNum + "、账号 " + user.getUserName() + " 更新成功");
+ } else {
+ failureNum++;
+ failureMsg.append("
" + failureNum + "、账号 " + user.getUserName() + " 已存在");
+ }
+ } catch (Exception e) {
+ failureNum++;
+ String msg = "
" + failureNum + "、账号 " + user.getUserName() + " 导入失败:";
+ failureMsg.append(msg + e.getMessage());
+ log.error(msg, e);
+ }
+ }
+ if (failureNum > 0) {
+ failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
+ throw new CustomException(failureMsg.toString());
+ } else {
+ successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
+ }
+ return successMsg.toString();
+ }
+
+}
diff --git a/ruoyi/src/main/resources/mybatis/benyi/ByCustomerMapper.xml b/ruoyi/src/main/resources/mybatis/benyi/ByCustomerMapper.xml
index 58a744c9d..c687ecaa6 100644
--- a/ruoyi/src/main/resources/mybatis/benyi/ByCustomerMapper.xml
+++ b/ruoyi/src/main/resources/mybatis/benyi/ByCustomerMapper.xml
@@ -20,6 +20,7 @@
+
@@ -30,7 +31,7 @@
- select id, name, sflx, lxdh, wx, dy, qt, schoolname, rs, sheng, shengid, shi, shiid, khly, create_userid, bz, zhgj, state, xfxm, xfjz, gbtime, create_time from by_customer
+ select id, name, sflx, lxdh, wx, dy, qt, fpid, schoolname, rs, sheng, shengid, shi, shiid, khly, create_userid, bz, zhgj, state, xfxm, xfjz, gbtime, create_time from by_customer