diff --git a/coolstore-partner-common/coolstore-partner-common.iml b/coolstore-partner-common/coolstore-partner-common.iml
index c7be161ce..39193cf02 100644
--- a/coolstore-partner-common/coolstore-partner-common.iml
+++ b/coolstore-partner-common/coolstore-partner-common.iml
@@ -87,8 +87,6 @@
-
-
@@ -109,5 +107,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/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/AppTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/AppTypeEnum.java
deleted file mode 100644
index 7da0779c0..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/AppTypeEnum.java
+++ /dev/null
@@ -1,213 +0,0 @@
-package com.cool.store.enums;
-
-import org.apache.commons.lang3.StringUtils;
-
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-/**
- * 应用类型
- */
-public enum AppTypeEnum {
- // 数智门店-钉钉
- DING_DING("dingding","数智门店-钉钉"),
-
- //酷店掌-钉钉
- DING_DING2("dingding2","酷店掌-钉钉"),
-
- // 企业微信-数智门店
- WX_APP("qw","数智门店-企业微信"),
-
- // 企业微信-酷店掌
- WX_APP2("qw2","酷店掌-企业微信"),
-
- //用户自己添加 独立app
- APP("app","数智门店-客户端"),
-
- /**
- * 酷店掌-自建企业微信
- */
- WX_SELF_APP("qw_self", "酷店掌-自建企业微信"),
-
- /**
- * 酷店掌-自建企业微信代开发
- */
- WX_SELF_DKF("qw_self_dkf", "酷店掌--自建企业微信代开发"),
-
- /**
- * 酷店掌-企业微信私服
- */
- WX_PRIVATE_APP("qw_private", "酷店掌-企业微信私服"),
-
- WX_PRIVATE_ZHOU("qw_private_zdf","酷店掌-企业微信私服-周大福"),
-
- /**
- * 门店通应用
- */
- ONE_PARTY_APP("one_party", "门店通-钉钉"),
-
- /**
- * 飞书
- */
- FEI_SHU("fei_shu", "飞书")
-
- ;
- private String value;
-
- private String message;
-
- private static final Map map = Arrays.stream(values()).collect(Collectors.toMap(AppTypeEnum::getValue, Function.identity()));
-
- AppTypeEnum(String value, String message) {
- this.value = value;
- this.message = message;
- }
-
- public String getValue() {
- return value;
- }
-
- public String getMessage() {
- return message;
- }
-
- public static String getMessage(String value){
- if(StringUtils.isBlank(value)){
- return "";
- }
- for (AppTypeEnum appTypeEnum : AppTypeEnum.values()) {
- if(appTypeEnum.value.equals(value)){
- return appTypeEnum.message;
- }
- }
- return "";
- }
-
- public static AppTypeEnum getAppType(String appType){
- for (AppTypeEnum appTypeEnum : AppTypeEnum.values()) {
- if(appTypeEnum.value.equals(appType)){
- return appTypeEnum;
- }
- }
- if(appType.startsWith(WX_SELF_APP.getValue())) {
- return WX_SELF_APP;
- }
- if(appType.startsWith(WX_PRIVATE_APP.getValue())) {
- return WX_PRIVATE_APP;
- }
- return null;
- }
-
- /**
- * 判断是否是钉钉平台
- * @param value
- * @author: xugangkun
- * @return java.lang.Boolean
- * @date: 2021/10/26 15:03
- */
- public static Boolean isDingType(String value) {
- if (DING_DING.getValue().equals(value) || DING_DING2.getValue().equals(value) || ONE_PARTY_APP.getValue().equals(value)) {
- return true;
- }
- return false;
- }
-
- /**
- * 判断是否是企业微信平台
- * @param value
- * @author: xugangkun
- * @return java.lang.Boolean
- * @date: 2021/10/26 15:03
- */
- public static Boolean isQwType(String value) {
- if (WX_APP.getValue().equals(value) || WX_APP2.getValue().equals(value)) {
- return true;
- }
- return false;
- }
-
- /**
- * 判断是否是飞书
- * @param value
- * @author: xugangkun
- * @return java.lang.Boolean
- * @date: 2021/10/26 15:03
- */
- public static Boolean isFsType(String value) {
- if (FEI_SHU.getValue().equals(value)) {
- return true;
- }
- return false;
- }
-
- /**
- * 判断是否是酷店掌
- * @param value
- * @author: xugangkun
- * @return java.lang.Boolean
- * @date: 2021/10/26 15:03
- */
- public static Boolean isCoolStore(String value) {
- if (WX_APP2.getValue().equals(value) || DING_DING2.getValue().equals(value)) {
- return true;
- }
- return false;
- }
-
- /**
- * 判断是否是数智门店
- * @param value
- * @author: xugangkun
- * @return java.lang.Boolean
- * @date: 2021/10/26 15:03
- */
- public static Boolean isCoolCollege(String value) {
- if (WX_APP.getValue().equals(value) || DING_DING.getValue().equals(value)) {
- return true;
- }
- return false;
- }
-
- /**
- * 是否是企微自建应用或者企微私服
- * @param appType
- * @return
- */
- public static boolean isWxSelfAndPrivateType(String appType) {
- if(StringUtils.isBlank(appType)){
- return false;
- }
- return appType.startsWith(AppTypeEnum.WX_SELF_APP.getValue())
- || appType.startsWith(AppTypeEnum.WX_PRIVATE_APP.getValue());
- }
-
- public static boolean qwIsGetUserName(String appType){
- if(StringUtils.isBlank(appType) || isDingType(appType)){
- return false;
- }
- return appType.startsWith(AppTypeEnum.WX_SELF_APP.getValue()) || appType.startsWith(AppTypeEnum.WX_PRIVATE_APP.getValue())
- || appType.startsWith(AppTypeEnum.WX_SELF_DKF.getValue()) || appType.startsWith(AppTypeEnum.WX_PRIVATE_ZHOU.getValue());
- }
-
- public static String getCode(String value){
- if(StringUtils.isBlank(value)){
- return "";
- }
- for (AppTypeEnum appTypeEnum : AppTypeEnum.values()) {
- if(appTypeEnum.message.equals(value)){
- return appTypeEnum.value;
- }
- }
- return "";
- }
-
- public static AppTypeEnum parseValue(String value) {
- return map.get(value);
- }
-
-
-
-
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/AuthRoleEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/AuthRoleEnum.java
deleted file mode 100644
index f2507fce6..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/AuthRoleEnum.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.cool.store.enums;
-
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-/**
- * describe:
- *
- * @author zhouyiping
- * @date 2020/10/13
- */
-public enum AuthRoleEnum {
- /**
- * 全企业数据
- */
- ALL("all", "全企业数据"),
-
- /**
- * 所在组织架构包含下级
- */
- INCLUDE_SUBORDINATE("include_subordinate","所在组织架构包含下级"),
-
-
-// /**
-// * 所在的组织架构不包含下级
-// */
- NOT_INCLUDE_SUBORDINATE("not_include_subordinate","所在的组织架构不包含下级"),
-
- /**
- * 仅自己的数据
- */
- PERSONAL("personal","仅自己的数据");
-
- private String code;
- private String msg;
-
- protected static final Map map = Arrays.stream(values()).collect(
- Collectors.toMap(AuthRoleEnum::getCode, Function.identity()));
-
- AuthRoleEnum(String code, String msg){
- this.code=code;
- this.msg=msg;
- }
-
- public String getCode() {
- return code;
- }
-
- public String getMsg() {
- return msg;
- }
- public static AuthRoleEnum getByCode(String code) {
- return map.get(code);
- }
-
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/EnterpriseStatusEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/EnterpriseStatusEnum.java
deleted file mode 100644
index f94b7cd1f..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/EnterpriseStatusEnum.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.cool.store.enums;
-
-import java.util.Objects;
-
-/**
- * @author zhangchenbiao
- * @FileName: EnterpriseStatusEnum
- * @Description:
- * @date 2021-09-17 15:53
- */
-public enum EnterpriseStatusEnum {
-
- /**
- * 状态-1 已删除 0初始 1正常 100冻结 88创建失败
- */
-
- DELETED(-1,"已删除"),
- INIT(0,"初始"),
- NORMAL(1,"正常"),
- FREEZE(100,"冻结"),
- CREATE_FAIL(88,"创建失败"),
- ;
-
-
- private int code;
- private String message;
-
- EnterpriseStatusEnum(int code, String message) {
- this.code = code;
- this.message = message;
- }
-
- public int getCode() {
- return code;
- }
-
- public String getMessage() {
- return message;
- }
-
- public static String getMessage(Integer code){
- if(Objects.isNull(code)){
- return "";
- }
- for (EnterpriseStatusEnum value : EnterpriseStatusEnum.values()) {
- if(code.equals(value.code)){
- return value.message;
- }
- }
- return "";
- }
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/RegionTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/RegionTypeEnum.java
deleted file mode 100644
index b4b3b1c0b..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/RegionTypeEnum.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.cool.store.enums;
-
-/**
- * @author Aaron
- * @Description 业务统一返回码
- * @date 2019/12/20
- */
-public enum RegionTypeEnum {
- /**
- *
- */
- ROOT("root", "根节点"),
-
-
- PATH("path", "区域"),
-
-
- STORE("store", "门店");
-
-
- private String type;
-
-
- private String desc;
-
- RegionTypeEnum(String type, String desc) {
- this.type = type;
- this.desc = desc;
- }
-
- public String getType() {
- return type;
- }
-
- public String getDesc() {
- return desc;
- }
-
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/RoleEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/RoleEnum.java
deleted file mode 100644
index 3301410c2..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/RoleEnum.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package com.cool.store.enums;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.management.relation.Role;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-public enum RoleEnum {
-
- /**
- * 管理员
- */
- MASTER("20000000", "管理员", 1,"master"),
- /**
- * 子管理员
- */
- SUB_MASTER("80000000", "子管理员", 2,"sub_master"),
- /**
- * 普通员工
- */
- EMPLOYEE("30000000", "未分配", 99999999,"employee"),
- /**
- * 部门负责人
- */
- DEPT_LEADER("40000000", "部门负责人", 10,"dept_leader"),
- /**
- * 店长
- */
- SHOPOWNER("50000000", "店长", 3,"shopowner"),
- /**
- * 运营
- */
- OPERATOR("60000000", "运营", 4,"operator"),
- /**
- * 店员
- */
- CLERK("70000000", "店员", 5,"clerk");
-
-
- private static final Map MAP = Arrays.stream(values()).collect(
- Collectors.toMap(RoleEnum::getRoleEnum, Function.identity()));
-
- private static final Map ROLE_ID_MAP = Arrays.stream(values()).collect(
- Collectors.toMap(RoleEnum::getId, Function.identity()));
-
- private String id;
- private String name;
- @Getter
- @Setter
- private Integer priority;
-
- private String roleEnum;
-
-
- RoleEnum(String id, String name, Integer priority, String roleEnum) {
- this.id = id;
- this.name = name;
- this.priority = priority;
- this.roleEnum=roleEnum;
- }
-
- public String getId() {
- return id;
- }
-
- public String getName() {
- return name;
- }
-
- public String getRoleEnum() {
- return roleEnum;
- }
-
- public static RoleEnum getByCode(String code) {
- return MAP.get(code);
- }
-
- /**
- * 是否是管理员 及 子管理员
- * @param code
- * @return
- */
- public static boolean isAdmin(String code){
- if(MASTER.getRoleEnum().equals(code) || SUB_MASTER.getRoleEnum().equals(code)){
- return true;
- }
- return false;
- }
-
- /**
- * 根据id 判断 是否是管理员 及 子管理员
- * @param id
- * @return
- */
- public static boolean isAdminById(String id){
- if(MASTER.getId().equals(id) || SUB_MASTER.getId().equals(id)){
- return true;
- }
- return false;
- }
-
- /**
- * 是否包含角色id
- * @param roleId
- * @return
- */
- public static boolean isContainsRoleId(String roleId){
- return ROLE_ID_MAP.containsKey(roleId);
- }
-
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/StoreIsDeleteEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/StoreIsDeleteEnum.java
deleted file mode 100644
index 28d189e8c..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/StoreIsDeleteEnum.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.cool.store.enums;
-
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-/**
- * 门店删除状态枚举
- */
-public enum StoreIsDeleteEnum {
- EFFECTIVE("effective"),//有效
-
- INVALID("invalid"),//无效
-
- IGNORED("ignored"), //忽略
-
- UN_SYNC("unSync"); // 未同步
-
- private final String value;
-
- private static final Map map = Arrays.stream(values()).collect(Collectors.toMap(StoreIsDeleteEnum::getValue, Function.identity()));
-
- StoreIsDeleteEnum(String value) {
- this.value = value;
- }
-
- public String getValue() {
- return value;
- }
-
- public static StoreIsDeleteEnum parse(int value) {
- return map.get(value);
- }
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/SubordinateSourceEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/SubordinateSourceEnum.java
deleted file mode 100644
index 201e55727..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/SubordinateSourceEnum.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.cool.store.enums;
-
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-/**
- * @author wxp
- * @FileName: SubordinateSourceEnum
- * @Description: auto自动关联 select手动选择
- * @date 2022-12-30 17:12
- */
-public enum SubordinateSourceEnum {
-
- AUTO("auto", "关联区域门店权限"),
- SELECT("select", "手动选择");
-
- private String code;
-
- private String msg;
-
- protected static final Map map = Arrays.stream(values()).collect(
- Collectors.toMap(SubordinateSourceEnum::getCode, Function.identity()));
-
- SubordinateSourceEnum(String code, String msg) {
- this.code = code;
- this.msg = msg;
- }
-
- public String getCode() {
- return code;
- }
-
- public String getMsg() {
- return msg;
- }
-
- public static SubordinateSourceEnum getByCode(String code) {
- return map.get(code);
- }
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserAuthMappingTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserAuthMappingTypeEnum.java
deleted file mode 100644
index 7623ef611..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserAuthMappingTypeEnum.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.cool.store.enums;
-
-
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-/**
- * @author zyp
- */
-public enum UserAuthMappingTypeEnum {
- /**
- * 区域
- */
- REGION("region","区域"),
- /**
- * 门店
- */
- STORE("store","门店");
-
- private String code;
- private String desc;
- public static final Map map = Arrays.stream(values()).collect(
- Collectors.toMap(UserAuthMappingTypeEnum::getCode, Function.identity()));
-
- UserAuthMappingTypeEnum(String code, String desc) {
- this.code = code;
- this.desc = desc;
- }
-
- public String getCode() {
- return code;
- }
-
- public String getDesc() {
- return desc;
- }
-
- public static UserAuthMappingTypeEnum getByCode(String code) {
- return map.get(code);
- }
-
-}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserPositionEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserPositionEnum.java
new file mode 100644
index 000000000..b119a5300
--- /dev/null
+++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserPositionEnum.java
@@ -0,0 +1,33 @@
+package com.cool.store.enums;
+
+/**
+ * @author zhangchenbiao
+ * @FileName: UserPositionEnum
+ * @Description:用户身份
+ * @date 2023-06-19 16:37
+ */
+public enum UserPositionEnum {
+
+ INVESTMENT_MANAGER("investment_manager", "招商经理"),
+ INVESTMENT_LEADER("investment_leader", "招商负责人"),
+ DEVELOPMENT_DIRECTOR("development_director", "开发主管"),
+ DEVELOPMENT_MANAGER("development_manager", "开发经理"),
+ ;
+
+ private String code;
+
+ private String message;
+
+ UserPositionEnum(String code, String message) {
+ this.code = code;
+ this.message = message;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserSelectRangeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/UserSelectRangeEnum.java
deleted file mode 100644
index 66b24ac64..000000000
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/UserSelectRangeEnum.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.cool.store.enums;
-
-import java.util.Arrays;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-/**
- * @author wxp
- * @FileName: UserSelectRangeEnum
- * @Description: 用户选取范围 共同编辑人范围:self-仅自己,all-全部人员,define-自定义
- * @date 2022-12-30 17:12
- */
-public enum UserSelectRangeEnum {
-
- SELF("self", "仅自己"),
- ALL("all", "全部人员"),
- DEFINE("define", "自定义");
-
- private String code;
-
- private String msg;
-
- protected static final Map map = Arrays.stream(values()).collect(
- Collectors.toMap(UserSelectRangeEnum::getCode, Function.identity()));
-
- UserSelectRangeEnum(String code, String msg) {
- this.code = code;
- this.msg = msg;
- }
-
- public String getCode() {
- return code;
- }
-
- public String getMsg() {
- return msg;
- }
-
- public static UserSelectRangeEnum getByCode(String code) {
- return map.get(code);
- }
-}
diff --git a/coolstore-partner-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
index 048685afd..40cb9800b 100644
--- a/coolstore-partner-dao/coolstore-partner-dao.iml
+++ b/coolstore-partner-dao/coolstore-partner-dao.iml
@@ -110,8 +110,6 @@
-
-
@@ -131,6 +129,11 @@
+
+
+
+
+
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java
index 35df62fe0..c2b568388 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java
@@ -64,4 +64,23 @@ public class EnterpriseUserDAO {
public List searchUserByRegionIdsAndKeyword(List regionIds, String keyword, boolean isLeader){
return enterpriseUserMapper.searchUserByRegionIdsAndKeyword(regionIds, keyword, isLeader);
}
+
+ public boolean isExistDeptUser(String regionId){
+ if(StringUtils.isBlank(regionId)){
+ return false;
+ }
+ return enterpriseUserMapper.getUserCountByRegionId(regionId) > CommonConstants.ZERO;
+ }
+
+ /**
+ * 获取部门负责人
+ * @param regionId
+ * @return
+ */
+ public List getUserListByDeptLeader(String regionId){
+ if(StringUtils.isBlank(regionId)){
+ return Lists.newArrayList();
+ }
+ return enterpriseUserMapper.getUserListByDeptLeader(regionId);
+ }
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java
index f37b1d57a..674ef6629 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java
@@ -5,6 +5,8 @@ import com.cool.store.entity.HyOpenAreaInfoDO;
import com.cool.store.mapper.HyIntendDevZoneInfoMapper;
import com.cool.store.mapper.HyOpenAreaInfoMapper;
import com.github.pagehelper.PageInfo;
+import com.google.common.collect.Lists;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -48,4 +50,16 @@ public class HyIntendDevZoneInfoDAO {
return hyIntendDevZoneInfoMapper.getHyIntendDevZoneInfoList(type);
}
+ /**
+ * 根据组织架构获取配置信息
+ * @param regionIds
+ * @return
+ */
+ public List getZoneInfoByRegionIds(List regionIds){
+ if(CollectionUtils.isEmpty(regionIds)){
+ return Lists.newArrayList();
+ }
+ return hyIntendDevZoneInfoMapper.getZoneInfoByRegionIds(regionIds);
+ }
+
}
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDAO.java
index 4e0b2b782..60f3eaa21 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDAO.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/RegionDAO.java
@@ -96,4 +96,16 @@ public class RegionDAO {
return regionMapper.deleteRegionByRegionId(regionId);
}
+ /**
+ * 获取所有的子节点
+ * @param leadDeptIds
+ */
+ public List getSubRegionIds(List leadDeptIds) {
+ if(CollectionUtils.isEmpty(leadDeptIds)){
+ return Lists.newArrayList();
+ }
+ List regionList = getRegionByRegionIds(leadDeptIds);
+ List regionPathList = regionList.stream().map(RegionDO::getRegionPath).collect(Collectors.toList());
+ return regionMapper.getSubRegionIds(regionPathList);
+ }
}
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java
index 953411d2b..fc8cd9f6f 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java
@@ -84,4 +84,16 @@ public class UserRegionMappingDAO {
return userRegionMappingMapper.getRegionIdsByUserId(userId);
}
+ /**
+ * 获取用户列表
+ * @param regionIds
+ * @return
+ */
+ public List getUserListByRegionIds(List regionIds){
+ if(CollectionUtils.isEmpty(regionIds)){
+ return Lists.newArrayList();
+ }
+ return userRegionMappingMapper.getUserListByRegionIds(regionIds);
+ }
+
}
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java
index bb043adb0..81a4bd25b 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java
@@ -61,4 +61,20 @@ public interface EnterpriseUserMapper {
* @return
*/
List searchUserByRegionIdsAndKeyword(@Param("regionIds") List regionIds, @Param("keyword") String keyword, @Param("isLeader") boolean isLeader);
+
+ /**
+ * 获取部门用户数
+ * @param regionId
+ * @return
+ */
+ Integer getUserCountByRegionId(@Param("regionId") String regionId);
+
+
+ /**
+ * 获取部门负责人用户列表
+ * @param regionId
+ * @return
+ */
+ List getUserListByDeptLeader(String regionId);
+
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevZoneInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevZoneInfoMapper.java
index 9358f6e1c..c8d688481 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevZoneInfoMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevZoneInfoMapper.java
@@ -39,4 +39,11 @@ public interface HyIntendDevZoneInfoMapper {
* @return
*/
List getHyIntendDevZoneInfoList(String type);
+
+ /**
+ * 根据组织架构获取配置信息
+ * @param regionIds
+ * @return
+ */
+ List getZoneInfoByRegionIds(@Param("regionIds") List regionIds);
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/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 5b60798b3..3738bedd1 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/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/HyPartnerBaseInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml
index 2fd127a2c..d32350220 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml
@@ -213,8 +213,8 @@
mobile = #{mobile},
- where partner_id = #{partnerId}
+ where partner_id = #{partnerId}