diff --git a/coolstore-partner-common/coolstore-partner-common.iml b/coolstore-partner-common/coolstore-partner-common.iml
deleted file mode 100644
index c7be161ce..000000000
--- a/coolstore-partner-common/coolstore-partner-common.iml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java
index 21140ab24..0ecec8b2a 100644
--- a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java
+++ b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java
@@ -120,4 +120,6 @@ public class CommonConstants {
public static final String TRANSFER = "transfer";
+ public static final String FIX_MOBILE_OPENID_TEST = "HSAY5531DA7";
+ public static final String FIX_MOBILE_OPENID_ONLINE = "HSAY4AF322E";
}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/AcceptAdjustTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/AcceptAdjustTypeEnum.java
new file mode 100644
index 000000000..20ad79fb7
--- /dev/null
+++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/AcceptAdjustTypeEnum.java
@@ -0,0 +1,37 @@
+package com.cool.store.enums;
+
+/**
+ * @Author suzhuhong
+ * @Date 2023/6/19 19:48
+ * @Version 1.0
+ */
+public enum AcceptAdjustTypeEnum {
+
+ NOT_ACCEPT(0,"不接受调剂"),
+ NATIONAL_ADJUSTMENT(1,"全国调剂"),
+ PROVINCIAL_ADJUSTMENT(2,"省内调剂"),
+ LOCAL_ADJUSTMENT(3,"市区开放"),
+
+
+
+
+ ;
+
+ private Integer code;
+
+ private String message;
+
+ AcceptAdjustTypeEnum(Integer code, String message) {
+ this.code = code;
+ this.message = message;
+ }
+
+
+ public Integer getCode() {
+ return code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+}
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/AreaStatusEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/AreaStatusEnum.java
new file mode 100644
index 000000000..a2c11fed1
--- /dev/null
+++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/AreaStatusEnum.java
@@ -0,0 +1,37 @@
+package com.cool.store.enums;
+
+/**
+ * @Author suzhuhong
+ * @Date 2023/6/19 19:44
+ * @Version 1.0
+ */
+public enum AreaStatusEnum {
+
+
+ OPEN("open","开放"),
+ NOT_OPEN("notOpen","未开放"),
+ SATURATED("saturated","已饱和"),
+ KEY_OPEN("keyOpen","重点开放"),
+
+
+
+ ;
+
+ private String code;
+
+ private String message;
+
+ AreaStatusEnum(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/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/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
index e227d8ecc..df99ce566 100644
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
+++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
@@ -51,7 +51,7 @@ public enum ErrorCodeEnum {
PARENT_NODE_NOT_EXIST(400002, "父节点不存在", null),
- LINE_ID_IS_NOT_EXIST(500001, "线索ID不存在!", null),
+ LINE_ID_IS_NOT_EXIST(500001, "线索信息不存在!", null),
WORK_FLOW_STAGE_PASS_ERROR(500002, "通过错误,非对应阶段!", null),
PARTNER_USER_NOT_EXIST(500003, "加盟商用户信息不存在!", null),
ZONE_NOT_EXIST(500004, "战区不存在!", null),
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-common/src/main/java/com/cool/store/utils/AESDecryptor.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/AESDecryptor.java
new file mode 100644
index 000000000..39f7107fb
--- /dev/null
+++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/AESDecryptor.java
@@ -0,0 +1,139 @@
+package com.cool.store.utils;
+
+import com.cool.store.exception.ServiceException;
+
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.Charset;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.util.Arrays;
+
+import javax.crypto.BadPaddingException;
+import javax.crypto.Cipher;
+import javax.crypto.IllegalBlockSizeException;
+import javax.crypto.KeyGenerator;
+import javax.crypto.NoSuchPaddingException;
+import javax.crypto.SecretKey;
+import javax.crypto.spec.IvParameterSpec;
+import javax.crypto.spec.SecretKeySpec;
+
+/**
+ * https://cloud.tencent.com/developer/article/1823249
+ * 前后端约定
+ */
+public class AESDecryptor {
+
+ private static String Algorithm = "AES";
+ private static String AlgorithmProvider = "AES/CBC/PKCS5Padding"; //算法/模式/补码方式
+
+ public static byte[] generatorKey() throws NoSuchAlgorithmException {
+ KeyGenerator keyGenerator = KeyGenerator.getInstance(Algorithm);
+ keyGenerator.init(256);//默认128,获得无政策权限后可为192或256
+ SecretKey secretKey = keyGenerator.generateKey();
+ return secretKey.getEncoded();
+ }
+
+ public static IvParameterSpec getIv(byte[] ivstr) throws UnsupportedEncodingException {
+ IvParameterSpec ivParameterSpec = new IvParameterSpec(ivstr);
+ return ivParameterSpec;
+ }
+
+ public static String encrypt(String src, String keystr, IvParameterSpec iv) throws
+ NoSuchAlgorithmException,
+ NoSuchPaddingException,
+ InvalidKeyException,
+ IllegalBlockSizeException,
+ BadPaddingException,
+ UnsupportedEncodingException,
+ InvalidAlgorithmParameterException {
+ byte[] key = keystr.getBytes("utf-8");
+ SecretKey secretKey = new SecretKeySpec(key, Algorithm);
+ IvParameterSpec ivParameterSpec = iv;
+ Cipher cipher = Cipher.getInstance(AlgorithmProvider);
+ cipher.init(Cipher.ENCRYPT_MODE, secretKey, ivParameterSpec);
+ byte[] cipherBytes = cipher.doFinal(src.getBytes(Charset.forName("utf-8")));
+ return byteToHexString(cipherBytes);
+ }
+
+ public static String decrypt(String src, String keystr) {
+ try {
+ byte[] key = keystr.getBytes("utf-8");
+ SecretKey secretKey = new SecretKeySpec(key, Algorithm);
+ IvParameterSpec ivParameterSpec = getIv(Arrays.copyOfRange(keystr.getBytes("utf-8"), 0, 16));
+ Cipher cipher = Cipher.getInstance(AlgorithmProvider);
+ cipher.init(Cipher.DECRYPT_MODE, secretKey, ivParameterSpec);
+ byte[] hexBytes = hexStringToBytes(src);
+ byte[] plainBytes = cipher.doFinal(hexBytes);
+ return new String(plainBytes, "utf-8");
+ } catch (Exception e) {
+ throw new ServiceException(e.getMessage());
+ }
+ }
+
+ /**
+ * 将byte转换为16进制字符串
+ *
+ * @param src
+ * @return
+ */
+ public static String byteToHexString(byte[] src) {
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < src.length; i++) {
+ int v = src[i] & 0xff;
+ String hv = Integer.toHexString(v);
+ if (hv.length() < 2) {
+ sb.append("0");
+ }
+ sb.append(hv);
+ }
+ return sb.toString();
+ }
+
+ /**
+ * 将16进制字符串装换为byte数组
+ *
+ * @param hexString
+ * @return
+ */
+ public static byte[] hexStringToBytes(String hexString) {
+ hexString = hexString.toUpperCase();
+ int length = hexString.length() / 2;
+ char[] hexChars = hexString.toCharArray();
+ byte[] b = new byte[length];
+ for (int i = 0; i < length; i++) {
+ int pos = i * 2;
+ b[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
+ }
+ return b;
+ }
+
+ private static byte charToByte(char c) {
+ return (byte) "0123456789ABCDEF".indexOf(c);
+ }
+
+ public static void main(String[] args) {
+ try {
+ /* // 密钥必须是16的倍数
+ String keystr = "0123456789ABCDEF";
+ String ivstr = "0123456789101112";
+ String src = "Hello World";
+
+ System.out.println("密钥:" + keystr);
+ System.out.println("偏移量:" + ivstr);
+ System.out.println("原字符串:" + src);
+ IvParameterSpec iv = getIv(ivstr);
+ String enc = encrypt(src, keystr, iv);
+ System.out.println("加密:" + enc);
+*/
+ String enc = "38395651e391c4b8ca327c4742b7f52f";
+ String keystr = "77fea013c3a6459685b83c21a2fc3411";
+ String ivstr = "77fea013c3a64596";
+ // IvParameterSpec iv = getIv(ivstr);
+ String dec = decrypt(enc, keystr);
+ System.out.println("解密:" + dec);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
\ No newline at end of file
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/PassLetterUtils.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/PassLetterUtils.java
index 264061202..dc60e93b1 100644
--- a/coolstore-partner-common/src/main/java/com/cool/store/utils/PassLetterUtils.java
+++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/PassLetterUtils.java
@@ -2,7 +2,6 @@ package com.cool.store.utils;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import com.lowagie.text.Document;
import com.lowagie.text.Image;
@@ -12,8 +11,7 @@ import com.lowagie.text.pdf.PdfWriter;
import java.awt.*;
import java.io.*;
-import java.nio.file.Files;
-import java.nio.file.Paths;
+import java.util.Date;
//生成资格面试通过函的工具
public class PassLetterUtils {
@@ -26,7 +24,7 @@ public class PassLetterUtils {
* @param passCode 通过函编码
* @param passTime 审批通过时间
*/
- public static ByteArrayOutputStream genPassLetter(String partnerName, String passCode, String verifyCity, DateTime passTime) {
+ public static ByteArrayOutputStream genPassLetter(String partnerName, String passCode, String verifyCity, Date passTime) {
String passTimeStr = DateUtil.format(passTime, "yyyy年MM月dd日");
Document document = new Document();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
@@ -65,7 +63,7 @@ public class PassLetterUtils {
* 生成 passCode 的方法,拆分出来方便单独获取 passCode
* @return
*/
- public static String genPassCode(DateTime passTime) {
+ public static String genPassCode(Date passTime) {
String randomNum = RandomUtil.randomNumbers(5);
String passCode = "HSAY" + DateUtil.format(passTime, "yyMMdd") + "-" + randomNum;
return passCode;
diff --git a/coolstore-partner-dao/coolstore-partner-dao.iml b/coolstore-partner-dao/coolstore-partner-dao.iml
deleted file mode 100644
index 048685afd..000000000
--- a/coolstore-partner-dao/coolstore-partner-dao.iml
+++ /dev/null
@@ -1,141 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
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/HyOpenAreaInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java
index c2842a8f7..e0f1c643e 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyOpenAreaInfoDAO.java
@@ -29,8 +29,8 @@ public class HyOpenAreaInfoDAO {
return hyOpenAreaInfoMapper.queryKeyOpenArea();
}
- public List queryByKeyword(String keyword,String areaStatus,Boolean filterData){
- return hyOpenAreaInfoMapper.queryByKeyword(keyword,areaStatus,filterData);
+ public List queryByKeyword(String keyword,Boolean applyFlag,String areaStatus,Boolean filterData){
+ return hyOpenAreaInfoMapper.queryByKeyword(keyword,applyFlag,areaStatus,filterData);
}
public List queryFirstLevel(){
@@ -55,6 +55,13 @@ public class HyOpenAreaInfoDAO {
return hyOpenAreaInfoMapper.getChildrenList(type,parentId);
}
+ public Integer getChildrenCount(String type ,Long parentId){
+ if (parentId==null){
+ return 0;
+ }
+ return hyOpenAreaInfoMapper.getChildrenCount(type,parentId);
+ }
+
public int batchUpdateById(String backgroundBanner,String detailBanner,String areaStatus,String updateUserId,List ids){
if (StringUtils.isEmpty(areaStatus)){
@@ -77,4 +84,12 @@ public class HyOpenAreaInfoDAO {
}
return hyOpenAreaInfoMapper.selectByIds(ids);
}
+
+
+ public HyOpenAreaInfoDO selectById(Long id){
+ if (id==null){
+ return null;
+ }
+ return hyOpenAreaInfoMapper.selectById(id);
+ }
}
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java
index f796e298d..44c25f107 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java
@@ -45,6 +45,13 @@ public class HyPartnerBaseInfoDAO {
return hyPartnerBaseInfoMapper.getByPartnerIdAndLineId(partnerId, partnerLineId);
}
+ public HyPartnerBaseInfoDO getByPartnerLineId(Long partnerLineId){
+ if (partnerLineId == null){
+ return null;
+ }
+ return hyPartnerBaseInfoMapper.getByPartnerLineId(partnerLineId);
+ }
+
public Long getLineIdByIdCard(String idCard){
if (StringUtils.isEmpty(idCard)){
return null;
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java
index 2ba898a51..206e66c3b 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java
@@ -131,9 +131,9 @@ public class HyPartnerLineInfoDAO {
}
public List getPrivateSeaLineList(String keyword, String keywordType, String workflowStage, String workflowStatus, Date deadlineStart, Date deadlineEnd,
- String intentArea, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List userIdList){
+ String intentArea, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List userIdList,List developmentManagerList){
return hyPartnerLineInfoMapper.getPrivateSeaLineList( keyword, keywordType, workflowStage, workflowStatus, deadlineStart, deadlineEnd,
- intentArea, acceptAdjustType, storeKeyword, storeKeywordType, userIdList);
+ intentArea, acceptAdjustType, storeKeyword, storeKeywordType, userIdList,developmentManagerList);
}
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/HyOpenAreaInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java
index 854b9dfaf..4d90a6146 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java
@@ -4,6 +4,7 @@ import com.cool.store.dto.partner.ApplyReservationProvinceDTO;
import com.cool.store.entity.HyOpenAreaInfoDO;
import com.cool.store.entity.HyPartnerBaseInfoDO;
import com.github.pagehelper.PageInfo;
+import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -40,6 +41,7 @@ public interface HyOpenAreaInfoMapper {
* @return
*/
List queryByKeyword(@Param("keyword") String keyword,
+ @Param("applyFlag") Boolean applyFlag,
@Param("areaStatus") String areaStatus,
@Param("filterData") Boolean filterData);
@@ -69,6 +71,9 @@ public interface HyOpenAreaInfoMapper {
List getChildrenList(@Param("type") String type ,
@Param("parentId") Long parentId);
+ Integer getChildrenCount(@Param("type") String type ,
+ @Param("parentId") Long parentId);
+
/**
* 更新城市昨天
@@ -98,7 +103,7 @@ public interface HyOpenAreaInfoMapper {
*/
List selectByIds(@Param("idList") List idList);
-
+ HyOpenAreaInfoDO selectById(@Param("id") Long id);
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java
index 2f4e48e5a..d870e306e 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java
@@ -36,6 +36,8 @@ public interface HyPartnerBaseInfoMapper {
HyPartnerBaseInfoDO getByPartnerIdAndLineId(@Param("partnerId") String partnerId, @Param("partnerLineId") Long partnerLineId);
+ HyPartnerBaseInfoDO getByPartnerLineId(@Param("partnerLineId") Long partnerLineId);
+
Long getLineIdByIdCard(@Param("idCard") String idCard);
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerCertificationInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerCertificationInfoMapper.java
index 426e1a742..ae1c3a009 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerCertificationInfoMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerCertificationInfoMapper.java
@@ -22,4 +22,11 @@ public interface HyPartnerCertificationInfoMapper {
* dateTime:2023-05-29 03:51
*/
int updateByPrimaryKeySelective(@Param("record") HyPartnerCertificationInfoDO record);
+
+ /**
+ * 根据资质审核流程 id 获取面试会议 id
+ * @param qualifyVerifyId 资质审核流程 id
+ * @return 面试会议 id
+ */
+ String getInterviewIdByQualifyVerifyId(@Param("qualifyVerifyId") String qualifyVerifyId);
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
index ef22c78aa..bc1f9863f 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
@@ -79,4 +79,11 @@ public interface HyPartnerInterviewMapper {
* 根据面试 id 查询面试信息
*/
HyPartnerInterviewDO selectByPrimaryKeySelective(String interviewId);
+
+ /**
+ * 根据面试 id 获取意向区域
+ * @param interviewId
+ * @return
+ */
+ String getVerifyCityByInterviewId(@Param("interviewId") String interviewId);
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewPlanMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewPlanMapper.java
index 4e29260e9..bb5f45482 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewPlanMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewPlanMapper.java
@@ -84,7 +84,7 @@ public interface HyPartnerInterviewPlanMapper {
/**
* 查询面试详情
*
- * @param interviewId
+ * @param interviewPlanId
* @return
*/
InterviewVO getInterviewInfo(String interviewPlanId);
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java
index 155b370e8..e5211aff6 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java
@@ -173,7 +173,8 @@ public interface HyPartnerLineInfoMapper {
@Param("acceptAdjustType") Integer acceptAdjustType,
@Param("storeKeyword") String storeKeyword,
@Param("storeKeywordType") String storeKeywordType,
- @Param("userIdList") List userIdList);
+ @Param("userIdList") List userIdList,
+ @Param("developmentManagerList") List developmentManagerList);
/**
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/HyOpenAreaInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml
index f13518de0..86a29174f 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml
@@ -18,6 +18,11 @@
id, parent_id, area_name, area_path, background_banner, detail_banner, area_status,
deleted, create_time, update_time, update_user_id
+
insert into hy_open_area_info
@@ -242,6 +247,22 @@
+
+
+
+ select user_id from user_region_mapping where region_id in #{regionId}
+
+
\ No newline at end of file
diff --git a/coolstore-partner-model/coolstore-partner-model.iml b/coolstore-partner-model/coolstore-partner-model.iml
deleted file mode 100644
index 6b15b2012..000000000
--- a/coolstore-partner-model/coolstore-partner-model.iml
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
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-model/src/main/java/com/cool/store/dto/mdm/CallbackDto.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/mdm/CallbackDto.java
new file mode 100644
index 000000000..54cba17a6
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/mdm/CallbackDto.java
@@ -0,0 +1,49 @@
+package com.cool.store.dto.mdm;
+
+import lombok.Data;
+
+
+@Data
+public class CallbackDto {
+//
+// private Owner owner;
+//
+// private long modifiedTime;
+//
+// private Creator creator;
+//
+// private CreatorDepartment creatorDepartment;
+//
+// private String authCode;
+//
+// private Modifier modifier;
+//
+// private int amtDeposit;
+//
+// private FraSource fraSource;
+//
+// private String intendedSignerTel;
+//
+// private String sequenceNo;
+//
+// private String sequenceStatus;
+//
+// private String instanceId;
+//
+// private OwnerDepartment ownerDepartment;
+//
+// private SelfObject selfObject;
+//
+// private String name;
+//
+// private long createdTime;
+//
+// private String id;
+//
+// private long intendedSignDate;
+//
+// private String intendedSigner;
+//
+// private String systemsource;
+
+}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerCertificationInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerCertificationInfoDO.java
index b941df9c9..bbdf28df7 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerCertificationInfoDO.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerCertificationInfoDO.java
@@ -33,6 +33,12 @@ public class HyPartnerCertificationInfoDO implements Serializable {
@ApiModelProperty("合作关系:1总部下属;2小区代直营;3县代直营;4县代下属;5区代直营;6区代下属")
private String partnership;
+ @ApiModelProperty("资质审核流程id")
+ private String qualifyVerifyId;
+
+ @ApiModelProperty("意向合同编号")
+ private String intentionContractNo;
+
@ApiModelProperty("意向签约时间")
private Date wantSignTime;
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerInterviewDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerInterviewDO.java
index f28750c12..a56b0076e 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerInterviewDO.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerInterviewDO.java
@@ -54,11 +54,17 @@ public class HyPartnerInterviewDO implements Serializable {
@ApiModelProperty("授权码")
private String authCode;
- @ApiModelProperty("资质审核流程id")
- private String qualifyVerifyId;
+ @ApiModelProperty("通过函编码")
+ private String passCode;
- @ApiModelProperty("函文件url")
- private String passFileUrl;
+ @ApiModelProperty("函文件Pdf url")
+ private String passPdfUrl;
+
+ @ApiModelProperty("函文件image url")
+ private String passImageUrl;
+
+ @ApiModelProperty("审核通过时间")
+ private Date passTime;
@ApiModelProperty("有效期")
private Date expiryDate;
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/GetFreeBusyListReq.java b/coolstore-partner-model/src/main/java/com/cool/store/request/GetFreeBusyListReq.java
index 32e13925e..1e82f2859 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/request/GetFreeBusyListReq.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/request/GetFreeBusyListReq.java
@@ -12,9 +12,9 @@ import lombok.Data;
@Data
@ApiModel
public class GetFreeBusyListReq {
- @ApiModelProperty("开始时间")
+ @ApiModelProperty(value = "开始时间", required = true)
private String startDate;
- @ApiModelProperty("结束时间")
+ @ApiModelProperty(value = "结束时间",required = true)
private String endDate;
@ApiModelProperty("线索id(C端使用)")
private String lineId;
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerUserInfoRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerUserInfoRequest.java
new file mode 100644
index 000000000..c8a66ced7
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerUserInfoRequest.java
@@ -0,0 +1,58 @@
+package com.cool.store.request;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author suzhuhong
+ * @Date 2023/5/30 9:49
+ * @Version 1.0
+ */
+@Data
+@ApiModel
+public class PartnerUserInfoRequest {
+
+ @ApiModelProperty("partnerId")
+ private String partnerId;
+
+ @ApiModelProperty("手机号")
+ private String mobile;
+
+ @ApiModelProperty("申请人姓名")
+ private String username;
+
+ @ApiModelProperty("常驻区域")
+ private String liveArea;
+
+ @ApiModelProperty("意向开店区域ID")
+ private String wantShopArea;
+
+ @ApiModelProperty("意向开店区域Name")
+ private Long wantShopAreaName;
+
+ @ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
+ private Integer acceptAdjustType;
+
+ @ApiModelProperty("邀请码")
+ private String inviteCode;
+
+ @ApiModelProperty("店铺编码")
+ private String shopCode;
+
+ @ApiModelProperty("店铺名称")
+ private String shopName;
+
+ @ApiModelProperty("店铺ID")
+ private String shopId;
+
+ @ApiModelProperty("推荐加盟商id")
+ private String recommendPartnerId;
+
+ @ApiModelProperty("推荐加盟商姓名")
+ private String recommendPartnerName;
+
+ @ApiModelProperty("推荐加盟商手机号")
+ private String recommendPartnerMobile;
+
+}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/QualificationCallbackReq.java b/coolstore-partner-model/src/main/java/com/cool/store/request/QualificationCallbackReq.java
new file mode 100644
index 000000000..54dea3b24
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/request/QualificationCallbackReq.java
@@ -0,0 +1,23 @@
+package com.cool.store.request;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@Api("资质审核回调入参")
+public class QualificationCallbackReq {
+
+ @ApiModelProperty(value = "审核流程id", required = true)
+ private String instanceId;
+
+ @ApiModelProperty(value = "流程状态 已完成:FINISHED, 已作废:CANCELED", required = true)
+ private String sequenceStatus;
+
+ @ApiModelProperty(value = "意向签约人", required = true)
+ private String intendedSigner;
+
+ @ApiModelProperty(value = "审核通过时间", required = true)
+ private long modifiedTime;
+
+}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java
index a0f4f316e..250bbde55 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java
@@ -51,4 +51,7 @@ public class PartnerBaseInfoVO {
@ApiModelProperty("住址")
private String liveAddress;
+ @ApiModelProperty("0待提交、1待审核、2已通过、3未通过")
+ private Integer status;
+
}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerUserInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerUserInfoVO.java
index 327c30cff..277a5e6cf 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerUserInfoVO.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerUserInfoVO.java
@@ -55,6 +55,9 @@ public class PartnerUserInfoVO {
@ApiModelProperty("是否需要提交意向信息")
private Boolean needSubmitWantInfo;
+ @ApiModelProperty("线索id")
+ private Long partnerLineId;
+
public Boolean getNeedSubmitWantInfo() {
if(StringUtils.isBlank(username)
|| StringUtils.isBlank(mobile)
diff --git a/coolstore-partner-service/coolstore-partner-service.iml b/coolstore-partner-service/coolstore-partner-service.iml
deleted file mode 100644
index 6ab8c30f3..000000000
--- a/coolstore-partner-service/coolstore-partner-service.iml
+++ /dev/null
@@ -1,191 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
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/FlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/FlowService.java
index c31da95ee..60a6010ee 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/FlowService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/FlowService.java
@@ -2,6 +2,7 @@ package com.cool.store.service;
import com.cool.store.exception.ApiException;
import com.cool.store.request.CreateQualifyVerifyReq;
+import com.cool.store.request.QualificationCallbackReq;
/**
* @Author: young.yu
@@ -10,4 +11,6 @@ import com.cool.store.request.CreateQualifyVerifyReq;
*/
public interface FlowService {
void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException;
+
+ void qualificationCallback(QualificationCallbackReq request);
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java
index a5d97e465..8a45ed8cd 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java
@@ -23,7 +23,11 @@ public interface HyPartnerBaseInfoService {
PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId);
+ PartnerBaseInfoVO getByPartnerLineId(Long lineId);
+
Long getLineIdByIdCard(String idCard);
+ Boolean changeBinding(String idCard, Long lineId);
+
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java
index 3845f564c..c87756b88 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerLineInfoService.java
@@ -123,5 +123,14 @@ public interface HyPartnerLineInfoService {
*/
List getLineFollowHistory(String partnerId);
+ /**
+ * 是否分配跟进人
+ * @param lineId
+ * @return
+ */
+ Boolean assignFollowUser(Long lineId);
+
+
+
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/OpenAreaService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/OpenAreaService.java
index 5ac2be270..f59e37b15 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/OpenAreaService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/OpenAreaService.java
@@ -30,7 +30,7 @@ public interface OpenAreaService {
* @param flag
* @return
*/
- List queryAllOpenAreaByKeyword(String keyword,Boolean flag);
+ List queryAllOpenAreaByKeyword(String keyword,Boolean applyFlag,Boolean flag);
/**
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java
index 92666ef45..209e1d8c0 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java
@@ -1,6 +1,7 @@
package com.cool.store.service;
import com.cool.store.entity.HyPartnerUserInfoDO;
+import com.cool.store.request.PartnerUserInfoRequest;
import com.cool.store.vo.InviteCodeDetailVO;
public interface PartnerUserInfoService {
@@ -12,4 +13,7 @@ public interface PartnerUserInfoService {
Boolean completeJoinNotice(String partnerId);
InviteCodeDetailVO selectInviteCodeDetail(String partnerId);
+
+ Boolean updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest);
+
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/WechatMiniAppService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/WechatMiniAppService.java
index 086a9992d..ed21b250c 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/WechatMiniAppService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/WechatMiniAppService.java
@@ -14,7 +14,7 @@ public interface WechatMiniAppService {
PartnerUserInfoVO miniProgramLogin(MiniProgramLoginDTO param);
- Boolean updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO);
+ String updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO);
PartnerUserInfoVO getUserInfo(String mobile, String openId);
}
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..4989edba2 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 developmentList = zoneInfoList.stream().filter(o -> "developement".equals(o.getType())).flatMap(o->JSONObject.parseArray(o.getAssociatedRegionId(), String.class).stream()).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(developmentList)){
+ //获取负责的区域
+ developmentList.retainAll(subRegionIds);
+ List userList = userRegionMappingDAO.getUserListByRegionIds(developmentList);
+ userList.add(userId);
+ result.setDevelopmentUserIds(userList);
+ }
+ return result;
+ }
+
+ @Override
+ public List getDevelopmentDirectorList(String wantShopArea) {
+ return null;
+ }
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java
index be53f658a..bd74b8a3a 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java
@@ -2,13 +2,14 @@ package com.cool.store.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
import com.cool.store.dao.EnterpriseUserDAO;
-import com.cool.store.dto.login.UserIdInfoDTO;
import com.cool.store.dto.mdm.AccessTokenDTO;
import com.cool.store.dto.response.MDMResultDTO;
import com.cool.store.entity.*;
-import com.cool.store.enums.DataSourceEnum;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.exception.ApiException;
@@ -17,18 +18,28 @@ import com.cool.store.mapper.DingdingUserMapper;
import com.cool.store.mapper.HyPartnerCertificationInfoMapper;
import com.cool.store.mapper.HyPartnerInterviewMapper;
import com.cool.store.mapper.HyPartnerLineInfoMapper;
+import com.cool.store.oss.OSSServer;
import com.cool.store.request.CreateQualifyVerifyReq;
+import com.cool.store.request.QualificationCallbackReq;
import com.cool.store.request.RpcCreateQualifyVerfyReq;
import com.cool.store.request.RpcGetMdmTokenReq;
import com.cool.store.service.FlowService;
+import com.cool.store.utils.PDFUtils;
+import com.cool.store.utils.PassLetterUtils;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.RestTemplateUtil;
+import com.cool.store.vo.PartnerPassLetterDetailVO;
+import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@@ -63,7 +74,11 @@ public class FlowServiceImpl implements FlowService {
@Autowired
private HyPartnerCertificationInfoMapper hyPartnerCertificationInfoMapper;
+ @Autowired
+ private OSSServer ossServer;
+
@Override
+ @Transactional
public void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException {
//1.发起加盟商资质审核
RpcCreateQualifyVerfyReq rpcRequest = new RpcCreateQualifyVerfyReq();
@@ -96,7 +111,8 @@ public class FlowServiceImpl implements FlowService {
rpcRequest.setIntendedSigner(request.getIntentionSignerUsername());
rpcRequest.setIntendedSignerTel(request.getIntentionSignerMobile());
- String qualifyVerifyId = createQualifyVerify(rpcRequest);
+ //通过 rpc 请求审核系统获取返回数据
+ Map qualifyVerifyRespData = JSON.parseObject(createQualifyVerify(rpcRequest), new TypeReference>() {});
//2.更新审核信息
HyPartnerCertificationInfoDO partnerCertificationInfoDO = new HyPartnerCertificationInfoDO();
partnerCertificationInfoDO.setPartnerId(request.getPartnerId());
@@ -118,6 +134,10 @@ public class FlowServiceImpl implements FlowService {
partnerCertificationInfoDO.setSignerRealControlRelationCert(request.getSignerRealControlRelationCert());
partnerCertificationInfoDO.setCreateTime(new Date());
partnerCertificationInfoDO.setUpdateTime(new Date());
+ //set 资质审核流程id
+ partnerCertificationInfoDO.setQualifyVerifyId(qualifyVerifyRespData.get("id"));
+ //set 意向合同编号
+ partnerCertificationInfoDO.setIntentionContractNo(qualifyVerifyRespData.get("sequenceNo"));
hyPartnerCertificationInfoMapper.updateByPrimaryKeySelective(partnerCertificationInfoDO);
//3.更新面试信息
//根据面试id获取面试信息
@@ -125,7 +145,6 @@ public class FlowServiceImpl implements FlowService {
if (Objects.isNull(hyPartnerInterviewDO)) {
throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
}
- hyPartnerInterviewDO.setQualifyVerifyId(qualifyVerifyId);
hyPartnerInterviewDO.setUpdateTime(new Date());
//更新
hyPartnerInterviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_4.getCode()));
@@ -133,15 +152,59 @@ public class FlowServiceImpl implements FlowService {
}
+ @Override
+ @Transactional
+ public void qualificationCallback(QualificationCallbackReq request) {
+ //1. 信息是否完整
+ if (null == request.getSequenceStatus() || "".equals(request.getSequenceStatus())) {
+ log.error("MDM回调入参缺失,request{}", JSON.toJSONString(request));
+ throw new ServiceException("MDM回调错误!");
+ }
+ //根据审核流程 id 获取面试会议 id
+ String interviewId = hyPartnerCertificationInfoMapper.getInterviewIdByQualifyVerifyId(request.getInstanceId());
+ if (StringUtils.isEmpty(interviewId)) {
+ throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
+ }
+ HyPartnerInterviewDO interviewDO = new HyPartnerInterviewDO();
+ interviewDO.setId(Long.parseLong(interviewId));
+ //审核通过
+ if ("FINISHED".equals(request.getSequenceStatus())) {
+ interviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_6.getCode()));
+ //2. 准备需要的信息
+ String partnerName = request.getIntendedSigner();
+ String verifyCity = hyPartnerInterviewMapper.getVerifyCityByInterviewId(interviewId);
+ String[] split = verifyCity.split("/");
+ //根据长度来取市级行政区域
+ if (split.length == 2) {
+ verifyCity = split[1];
+ } else if (split.length == 3) {
+ verifyCity = split[1];
+ } else if (split.length == 4) {
+ verifyCity = split[2];
+ } else {
+ throw new ServiceException(ErrorCodeEnum.INTENT_INFO_NOT_EXIST);
+ }
+ // TODO pass_reason 暂无
+ Date passDate = new Date(request.getModifiedTime());
+ //3. 生成通过函并修改数据库相关信息
+ genPassLetterAndUpdateDB(partnerName, verifyCity, passDate, interviewId);
+ //审核未通过
+ } else if ("CANCELED".equals(request.getSequenceStatus())) {
+ interviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_7.getCode()));
+ }
+ hyPartnerInterviewMapper.updateByPrimaryKeySelective(interviewDO);
+ }
+
public String createQualifyVerify(RpcCreateQualifyVerfyReq rpcRequest) throws ApiException{
- String url = mdmBaseUrl + "/api/openapi/runtime/form/startFraQualExam";
+ String url = mdmBaseUrl + "/api/openapi/runtime/form/startFraQualExamWithData";
ResponseEntity responseEntity = null;
try {
RpcGetMdmTokenReq rpcGetMDMTokenReq = new RpcGetMdmTokenReq();
+ // TODO set appKey 与 appSecret
Map headers = new HashMap<>();
headers.put("Authorization", getMdmAccessToken(rpcGetMDMTokenReq));
- responseEntity = RestTemplateUtil.post(url, headers,rpcRequest, MDMResultDTO.class);
+ responseEntity = RestTemplateUtil.post(url, headers, rpcRequest, MDMResultDTO.class);
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if (Objects.nonNull(responseEntity.getBody()) && responseEntity.getBody().isSuccess()) {
return JSONObject.toJSONString(responseEntity.getBody().getData());
@@ -185,4 +248,41 @@ public class FlowServiceImpl implements FlowService {
String prefix = jobNumber + DateUtil.format(new Date(), "yyyyMMdd");
return prefix + redisUtilPool.incrby(prefix, 1, 60 * 60 * 25);
}
+
+ /**
+ * 生成通知函上传 OSS 和修改数据库相应数据
+ * @return passCode
+ */
+ private void genPassLetterAndUpdateDB(String partnerName, String verifyCity, Date passTime, String interviewId) {
+ try {
+ String passCode = PassLetterUtils.genPassCode(passTime);
+ //生成的 pdf 通过函内存输出流
+ ByteArrayOutputStream pdfOut = PassLetterUtils.genPassLetter(partnerName, passCode, verifyCity, passTime);
+ //生成的 pdf 通过函内存输入流
+ ByteArrayInputStream inputStream = new ByteArrayInputStream(pdfOut.toByteArray());
+ String passPdfUrl = ossServer.uploadFileServer(inputStream, "partner/passLetter/" + passCode + ".pdf");
+ //转换为图片
+ inputStream.reset();
+ ByteArrayOutputStream imageOut = PDFUtils.pdf2Img(inputStream, 2.0f);
+ inputStream = new ByteArrayInputStream(imageOut.toByteArray());
+ //上传 OSS
+ String passImageUrl = ossServer.uploadFileServer(inputStream, "partner/passLetter/" + passCode + ".png");
+ //计算有效期截止日期
+ DateTime expiryDate = DateUtil.offsetDay(passTime, 60);
+ HyPartnerInterviewDO interviewDO = new HyPartnerInterviewDO();
+ interviewDO.setId(Long.parseLong(interviewId));
+ interviewDO.setPassCode(passCode);
+ interviewDO.setPassTime(passTime);
+ interviewDO.setExpiryDate(expiryDate);
+ interviewDO.setPassPdfUrl(passPdfUrl);
+ interviewDO.setPassImageUrl(passImageUrl);
+ hyPartnerInterviewMapper.updateByPrimaryKeySelective(interviewDO);
+ inputStream.close();
+ pdfOut.close();
+ imageOut.close();
+ } catch (Exception e) {
+ log.error("资格面试通过函生成失败 e{}", e.getMessage());
+ throw new ServiceException("通过函生成失败!");
+ }
+ }
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java
index d2bffd4e2..3f84643dc 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java
@@ -67,11 +67,29 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
return baseInfoVO;
}
+ @Override
+ public PartnerBaseInfoVO getByPartnerLineId(Long lineId) {
+ HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerLineId(lineId);
+ if (hyPartnerBaseInfoDO == null){
+ throw new ServiceException(ErrorCodeEnum.PARTNER_BASEINFO_NOT_EXIST);
+ }
+ PartnerBaseInfoVO baseInfoVO = new PartnerBaseInfoVO();
+ BeanUtil.copyProperties(hyPartnerBaseInfoDO, baseInfoVO);
+ return baseInfoVO;
+ }
+
@Override
public Long getLineIdByIdCard(String idCard) {
return hyPartnerBaseInfoDAO.getLineIdByIdCard(idCard);
}
+ @Override
+ public Boolean changeBinding(String idCard, Long lineId) {
+ // 先把之前状态置为 待提交,清空身份证号 ,把新的绑定身份证号
+ HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerLineId(lineId);
+ return true;
+ }
+
private void fillBaseInfo(HyPartnerBaseInfoDO baseInfoDO, PartnerBaseInfoRequest request) {
baseInfoDO.setPartnerId(request.getPartnerId());
baseInfoDO.setPartnerLineId(request.getPartnerLineId());
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java
index ae74e294f..5b2e4f596 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java
@@ -3,23 +3,21 @@ package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
+import com.cool.store.constants.CommonConstants;
import com.cool.store.constants.RedisConstant;
-import com.cool.store.dao.EnterpriseUserDAO;
-import com.cool.store.dao.HyPartnerLineInfoDAO;
-import com.cool.store.dao.HyPartnerUserInfoDAO;
-import com.cool.store.dao.UserRegionMappingDAO;
+import com.cool.store.dao.*;
+import com.cool.store.dto.buser.UserPositionAndUserScopeDTO;
import com.cool.store.dto.partner.*;
import com.cool.store.entity.EnterpriseUserDO;
+import com.cool.store.entity.HyOpenAreaInfoDO;
import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.entity.HyPartnerUserInfoDO;
-import com.cool.store.enums.ErrorCodeEnum;
-import com.cool.store.enums.LineStatusEnum;
-import com.cool.store.enums.WorkflowStageEnum;
-import com.cool.store.enums.WorkflowStatusEnum;
+import com.cool.store.enums.*;
import com.cool.store.exception.ServiceException;
import com.cool.store.request.CloseFollowRequest;
import com.cool.store.request.LineRequest;
import com.cool.store.request.PrivateSeaLineListRequest;
+import com.cool.store.service.EnterpriseUserService;
import com.cool.store.service.HyPartnerLineInfoService;
import com.cool.store.utils.CoolDateUtils;
import com.cool.store.utils.RedisUtilPool;
@@ -56,6 +54,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
UserRegionMappingDAO userRegionMappingDAO;
@Resource
private RedisUtilPool redisUtilPool;
+ @Resource
+ HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
+ @Resource
+ EnterpriseUserService enterpriseUserService;
@Override
public StageCountVO selectStagePendingCount(String userId) {
@@ -303,13 +305,16 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
return publicSeaLineList;
}
+
+
@Override
public PageInfo privateSeaLineList(String userId, PrivateSeaLineListRequest request) {
- // TODO: 2023/6/19 su userlist计算
+ UserPositionAndUserScopeDTO userIdsByScope = enterpriseUserService.getUserIdsByScope(userId);
PageHelper.startPage(request.getPageNum(),request.getPageSize());
PageInfo privateLineList = new PageInfo(hyPartnerLineInfoDAO.getPrivateSeaLineList(request.getKeyword(), request.getKeywordType(), request.getWorkflowStage(),
request.getWorkflowStatus(), request.getDeadlineStart(), request.getDeadlineEnd(),
- request.getIntentArea(), request.getAcceptAdjustType(), request.getStoreKeyword(), request.getStoreKeywordType(), null));
+ request.getIntentArea(), request.getAcceptAdjustType(), request.getStoreKeyword(),
+ request.getStoreKeywordType(), userIdsByScope.getInvestmentUserIds(),userIdsByScope.getDevelopmentUserIds()));
List list = privateLineList.getList();
if (CollectionUtils.isEmpty(list)){
return new PageInfo<>();
@@ -378,6 +383,47 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
return result;
}
+ @Override
+ public Boolean assignFollowUser(Long lineId) {
+ HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId);
+ if (hyPartnerLineInfoDO==null){
+ throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
+ }
+ List lineFollowHistoryList = hyPartnerLineInfoDAO.getLineFollowHistoryList(hyPartnerLineInfoDO.getPartnerId());
+ //如果是私海线索 不需要重新分配招商经理 或者跟进次数大于1
+ if (hyPartnerLineInfoDO.getLineStatus()==1||CollectionUtils.isEmpty(lineFollowHistoryList)){
+ return Boolean.FALSE;
+ }
+ HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerLineInfoDO.getPartnerId());
+ HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea()));
+
+ if (AreaStatusEnum.OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.KEY_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())){
+ return Boolean.TRUE;
+ }
+ if (AreaStatusEnum.NOT_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.SATURATED.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())){
+ if (AcceptAdjustTypeEnum.NOT_ACCEPT.getCode().equals(hyPartnerUserInfoDO.getAcceptAdjustType())){
+ return Boolean.FALSE;
+ }
+ //全国调剂 默认分配呗 有啥好说的
+ if (AcceptAdjustTypeEnum.NATIONAL_ADJUSTMENT.getCode().equals(hyPartnerUserInfoDO.getAcceptAdjustType())){
+ return Boolean.TRUE;
+ }
+ //省内调剂 有重点或者开放的 分配
+ if (AcceptAdjustTypeEnum.PROVINCIAL_ADJUSTMENT.getCode().equals(hyPartnerUserInfoDO.getAcceptAdjustType())){
+ Integer apply = hyOpenAreaInfoDAO.getChildrenCount("apply", hyOpenAreaInfoDO.getId());
+ if (apply>CommonConstants.ZERO){
+ return Boolean.TRUE;
+ }
+ return Boolean.FALSE;
+ }
+ //市内调剂 不分配
+ if (AcceptAdjustTypeEnum.LOCAL_ADJUSTMENT.getCode().equals(hyPartnerUserInfoDO.getAcceptAdjustType())){
+ return Boolean.FALSE;
+ }
+ }
+ return Boolean.FALSE;
+ }
+
/**
* convertPartnerBlackListDTOToVo
* @param partnerBlackListDTO
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java
index 630eb232c..ba4c0a0c9 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpenAreaServiceImpl.java
@@ -38,7 +38,7 @@ public class OpenAreaServiceImpl implements OpenAreaService {
Map longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
//查询关键字下所有的数据 原始的数据
- List hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,areaStatus,flag);
+ List hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,null,areaStatus,flag);
Set longSet = hyOpenAreaInfoDOS.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toSet());
List result = new ArrayList<>();
@@ -60,13 +60,13 @@ public class OpenAreaServiceImpl implements OpenAreaService {
}
@Override
- public List queryAllOpenAreaByKeyword(String keyword, Boolean flag) {
+ public List queryAllOpenAreaByKeyword(String keyword,Boolean applyFlag, Boolean flag) {
//先查出所有的一级菜单
List openArea = hyOpenAreaInfoDAO.queryFirstLevel();
Map longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
//查询关键字下所有的数据 原始的数据
- List hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,null,flag);
+ List hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,applyFlag,null,flag);
Map hyMap = hyOpenAreaInfoDOS.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java
index a39410da3..4ac098871 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerInterviewServiceImpl.java
@@ -3,9 +3,6 @@ package com.cool.store.service.impl;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ObjectUtil;
-import com.cool.store.dto.calendar.UpdateCalendarEventDTO;
-import com.cool.store.dto.calendar.UserCalendarsEventDTO;
import com.cool.store.dto.partner.EnterInterviewDto;
import com.cool.store.entity.HyPartnerInterviewPlanDO;
import com.cool.store.enums.ErrorCodeEnum;
@@ -14,27 +11,23 @@ import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.HyPartnerInterviewMapper;
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
-import com.cool.store.oss.OSSServer;
import com.cool.store.request.ModifyInterviewTimeReq;
import com.cool.store.service.PartnerInterviewService;
-import com.cool.store.utils.PDFUtils;
-import com.cool.store.utils.PassLetterUtils;
import com.cool.store.utils.TRTCUtils;
import com.cool.store.vo.EnterInterviewVO;
import com.cool.store.vo.PartnerInterviewInfoVO;
import com.cool.store.vo.PartnerPassLetterDetailVO;
import com.cool.store.vo.interview.InterviewVO;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.io.*;
import java.util.Date;
-import static com.cool.store.utils.PDFUtils.pdf2Img;
-
@Service
+@Slf4j
public class PartnerInterviewServiceImpl implements PartnerInterviewService {
@Autowired
@@ -43,9 +36,6 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
@Autowired
private HyPartnerInterviewPlanMapper interviewPlanMapper;
- @Autowired
- private OSSServer ossServer;
-
@Value("${trtc.sdkAppId}")
private Long sdkAppId;
@@ -110,17 +100,8 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
} else if (split.length == 4) {
vo.setVerifyCity(split[2]);
} else {
- System.out.println("wrong");
+ throw new ServiceException(ErrorCodeEnum.INTENT_INFO_NOT_EXIST);
}
- verifyCity = vo.getVerifyCity();
- // 调用生成通过函和修改数据库数据的方法
- String passCode = genPassLetterAndUpdateDB(vo, interviewPlanId);
- //再查一次 vo
- vo = interviewMapper.getPassLetterDetail(interviewPlanId);
- //有效期为审批通过次日起第 60 天的 23:59:59,由此倒推 createTime
- DateTime expiryDate = DateUtil.parseDate(vo.getExpiryDate());
- DateTime createTime = DateUtil.offsetDay(expiryDate, -60);
- vo.setCreateTime(DateUtil.format(createTime, "yyyy-MM-dd"));
vo.setVerifyCity((verifyCity));
return vo;
}
@@ -143,37 +124,4 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
interviewPlanMapper.updateByPrimaryKeySelective(record);
}
- /**
- * 生成通知函上传 OSS 和修改数据库相应数据
- * @return passCode
- */
- private String genPassLetterAndUpdateDB(PartnerPassLetterDetailVO passLetterDetail, String interviewId) {
- //已经有文件 URL 的话就不要再生成了,默认上游全部数据都正确
- if (ObjectUtil.isEmpty(passLetterDetail.getPassPdfUrl()) || ObjectUtil.isEmpty(passLetterDetail.getPassImageUrl())) {
- try {
- DateTime createTime = DateUtil.date();
- String code = passLetterDetail.getPassCode() == null ? PassLetterUtils.genPassCode(createTime) : passLetterDetail.getPassCode();
- //生成的 pdf 通过函内存输出流
- ByteArrayOutputStream pdfOut = PassLetterUtils.genPassLetter(passLetterDetail.getPartnerName(), code, passLetterDetail.getVerifyCity(), createTime);
- //生成的 pdf 通过函内存输入流
- ByteArrayInputStream inputStream = new ByteArrayInputStream(pdfOut.toByteArray());
- String passPdfUrl = ossServer.uploadFileServer(inputStream, "partner/passLetter/" + code + ".pdf");
- //转换为图片
- inputStream.reset();
- ByteArrayOutputStream imageOut = PDFUtils.pdf2Img(inputStream, 2.0f);
- inputStream = new ByteArrayInputStream(imageOut.toByteArray());
- //上传 OSS
- String passImageUrl = ossServer.uploadFileServer(inputStream, "partner/passLetter/" + code + ".png");
- //计算有效期截止日期
- DateTime expiryDate = DateUtil.offsetDay(createTime, 60);
- String expiryDateStr = DateUtil.format(expiryDate, "yyyy-MM-dd") + " 23:59:59";
- interviewMapper.updatePassLetterInfo(code, passPdfUrl, passImageUrl, expiryDateStr, interviewId);
- inputStream.close();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- return passLetterDetail.getPassCode();
- }
-
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java
index 1670d3348..b434b01e0 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java
@@ -5,6 +5,8 @@ import com.cool.store.dao.HyPartnerUserInfoDAO;
import com.cool.store.entity.HyPartnerUserInfoDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
+import com.cool.store.request.BaseUserInfoRequest;
+import com.cool.store.request.PartnerUserInfoRequest;
import com.cool.store.service.PartnerUserInfoService;
import com.cool.store.vo.InviteCodeDetailVO;
import org.springframework.beans.factory.annotation.Autowired;
@@ -53,4 +55,26 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
inviteCodeDetailVO.setStoreName(hyPartnerUserInfoDO.getShopName());
return inviteCodeDetailVO;
}
+
+ @Override
+ public Boolean updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest) {
+ HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(partnerUserInfoRequest.getPartnerId()));
+ if (hyPartnerUserInfoDO==null){
+ throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);
+ }
+ hyPartnerUserInfoDO.setUsername(partnerUserInfoRequest.getUsername());
+ hyPartnerUserInfoDO.setMobile(partnerUserInfoRequest.getMobile());
+ hyPartnerUserInfoDO.setLiveArea(partnerUserInfoRequest.getLiveArea());
+ hyPartnerUserInfoDO.setWantShopArea(partnerUserInfoRequest.getWantShopArea());
+ hyPartnerUserInfoDO.setAcceptAdjustType(partnerUserInfoRequest.getAcceptAdjustType());
+ hyPartnerUserInfoDO.setInviteCode(partnerUserInfoRequest.getInviteCode());
+ hyPartnerUserInfoDO.setShopCode(partnerUserInfoRequest.getShopCode());
+ hyPartnerUserInfoDO.setShopName(partnerUserInfoRequest.getShopName());
+ hyPartnerUserInfoDO.setShopId(partnerUserInfoRequest.getShopId());
+ hyPartnerUserInfoDO.setRecommendPartnerId(partnerUserInfoRequest.getRecommendPartnerId());
+ hyPartnerUserInfoDO.setRecommendPartnerName(partnerUserInfoRequest.getRecommendPartnerName());
+ hyPartnerUserInfoDO.setRecommendPartnerMobile(partnerUserInfoRequest.getRecommendPartnerMobile());
+ hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO);
+ return Boolean.TRUE;
+ }
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java
index 2652e3f63..09cd8136a 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java
@@ -120,7 +120,8 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
}
@Override
- public Boolean updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO) {
+ public String updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO) {
+ String newMobile = "";
HyPartnerUserInfoDO oldUserInfo = hyPartnerUserInfoDAO.selectByMobile(userInfoVO.getMobile());
if (oldUserInfo == null) {
throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);
@@ -130,19 +131,26 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
// 获取手机号码
PhoneInfoDTO phoneInfoDTO = wechatRest.getUserPhoneNumber(request.getMobileCode(), accessToken);
if(phoneInfoDTO != null && phoneInfoDTO.getPhoneInfo() != null && StringUtils.isNotBlank(phoneInfoDTO.getPhoneInfo().getPhoneNumber())){
- HyPartnerUserInfoDO newUserInfo = hyPartnerUserInfoDAO.selectByMobile(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
+ newMobile = phoneInfoDTO.getPhoneInfo().getPhoneNumber();
+ HyPartnerUserInfoDO newUserInfo = hyPartnerUserInfoDAO.selectByMobile(newMobile);
if (newUserInfo != null) {
throw new ServiceException(ErrorCodeEnum.NEW_MOBILE_HAS_EXIST);
}
- oldUserInfo.setMobile(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
+ oldUserInfo.setMobile(newMobile);
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(oldUserInfo);
}
- return true;
+ return newMobile;
}
@Override
public PartnerUserInfoVO getUserInfo(String mobile, String openId) {
PartnerUserInfoVO userInfoVO = new PartnerUserInfoVO();
+ if(CommonConstants.FIX_MOBILE_OPENID_TEST.equals(mobile) || CommonConstants.FIX_MOBILE_OPENID_ONLINE.equals(mobile) ){
+ userInfoVO.setMobile(mobile);
+ userInfoVO.setOpenid(mobile);
+ userInfoVO.setPartnerId("");
+ return userInfoVO;
+ }
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByMobile(mobile);
BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO);
HyPartnerUserPlatformBindDO hyPartnerUserPlatformBindDO = hyPartnerUserPlatformBindDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
diff --git a/coolstore-partner-webb/coolstore-partner-webb.iml b/coolstore-partner-webb/coolstore-partner-webb.iml
deleted file mode 100644
index a2e227e0b..000000000
--- a/coolstore-partner-webb/coolstore-partner-webb.iml
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/ContentController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/ContentController.java
index fda765b0a..3e82c2e05 100644
--- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/ContentController.java
+++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/ContentController.java
@@ -9,6 +9,7 @@ import com.cool.store.service.ContentService;
import com.cool.store.vo.HyContentInfoVO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +19,7 @@ import java.util.List;
@RestController
@RequestMapping("news")
+@Api(tags = "动态")
@Slf4j
public class ContentController {
diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java
index 7df9e25c7..8181e0ffd 100644
--- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java
+++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java
@@ -213,8 +213,7 @@ public class DeskController {
@PostMapping(path = "/queryPrivateSeaLineList")
@ApiOperation("私海列表")
public ResponseResult> queryPrivateSeqLineList(@RequestBody PrivateSeaLineListRequest privateSeaLineListRequest){
-
- return ResponseResult.success();
+ return ResponseResult.success(hyPartnerLineInfoService.privateSeaLineList(CurrentUserHolder.getUserId(),privateSeaLineListRequest));
}
@PostMapping(path = "/queryBlackList")
@@ -253,8 +252,7 @@ public class DeskController {
@ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
})
public ResponseResult queryPartnerBaseInfo(@RequestParam(value = "lineId",required = false)Long lineId){
- PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser();
- return ResponseResult.success(hyPartnerBaseInfoService.queryPartnerBaseInfo(userInfoVO.getPartnerId(), lineId));
+ return ResponseResult.success(hyPartnerBaseInfoService.getByPartnerLineId(lineId));
}
@PostMapping(path = "/updatePartnerIntentInfo")
diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/FlowController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/FlowController.java
index 14f4e3b92..374f0f671 100644
--- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/FlowController.java
+++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/FlowController.java
@@ -3,6 +3,7 @@ package com.cool.store.controller;
import com.cool.store.exception.ApiException;
import com.cool.store.request.CreateQualifyVerifyReq;
import com.cool.store.request.FinishInterviewReq;
+import com.cool.store.request.QualificationCallbackReq;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.FlowService;
import io.swagger.annotations.Api;
@@ -34,8 +35,9 @@ public class FlowController {
@PostMapping("/qualificationReview/callback")
@ApiOperation("流程信息回调接口")
- public ResponseResult qualificationCallback() {
- return null;
+ public ResponseResult qualificationCallback(@RequestBody QualificationCallbackReq request) {
+ flowService.qualificationCallback(request);
+ return ResponseResult.success();
}
}
diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/OpenAreaController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/OpenAreaController.java
index 876cf2e81..f4c4958eb 100644
--- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/OpenAreaController.java
+++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/OpenAreaController.java
@@ -43,7 +43,7 @@ public class OpenAreaController {
@ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false)
})
public ResponseResult> getAllOpenAreaTree(@RequestParam(value = "keyword",required = false)String keyword){
- return ResponseResult.success(openAreaService.queryAllOpenAreaByKeyword(keyword,Boolean.FALSE));
+ return ResponseResult.success(openAreaService.queryAllOpenAreaByKeyword(keyword,null,Boolean.FALSE));
}
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
deleted file mode 100644
index f6dc12615..000000000
--- a/coolstore-partner-webc/coolstore-partner-webc.iml
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/config/BodyWrapperFilter.java b/coolstore-partner-webc/src/main/java/com/cool/store/config/BodyWrapperFilter.java
new file mode 100644
index 000000000..561d9b3c3
--- /dev/null
+++ b/coolstore-partner-webc/src/main/java/com/cool/store/config/BodyWrapperFilter.java
@@ -0,0 +1,31 @@
+package com.cool.store.config;
+
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.*;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+
+
+/**
+ * @Author: JCccc
+ * @Date: 2022-6-12 10:35
+ * @Description:
+ */
+@Component
+@Order(2)
+public class BodyWrapperFilter implements Filter {
+ @Override
+ public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
+ ServletRequest requestWrapper = null;
+ if(servletRequest instanceof HttpServletRequest) {
+ requestWrapper = new CustomHttpServletRequestWrapper((HttpServletRequest) servletRequest);
+ }
+ if(requestWrapper == null) {
+ filterChain.doFilter(servletRequest, servletResponse);
+ } else {
+ filterChain.doFilter(requestWrapper, servletResponse);
+ }
+ }
+}
\ No newline at end of file
diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/config/CustomHttpServletRequestWrapper.java b/coolstore-partner-webc/src/main/java/com/cool/store/config/CustomHttpServletRequestWrapper.java
new file mode 100644
index 000000000..39bdc210f
--- /dev/null
+++ b/coolstore-partner-webc/src/main/java/com/cool/store/config/CustomHttpServletRequestWrapper.java
@@ -0,0 +1,60 @@
+package com.cool.store.config;
+
+import javax.servlet.ReadListener;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import java.io.*;
+import java.nio.charset.StandardCharsets;
+
+/**
+ * @Author: JCccc
+ * @Date: 2022-6-12 10:36
+ * @Description: 重写一个自己的 RequestWrapper 拿出body给自己用
+ */
+
+public class CustomHttpServletRequestWrapper extends HttpServletRequestWrapper {
+ private byte[] body;
+ public CustomHttpServletRequestWrapper(HttpServletRequest request) throws IOException {
+ super(request);
+ BufferedReader reader = request.getReader();
+ try (StringWriter writer = new StringWriter()) {
+ int read;
+ char[] buf = new char[1024 * 8];
+ while ((read = reader.read(buf)) != -1) {
+ writer.write(buf, 0, read);
+ }
+ this.body = writer.getBuffer().toString().getBytes();
+ }
+ }
+ public String getBody(){
+ return new String(body, StandardCharsets.UTF_8);
+ }
+ @Override
+ public ServletInputStream getInputStream() {
+ final ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(body);
+ return new ServletInputStream() {
+ @Override
+ public boolean isFinished() {
+ return false;
+ }
+ @Override
+ public boolean isReady() {
+ return false;
+ }
+
+ @Override
+ public void setReadListener(ReadListener readListener) {
+ }
+
+ @Override
+ public int read() {
+ return byteArrayInputStream.read();
+ }
+ };
+ }
+ @Override
+ public BufferedReader getReader() {
+ return new BufferedReader(new InputStreamReader(this.getInputStream()));
+ }
+}
\ No newline at end of file
diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java
index 929dd3298..46a60bc72 100644
--- a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java
+++ b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java
@@ -7,10 +7,7 @@ import com.cool.store.context.PartnerUserHolder;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.WechatMiniAppService;
-import com.cool.store.utils.AesUtil;
-import com.cool.store.utils.Md5Utils;
-import com.cool.store.utils.Sha1Utils;
-import com.cool.store.utils.UUIDUtils;
+import com.cool.store.utils.*;
import com.cool.store.vo.PartnerUserInfoVO;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
@@ -26,8 +23,10 @@ import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* @author ydw
@@ -81,41 +80,52 @@ public class SignValidateFilter implements Filter {
MDC.put(CommonConstants.REQUEST_ID, UUIDUtils.get32UUID());
HttpServletResponse response = (HttpServletResponse) servletResponse;
HttpServletRequest request = (HttpServletRequest) servletRequest;
+ CustomHttpServletRequestWrapper wrapper = (CustomHttpServletRequestWrapper) request;
String uri = request.getRequestURI();
String method = request.getMethod();
String userStr = "";
boolean isInWhiteList = excludePath(uri);
log.info("url:{}", uri);
- /* if ( !isInWhiteList && !method.equals("OPTIONS")) {
- Map parameterMap = request.getParameterMap();
- String jsonStr = JSONObject.toJSONString(parameterMap);
- JSONObject obj = JSONObject.parseObject(jsonStr);
- log.info("params:{}", obj.toJSONString());
- String params = obj.toJSONString();
+ if ( !isInWhiteList && !method.equals("OPTIONS")) {
+ String params = "";
+ if("GET".equalsIgnoreCase(method)){
+ Map parameterMap = new HashMap();
+ Map requestMap = request.getParameterMap();
+ for(String key : requestMap.keySet()){
+ parameterMap.put(key, requestMap.get(key)[0]);
+ }
+ params = JSONObject.toJSONString(parameterMap);
+ }else if("POST".equalsIgnoreCase(method)){
+ params = wrapper.getBody();
+ // params = request.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
+ }
+ log.info("params:{}", params);
String sign = request.getHeader("SIGN");
String nonce = request.getHeader("NONCE");
String timestamp = request.getHeader("TIMESTAMP");
String aesPhone = request.getHeader("PHONE");
String openid = request.getHeader("OPENID");
- String phone = AesUtil.decrypt(aesPhone, signKey);
- String md5Value = phone + Md5Utils.md5(Md5Utils.md5(openid));
- log.info("sign:{}, nonce:{}, timestamp:{},aesPhone:{}, openid:{}, 解密后的手机号:{}, md5Value:{}",
- sign, nonce, timestamp, aesPhone, openid, phone, md5Value);
+ log.info("aesPhone:{}, signKey:{}", aesPhone, signKey);
+ String phone = AESDecryptor.decrypt(aesPhone, signKey);
+ String plaintextOpenid = AESDecryptor.decrypt(openid, signKey);
+ String md5Value = phone + Md5Utils.md5(Md5Utils.md5(plaintextOpenid));
+ log.info("sign:{}, nonce:{}, timestamp:{},aesPhone:{}, openid:{}, 解密后的手机号:{}, md5Value:{}, 明文plaintextOpenid:{}",
+ sign, nonce, timestamp, aesPhone, openid, phone, md5Value, plaintextOpenid);
String signStr = timestamp + nonce + params + signKey + md5Value;
String newSign = Sha1Utils.getSha1(signStr.getBytes());
- log.info("newSign: {}", newSign);
+ log.info("signStr: {}, newSign: {}", signStr, newSign);
// 前后端验签不等
if (!newSign.equals(sign)) {
response.setStatus(HttpStatus.OK.value());
response.getWriter().write(JSON.toJSONString(ResponseResult.fail(ErrorCodeEnum.SIGN_FAIL)));
return;
}
- PartnerUserInfoVO partnerUserInfoVO = wechatMiniAppService.getUserInfo(phone, openid);
+ PartnerUserInfoVO partnerUserInfoVO = wechatMiniAppService.getUserInfo(phone, plaintextOpenid);
if(partnerUserInfoVO != null){
userStr = JSONObject.toJSONString(partnerUserInfoVO);
log.info("url:{}, userStr:{}", uri, userStr);
}
- }*/
+ }
try {
PartnerUserHolder.setUser(userStr);
filterChain.doFilter(servletRequest, servletResponse);
diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/ContentController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/ContentController.java
new file mode 100644
index 000000000..05c4c42ef
--- /dev/null
+++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/ContentController.java
@@ -0,0 +1,42 @@
+package com.cool.store.controller;
+
+import com.cool.store.dto.content.ContentQueryListDto;
+import com.cool.store.entity.HyContentInfoDO;
+import com.cool.store.response.ResponseResult;
+import com.cool.store.service.ContentService;
+import com.cool.store.vo.HyContentInfoVO;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("news")
+@Api(tags = "动态")
+@Slf4j
+public class ContentController {
+
+ @Autowired
+ private ContentService contentService;
+
+ @PostMapping("/queryContentList")
+ @ApiOperation("查询动态列表")
+ public ResponseResult> queryContentList(@RequestBody ContentQueryListDto dto) {
+ PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
+ List list = contentService.queryContentList(dto);
+ PageInfo page = new PageInfo<>(list);
+ return ResponseResult.success(page);
+ }
+
+ @PostMapping("/detail")
+ @ApiOperation("动态详情")
+ public ResponseResult queryContentInfo(@RequestParam String contentId) {
+ return ResponseResult.success(contentService.queryContentInfo(contentId));
+ }
+
+}
diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/MiniProgramAppController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/MiniProgramAppController.java
index 46f85bc2a..5a155a1ac 100644
--- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/MiniProgramAppController.java
+++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/MiniProgramAppController.java
@@ -38,16 +38,15 @@ public class MiniProgramAppController {
@ApiOperation("更新手机号")
@PostMapping("/updateUserPhoneNumber")
- public ResponseResult updateUserPhoneNumber(@RequestBody @Valid MobileUpdateRequest request) {
+ public ResponseResult updateUserPhoneNumber(@RequestBody @Valid MobileUpdateRequest request) {
PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser();
return ResponseResult.success(wechatMiniAppService.updateUserPhoneNumber(request, userInfoVO));
}
@ApiOperation("根据mobile和openId获取用户信息")
- @PostMapping("/getUserInfo")
- public ResponseResult getUserInfo(@RequestParam(value = "mobile",required = false) String mobile,
- @RequestParam(value = "openId",required = false) String openId){
- PartnerUserInfoVO userInfoVO = wechatMiniAppService.getUserInfo(mobile, openId);
+ @GetMapping("/getUserInfo")
+ public ResponseResult getUserInfo(){
+ PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser();
return ResponseResult.success(userInfoVO);
}
}
diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java
index 5090d56c5..6a3d2c16e 100644
--- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java
+++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/OpenAreaController.java
@@ -49,9 +49,11 @@ public class OpenAreaController {
@ApiOperation("区域申请搜索 树形结构")
@ApiImplicitParams({
@ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false),
+ @ApiImplicitParam(name = "applyFlag", value = "可申请标识", required = false)
})
- public ResponseResult> getOpenAreaList(@RequestParam(value = "keyword",required = false)String keyword){
- List openAreaTreeVOS = openAreaService.queryAllOpenAreaByKeyword(keyword,Boolean.FALSE);
+ public ResponseResult> getOpenAreaList(@RequestParam(value = "keyword",required = false)String keyword,
+ @RequestParam(value = "applyFlag",required = false)Boolean applyFlag){
+ List openAreaTreeVOS = openAreaService.queryAllOpenAreaByKeyword(keyword,applyFlag,Boolean.FALSE);
return ResponseResult.success(openAreaTreeVOS);
}
diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java
index e564b473d..02dc83c0c 100644
--- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java
+++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java
@@ -4,11 +4,9 @@ import com.cool.store.constants.RedisConstant;
import com.cool.store.context.PartnerUserHolder;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.IDCardSideEnum;
+import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.exception.ServiceException;
-import com.cool.store.request.BaseUserInfoRequest;
-import com.cool.store.request.PartnerBaseInfoRequest;
-import com.cool.store.request.PartnerClerkInfoRequest;
-import com.cool.store.request.PartnerIntentInfoRequest;
+import com.cool.store.request.*;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.*;
import com.cool.store.utils.RedisUtilPool;
@@ -54,9 +52,9 @@ public class PartnerController {
@PostMapping(path = "/applyBaseInfo")
- @ApiOperation("提交基本信息")
- public ResponseResult applyBaseInfo(@RequestBody BaseUserInfoRequest baseUserInfoRequest){
- return ResponseResult.success(hyPartnerIntentInfoService.updatePartnerIntentInfo(baseUserInfoRequest));
+ @ApiOperation("提交加盟商基本信息")
+ public ResponseResult applyBaseInfo(@RequestBody PartnerUserInfoRequest partnerUserInfoRequest){
+ return ResponseResult.success(partnerUserInfoService.updatePartnerUserInfo(partnerUserInfoRequest));
}
@@ -64,8 +62,9 @@ public class PartnerController {
@ApiOperation("获取提交意向申请标识 true 已提交 false 未提交")
public ResponseResult getSubmitIntentionApplyFlag(){
PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser();
-
- return ResponseResult.success();
+ PartnerBaseInfoVO partnerBaseInfoVO = hyPartnerBaseInfoService.queryPartnerBaseInfo(userInfoVO.getPartnerId(), userInfoVO.getPartnerLineId());
+ Boolean submitFlag = partnerBaseInfoVO.getStatus() > Integer.valueOf(WorkflowStatusEnum.INTENT_0.getCode());
+ return ResponseResult.success(submitFlag);
}
@@ -77,7 +76,7 @@ public class PartnerController {
public ResponseResult getLineByIdCard(@RequestParam(value = "idCard",required = false)String idCard){
Long lineId = hyPartnerBaseInfoService.getLineIdByIdCard(idCard);
- return ResponseResult.success(lineId != null);
+ return ResponseResult.success(lineId != null && lineId > 0L);
}
@@ -90,12 +89,12 @@ public class PartnerController {
public ResponseResult changeBinding(@RequestParam(value = "idCard",required = false)String idCard,
@RequestParam(value = "lineId",required = false)Long lineId){
- return ResponseResult.success();
+ return ResponseResult.success(hyPartnerBaseInfoService.changeBinding(idCard, lineId));
}
@PostMapping(path = "/submitPartnerBaseInfo")
- @ApiOperation("提交加盟商基本信息")
+ @ApiOperation("提交意向书基本信息")
public ResponseResult submitPartnerBaseInfo(@RequestBody PartnerBaseInfoRequest baseInfoRequest){
//前提 未提交加盟申请
//成功 意向区域变更成功 失败 您已进入意向申请流程,当前不可变更意向区域
@@ -103,7 +102,7 @@ public class PartnerController {
}
@PostMapping(path = "/submitPartnerClerkInfo")
- @ApiOperation("提交加盟商店员信息")
+ @ApiOperation("提交意向书店员信息")
public ResponseResult submitPartnerClerkInfo(@RequestBody PartnerClerkInfoRequest partnerClerkInfoRequest){
return ResponseResult.success(hyPartnerClerkService.submitPartnerClerkInfo(partnerClerkInfoRequest));
@@ -111,7 +110,7 @@ public class PartnerController {
@PostMapping(path = "/submitPartnerIntentInfo")
- @ApiOperation("提交加盟商意向信息/行业认知")
+ @ApiOperation("提意向书意向信息/行业认知")
public ResponseResult submitPartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){
return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest));
}
@@ -119,7 +118,7 @@ public class PartnerController {
@PostMapping(path = "/changePartnerClerkInfo")
- @ApiOperation("修改加盟商店员信息")
+ @ApiOperation("修改意向书店员信息")
public ResponseResult changePartnerClerkInfo(@RequestBody PartnerClerkInfoRequest partnerClerkInfoRequest){
return ResponseResult.success(hyPartnerClerkService.submitPartnerClerkInfo(partnerClerkInfoRequest));
@@ -127,7 +126,7 @@ public class PartnerController {
@PostMapping(path = "/changePartnerIntentInfo")
- @ApiOperation("修改加盟商意向信息/行业认知")
+ @ApiOperation("修改意向书意向信息/行业认知")
public ResponseResult changePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){
return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest));
@@ -158,8 +157,7 @@ public class PartnerController {
@ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
})
public ResponseResult queryPartnerBaseInfo(@RequestParam(value = "lineId",required = false)Long lineId){
- PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser();
- return ResponseResult.success(hyPartnerBaseInfoService.queryPartnerBaseInfo(userInfoVO.getPartnerId(), lineId));
+ return ResponseResult.success(hyPartnerBaseInfoService.getByPartnerLineId(lineId));
}