From f40a9f9c1b90d3efd52926b29f3612cb1c293afa Mon Sep 17 00:00:00 2001 From: LSH Date: 星期一, 11 九月 2023 13:25:42 +0800 Subject: [PATCH] #跟踪项目负责人默认值 --- src/main/java/com/zy/crm/common/web/BaseController.java | 69 ++++++++++++++++++++++++++++++++++ 1 files changed, 69 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/crm/common/web/BaseController.java b/src/main/java/com/zy/crm/common/web/BaseController.java index 8fbe2a9..6216688 100644 --- a/src/main/java/com/zy/crm/common/web/BaseController.java +++ b/src/main/java/com/zy/crm/common/web/BaseController.java @@ -7,6 +7,10 @@ import com.core.common.Cools; import com.core.controller.AbstractBaseController; import com.core.exception.CoolException; +import com.zy.crm.system.entity.Dept; +import com.zy.crm.system.entity.Role; +import com.zy.crm.system.service.DeptService; +import com.zy.crm.system.service.RoleService; import io.swagger.annotations.ApiModelProperty; import org.springframework.beans.factory.annotation.Autowired; import com.zy.crm.manager.entity.Node; @@ -39,7 +43,11 @@ @Autowired private NodeService nodeService; @Autowired + private DeptService deptService; + @Autowired private UserLoginService userLoginService; + @Autowired + private RoleService roleService; protected Long getHostId(){ if (getUserId() == 9527) { @@ -79,6 +87,19 @@ } return user; } + + protected Long getDeptId() { + return getUser().getDeptId(); + } + + protected Role getRole(){ + Role role = roleService.selectById(getUser().getRoleId()); + if (null == role) { + throw new CoolException(BaseRes.DENIED); + } + return role; + } + protected String getComment(Class<?> cls, String fieldName){ Field[] fields = Cools.getAllFields(cls); for (Field field : fields){ @@ -99,6 +120,14 @@ throw new CoolException("搴撳尯鏁版嵁閿欒"); } return node; + } + + protected Dept getOriginDept(){ + Dept dept = deptService.getTop(getHostId()); + if (dept == null) { + throw new CoolException("閮ㄩ棬鏁版嵁閿欒"); + } + return dept; } protected <T> void hostEq(EntityWrapper<T> wrapper){ @@ -170,6 +199,9 @@ } String column = null; if (field.isAnnotationPresent(TableField.class)) { + if (!field.getAnnotation(TableField.class).exist()) { + continue; + } column = field.getAnnotation(TableField.class).value(); } if (Cools.isEmpty(column)) { @@ -191,4 +223,41 @@ wrapper.like(columns.get(i), condition); } } + + //鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛锛屽搴旀潈闄愪笅鎵�鏈夌敤鎴穒d銆傦紙鏅�氳亴鍛樿幏鍙栬嚜宸憋紝棰嗗鑾峰彇鑷繁鍙婁笅灞烇紝瓒呯骇绠$悊鍛樺叏閮級 + protected ArrayList<Long> getUserRoleBelongsToUserId() { + User user = getUser(); + ArrayList<Long> userIds = new ArrayList<>(); + if (user.getRoleCode().equals("boss")) { + //鍏ㄩ儴鏉冮檺 + userIds = null; + } else if (user.getRoleCode().equals("manager")) { + //鑷繁鍙婁笅灞炴潈闄� + userIds.add(getUserId()); + EntityWrapper<User> entityWrapper = new EntityWrapper<>(); + entityWrapper.eq("dept_id", user.getDeptId()); + List<User> userList = userService.selectList(entityWrapper); + for (User item : userList) { + userIds.add(item.getId()); + } + }else{ + //鑷繁鏉冮檺 + userIds.add(getUserId()); + } + + return userIds; + } + + protected ArrayList<Long> getUserRoleBelongsToUserId(String permission) { + User user = getUser(); + if (user.getDeptName().equals("骞冲簱瑙勫垝缁�") || user.getDeptName().equals("鏍镐环缁�")) { + if (permission.equals("allopen")) { + //鏉冮檺鍏ㄩ儴寮�鏀� + return null; + } + } + + //杩斿洖榛樿閫夋嫨鏂规 + return getUserRoleBelongsToUserId(); + } } -- Gitblit v1.9.1