diff --git a/coolstore-partner-common/coolstore-partner-common.iml b/coolstore-partner-common/coolstore-partner-common.iml
index c7be161ce..39193cf02 100644
--- a/coolstore-partner-common/coolstore-partner-common.iml
+++ b/coolstore-partner-common/coolstore-partner-common.iml
@@ -87,8 +87,6 @@
-
-
@@ -109,5 +107,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/AppTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/AppTypeEnum.java
deleted file mode 100644
index 7da0779c0..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/AppTypeEnum.java
+++ /dev/null
@@ -1,213 +0,0 @@
-package com.cool.store.enums;
-
-import org.apache.commons.lang3.StringUtils;
-
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-/**
- * 应用类型
- */
-public enum AppTypeEnum {
- // 数智门店-钉钉
- DING_DING("dingding","数智门店-钉钉"),
-
- //酷店掌-钉钉
- DING_DING2("dingding2","酷店掌-钉钉"),
-
- // 企业微信-数智门店
- WX_APP("qw","数智门店-企业微信"),
-
- // 企业微信-酷店掌
- WX_APP2("qw2","酷店掌-企业微信"),
-
- //用户自己添加 独立app
- APP("app","数智门店-客户端"),
-
- /**
- * 酷店掌-自建企业微信
- */
- WX_SELF_APP("qw_self", "酷店掌-自建企业微信"),
-
- /**
- * 酷店掌-自建企业微信代开发
- */
- WX_SELF_DKF("qw_self_dkf", "酷店掌--自建企业微信代开发"),
-
- /**
- * 酷店掌-企业微信私服
- */
- WX_PRIVATE_APP("qw_private", "酷店掌-企业微信私服"),
-
- WX_PRIVATE_ZHOU("qw_private_zdf","酷店掌-企业微信私服-周大福"),
-
- /**
- * 门店通应用
- */
- ONE_PARTY_APP("one_party", "门店通-钉钉"),
-
- /**
- * 飞书
- */
- FEI_SHU("fei_shu", "飞书")
-
- ;
- private String value;
-
- private String message;
-
- private static final Map map = Arrays.stream(values()).collect(Collectors.toMap(AppTypeEnum::getValue, Function.identity()));
-
- AppTypeEnum(String value, String message) {
- this.value = value;
- this.message = message;
- }
-
- public String getValue() {
- return value;
- }
-
- public String getMessage() {
- return message;
- }
-
- public static String getMessage(String value){
- if(StringUtils.isBlank(value)){
- return "";
- }
- for (AppTypeEnum appTypeEnum : AppTypeEnum.values()) {
- if(appTypeEnum.value.equals(value)){
- return appTypeEnum.message;
- }
- }
- return "";
- }
-
- public static AppTypeEnum getAppType(String appType){
- for (AppTypeEnum appTypeEnum : AppTypeEnum.values()) {
- if(appTypeEnum.value.equals(appType)){
- return appTypeEnum;
- }
- }
- if(appType.startsWith(WX_SELF_APP.getValue())) {
- return WX_SELF_APP;
- }
- if(appType.startsWith(WX_PRIVATE_APP.getValue())) {
- return WX_PRIVATE_APP;
- }
- return null;
- }
-
- /**
- * 判断是否是钉钉平台
- * @param value
- * @author: xugangkun
- * @return java.lang.Boolean
- * @date: 2021/10/26 15:03
- */
- public static Boolean isDingType(String value) {
- if (DING_DING.getValue().equals(value) || DING_DING2.getValue().equals(value) || ONE_PARTY_APP.getValue().equals(value)) {
- return true;
- }
- return false;
- }
-
- /**
- * 判断是否是企业微信平台
- * @param value
- * @author: xugangkun
- * @return java.lang.Boolean
- * @date: 2021/10/26 15:03
- */
- public static Boolean isQwType(String value) {
- if (WX_APP.getValue().equals(value) || WX_APP2.getValue().equals(value)) {
- return true;
- }
- return false;
- }
-
- /**
- * 判断是否是飞书
- * @param value
- * @author: xugangkun
- * @return java.lang.Boolean
- * @date: 2021/10/26 15:03
- */
- public static Boolean isFsType(String value) {
- if (FEI_SHU.getValue().equals(value)) {
- return true;
- }
- return false;
- }
-
- /**
- * 判断是否是酷店掌
- * @param value
- * @author: xugangkun
- * @return java.lang.Boolean
- * @date: 2021/10/26 15:03
- */
- public static Boolean isCoolStore(String value) {
- if (WX_APP2.getValue().equals(value) || DING_DING2.getValue().equals(value)) {
- return true;
- }
- return false;
- }
-
- /**
- * 判断是否是数智门店
- * @param value
- * @author: xugangkun
- * @return java.lang.Boolean
- * @date: 2021/10/26 15:03
- */
- public static Boolean isCoolCollege(String value) {
- if (WX_APP.getValue().equals(value) || DING_DING.getValue().equals(value)) {
- return true;
- }
- return false;
- }
-
- /**
- * 是否是企微自建应用或者企微私服
- * @param appType
- * @return
- */
- public static boolean isWxSelfAndPrivateType(String appType) {
- if(StringUtils.isBlank(appType)){
- return false;
- }
- return appType.startsWith(AppTypeEnum.WX_SELF_APP.getValue())
- || appType.startsWith(AppTypeEnum.WX_PRIVATE_APP.getValue());
- }
-
- public static boolean qwIsGetUserName(String appType){
- if(StringUtils.isBlank(appType) || isDingType(appType)){
- return false;
- }
- return appType.startsWith(AppTypeEnum.WX_SELF_APP.getValue()) || appType.startsWith(AppTypeEnum.WX_PRIVATE_APP.getValue())
- || appType.startsWith(AppTypeEnum.WX_SELF_DKF.getValue()) || appType.startsWith(AppTypeEnum.WX_PRIVATE_ZHOU.getValue());
- }
-
- public static String getCode(String value){
- if(StringUtils.isBlank(value)){
- return "";
- }
- for (AppTypeEnum appTypeEnum : AppTypeEnum.values()) {
- if(appTypeEnum.message.equals(value)){
- return appTypeEnum.value;
- }
- }
- return "";
- }
-
- public static AppTypeEnum parseValue(String value) {
- return map.get(value);
- }
-
-
-
-
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/AuthRoleEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/AuthRoleEnum.java
deleted file mode 100644
index f2507fce6..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/AuthRoleEnum.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.cool.store.enums;
-
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-/**
- * describe:
- *
- * @author zhouyiping
- * @date 2020/10/13
- */
-public enum AuthRoleEnum {
- /**
- * 全企业数据
- */
- ALL("all", "全企业数据"),
-
- /**
- * 所在组织架构包含下级
- */
- INCLUDE_SUBORDINATE("include_subordinate","所在组织架构包含下级"),
-
-
-// /**
-// * 所在的组织架构不包含下级
-// */
- NOT_INCLUDE_SUBORDINATE("not_include_subordinate","所在的组织架构不包含下级"),
-
- /**
- * 仅自己的数据
- */
- PERSONAL("personal","仅自己的数据");
-
- private String code;
- private String msg;
-
- protected static final Map map = Arrays.stream(values()).collect(
- Collectors.toMap(AuthRoleEnum::getCode, Function.identity()));
-
- AuthRoleEnum(String code, String msg){
- this.code=code;
- this.msg=msg;
- }
-
- public String getCode() {
- return code;
- }
-
- public String getMsg() {
- return msg;
- }
- public static AuthRoleEnum getByCode(String code) {
- return map.get(code);
- }
-
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/EnterpriseStatusEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/EnterpriseStatusEnum.java
deleted file mode 100644
index f94b7cd1f..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/EnterpriseStatusEnum.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.cool.store.enums;
-
-import java.util.Objects;
-
-/**
- * @author zhangchenbiao
- * @FileName: EnterpriseStatusEnum
- * @Description:
- * @date 2021-09-17 15:53
- */
-public enum EnterpriseStatusEnum {
-
- /**
- * 状态-1 已删除 0初始 1正常 100冻结 88创建失败
- */
-
- DELETED(-1,"已删除"),
- INIT(0,"初始"),
- NORMAL(1,"正常"),
- FREEZE(100,"冻结"),
- CREATE_FAIL(88,"创建失败"),
- ;
-
-
- private int code;
- private String message;
-
- EnterpriseStatusEnum(int code, String message) {
- this.code = code;
- this.message = message;
- }
-
- public int getCode() {
- return code;
- }
-
- public String getMessage() {
- return message;
- }
-
- public static String getMessage(Integer code){
- if(Objects.isNull(code)){
- return "";
- }
- for (EnterpriseStatusEnum value : EnterpriseStatusEnum.values()) {
- if(code.equals(value.code)){
- return value.message;
- }
- }
- return "";
- }
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/RegionTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/RegionTypeEnum.java
deleted file mode 100644
index b4b3b1c0b..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/RegionTypeEnum.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.cool.store.enums;
-
-/**
- * @author Aaron
- * @Description 业务统一返回码
- * @date 2019/12/20
- */
-public enum RegionTypeEnum {
- /**
- *
- */
- ROOT("root", "根节点"),
-
-
- PATH("path", "区域"),
-
-
- STORE("store", "门店");
-
-
- private String type;
-
-
- private String desc;
-
- RegionTypeEnum(String type, String desc) {
- this.type = type;
- this.desc = desc;
- }
-
- public String getType() {
- return type;
- }
-
- public String getDesc() {
- return desc;
- }
-
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/RoleEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/RoleEnum.java
deleted file mode 100644
index 3301410c2..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/RoleEnum.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package com.cool.store.enums;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.management.relation.Role;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-public enum RoleEnum {
-
- /**
- * 管理员
- */
- MASTER("20000000", "管理员", 1,"master"),
- /**
- * 子管理员
- */
- SUB_MASTER("80000000", "子管理员", 2,"sub_master"),
- /**
- * 普通员工
- */
- EMPLOYEE("30000000", "未分配", 99999999,"employee"),
- /**
- * 部门负责人
- */
- DEPT_LEADER("40000000", "部门负责人", 10,"dept_leader"),
- /**
- * 店长
- */
- SHOPOWNER("50000000", "店长", 3,"shopowner"),
- /**
- * 运营
- */
- OPERATOR("60000000", "运营", 4,"operator"),
- /**
- * 店员
- */
- CLERK("70000000", "店员", 5,"clerk");
-
-
- private static final Map MAP = Arrays.stream(values()).collect(
- Collectors.toMap(RoleEnum::getRoleEnum, Function.identity()));
-
- private static final Map ROLE_ID_MAP = Arrays.stream(values()).collect(
- Collectors.toMap(RoleEnum::getId, Function.identity()));
-
- private String id;
- private String name;
- @Getter
- @Setter
- private Integer priority;
-
- private String roleEnum;
-
-
- RoleEnum(String id, String name, Integer priority, String roleEnum) {
- this.id = id;
- this.name = name;
- this.priority = priority;
- this.roleEnum=roleEnum;
- }
-
- public String getId() {
- return id;
- }
-
- public String getName() {
- return name;
- }
-
- public String getRoleEnum() {
- return roleEnum;
- }
-
- public static RoleEnum getByCode(String code) {
- return MAP.get(code);
- }
-
- /**
- * 是否是管理员 及 子管理员
- * @param code
- * @return
- */
- public static boolean isAdmin(String code){
- if(MASTER.getRoleEnum().equals(code) || SUB_MASTER.getRoleEnum().equals(code)){
- return true;
- }
- return false;
- }
-
- /**
- * 根据id 判断 是否是管理员 及 子管理员
- * @param id
- * @return
- */
- public static boolean isAdminById(String id){
- if(MASTER.getId().equals(id) || SUB_MASTER.getId().equals(id)){
- return true;
- }
- return false;
- }
-
- /**
- * 是否包含角色id
- * @param roleId
- * @return
- */
- public static boolean isContainsRoleId(String roleId){
- return ROLE_ID_MAP.containsKey(roleId);
- }
-
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/StoreIsDeleteEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/StoreIsDeleteEnum.java
deleted file mode 100644
index 28d189e8c..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/StoreIsDeleteEnum.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.cool.store.enums;
-
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-/**
- * 门店删除状态枚举
- */
-public enum StoreIsDeleteEnum {
- EFFECTIVE("effective"),//有效
-
- INVALID("invalid"),//无效
-
- IGNORED("ignored"), //忽略
-
- UN_SYNC("unSync"); // 未同步
-
- private final String value;
-
- private static final Map map = Arrays.stream(values()).collect(Collectors.toMap(StoreIsDeleteEnum::getValue, Function.identity()));
-
- StoreIsDeleteEnum(String value) {
- this.value = value;
- }
-
- public String getValue() {
- return value;
- }
-
- public static StoreIsDeleteEnum parse(int value) {
- return map.get(value);
- }
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/SubordinateSourceEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/SubordinateSourceEnum.java
deleted file mode 100644
index 201e55727..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/SubordinateSourceEnum.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.cool.store.enums;
-
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-/**
- * @author wxp
- * @FileName: SubordinateSourceEnum
- * @Description: auto自动关联 select手动选择
- * @date 2022-12-30 17:12
- */
-public enum SubordinateSourceEnum {
-
- AUTO("auto", "关联区域门店权限"),
- SELECT("select", "手动选择");
-
- private String code;
-
- private String msg;
-
- protected static final Map map = Arrays.stream(values()).collect(
- Collectors.toMap(SubordinateSourceEnum::getCode, Function.identity()));
-
- SubordinateSourceEnum(String code, String msg) {
- this.code = code;
- this.msg = msg;
- }
-
- public String getCode() {
- return code;
- }
-
- public String getMsg() {
- return msg;
- }
-
- public static SubordinateSourceEnum getByCode(String code) {
- return map.get(code);
- }
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserAuthMappingTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserAuthMappingTypeEnum.java
deleted file mode 100644
index 7623ef611..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserAuthMappingTypeEnum.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.cool.store.enums;
-
-
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-/**
- * @author zyp
- */
-public enum UserAuthMappingTypeEnum {
- /**
- * 区域
- */
- REGION("region","区域"),
- /**
- * 门店
- */
- STORE("store","门店");
-
- private String code;
- private String desc;
- public static final Map map = Arrays.stream(values()).collect(
- Collectors.toMap(UserAuthMappingTypeEnum::getCode, Function.identity()));
-
- UserAuthMappingTypeEnum(String code, String desc) {
- this.code = code;
- this.desc = desc;
- }
-
- public String getCode() {
- return code;
- }
-
- public String getDesc() {
- return desc;
- }
-
- public static UserAuthMappingTypeEnum getByCode(String code) {
- return map.get(code);
- }
-
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserPositionEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserPositionEnum.java
new file mode 100644
index 000000000..b119a5300
--- /dev/null
+++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserPositionEnum.java
@@ -0,0 +1,33 @@
+package com.cool.store.enums;
+
+/**
+ * @author zhangchenbiao
+ * @FileName: UserPositionEnum
+ * @Description:用户身份
+ * @date 2023-06-19 16:37
+ */
+public enum UserPositionEnum {
+
+ INVESTMENT_MANAGER("investment_manager", "招商经理"),
+ INVESTMENT_LEADER("investment_leader", "招商负责人"),
+ DEVELOPMENT_DIRECTOR("development_director", "开发主管"),
+ DEVELOPMENT_MANAGER("development_manager", "开发经理"),
+ ;
+
+ private String code;
+
+ private String message;
+
+ UserPositionEnum(String code, String message) {
+ this.code = code;
+ this.message = message;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserSelectRangeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserSelectRangeEnum.java
deleted file mode 100644
index 66b24ac64..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserSelectRangeEnum.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.cool.store.enums;
-
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-/**
- * @author wxp
- * @FileName: UserSelectRangeEnum
- * @Description: 用户选取范围 共同编辑人范围:self-仅自己,all-全部人员,define-自定义
- * @date 2022-12-30 17:12
- */
-public enum UserSelectRangeEnum {
-
- SELF("self", "仅自己"),
- ALL("all", "全部人员"),
- DEFINE("define", "自定义");
-
- private String code;
-
- private String msg;
-
- protected static final Map map = Arrays.stream(values()).collect(
- Collectors.toMap(UserSelectRangeEnum::getCode, Function.identity()));
-
- UserSelectRangeEnum(String code, String msg) {
- this.code = code;
- this.msg = msg;
- }
-
- public String getCode() {
- return code;
- }
-
- public String getMsg() {
- return msg;
- }
-
- public static UserSelectRangeEnum getByCode(String code) {
- return map.get(code);
- }
-}
diff --git a/coolstore-partner-dao/coolstore-partner-dao.iml b/coolstore-partner-dao/coolstore-partner-dao.iml
index 048685afd..40cb9800b 100644
--- a/coolstore-partner-dao/coolstore-partner-dao.iml
+++ b/coolstore-partner-dao/coolstore-partner-dao.iml
@@ -110,8 +110,6 @@
-
-
@@ -131,6 +129,11 @@
+
+
+
+
+
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java
index 35df62fe0..c2b568388 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java
@@ -64,4 +64,23 @@ public class EnterpriseUserDAO {
public List searchUserByRegionIdsAndKeyword(List regionIds, String keyword, boolean isLeader){
return enterpriseUserMapper.searchUserByRegionIdsAndKeyword(regionIds, keyword, isLeader);
}
+
+ public boolean isExistDeptUser(String regionId){
+ if(StringUtils.isBlank(regionId)){
+ return false;
+ }
+ return enterpriseUserMapper.getUserCountByRegionId(regionId) > CommonConstants.ZERO;
+ }
+
+ /**
+ * 获取部门负责人
+ * @param regionId
+ * @return
+ */
+ public List getUserListByDeptLeader(String regionId){
+ if(StringUtils.isBlank(regionId)){
+ return Lists.newArrayList();
+ }
+ return enterpriseUserMapper.getUserListByDeptLeader(regionId);
+ }
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java
index f37b1d57a..674ef6629 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java
@@ -5,6 +5,8 @@ import com.cool.store.entity.HyOpenAreaInfoDO;
import com.cool.store.mapper.HyIntendDevZoneInfoMapper;
import com.cool.store.mapper.HyOpenAreaInfoMapper;
import com.github.pagehelper.PageInfo;
+import com.google.common.collect.Lists;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -48,4 +50,16 @@ public class HyIntendDevZoneInfoDAO {
return hyIntendDevZoneInfoMapper.getHyIntendDevZoneInfoList(type);
}
+ /**
+ * 根据组织架构获取配置信息
+ * @param regionIds
+ * @return
+ */
+ public List getZoneInfoByRegionIds(List regionIds){
+ if(CollectionUtils.isEmpty(regionIds)){
+ return Lists.newArrayList();
+ }
+ return hyIntendDevZoneInfoMapper.getZoneInfoByRegionIds(regionIds);
+ }
+
}
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDAO.java
index 4e0b2b782..60f3eaa21 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDAO.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDAO.java
@@ -96,4 +96,16 @@ public class RegionDAO {
return regionMapper.deleteRegionByRegionId(regionId);
}
+ /**
+ * 获取所有的子节点
+ * @param leadDeptIds
+ */
+ public List getSubRegionIds(List leadDeptIds) {
+ if(CollectionUtils.isEmpty(leadDeptIds)){
+ return Lists.newArrayList();
+ }
+ List regionList = getRegionByRegionIds(leadDeptIds);
+ List regionPathList = regionList.stream().map(RegionDO::getRegionPath).collect(Collectors.toList());
+ return regionMapper.getSubRegionIds(regionPathList);
+ }
}
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java
index 953411d2b..fc8cd9f6f 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java
@@ -84,4 +84,16 @@ public class UserRegionMappingDAO {
return userRegionMappingMapper.getRegionIdsByUserId(userId);
}
+ /**
+ * 获取用户列表
+ * @param regionIds
+ * @return
+ */
+ public List getUserListByRegionIds(List regionIds){
+ if(CollectionUtils.isEmpty(regionIds)){
+ return Lists.newArrayList();
+ }
+ return userRegionMappingMapper.getUserListByRegionIds(regionIds);
+ }
+
}
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java
index bb043adb0..81a4bd25b 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java
@@ -61,4 +61,20 @@ public interface EnterpriseUserMapper {
* @return
*/
List searchUserByRegionIdsAndKeyword(@Param("regionIds") List regionIds, @Param("keyword") String keyword, @Param("isLeader") boolean isLeader);
+
+ /**
+ * 获取部门用户数
+ * @param regionId
+ * @return
+ */
+ Integer getUserCountByRegionId(@Param("regionId") String regionId);
+
+
+ /**
+ * 获取部门负责人用户列表
+ * @param regionId
+ * @return
+ */
+ List getUserListByDeptLeader(String regionId);
+
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevZoneInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevZoneInfoMapper.java
index 9358f6e1c..c8d688481 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevZoneInfoMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevZoneInfoMapper.java
@@ -39,4 +39,11 @@ public interface HyIntendDevZoneInfoMapper {
* @return
*/
List getHyIntendDevZoneInfoList(String type);
+
+ /**
+ * 根据组织架构获取配置信息
+ * @param regionIds
+ * @return
+ */
+ List getZoneInfoByRegionIds(@Param("regionIds") List regionIds);
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java
index d3ce3ebd2..21e3dedb4 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java
@@ -71,4 +71,11 @@ public interface RegionMapper {
* @return
*/
Integer deleteRegionByRegionId(@Param("regionId") String regionId);
+
+ /**
+ * 获取子节点
+ * @param regionPathList
+ * @return
+ */
+ List getSubRegionIds(@Param("regionPathList") List regionPathList);
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/UserRegionMappingMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/UserRegionMappingMapper.java
index afd2ce57d..acdcc490b 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/UserRegionMappingMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/UserRegionMappingMapper.java
@@ -68,4 +68,11 @@ public interface UserRegionMappingMapper {
* @return
*/
List getRegionIdsByUserId(@Param("userId") String userId);
+
+ /**
+ * 获取用户列表
+ * @param regionIds
+ * @return
+ */
+ List getUserListByRegionIds(@Param("regionIds") List regionIds);
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml
index 7b89849c0..05e6c11b8 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml
@@ -280,4 +280,12 @@
+
+
+
+
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevZoneInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevZoneInfoMapper.xml
index ec0b55d4a..3158fef7d 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevZoneInfoMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevZoneInfoMapper.xml
@@ -128,4 +128,13 @@
where type = #{type}
and deleted = 0
+
+
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml
index c6f5aeb70..384477ea1 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml
@@ -204,4 +204,8 @@
update region set deleted = 1 where region_id = #{regionId}
+
+
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml
index 4560fc962..73df66fb5 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml
@@ -131,4 +131,8 @@
select region_id from user_region_mapping where user_id = #{userId}
+
+
\ No newline at end of file
diff --git a/coolstore-partner-model/coolstore-partner-model.iml b/coolstore-partner-model/coolstore-partner-model.iml
index 6b15b2012..d570c914c 100644
--- a/coolstore-partner-model/coolstore-partner-model.iml
+++ b/coolstore-partner-model/coolstore-partner-model.iml
@@ -88,8 +88,6 @@
-
-
@@ -110,6 +108,11 @@
+
+
+
+
+
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/buser/UserPositionAndUserScopeDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/buser/UserPositionAndUserScopeDTO.java
new file mode 100644
index 000000000..74ea3cad7
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/buser/UserPositionAndUserScopeDTO.java
@@ -0,0 +1,23 @@
+package com.cool.store.dto.buser;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zhangchenbiao
+ * @FileName: UserPositionAndUserScopeDTO
+ * @Description: 员工角色&获取线索范围
+ * @date 2023-06-19 16:33
+ */
+@Data
+public class UserPositionAndUserScopeDTO {
+
+ @ApiModelProperty("招商经理用户ids")
+ private List investmentUserIds;
+
+ @ApiModelProperty("开发经理用户ids")
+ private List developmentUserIds;
+
+}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/EnterpriseUserService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/EnterpriseUserService.java
index ced52a735..675b05ba2 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/EnterpriseUserService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/EnterpriseUserService.java
@@ -1,11 +1,9 @@
package com.cool.store.service;
+import com.cool.store.dto.buser.UserPositionAndUserScopeDTO;
import com.cool.store.entity.EnterpriseUserDO;
-import com.cool.store.request.EnterpriseUserRequest;
import com.cool.store.vo.EnterpriseUserSingleInfoVO;
-import com.cool.store.vo.buser.EnterpriseUserPageVO;
import java.util.List;
-import java.util.Map;
/**
* @author zhangchenbiao
@@ -25,4 +23,16 @@ public interface EnterpriseUserService {
*/
List getInvestmentManagerList(String type,String userId,String keyword);
+
+ /**
+ * 获取用户角色已用户管辖的员工范围
+ * @param userId
+ * @return
+ */
+ UserPositionAndUserScopeDTO getUserIdsByScope(String userId);
+
+
+
+ List getDevelopmentDirectorList(String wantShopArea);
+
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseSyncServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseSyncServiceImpl.java
index 450fb20fe..b90cc309a 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseSyncServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseSyncServiceImpl.java
@@ -243,9 +243,20 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService {
break;
case DEPARTMENT_DELETED:
boolean leafNode = regionDAO.isLeafNode(departmentDetail.getId());
- if(leafNode){
+ boolean isExistUser = enterpriseUserDAO.isExistDeptUser(departmentDetail.getId());
+ if(leafNode && !isExistUser){
//叶子节点的时候会删除部门
regionDAO.deleteRegionByRegionId(departmentDetail.getId());
+ //清除负责人信息
+ List leaderUserList = enterpriseUserDAO.getUserListByDeptLeader(departmentDetail.getId());
+ for (EnterpriseUserDO enterpriseUser : leaderUserList) {
+ List existDeptIds = JSONObject.parseArray(enterpriseUser.getLeaderDeptIds()).stream().map(String::valueOf).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(existDeptIds)){
+ existDeptIds.remove(departmentDetail.getId());
+ }
+ enterpriseUser.setLeaderDeptIds(JSONObject.toJSONString(existDeptIds));
+ }
+ enterpriseUserDAO.batchInsertOrUpdate(leaderUserList);
}else{
syncAll();
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseUserServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseUserServiceImpl.java
index f362583ed..f30d0cd05 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseUserServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseUserServiceImpl.java
@@ -1,8 +1,13 @@
package com.cool.store.service.impl;
+import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.*;
+import com.cool.store.dto.buser.UserPositionAndUserScopeDTO;
import com.cool.store.entity.*;
+import com.cool.store.enums.ErrorCodeEnum;
+import com.cool.store.enums.UserPositionEnum;
+import com.cool.store.exception.ServiceException;
import com.cool.store.service.EnterpriseUserService;
import com.cool.store.service.ZoneService;
import com.cool.store.vo.EnterpriseUserSingleInfoVO;
@@ -10,10 +15,8 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* @author zhangchenbiao
@@ -31,11 +34,13 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService {
@Resource
private EnterpriseUserRoleDAO enterpriseUserRoleDAO;
@Resource
- ZoneService zoneService;
+ private ZoneService zoneService;
@Resource
- RegionDAO regionDAO;
+ private RegionDAO regionDAO;
@Resource
- UserRegionMappingDAO userRegionMappingDAO;
+ private UserRegionMappingDAO userRegionMappingDAO;
+ @Resource
+ private HyIntendDevZoneInfoDAO hyIntendDevZoneInfoDAO;
@@ -87,4 +92,52 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService {
});
return enterpriseUserSingleInfoVOS;
}
+
+ @Override
+ public UserPositionAndUserScopeDTO getUserIdsByScope(String userId) {
+ EnterpriseUserDO userInfo = enterpriseUserDAO.getUserInfoById(userId);
+ if(Objects.isNull(userInfo)){
+ throw new ServiceException(ErrorCodeEnum.USER_NOT_EXIST);
+ }
+ UserPositionAndUserScopeDTO result = new UserPositionAndUserScopeDTO();
+ if(!userInfo.getIsLeader()){
+ result.setDevelopmentUserIds(Arrays.asList(userId));
+ result.setInvestmentUserIds(Arrays.asList(userId));
+ return result;
+ }
+ List leadDeptIds = JSONObject.parseArray(userInfo.getLeaderDeptIds()).stream().map(String::valueOf).collect(Collectors.toList());
+ //获取这些区域的子节点
+ List subRegionIds = regionDAO.getSubRegionIds(leadDeptIds);
+ //这些部门是否关联了意向区域
+ List zoneInfoList = hyIntendDevZoneInfoDAO.getZoneInfoByRegionIds(subRegionIds);
+ if(CollectionUtils.isEmpty(zoneInfoList)){
+ result.setDevelopmentUserIds(Arrays.asList(userId));
+ result.setInvestmentUserIds(Arrays.asList(userId));
+ return result;
+ }
+ //意向区域
+ List intendList = zoneInfoList.stream().filter(o -> "intent".equals(o.getType())).flatMap(o->JSONObject.parseArray(o.getAssociatedRegionId(), String.class).stream()).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(intendList)){
+ //获取负责的区域
+ intendList.retainAll(subRegionIds);
+ List userList = userRegionMappingDAO.getUserListByRegionIds(intendList);
+ userList.add(userId);
+ result.setInvestmentUserIds(userList);
+ }
+ //开发区域
+ List developementList = zoneInfoList.stream().filter(o -> "developement".equals(o.getType())).flatMap(o->JSONObject.parseArray(o.getAssociatedRegionId(), String.class).stream()).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(developementList)){
+ //获取负责的区域
+ developementList.retainAll(subRegionIds);
+ List userList = userRegionMappingDAO.getUserListByRegionIds(developementList);
+ userList.add(userId);
+ result.setDevelopmentUserIds(userList);
+ }
+ return result;
+ }
+
+ @Override
+ public List getDevelopmentDirectorList(String wantShopArea) {
+ return null;
+ }
}
diff --git a/coolstore-partner-webb/coolstore-partner-webb.iml b/coolstore-partner-webb/coolstore-partner-webb.iml
index a2e227e0b..753dcbc15 100644
--- a/coolstore-partner-webb/coolstore-partner-webb.iml
+++ b/coolstore-partner-webb/coolstore-partner-webb.iml
@@ -51,6 +51,11 @@
+
+
+
+
+
@@ -88,8 +93,6 @@
-
-
diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/TestController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/TestController.java
index 8a6c7d9c4..81bdfcdbb 100644
--- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/TestController.java
+++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/TestController.java
@@ -2,6 +2,7 @@ package com.cool.store.controller;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.dao.EnterpriseUserDAO;
+import com.cool.store.dto.buser.UserPositionAndUserScopeDTO;
import com.cool.store.dto.calendar.CreateCalendarEventDTO;
import com.cool.store.dto.calendar.DeleteCalendarEventDTO;
import com.cool.store.dto.calendar.UpdateCalendarEventDTO;
@@ -223,4 +224,9 @@ public class TestController {
}
}
+ @GetMapping("getUserIdsByScope")
+ public ResponseResult getUserIdsByScope(@RequestParam("userId") String userId){
+ return ResponseResult.success(enterpriseUserService.getUserIdsByScope(userId));
+ }
+
}
diff --git a/coolstore-partner-webc/coolstore-partner-webc.iml b/coolstore-partner-webc/coolstore-partner-webc.iml
index f6dc12615..ede671b45 100644
--- a/coolstore-partner-webc/coolstore-partner-webc.iml
+++ b/coolstore-partner-webc/coolstore-partner-webc.iml
@@ -51,6 +51,11 @@
+
+
+
+
+
@@ -88,8 +93,6 @@
-
-