From fb28685a5209be09c042f1a65650cb2fecefbc90 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 24 十一月 2022 15:53:29 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/crm/system/mapper/UserMapper.java | 2 ++
src/main/java/com/zy/crm/system/service/UserService.java | 4 +++-
src/main/java/com/zy/crm/manager/controller/PlanController.java | 9 +++++++--
src/main/java/com/zy/crm/common/model/SettleDto.java | 3 ++-
src/main/java/com/zy/crm/system/service/impl/UserServiceImpl.java | 27 +++++++++++++++++++++++++--
src/main/resources/mapper/UserMapper.xml | 13 +++++++++++++
6 files changed, 52 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/zy/crm/common/model/SettleDto.java b/src/main/java/com/zy/crm/common/model/SettleDto.java
index d01cd90..07e82d5 100644
--- a/src/main/java/com/zy/crm/common/model/SettleDto.java
+++ b/src/main/java/com/zy/crm/common/model/SettleDto.java
@@ -2,6 +2,7 @@
import com.core.common.DateUtils;
import com.zy.crm.manager.entity.Plan;
+import com.zy.crm.system.entity.User;
import lombok.Data;
import java.util.ArrayList;
@@ -28,7 +29,7 @@
private Boolean curr;
- public static List<SettleDto> init(Plan plan) {
+ public static List<SettleDto> init(Plan plan, User manager) {
List<SettleDto> list = new ArrayList<>();
for (int i = 1; i < 6; i++) {
SettleDto dto = new SettleDto();
diff --git a/src/main/java/com/zy/crm/manager/controller/PlanController.java b/src/main/java/com/zy/crm/manager/controller/PlanController.java
index 2a51444..8bd0658 100644
--- a/src/main/java/com/zy/crm/manager/controller/PlanController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -21,6 +21,7 @@
import com.zy.crm.manager.service.PlanService;
import com.zy.crm.manager.service.PlanTypeService;
import com.zy.crm.system.entity.User;
+import com.zy.crm.system.service.DeptService;
import com.zy.crm.system.service.UserService;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.DataFormatter;
@@ -44,6 +45,8 @@
private PlanService planService;
@Autowired
private PlanTypeService planTypeService;
+ @Autowired
+ private DeptService deptService;
@GetMapping(value = "/plan/{id}/auth")
@ManagerAuth
@@ -119,7 +122,8 @@
plan.setForm(JSON.toJSONString(param)); // 鑷畾涔夎〃鍗曞唴瀹�
plan.setSettle(1); // 1.寮�濮�
- plan.setSettleMsg(JSON.toJSONString(SettleDto.init(plan)));
+ User manager = userService.getDeptManager(hostId, getUser().getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗
+ plan.setSettleMsg(JSON.toJSONString(SettleDto.init(plan, manager)));
if (!planService.insert(plan)) {
throw new CoolException("淇濇寔澶辫触锛岃閲嶈瘯");
@@ -140,7 +144,8 @@
plan.setUpdateTime(new Date());
plan.setForm(JSON.toJSONString(param)); // 鑷畾涔夎〃鍗曞唴瀹�
- plan.setSettleMsg(JSON.toJSONString(SettleDto.init(plan)));
+ User manager = userService.getDeptManager(getHostId(), getUser().getDeptId());
+ plan.setSettleMsg(JSON.toJSONString(SettleDto.init(plan, manager)));
if (!planService.updateById(plan)) {
throw new CoolException("淇濇寔澶辫触锛岃閲嶈瘯");
diff --git a/src/main/java/com/zy/crm/system/mapper/UserMapper.java b/src/main/java/com/zy/crm/system/mapper/UserMapper.java
index 74937e2..52c0a5e 100644
--- a/src/main/java/com/zy/crm/system/mapper/UserMapper.java
+++ b/src/main/java/com/zy/crm/system/mapper/UserMapper.java
@@ -17,4 +17,6 @@
List<User> getUserByDept(@Param("hostId")Long hostId, @Param("deptId")Long deptId);
+ List<User> getDeptManager(@Param("hostId")Long hostId, @Param("deptId")Long deptId);
+
}
diff --git a/src/main/java/com/zy/crm/system/service/UserService.java b/src/main/java/com/zy/crm/system/service/UserService.java
index c10e037..393e4d1 100644
--- a/src/main/java/com/zy/crm/system/service/UserService.java
+++ b/src/main/java/com/zy/crm/system/service/UserService.java
@@ -8,8 +8,10 @@
public interface UserService extends IService<User> {
- Page<User> getPage(Page page, Long hostId, String deptId, Object username, Object mobile);
+ Page<User> getPage(Page<User> page, Long hostId, String deptId, Object username, Object mobile);
List<User> getUserByDept(Long hostId, Long deptParentId);
+ User getDeptManager(Long hostId, Long deptId);
+
}
diff --git a/src/main/java/com/zy/crm/system/service/impl/UserServiceImpl.java b/src/main/java/com/zy/crm/system/service/impl/UserServiceImpl.java
index 62cff18..5e12955 100644
--- a/src/main/java/com/zy/crm/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/zy/crm/system/service/impl/UserServiceImpl.java
@@ -2,18 +2,26 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
+import com.core.common.Cools;
+import com.core.exception.CoolException;
+import com.zy.crm.system.entity.Dept;
import com.zy.crm.system.entity.User;
import com.zy.crm.system.mapper.UserMapper;
+import com.zy.crm.system.service.DeptService;
import com.zy.crm.system.service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
import java.util.List;
@Service("userService")
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
+ @Autowired
+ private DeptService deptService;
+
@Override
- public Page<User> getPage(Page page, Long hostId, String deptId, Object username, Object mobile) {
+ public Page<User> getPage(Page<User> page, Long hostId, String deptId, Object username, Object mobile) {
return page.setRecords(baseMapper.listByPage(page, hostId, deptId, username, mobile));
}
@@ -21,4 +29,19 @@
public List<User> getUserByDept(Long hostId, Long dept) {
return this.baseMapper.getUserByDept(hostId, dept);
}
+
+ @Override
+ public User getDeptManager(Long hostId, Long deptId) {
+ List<User> manager = this.baseMapper.getDeptManager(hostId, deptId);
+ if (Cools.isEmpty(manager)) {
+ Dept dept = deptService.selectById(deptId);
+ Dept parent = deptService.selectById(dept.getParentId());
+ manager = this.baseMapper.getDeptManager(hostId, parent.getId());
+ }
+ if (Cools.isEmpty(manager)) {
+ throw new CoolException("淇濆瓨澶辫触锛屾湭鎵惧埌閮ㄩ棬缁勯暱");
+ }
+ return manager.get(0);
+ }
+
}
diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml
index 27edca6..1b95192 100644
--- a/src/main/resources/mapper/UserMapper.xml
+++ b/src/main/resources/mapper/UserMapper.xml
@@ -51,4 +51,17 @@
</if>
</select>
+ <select id="getDeptManager" resultMap="BaseResultMap">
+ SELECT
+ su.*
+ FROM sys_user su
+ left join sys_role sr on su.role_id = sr.id
+ where 1=1
+ <if test="hostId != null and hostId != ''">
+ and su.host_id = #{hostId}
+ </if>
+ and su.dept_id = #{deptId}
+ and sr.code = 'manager'
+ </select>
+
</mapper>
--
Gitblit v1.9.1