From b0402b407292f0708a1684cc0ca1d5e2d890b753 Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期一, 24 六月 2024 15:12:39 +0800
Subject: [PATCH] 多机构管理,问题修改
---
project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java | 1
project-report/src/main/java/com/project/report/service/IReportService.java | 2
project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java | 45 +++++
project-system/src/main/resources/mapper/system/SysUserMapper.xml | 6
project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java | 4
project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java | 100 ++++++++++++
project-system/src/main/java/com/project/system/domain/vo/SysUserVo.java | 56 +++++++
project-report/src/main/resources/mapper/report/ReportMapper.xml | 14
project-system/src/main/java/com/project/system/domain/vo/UserDeptVo.java | 18 ++
project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java | 88 +++++++++-
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java | 12
project-admin/src/main/java/com/project/admin/controller/system/SysCompanyController.java | 8
project-system/src/main/java/com/project/system/service/ISysUserService.java | 24 +++
project-system/src/main/java/com/project/system/domain/vo/SysUserResultVo.java | 20 ++
project-system/src/main/java/com/project/system/service/ISysUserDeptService.java | 17 ++
project-system/src/main/java/com/project/system/domain/bo/editBo/UserDeptBo.java | 19 ++
16 files changed, 401 insertions(+), 33 deletions(-)
diff --git a/project-admin/src/main/java/com/project/admin/controller/system/SysCompanyController.java b/project-admin/src/main/java/com/project/admin/controller/system/SysCompanyController.java
index cbf117c..b00888e 100644
--- a/project-admin/src/main/java/com/project/admin/controller/system/SysCompanyController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/system/SysCompanyController.java
@@ -20,6 +20,7 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -55,7 +56,12 @@
@RepeatSubmit
public AjaxResult export(SysCompanyQueryBo bo)
{
- List<SysCompanyVo> list = iSysCompanyService.queryList(bo);
+ List<SysCompanyVo> list;
+ if (bo==null){
+ list = new ArrayList<>();
+ } else {
+ list = iSysCompanyService.queryList(bo);
+ }
ExcelUtil<SysCompanyVo> util = new ExcelUtil<>(SysCompanyVo.class);
return util.exportExcel(list, "浼佷笟淇℃伅");
}
diff --git a/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java b/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java
index f1c3f6d..3175f4f 100644
--- a/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java
@@ -12,10 +12,11 @@
import com.project.common.utils.SecurityUtils;
import com.project.common.utils.StringUtils;
import com.project.common.utils.poi.ExcelUtil;
-import com.project.system.service.ISysDeptService;
-import com.project.system.service.ISysPostService;
-import com.project.system.service.ISysRoleService;
-import com.project.system.service.ISysUserService;
+import com.project.system.domain.bo.editBo.UserDeptBo;
+import com.project.system.domain.vo.SysUserVo;
+import com.project.system.service.*;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -41,6 +42,7 @@
private final ISysRoleService roleService;
private final ISysDeptService deptService;
private final ISysPostService postService;
+ private final ISysUserDeptService userDeptService;
/**
* 鑾峰彇鐢ㄦ埛鍒楄〃
@@ -64,6 +66,8 @@
util.exportExcel(response, list, "鐢ㄦ埛鏁版嵁");
}
+
+
@Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.IMPORT)
@PreAuthorize("@ss.hasPermi('system:user:import')")
@PostMapping("/importData")
@@ -76,12 +80,7 @@
return success(message);
}
- @PostMapping("/importTemplate")
- public void importTemplate(HttpServletResponse response)
- {
- ExcelUtil<SysUser> util = new ExcelUtil<>(SysUser.class);
- util.importTemplateExcel(response, "鐢ㄦ埛鏁版嵁");
- }
+
/**
* 鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇璇︾粏淇℃伅
@@ -210,6 +209,37 @@
return toAjax(userService.resetPwd(user));
}
+ @ApiOperation("鐢ㄦ埛澶氭満鏋勨�斺�斿洖鏄�")
+ @GetMapping("/batchUserDeptView")
+ public AjaxResult batchUserDeptView(@RequestParam("userId") Long userId)
+ {
+ return AjaxResult.success(userDeptService.batchUserDeptView(userId));
+ }
+
+ @ApiOperation("鐢ㄦ埛澶氭満鏋勨�斺�斾繚瀛�")
+ @Log(title = "鐢ㄦ埛澶氭満鏋勪繚瀛�", businessType = BusinessType.UPDATE)
+ @PostMapping("/batchUserDeptSave")
+ public AjaxResult batchUserDeptSave(@RequestBody UserDeptBo bo)
+ {
+ return AjaxResult.success(userDeptService.batchUserDeptSave(bo));
+ }
+
+ @ApiOperation("浼佷笟鐢ㄦ埛閲嶇疆瀵嗙爜")
+ @Log(title = "浼佷笟鐢ㄦ埛閲嶇疆瀵嗙爜", businessType = BusinessType.UPDATE)
+ @PostMapping("/resetCompanyUserPwd")
+ public AjaxResult resetCompanyUserPwd(@RequestParam("companyId") Long companyId,@RequestParam("newPassword") String newPassword)
+ {
+ SysUser user = userService.list(userService.lq().eq(SysUser::getDeptId, companyId)).get(0);
+ if (user==null) {
+ return AjaxResult.error("娌℃湁璇ヤ紒涓氬搴旇处鎴�");
+ }
+ if (userService.resetUserPwd(user.getUserName(), SecurityUtils.encryptPassword(newPassword), newPassword) > 0)
+ {
+ return success();
+ }
+ return error("淇敼瀵嗙爜寮傚父锛岃鑱旂郴绠$悊鍛�");
+ }
+
/**
* 鐘舵�佷慨鏀�
*/
@@ -261,4 +291,42 @@
{
return success(deptService.selectDeptTreeList(dept));
}
+
+
+ @ApiOperation("鐢ㄦ埛妯℃澘涓嬭浇")
+ @GetMapping("/exportTemplate")
+ public AjaxResult exportTemplate()
+ {
+ ExcelUtil<SysUserVo> util = new ExcelUtil<>(SysUserVo.class);
+ return util.exportExcel(null, "鐢ㄦ埛淇℃伅妯℃澘");
+ }
+
+ @ApiOperation(value = "澶勭悊瀵煎叆淇℃伅")
+ @Log(title = "瀵煎叆鐢ㄦ埛淇℃伅澶勭悊" , businessType = BusinessType.OTHER)
+ @ApiImplicitParam(value = "鐢ㄦ埛淇℃伅", name = "file", dataType = "file", dataTypeClass = MultipartFile.class)
+ @PostMapping("/doImport")
+ public AjaxResult doImport(@RequestPart(value = "file") MultipartFile file, @RequestParam("deptId") Long deptId) throws Exception
+ {
+
+ ExcelUtil<SysUserVo> util = new ExcelUtil<>(SysUserVo.class);
+ List<SysUserVo> list = util.importExcel(file.getInputStream());
+ return AjaxResult.success(userService.doImport(list, deptId));
+ }
+
+// @ApiOperation(value = "鏍¢獙瀵煎叆淇℃伅")
+// @Log(title = "瀵煎叆鐢ㄦ埛淇℃伅鏍¢獙" , businessType = BusinessType.OTHER)
+// @PostMapping("/checkImport")
+// public AjaxResult checkImport(@RequestBody SysCompanyResultVo resultVo)
+// {
+// return AjaxResult.success(userService.checkImport(resultVo));
+// }
+//
+// @ApiOperation(value = "淇濆瓨瀵煎叆淇℃伅")
+// @Log(title = "瀵煎叆鐢ㄦ埛淇℃伅淇濆瓨" , businessType = BusinessType.IMPORT)
+// @PostMapping("/saveImport")
+// public AjaxResult saveImport(@RequestBody SysCompanyResultVo resultVo)
+// {
+// return toAjax(userService.saveImport(resultVo) ? 1 : 0);
+// }
+
}
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
index cf78f03..880ea1d 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
@@ -80,6 +80,7 @@
order.setCheckStatus(-1);
//瀹℃壒鎷掔粷锛岀粰鐢宠浜哄彂閫佺煭淇★紝濡傛灉閫氱煡浼佷笟涔熺粰浼佷笟鍙戦�佺煭淇�
smsService.sendCheckMsg(order.getApplyPhone(), order.getCheckStatus());
+ orderService.updateById(order);
} else {
List<String> phones = orderService.getCheckPhones(order.getCheckLevel()+1, order.getApplyDeptId());
if (StringUtils.isNotEmpty(phones)){
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
index ecc19c3..aca4fe8 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
@@ -126,12 +126,12 @@
{
SysUser loginUser = SecurityUtils.getLoginUser().getUser();
bo.setCheckIds(loginUser.getPhonenumber());
- List<Long> deptIds = deptService.getApplyDeptIdsByLoginUserId(loginUser.getUserId());
- if (StringUtils.isNotEmpty(deptIds)){
- bo.setApplyDeptIds(deptIds);
- } else {
- bo.setApplyDeptIds(null);
- }
+// List<Long> deptIds = deptService.getApplyDeptIdsByLoginUserId(loginUser.getUserId());
+// if (StringUtils.isNotEmpty(deptIds)){
+// bo.setApplyDeptIds(deptIds);
+// } else {
+// bo.setApplyDeptIds(null);
+// }
return this.baseMapper.selectCheckList(bo);
}
diff --git a/project-report/src/main/java/com/project/report/service/IReportService.java b/project-report/src/main/java/com/project/report/service/IReportService.java
index 0a89986..85a9234 100644
--- a/project-report/src/main/java/com/project/report/service/IReportService.java
+++ b/project-report/src/main/java/com/project/report/service/IReportService.java
@@ -59,7 +59,7 @@
List<KeyVal> getComplaintStatusCount(ReportQueryBo bo);
/**
- * 鎵ф硶绫诲瀷鍗犳瘮
+ * 鎶曡瘔绫诲瀷鍗犳瘮
* @param bo 骞存湀
* @return 鎵ф硶绫诲瀷鍗犳瘮
*/
diff --git a/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java b/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java
index 2023958..c8fa078 100644
--- a/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java
+++ b/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java
@@ -164,10 +164,10 @@
{
return dictDataList.stream().map(e -> {
KeyVal keyVal;
- if (resultMap.get(e.getDictValue()) == null) {
+ if (resultMap.get(e.getDictCode().toString()) == null) {
keyVal = new KeyVal(e.getDictLabel(), 0);
} else {
- keyVal = new KeyVal(e.getDictLabel(), resultMap.get(e.getDictValue()));
+ keyVal = new KeyVal(e.getDictLabel(), resultMap.get(e.getDictCode().toString()));
}
return keyVal;
}).collect(Collectors.toList());
diff --git a/project-report/src/main/resources/mapper/report/ReportMapper.xml b/project-report/src/main/resources/mapper/report/ReportMapper.xml
index b541a58..c68d466 100644
--- a/project-report/src/main/resources/mapper/report/ReportMapper.xml
+++ b/project-report/src/main/resources/mapper/report/ReportMapper.xml
@@ -14,7 +14,7 @@
from enforce_order
where 1=1
<if test="deptId != null ">
- AND apply_dept_id = #{deptId}
+ AND check_dept_id = #{deptId}
</if>
<if test="beginTime!=null and beginTime!=''">
AND apply_time >= #{beginTime}
@@ -92,15 +92,15 @@
from enforce_complaint_log
where 1=1
<if test="beginTime!=null and beginTime!=''">
- AND apply_time >= #{beginTime}
+ AND complaint_time >= #{beginTime}
</if>
<if test="endTime!=null and endTime!=''">
- AND apply_time <= #{endTime}
+ AND complaint_time <= #{endTime}
</if>
GROUP BY k
</select>
- <!-- 鎵ф硶绫诲瀷鍒嗗竷-->
+ <!-- 鎶曡瘔绫诲瀷鍒嗗竷-->
<select id="getComplaintTypeCount"
parameterType="com.project.report.domain.bo.query.ReportQueryBo"
resultType="com.project.common.vo.KeyVal">
@@ -110,12 +110,12 @@
from enforce_complaint_log
where 1=1
<if test="beginTime!=null and beginTime!=''">
- AND apply_time >= #{beginTime}
+ AND complaint_time >= #{beginTime}
</if>
<if test="endTime!=null and endTime!=''">
- AND apply_time <= #{endTime}
+ AND complaint_time <= #{endTime}
</if>
- <if test="doComplaint!=null ">
+ <if test="doComplaint != null ">
<if test="doComplaint == 0 ">
AND complaint_status = 0
</if>
diff --git a/project-system/src/main/java/com/project/system/domain/bo/editBo/UserDeptBo.java b/project-system/src/main/java/com/project/system/domain/bo/editBo/UserDeptBo.java
new file mode 100644
index 0000000..223b1ac
--- /dev/null
+++ b/project-system/src/main/java/com/project/system/domain/bo/editBo/UserDeptBo.java
@@ -0,0 +1,19 @@
+package com.project.system.domain.bo.editBo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 鍔熻兘鎻忚堪锛�
+ *
+ * @author ZQN
+ * @version 1.0
+ */
+
+@Data
+public class UserDeptBo
+{
+ private Long userId;
+ private List<Long> deptIds;
+}
diff --git a/project-system/src/main/java/com/project/system/domain/vo/SysUserResultVo.java b/project-system/src/main/java/com/project/system/domain/vo/SysUserResultVo.java
new file mode 100644
index 0000000..838c52a
--- /dev/null
+++ b/project-system/src/main/java/com/project/system/domain/vo/SysUserResultVo.java
@@ -0,0 +1,20 @@
+package com.project.system.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 鍔熻兘鎻忚堪锛�
+ *
+ * @author ZQN
+ * @version 1.0
+ */
+
+@Data
+@ApiModel("鐢ㄦ埛淇℃伅瑙嗗浘瀵硅薄")
+public class SysUserResultVo
+{
+ private List<SysUserVo> voList;
+}
diff --git a/project-system/src/main/java/com/project/system/domain/vo/SysUserVo.java b/project-system/src/main/java/com/project/system/domain/vo/SysUserVo.java
new file mode 100644
index 0000000..01ef4bf
--- /dev/null
+++ b/project-system/src/main/java/com/project/system/domain/vo/SysUserVo.java
@@ -0,0 +1,56 @@
+package com.project.system.domain.vo;
+
+import com.project.common.annotation.Excel;
+import com.project.common.core.domain.model.ImportError;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 鍔熻兘鎻忚堪锛�
+ *
+ * @author ZQN
+ * @version 1.0
+ */
+
+@Data
+public class SysUserVo
+{
+
+ @Excel(name = "濮撳悕")
+ @ApiModelProperty("濮撳悕")
+ private String nickName;
+
+
+ @Excel(name = "褰掑睘閮ㄩ棬")
+ @ApiModelProperty("褰掑睘閮ㄩ棬")
+ private String deptName;
+
+ @Excel(name = "鎵嬫満鍙�")
+ @ApiModelProperty("鎵嬫満鍙�")
+ private String phonenumber;
+
+ @Excel(name = "鐢ㄦ埛閭")
+ @ApiModelProperty("鐢ㄦ埛閭")
+ private String email;
+
+ @Excel(name = "鎬у埆")
+ @ApiModelProperty("鎬у埆")
+ private String sex;
+
+ @Excel(name = "澶囨敞")
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ @ApiModelProperty("閮ㄩ棬id")
+ private Long deptId;
+
+
+ @ApiModelProperty("鐢ㄦ埛id")
+ private Long userId;
+
+ @ApiModelProperty("閿欒淇℃伅鏁版嵁")
+ private List<ImportError> errorList;
+
+}
diff --git a/project-system/src/main/java/com/project/system/domain/vo/UserDeptVo.java b/project-system/src/main/java/com/project/system/domain/vo/UserDeptVo.java
new file mode 100644
index 0000000..d411f0d
--- /dev/null
+++ b/project-system/src/main/java/com/project/system/domain/vo/UserDeptVo.java
@@ -0,0 +1,18 @@
+package com.project.system.domain.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 鍔熻兘鎻忚堪锛�
+ *
+ * @author ZQN
+ * @version 1.0
+ */
+
+@Data
+public class UserDeptVo {
+ private Long userId;
+ private List<Long> deptIds;
+}
diff --git a/project-system/src/main/java/com/project/system/service/ISysUserDeptService.java b/project-system/src/main/java/com/project/system/service/ISysUserDeptService.java
index 3932764..8504b89 100644
--- a/project-system/src/main/java/com/project/system/service/ISysUserDeptService.java
+++ b/project-system/src/main/java/com/project/system/service/ISysUserDeptService.java
@@ -2,13 +2,28 @@
import com.project.common.mybatis.IBaseService;
import com.project.system.domain.SysUserDept;
+import com.project.system.domain.bo.editBo.UserDeptBo;
+import com.project.system.domain.vo.UserDeptVo;
/**
* 鐢ㄦ埛涓庨儴闂ㄥ叧鑱擲ervice鎺ュ彛
*
* @author manton
*/
-public interface ISysUserDeptService extends IBaseService<SysUserDept> {
+public interface ISysUserDeptService extends IBaseService<SysUserDept>
+{
+ /**
+ * 鐢ㄦ埛澶氱粨鏋勫洖鏄�
+ * @param userId 鐢ㄦ埛id
+ * @return 鍐呭
+ */
+ UserDeptVo batchUserDeptView(Long userId);
+ /**
+ * 鐢ㄦ埛澶氱粨鏋勪繚瀛�
+ * @param bo 鍙傛暟
+ * @return 缁撴灉
+ */
+ Boolean batchUserDeptSave(UserDeptBo bo);
}
diff --git a/project-system/src/main/java/com/project/system/service/ISysUserService.java b/project-system/src/main/java/com/project/system/service/ISysUserService.java
index d786b84..51f2c18 100644
--- a/project-system/src/main/java/com/project/system/service/ISysUserService.java
+++ b/project-system/src/main/java/com/project/system/service/ISysUserService.java
@@ -2,6 +2,8 @@
import com.project.common.core.domain.entity.SysUser;
import com.project.common.mybatis.IBaseService;
+import com.project.system.domain.vo.SysUserResultVo;
+import com.project.system.domain.vo.SysUserVo;
import java.util.List;
@@ -230,4 +232,26 @@
* @return 缁撴灉
*/
public int resetPhone(Long userId, String phone);
+
+ /**
+ * 澶勭悊瀵煎叆淇℃伅
+ * @param list 鏁版嵁
+ * @param deptId 瀵煎叆閮ㄩ棬id
+ * @return 缁撴灉
+ */
+ SysUserResultVo doImport(List<SysUserVo> list, Long deptId);
+
+ /**
+ * 鏍¢獙瀵煎叆淇℃伅
+ * @param resultVo 鏁版嵁
+ * @return 缁撴灉
+ */
+ SysUserResultVo checkImport(SysUserResultVo resultVo);
+
+ /**
+ * 淇濆瓨瀵煎叆淇℃伅
+ * @param resultVo 鏁版嵁
+ * @return 缁撴灉
+ */
+ Boolean saveImport(SysUserResultVo resultVo);
}
diff --git a/project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java
index 1a871f1..6a75b91 100644
--- a/project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java
+++ b/project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java
@@ -1,12 +1,21 @@
package com.project.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.project.common.exception.base.BaseException;
+import com.project.common.utils.StringUtils;
import com.project.system.domain.SysUserDept;
+import com.project.system.domain.bo.editBo.UserDeptBo;
+import com.project.system.domain.vo.UserDeptVo;
import com.project.system.mapper.SysUserDeptMapper;
import com.project.system.service.ISysUserDeptService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* 鐢ㄦ埛涓庨儴闂ㄥ叧鑱擲ervice涓氬姟灞傚鐞�
@@ -18,4 +27,40 @@
public class SysUserDeptServiceImpl extends ServiceImpl<SysUserDeptMapper, SysUserDept> implements ISysUserDeptService {
+ /**
+ * 鐢ㄦ埛澶氭満鏋勫洖鏄�
+ * @param userId 鐢ㄦ埛id
+ * @return 鍐呭
+ */
+ @Override
+ public UserDeptVo batchUserDeptView(Long userId)
+ {
+ List<SysUserDept> list = this.list(lq().eq(SysUserDept::getUserId, userId));
+ List<Long> deptIds = list.stream().map(SysUserDept::getDeptId).collect(Collectors.toList());
+ UserDeptVo vo = new UserDeptVo();
+ vo.setUserId(userId);
+ vo.setDeptIds(deptIds);
+ return vo;
+ }
+
+ /**
+ * 鐢ㄦ埛澶氭満鏋勪繚瀛�
+ * @param bo 鍙傛暟
+ * @return 缁撴灉
+ */
+ @Override
+ @Transactional
+ public Boolean batchUserDeptSave(UserDeptBo bo)
+ {
+ Long userId = bo.getUserId();
+ if (userId==null || StringUtils.isEmpty(bo.getDeptIds())){
+ throw new BaseException("鍙傛暟鏈夎锛�");
+ }
+ this.remove(lq().eq(SysUserDept::getUserId, userId));
+ List<SysUserDept> saveList = new ArrayList<>();
+ for (Long deptId : bo.getDeptIds()) {
+ saveList.add(new SysUserDept().setUserId(userId).setDeptId(deptId));
+ }
+ return this.saveBatch(saveList);
+ }
}
diff --git a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java
index b002089..dfc53ff 100644
--- a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java
+++ b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java
@@ -4,18 +4,23 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.project.common.annotation.DataScope;
import com.project.common.constant.UserConstants;
+import com.project.common.core.domain.entity.SysDept;
import com.project.common.core.domain.entity.SysRole;
import com.project.common.core.domain.entity.SysUser;
+import com.project.common.core.domain.model.ImportError;
import com.project.common.exception.ServiceException;
+import com.project.common.exception.base.BaseException;
import com.project.common.utils.SecurityUtils;
import com.project.common.utils.StringUtils;
import com.project.common.utils.bean.BeanValidators;
import com.project.common.utils.spring.SpringUtils;
-import com.project.system.domain.SysPost;
-import com.project.system.domain.SysUserPost;
-import com.project.system.domain.SysUserRole;
+import com.project.system.domain.*;
+import com.project.system.domain.vo.SysUserResultVo;
+import com.project.system.domain.vo.SysUserVo;
import com.project.system.mapper.*;
import com.project.system.service.ISysConfigService;
+import com.project.system.service.ISysDeptService;
+import com.project.system.service.ISysUserDeptService;
import com.project.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
@@ -47,6 +52,8 @@
private final SysUserRoleMapper userRoleMapper;
private final SysUserPostMapper userPostMapper;
private final ISysConfigService configService;
+ private final ISysUserDeptService userDeptService;
+ private final ISysDeptService deptService;
protected final Validator validator;
/**
@@ -250,6 +257,10 @@
insertUserPost(user);
// 鏂板鐢ㄦ埛涓庤鑹茬鐞�
insertUserRole(user);
+ // 鏂板鐢ㄦ埛涓庨儴闂ㄧ鐞�
+ if (!"02".equals(user.getUserType())){
+ insertUserDept(user);
+ }
return rows;
}
@@ -285,6 +296,10 @@
// 鏂板鐢ㄦ埛涓庡矖浣嶇鐞�
insertUserPost(user);
+ // 鏂板鐢ㄦ埛涓庨儴闂ㄧ鐞�
+ if (!"02".equals(user.getUserType())){
+ insertUserDept(user);
+ }
return userMapper.updateUser(user);
}
@@ -372,6 +387,21 @@
public void insertUserRole(SysUser user)
{
this.insertUserRole(user.getUserId(), user.getRoleIds());
+ }
+
+ /**
+ * 鏂板鐢ㄦ埛閮ㄩ棬
+ *
+ * @param user 鐢ㄦ埛瀵硅薄
+ */
+ public void insertUserDept(SysUser user)
+ {
+ userDeptService.remove(userDeptService.lq()
+ .eq(SysUserDept::getUserId, user.getUserId())
+ .eq(SysUserDept::getDeptId, user.getDeptId())
+ );
+ SysUserDept userDept = new SysUserDept().setUserId(user.getUserId()).setDeptId(user.getDeptId());
+ userDeptService.save(userDept);
}
/**
@@ -556,4 +586,68 @@
public int resetPhone(Long userId, String phone) {
return userMapper.resetPhone(userId, phone);
}
+
+ @Override
+ public SysUserResultVo doImport(List<SysUserVo> list, Long deptId)
+ {
+ if (list==null || list.size()<1){
+ throw new BaseException("鏈幏鍙栧埌瀵煎叆淇℃伅锛�");
+ }
+
+ SysUserResultVo resultVo = new SysUserResultVo();
+ list.forEach(sysUserVo -> {
+ sysUserVo.setDeptId(deptId);
+ });
+ resultVo.setVoList(list);
+ return this.checkImport(resultVo);
+ }
+
+ @Override
+ public SysUserResultVo checkImport(SysUserResultVo resultVo)
+ {
+ if (resultVo==null || StringUtils.isEmpty(resultVo.getVoList())){
+ throw new BaseException("鏈幏鍙栧埌瀵煎叆淇℃伅锛�");
+ }
+ for (SysUserVo vo : resultVo.getVoList()) {
+ List<ImportError> errors = new ArrayList<>();
+ validEntityBeforeImport(vo, errors);
+ vo.setErrorList(errors);
+ }
+ return resultVo;
+ }
+
+ private void validEntityBeforeImport(SysUserVo entity, List<ImportError> errorList)
+ {
+ if (StringUtils.isEmpty(entity.getNickName())){
+ errorList.add(new ImportError(0, "璇峰~濮撳悕锛�"));
+ }
+ if (StringUtils.isEmpty(entity.getDeptName())){
+ errorList.add(new ImportError(1, "璇峰~鍐欓儴闂ㄤ俊鎭紒"));
+ } else {
+ SysDept sysDept = deptService.selectDeptById(entity.getDeptId());
+ if (sysDept==null || !sysDept.getDeptName().equals(entity.getDeptName())){
+ errorList.add(new ImportError(1, "閮ㄩ棬淇℃伅涓嶅尮閰嶏紒"));
+ }
+ }
+ if (StringUtils.isEmpty(entity.getPhonenumber())){
+ errorList.add(new ImportError(2, "璇峰~鍐欐墜鏈哄彿锛�"));
+ } else {
+ SysUser user = this.selectUserByUserName(entity.getPhonenumber());
+ if (user!=null){
+ entity.setUserId(user.getUserId());
+ } else {
+ SysUser check = new SysUser();
+ check.setPhonenumber(entity.getPhonenumber());
+ String s = checkPhoneUnique(check);
+ if (UserConstants.NOT_UNIQUE.equals(s)) {
+ errorList.add(new ImportError(2, "鎵嬫満鍙峰凡瀛樺湪锛�"));
+ }
+ }
+ }
+ }
+
+ @Override
+ public Boolean saveImport(SysUserResultVo resultVo) {
+ return null;
+ }
}
diff --git a/project-system/src/main/resources/mapper/system/SysUserMapper.xml b/project-system/src/main/resources/mapper/system/SysUserMapper.xml
index 3c80ddd..478a8c2 100644
--- a/project-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/project-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -249,11 +249,13 @@
select u.phonenumber
from sys_user u
join sys_user_role ur on u.user_id = ur.user_id
- join sys_role r on r.role_id=ur.role_id
+ join sys_role r on r.role_id = ur.role_id
+ join sys_user_dept ud on u.user_id = ud.dept_id
where
u.user_type != '02'
+ and u.status='0'
and r.role_key = #{roleKey}
- and u.dept_id = #{deptId}
+ and ud.dept_id = #{deptId}
</select>
</mapper>
--
Gitblit v1.9.1