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 535d2f7ea..f40c374b3 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-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/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 @@ + + @@ -224,6 +224,13 @@ where partner_id = #{partnerId} and partner_line_id = #{partnerLineId} + + diff --git a/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml index c6f5aeb70..384477ea1 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml @@ -204,4 +204,8 @@ update region set deleted = 1 where region_id = #{regionId} + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml index 4560fc962..73df66fb5 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml @@ -131,4 +131,8 @@ select region_id from user_region_mapping where user_id = #{userId} + + \ No newline at end of file diff --git a/coolstore-partner-model/coolstore-partner-model.iml b/coolstore-partner-model/coolstore-partner-model.iml 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/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/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/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/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/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/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/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/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)); }