Merge branch 'cc_partner_init' into 'master'

Cc partner init

See merge request hangzhou/java/custom_xfsg!1
This commit is contained in:
zhangchenbiao
2024-05-29 09:35:30 +00:00
895 changed files with 75681 additions and 1 deletions

27
.gitignore vendored Normal file
View File

@@ -0,0 +1,27 @@
# Created by .ignore support plugin (hsz.mobi)
### Java template
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.war
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.idea
*.iml
target
/.idea/

26
.m2/settings.xml Normal file
View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>nexus</id>
<username>developer</username>
<password>123456</password>
</server>
</servers>
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>nexus</id>
<name>collcollege</name>
<url>http://nexus.coolcollege.cn/repository/maven-public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>

View File

@@ -1,2 +1,2 @@
# custom_xfsg
# coolstore-partner-manage

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>coolstore-partner-manage</artifactId>
<groupId>com.coolstore</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>coolstore-partner-common</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>com.aliyun.openservices</groupId>
<artifactId>ons-client</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>ons20190214</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>tea-openapi</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- TRTC 生成 userSig 依赖 -->
<dependency>
<groupId>com.github.tencentyun</groupId>
<artifactId>tls-sig-api-v2</artifactId>
<version>2.0</version>
</dependency>
<!-- OpenPDF -->
<dependency>
<groupId>com.github.librepdf</groupId>
<artifactId>openpdf</artifactId>
<version>1.3.30</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.icepdf.os/icepdf-core -->
<dependency>
<groupId>org.icepdf.os</groupId>
<artifactId>icepdf-core</artifactId>
<version>6.2.2</version>
<exclusions>
<exclusion>
<groupId>javax.media</groupId>
<artifactId>jai_core</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,169 @@
package com.cool.store.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.math.BigDecimal;
/**
* 自定义导出Excel数据注解
*
* @author ruoyi
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Excel
{
/**
* 导出时在excel中排序
*/
int sort() default Integer.MAX_VALUE;
/**
* 导出到Excel中的名字.
*/
String name() default "";
/**
* 日期格式, 如: yyyy-MM-dd
*/
String dateFormat() default "";
/**
* 读取内容转表达式 (如: 0=男,1=女,2=未知)
*/
String readConverterExp() default "";
/**
* 分隔符,读取字符串组内容
*/
String separator() default ",";
/**
* BigDecimal 精度 默认:-1(默认不开启BigDecimal格式化)
*/
int scale() default -1;
/**
* BigDecimal 舍入规则 默认:BigDecimal.ROUND_HALF_EVEN
*/
int roundingMode() default BigDecimal.ROUND_HALF_EVEN;
/**
* 导出类型0数字 1字符串
*/
ColumnType cellType() default ColumnType.STRING;
/**
* 导出时在excel中每个列的高度 单位为字符
*/
double height() default 14;
/**
* 导出时在excel中每个列的宽 单位为字符
*/
double width() default 16;
/**
* 文字后缀,如% 90 变成90%
*/
String suffix() default "";
/**
* 当值为空时,字段的默认值
*/
String defaultValue() default "";
/**
* 提示信息
*/
String prompt() default "";
/**
* 设置只能选择不能输入的列内容.
*/
String[] combo() default {};
/**
* 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写.
*/
boolean isExport() default true;
/**
* 另一个类中的属性名称,支持多级获取,以小数点隔开
*/
String targetAttr() default "";
/**
* 是否自动统计数据,在最后追加一行统计数据总和
*/
boolean isStatistics() default false;
/**
* 列颜色(列头与列内容) IndexedColors.SKY_BLUE.getIndex()
*/
short columnsColor() default 0;
/**
* 须比较列 注解所在列顺序与比较列属性的值进行比较
*/
String compareColName() default "";
/**
* 导出错误信息
*/
String compareExportInfo() default "";
/**
* 字段类型0导出导入1仅导出2仅导入
*/
Type type() default Type.ALL;
enum Type
{
/**
* 导出导入
*/
ALL(0),
/**
* 仅导出
*/
EXPORT(1),
/**
* 仅导入
*/
IMPORT(2);
private final int value;
Type(int value)
{
this.value = value;
}
public int value()
{
return this.value;
}
}
enum ColumnType
{
/**
* 数字
*/
NUMERIC(0),
/**
* 字符串
*/
STRING(1);
private final int value;
ColumnType(int value)
{
this.value = value;
}
public int value()
{
return this.value;
}
}
}

View File

@@ -0,0 +1,18 @@
package com.cool.store.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Excel注解集
*
* @author ruoyi
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Excels
{
Excel[] value();
}

View File

@@ -0,0 +1,14 @@
package com.cool.store.common;
import lombok.Data;
@Data
public class PageBasicInfo {
//页码
private Integer pageNum;
//分页大小
private Integer pageSize;
}

View File

@@ -0,0 +1,189 @@
package com.cool.store.constants;
/**
* @author zhangchenbiao
* @FileName: CommonConstatns
* @Description:
* @date 2023-05-18 14:47
*/
public class CommonConstants {
public static final String REQUEST_ID = "requestId";
public static final String MESSAGE_ID = "messageId";
public static final String ACCESS_TOKEN_KEY = "access_token:{0}";
public static final String REFRESH_TOKEN_KEY = "refresh_token";
public static final String DEFAULT_AVATAR = "DefaultAvatar";
public static final int ACCESS_TOKEN_EXPIRE = 14400;
public static final int THREE_DAY_SECONDS = 60 * 60 * 24 * 3;
public static final int NORMAL_LOCK_TIMES = 60 * 1000;
public static final int AN_HOUR_SECONDS = 3600;
/**
* 跟进任务通知缓存时间 1小时
*/
public static final int FOLLOW_TASK_NOTICE_LOCK_TIMES = 60 * 60 * 1000;
public static final int ONE_DAY_SECONDS = 24 * 60 * 60;
/**
* 系统用户id
*/
public static final String SYSTEM_USER_ID = "system";
public static final String COMMA = ",";
public static final String MOSAICS = "#";
public static final String WX_APP_SECRET_KEY = "wx_app_secret_key:{0}";
public static final String MINI_PROGRAM_SESSION_KEY = "mini_program_session_key:{0}:{1}";
public static final String ROOT_DEPT_ID_STR = "1";
public static final Integer DEAL_RECORD_MAX_SIZE = 1000;
/**
* 未分组区域id
*/
public static final Long UNGROUPED_DEPT_ID = -2L;
/**
* 未分组区域名称
*/
public static final String UNGROUPED_DEPT_NAME = "默认分组";
/**
* 拼接符 [
*/
public static final String SQUAREBRACKETSLEFT = "[";
/**
* 拼接符 ]
*/
public static final String SQUAREBRACKETSRIGHT = "]";
public static final String PATH_SPILT = "/";
public static final String PATH_BAR = "-";
public static final String COLON = ":";
public static final String ROOT_REGION_PATH = "/1/";
/**
* rocketmq 消息最大重试次数
*/
public static final String MaxReconsumeTimes = "2";
public static final String ZERO_STR = "0";
public static final String DELETE_DEPT_ID = "-1";
public static final String AI_USER_ID = "a100000001";
public static final long ZERO_LONG = 0L;
public static final int MINUS_ONE = -1;
public static final int ZERO = 0;
public static final int ONE = 1;
public static final int TWO = 2;
public static final int THREE = 3;
public static final int FOUR = 4;
public static final int FIVE = 5;
public static final int SIX = 6;
public static final int SEVEN = 7;
public static final int EIGHT = 8;
public static final int NINE = 9;
public static final int TEN = 10;
public static final int TWENTY = 20;
public static final int THIRTY = 30;
public static final int FORTY = 40;
public static final int FIFTY = 50;
public static final int SIXTY = 60;
public static final int SEVENTY = 70;
public static final int EIGHTY = 80;
public static final int NINETY = 90;
public static final int HUNDRED = 100;
public static final int FIVE_HUNDRED = 100;
public static final int ONE_THOUSAND = 1000;
public static final int FIFTY_FIVE = 55;
public static final int SIXTY_FIVE = 65;
public static final int MIN_CODE = 10000000;
public static final int MAX_CODE = 89999999;
public static final String ONE_STR = "1";
public static final String TWO_STR = "2";
public static final String THREE_STR = "3";
public static final String FOUR_STR = "4";
public static final String FIVE_STR = "5";
public static final String SIX_STR = "6";
public static final String SEVEN_STR = "7";
public static final String EIGHT_STR = "8";
public static final String NINE_STR = "9";
public static final String TEN_STR = "10";
public static final String FOLLOW = "follow";
public static final String PENDING = "pending";
public static final String CLOSE = "close";
public static final String OPEN = "open";
public static final String ALLOCATION = "allocation";
public static final String TRANSFER = "transfer";
// 短信模版-意向申请审批通过
public static final String SMS_TEMPLATE_CODE_INTENT = "SMS_461990823";
// 短信模版-资质审核通过
public static final String SMS_TEMPLATE_CODE_VERIFY = "SMS_461980876";
public static final String DAY_END_TIME_SUFFIX = " 23:59:59";
public static final String DAY_START_TIME_SUFFIX = " 00:00:00";
public static final String FOLLOW_TASK_NOTICE_KEY = "follow_task_notice:{0}:{1}";
public static final Long LONG_ONE = 1L;
// 线索选择的意向区域没有绑定战区,线索分配给【拓展经理胡德龙】
public static final String DEAULT_INVESTMENT_JOBNUMBER_ONLINE = "17021329";
public static final String DEAULT_INVESTMENT_JOBNUMBER_TEST = "23483622251259165";
public static final String DEAULT_SELECT_SITE_MANAGER_ONLINE = "09080211";
public static final String DEAULT_SELECT_SITE_MANAGER_TEST = "23483622251259165";
// 【铺位1】所属战区没有战区经理、营运经理和大区经理开店负责人展示【王磊】
public static final String DEAULT_SHOP_MANAGER_USER_ID_ONLINE = "19060164";
public static final String DEAULT_SHOP_MANAGER_USER_ID_TEST = "23483622251259165";
public static final int MAX_LENGTH_ONE_HUNDRED = 100;
public static final String YUN_XUE_TANG_SUC_CODE = "10000";
//鲜丰
//设计阶段+施工阶段
public static final String CONSTRUCTION_PHASE = "施工阶段";
public static final String MEASURING_THE_ROOM = "量房";
public static final String CONSTRUCTION_DRAWING = "施工图+预算";
public static final String FLOOR_PLAN = "平面图+门头效果图";
public static final String BUDGET_BOOK = "工程预算";
public static final String APPROACH="进场";
public static final String ONE_DAY="第一天-进场拆除、基础材料下单、物料设备下单";
public static final String TWO_DAY="第二天-水电预埋、地砖铺贴";
public static final String THREE_DAY="第三天-橱窗隔断、木工包柱、电工布线";
public static final String FOUR_DAY="第四天-护墙板安装、空调安装";
public static final String FIVE_DAY="第五天-吊顶隔断、木工铝塑板";
public static final String SIX_DAY="第六天-灯具安装、室内广告安装、冷柜安装、道具卸货";
public static final String SEVEN_DAY="第七天-道具安装、室外招牌安装";
public static final String EIGHT_DAY="第八天-卫生保洁、网络及收银设备安装、撤场交接";
public static final String WITHDRAWAL="撤场";
public static final String TRANSCODE_VIDEO = "mp4";
public static final String PRODUCT_REMIND = "product_remind";
/**
* 返回成功描述
*/
public static final String SUCCESS_STR = "success";
public static final String HD_ENV = "hd";
public static final String ONLINE_ENV = "online";
}

View File

@@ -0,0 +1,34 @@
package com.cool.store.constants;
/**
* hxd
*/
public class ExcelErrorConstants {
public static final String NAME_LOSE = "姓名缺失";
public static final String NAME_OVER_LENGTH = "姓名过长";
public static final String MOBILE_LOSE= "手机号缺失";
public static final String MOBILE_ERROR= "手机号有误";
public static final String MOBILE_EXIST= "手机号已存在";
public static final String LIVE_AREA_LOSE = "常驻区域缺失";
public static final String LIVE_AREA_FORMAT_ERROR = "常驻区域格式错误";
public static final String WANT_SHOP_AREA_LOSE = "意向区域缺失";
public static final String WANT_SHOP_AREA_FORMAT_ERROR = "意向区域格式错误";
public static final String ACCEPT_ADJUST_TYPE_LOSE = "是否接受调剂缺失";
public static final String INVESTMENT_MANAGER_LOSE = "未找到此招商经理,请核实";
public static final String COUNT_MORE = "每次数据最多导入500条请分批上传";
public static final String MOBILE_REPEAT = "手机号重复";
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.constants;
/**
* @author zhangchenbiao
* @FileName: MessageConstants
* @Description:通知消息常量
* @date 2023-08-14 14:41
*/
public class MessageConstants {
public static final String FOLLOW_TASK_MESSAGE_TITLE = "线索跟进任务";
public static final String FOLLOW_TASK_MESSAGE_CONTENT = "您有一个线索跟进任务将于{0}截止 ,线索信息{1}手机号{2},请及时跟进";
public static final String FOLLOW_TASK_MESSAGE_CONTENT_1 = "您有{0}个线索跟进任务将于今日截止,及{1}个跟进任务已逾期,请及时跟进";
public static final String FOLLOW_TASK_MESSAGE_CONTENT_2 = "您有{0}个跟进任务已逾期,请及时跟进";
public static final String FOLLOW_TASK_MESSAGE_CONTENT_3 = "您有{0}个线索跟进任务将于今日截止,请及时跟进";
}

View File

@@ -0,0 +1,280 @@
package com.cool.store.constants;
/**
* redis key 类
* @author byd
* @date 2021-03-11 14:55
*/
public class RedisConstant {
public static final String TB_DISPLAY_HANDLE = "tb_display_handle_";
/**
* 新陈列审核
*/
public static final String TB_DISPLAY_APPROVE = "tb_display_approve_";
/**
* 新陈列复核
*/
public static final String TB_DISPLAY_RECHECK = "tb_display_recheck";
/**
* 新陈列三级审批
*/
public static final String TB_DISPLAY_THIRD_APPROVE = "tb_display_third_approve";
/**
* 新陈列四级审批
*/
public static final String TB_DISPLAY_FOUR_APPROVE = "tb_display_four_approve";
/**
* 新陈列五级审批
*/
public static final String TB_DISPLAY_FIVE_APPROVE = "tb_display_five_approve";
/**
* 区域/组织同步锁key 点击同步锁key
*/
public static final String REGION_SYNC_LOCK = "region_sync_lock_";
/**
* 问题工单key
*/
public static final String QUESTION_TASK_LOCK = "question_task_lock_";
/**
* 店务工单key
*/
public static final String STORE_WORK_QUESTION_TASK_LOCK = "store_work_question_task_lock_";
/**
* 企业同步key 有效拦截
*/
public static final String EID_SYNC_EFFECTIVE = "eid_sync_effective_";
/**
* 通知key做为拦截
*/
public static final String TASK_STAGE_NOTICE = "task_stage_notice_";
public static final String TASK_DEL_FLAG = "task_del_flag_";
/**
* 系统内区域key
*/
public static final String REGION_SYNC_ALL= "region_sync_all_";
/**
* 系统内区域key
*/
public static final String STORE_SYNC_ALL= "store_sync_all_";
/**
* 企业广告配置信息key前缀
*/
public static final String ADVERT_SETTING_PREFIX= "advert_setting_";
/**
* 企业广告配置信息value
*/
public static final String ADVERT_SETTING_VALUE= "1";
/**
* 企业广告配置信息value
*/
public static final String COOL_TOKEN_PREFIX= "cool_token_";
/**
* 用户企业token前缀
*/
public static final String ACCESS_TOKEN_PREFIX ="access_token:";
/**
* refresh token
*/
public static final String REFRESH_TOKEN_PREFIX ="refresh_token:";
/**
* 用户账号密码错误次数key
*/
public static final String ERROR_PASSWORD_COUNT_KEY = "errorPasswordCount_{0}_{1}";
/**
* 未完成转码
*/
public static final String VIDEO_NOT_COMPLETE_CACHE = "video_not_complete_cache";
/**
* 任务抓拍状态记录
*/
public static final String CAPTURE_PICTURE_STATUS_PREFIX ="capture_picture_status:";
/**
* 视频转码回调
*/
public static final String VIDEO_CALLBACK_CACHE = "video_callback_cache_";
/**
* 任务重新分配 防止重复提交
*/
public static final String TASK_STORE_REALLOCATE = "task_store_reallocate_";
/**
* 是否返回区域对应门店权限redis控制key
*/
public static final String SHOW_STORE_AUTH = "show_store_auth";
/**
* 是否返回区域对应门店权限redis控制key
*/
public static final String FIRST_LOGIN = "first_login_";
/**
* 区域全路径名称缓存
*/
public static final String REGION_ALL_NAME_CACHE = "region_all_name_cache_";
/**
* 获取菜单引导key
*/
public static final String GUIDE_INFO = "guide_info_";
/**
* 组织架构模块是否第一次登录
*/
public static final String OrgModuleFirstLogin = "OrgModuleFirstLogin:{0}:{1}";
/**
* 历史企业key
*/
public static final String HISTORY_ENTERPRISE = "historyEnterprise";
/**
* 留资企业key
*/
public static final String LEAVE_ENTERPRISE = "leaveEnterprise";
/**
* 留资开关
*/
public static final String LEAVE_OPEN = "leaveOpen";
/**
* 工单分享key
*/
public static final String QUESTION_SHARE_KEY = "question_share:{0}";
/**
* 企业配置信息
*/
public static final String ENTERPRISE_CONFIG_KEY = "enterpriseConfig:{0}";
public static final String ENTERPRISE_KEY = "enterpriseInfo:{0}";
public static final String ENTERPRISE_DB_SERVER = "enterpriseDBServer:{0}";
public static final String QUESTION_SETTING_CACHE_KEY = "questionSettingCacheKey:{0}";
public static final String ENTERPRISE_SETTING_CACHE_KEY = "enterpriseSettingCacheKey:{0}";
public static final String ENTERPRISE_STORE_SETTING_CACHE_KEY = "enterpriseStoreSettingCacheKey:{0}";
public static final String QUESTION_CACHE_KEY = "questionDataCache:{0}:{1}:{2}_{3}";
public static final String QUESTION_NOTICE_KEY = "questionNoticeCache:{0}:{1}:{2}:{3}_{4}_{5}_{6}";
public static final String STOREWORK_NOTICE_KEY = "storeWorkNoticeCache:{0}:{1}:{2}:{3}";
/**
* 冷静期内是否首次登录 冷静期首次登录 是-true 否-false
*/
public static final String COOLINGPERIOD_FIRSTLOGIN_KEY = "coolingPeriodFirstLoginCache:{0}";
/**
* 七天
*/
public static final int SEVEN_DAY = 7 * 24 * 60 * 60;
/**
* 1天
*/
public static final int ONE_DAY_SECONDS = 24 * 60 * 60;
/**
* 3天
*/
public static final int THREE_DAY = 3 * 24 * 60 * 60 * 1000;
public static final String UPCOMING_BACKLOG_ID = "upcoming_backlog:{0}:{1}:{2}";
public static final String ENTERPRISE_OPEN_STATUS_KEY = "enterprise_open_status:{0}_{1}";
public static final String PARTNER_BASEINFO_CACHE_KEY = "partnerBaseInfoCache:{0}:{1}";
public static final String PARTNER_CLERKINFO_CACHE_KEY = "partnerClerkInfoCache:{0}:{1}";
public static final String PARTNER_INTENTINFO_CACHE_KEY = "partnerIntentInfoCache:{0}:{1}";
public static final String PARTNER_WANTSHOPINFO_CACHE_KEY = "partnerWantShopInfoCache:{0}:{1}";
public static final String PARTNER_INDUSTRYCOGNITIONINFO_CACHE_KEY = "partnerIndustryCognitionInfoCache:{0}:{1}";
public static final String DEVICE_OPEN_TOKEN = "device_open_token:{0}:{1}:{2}";
public static final String PHONE_NUMBER= "phone_number_";
/**
* MDM 省市区数据缓存
*/
/**
* 省级数据缓存
*/
public static final String MDM_AREA_PROVINCE = "mdm:area:province";
/**
* 其他区域数据缓存
*/
public static final String MDM_AREA_OTHERS = "mdm:area:others:{0}";
/**
* MDM 所属大区缓存
*/
public static final String MDM_BELONG_REGION = "mdm:belongRegion";
/**
* MDM 业务区域缓存
*/
public static final String MDM_BUSINESS_REGION = "mdm:businessRegion";
/**
* 动态标题
*/
public static final String CONTENT_TITLES = "content:titles";
/**
* 用户预约面试锁
*/
public static final String PARTNER_APPOINTMENT_LOCK = "partner:appointment:lock:{0}";
/**
* 用户意向区域key
*/
public static final String USER_WANT_AREA_CACHE = "user_want_area_cache_";
/**
* 招商经理轮询key
*/
public static final String INVESTMENT_MANAGER_CACHE = "investment_manager_cache_";
/**
* 招商经理轮询key
*/
public static final String YUN_XUE_TANG_ACCESS_TOKEN = "yun_xue_tang_access_token_";
}

View File

@@ -0,0 +1,26 @@
package com.cool.store.enums;
public enum AIEnum {
AI_NAME("AI用户"),
AI_USERID("a100000001"),
AI_ID("a100000000"),
AI_DEPARTMENT("[1]"),
AI_ROLES("20000000"),
AI_UUID("a100000002"),
AI_MOBILE("AIAdminUser");
private void setCode(String code) {
this.code = code;
}
private String code;
AIEnum(String code){
this.code=code;
}
public String getCode() {
return code;
}
}

View File

@@ -0,0 +1,63 @@
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;
}
public String getMessage(String enums) {
return AcceptAdjustTypeEnum.valueOf(enums).getMessage();
}
public Integer getCode(String enums) {
return AcceptAdjustTypeEnum.valueOf(enums).getCode();
}
/**
* 根据name查找
* @param message 枚举message
* @return 枚举对象
*/
public static Integer findEnumByName(String message) {
for (AcceptAdjustTypeEnum statusEnum : AcceptAdjustTypeEnum.values()) {
if (statusEnum.getMessage().equals(message)) {
//如果需要直接返回code则更改返回类型为String,return statusEnum.code;
return statusEnum.getCode();
}
}
return null;
}
}

View File

@@ -0,0 +1,41 @@
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 ApiErrorCodeEnum {
LINE_INFO("lineInfoDO","线索信息缺失"),
FRANCHISE_FEE("franchiseFeeDO","缴费信息缺失"),
SIGNING_BASE_INFO("signingBaseInfoDO","签约信息缺失"),
LINE_PAY("linePayDO","缴款信息缺失"),
POINT_INFO("pointInfoDO","铺位信息缺失"),
SYSTEM_BUILDING_SHOP("systemBuildingShopDO","建店数据缺失"),
LICENSE_TRANSACT("licenseTransactDO","证照办理数据缺失"),
THIRD_DEPARTMENT("thirdDepartmentDO","三方部门表缺失"),
;
private String errorMessage;
private String code;
ApiErrorCodeEnum(String code, String errorMessage) {
this.code = code;
this.errorMessage = errorMessage;
}
public String getErrorMessage() {
return errorMessage;
}
public String getCode() {
return code;
}
protected static final Map<String, ApiErrorCodeEnum> map = Arrays.stream(values()).collect(
Collectors.toMap(ApiErrorCodeEnum::getCode, Function.identity(), (a, b)->a));
public static ApiErrorCodeEnum getByCode(String code) {
return map.get(code);
}
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: AppointmentStatusEnum
* @Description:预约状态
* @date 2024-03-15 16:15
*/
public enum AppointmentStatusEnum {
//状态 0:不可预约 1:已被预约 2:可预约
NOT_APPOINTMENT(0, "不可预约"),
APPOINTMENT(1, "已被预约"),
CAN_APPOINTMENT(2, "可预约"),
;
private Integer code;
private String message;
AppointmentStatusEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@@ -0,0 +1,35 @@
package com.cool.store.enums;
/**
* @Author suzhuhong
* @Date 2023/6/19 19:44
* @Version 1.0
*/
public enum AreaStatusEnum {
OPEN("open","开放"),
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;
}
}

View File

@@ -0,0 +1,40 @@
package com.cool.store.enums;
/**
* @author byd
* @date 2024-04-30 15:54
*/
public enum AssessmentTemplateType {
TRAINER(0, "教练员"),
STORE_MANAGER(1, "店长"),
CLERK(2, "店员"),
TRIPARTITE_ACCEPTANCE(3, "三方验收"),
;
private Integer code;
private String name;
private AssessmentTemplateType(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName() {
return name;
}
public static AssessmentTemplateType getByCode(Integer code) {
for (AssessmentTemplateType auditStatusEnum : AssessmentTemplateType.values()) {
if (auditStatusEnum.getCode().equals(code)) {
return auditStatusEnum;
}
}
return null;
}
}

View File

@@ -0,0 +1,44 @@
package com.cool.store.enums;
public enum AuditEnum {
CONTRACT_INTENTION("intention", "意向加盟合同API","intentAgreementServiceImpl"),
SYS_BUILD("sysBuild", "系统建店API","sysStoreAppServiceImpl"),
SIGN_FRANCHISE("signFranchise", "加盟合同签约","signFranchiseServiceImpl"),
;
private String code;
private String message;
private String clazz;
AuditEnum(String code, String message, String clazz) {
this.code = code;
this.message = message;
this.clazz = clazz;
}
public String getCode() {
return code;
}
public String getMessage() {
return message;
}
public String getClazz() {
return clazz;
}
public static AuditEnum getWorkflowSubStageEnum(String flag) {
for (AuditEnum auditEnum : AuditEnum.values()) {
if (auditEnum.getCode().equals(flag)) {
return auditEnum;
}
}
return null;
}
}

View File

@@ -0,0 +1,31 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: AuditResultTypeEnum
* @Description:
* @date 2024-03-20 14:55
*/
public enum AuditResultTypeEnum {
PASS(0, "通过"),
REJECT(1, "拒绝"),
CLOSE(2, "结束跟进");
private Integer code;
private String name;
private AuditResultTypeEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName() {
return name;
}
}

View File

@@ -0,0 +1,39 @@
package com.cool.store.enums;
public enum AuditStageEnum {
ONE(1, "一审稽核"),
TWO(2, "二审稽核"),
;
private Integer code;
private String name;
AuditStageEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName() {
return name;
}
public static AuditStageEnum getByCode(Integer code) {
for (AuditStageEnum auditStatusEnum : AuditStageEnum.values()) {
if (auditStatusEnum.getCode().equals(code)) {
return auditStatusEnum;
}
}
return null;
}
}

View File

@@ -0,0 +1,40 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: AuditStatusEnum
* @Description:
* @date 2024-03-20 14:55
*/
public enum AuditStatusEnum {
TODO(0, "待处理"),
PASS(1, "通过"),
REJECT(2, "拒绝");
private Integer code;
private String name;
private AuditStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName() {
return name;
}
public static AuditStatusEnum getByCode(Integer code) {
for (AuditStatusEnum auditStatusEnum : AuditStatusEnum.values()) {
if (auditStatusEnum.getCode().equals(code)) {
return auditStatusEnum;
}
}
return null;
}
}

View File

@@ -0,0 +1,31 @@
package com.cool.store.enums;
public enum AuditTypeEnum {
VISUAL_ACCEPTANCE(0, "视觉验收"),
TRAINING_REGISTRATION_APPROVAL(1, "培训登记审批"),
OPENING_OPERATION_PLAN(2, "开业运营方案"),
LICENSE_APPROVAL(3, "证照审批"),
SYS_BUILD(4, "系统建店"),
SITE_SELECTION(5, "选址"),
UPLOAD_RENT_CONTRACT(6, "上传租赁合同"),
PAY_FRANCHISE_FEE(7,"缴纳加盟费"),
SIGN_FRANCHISE(8,"加盟合同签约"),
;
private Integer code;
private String name;
private AuditTypeEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName() {
return name;
}
}

View File

@@ -0,0 +1,58 @@
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<String, AuthRoleEnum> 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);
}
}

View File

@@ -0,0 +1,25 @@
package com.cool.store.enums;
public enum CallStatusEnum {
PENDING_CALL(0, "待呼叫"),
CALL_ANSWERED(1, "呼叫接听"),
CALL_MISSED(2, "呼叫未接听"),
CALL_FAILED(3, "呼叫失败");
private final int code;
private final String message;
CallStatusEnum(int code, String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@@ -0,0 +1,31 @@
package com.cool.store.enums;
/**
* @Auther: WangShuo
* @Date: 2024/04/28/下午7:25
* @Version 1.0
* @注释:
*/
public enum ConstructionPhaseEnum {
//施工阶段
NOT_SHOWN(-1,"不显示"),
NOT_START(0,"未开工"),
construction_ING(1,"施工中"),
construction_FINSH(2,"已完工");
private Integer code;
private String message;
ConstructionPhaseEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.enums;
/**
* 动态栏目枚举类
*/
public enum ContentSubjectEnum {
HY_CULTURE("沪姨文化"),
PARTNER_SAYS("加盟商说"),
BRAND_NEWS("品牌动态")
;
private String subjectName;
ContentSubjectEnum(String subjectName) {
this.subjectName = subjectName;
}
}

View File

@@ -0,0 +1,16 @@
package com.cool.store.enums;
/**
* 动态类型(图文/视频)
*/
public enum ContentTypeEnum {
VIDEO("视频"),
IMAGE("图文")
;
private String type;
ContentTypeEnum(String type) {
this.type = type;
}
}

View File

@@ -0,0 +1,30 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: DataSourceEnum
* @Description:
* @date 2023-06-08 15:34
*/
public enum DataSourceEnum {
SYNC(0, "EC同步"),
CREATE(1, "小程序创建");
private Integer code;
private String message;
DataSourceEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@@ -0,0 +1,41 @@
package com.cool.store.enums;
/**
* @Auther: WangShuo
* @Date: 2024/04/28/下午6:46
* @Version 1.0
* @注释:
*/
public enum DesignPhaseEnum {
//设计阶段,平面图,施工图
DESIGN_PHASE_ACCEPTANCE_FAILED(0,"验收未通过"),
DESIGN_PHASE_NOT_START(1, "未开始"),
DESIGN_PHASE_ACCEPTANCE_DESIGNING(2, "设计中"),
DESIGN_PHASE_ACCEPTED_NOT(3, "未验收"),
DESIGN_PHASE_ACCEPTANCE_FAILEDS(0,"验收未通过"),
DESIGN_PHASE_AUDIT_WAIT(5,"待审批"),
DESIGN_PHASE_AUDIT_FAIL(6,"审批驳回"),
DESIGN_PHASE_AUDIT_ING(7,"审批中"),
DESIGN_PHASE_AUDIT_DISCARD (8,"审批作废"),
DESIGN_PHASE_AUDIT_PASS(9,"审批通过"),
DESIGN_PHASE_AUDIT_ACCEPTANCE_FAIL(10,"审批验收未通过"),
DESIGN_PHASE_ACCEPTANCE_PASS (11,"验收通过");
private Integer code;
private String message;
DesignPhaseEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@@ -0,0 +1,250 @@
package com.cool.store.enums;
import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* * 通用错误返回处理,后续全部将使用这个返回,请遵守以下规范。
* * 1.枚举名必须要大写。
* * 2.枚举中包含属性code,msg,en(英文尽量写)
* * 3.code的命名以系统模块划分前三位为模块划分。逐级细分。7位数字先到先取原则细化不浪费
* @author zhangchenbiao
* @FileName: ErrorCodeEnum
* @Description: 返回响应状态和文案枚举
* @date 2023-05-19 04:30
*/
public enum ErrorCodeEnum {
PARTNER_MOBILE_INCORRECT(418, "请输入正确的手机号", null),
PUBLIC_LINE_NOT_FOLLOW(419, "该线索已存在公海,无跟进人", null),
LINE_EXIST_FOLLOW(420, "该线索已存在,跟进人为【{0}{1}】", null),
ERROR_MESSAGE(421, "{0}", null),
/**
* 000000 未知错误
*/
UNKNOWN(000000, "未知错误", null),
/**
* 2000001 token与当前登录企业不匹配
*/
TOKEN_ERROR(2000001,"请求异常,与当前登录企业不匹配",null),
FAIL(400000, "FAIL", null),
ACCESS_TOKEN_INVALID(400005, "Invalid token", null),
PARAMS_VALIDATE_ERROR(400003, "参数校验失败!", null),
LOGIN_ERROR(400004, "登录失败", null),
ENTERPRISE_INIT(400006, "企业正在初始化,请稍后访问!",null),
NOT_AUTH(400007, "暂无权限,请联系管理员!", null),
USER_FREEZE(1021019,"账号被冻结,请联系管理员",null),
ENTERPRISE_NOT_EXIST(1021020,"企业不存在",null),
USER_NOT_EXIST(1021021,"用户不存在",null),
JOBNUMBER_NOT_EXIST(1021017,"用户工号不存在",null),
USER_WAIT_AUDIT(1021018,"账号审核中,请联系企业管理员",null),
OPERATION_OVER_TIME(1021019, "您的操作过于频繁,休息一下~", null),
GET_APP_SECRET_ERROR(1021020, "获取secret异常", null),
WX_SERVICE_ERROR(1021021, "调用微信服务异常", null),
SESSION_KEY_ERROR(1021022, "sessionKey过期", null),
GET_WECHAT_USER_INFO_FAIL(1021023,"获取小程序用户信息失败", null),
USER_GROUP_NAME_EXIST(1021076, "用户分组名称已存在", null),
USER_GROUP_NOT_EXIST(1021077, "用户分组不存在", null),
GET_INFO_ERROR(1021078, "获取信息异常", null),
GET_PHONENUMBER_INFO_ERROR(1021079, "手机号归属地获取异常", null),
IDENTITY_CARD_PARSE_FAIL(1021080, "身份证解析失败", null),
WECHAT_BIND_OTHER_MOBILE(1021081, "授权号码有误,请核对", null),
BUSINESS_LICENSE_PARSE_FAIL(1021082, "营业证照解析失败", null),
BUSINESS_LICENSE_OR_ID_CARD_REPEAT(1021083, "身份证或企业信用编码重复", null),
PARAMS_REQUIRED(400002, "参数缺失!", null),
DATA_CONVERT_ERROR(400002, "日期转换异常!", null),
PARENT_NODE_NOT_EXIST(400002, "父节点不存在", 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),
PARTNER_BASEINFO_NOT_EXIST(500005, "基本信息不存在!", null),
INTENT_INFO_NOT_EXIST(500006, "意向信息不存在!", null),
INTENT_WHAT_NOT_EXIST(500016, "加盟问卷信息不存在!", null),
INTENT_AREA_NOT_BING_ZONE(500007, "意向区域没有绑定战区 分配招商经理失败!", null),
PUBLIC_LINE_NOT_OPERATE(500008, "公海线索不允许操作!", null),
PARTNER_BASE_INFO_NOT_EXIST(500009, "加盟商信息不存在!", null),
LINE_STATUS_NOT_ALLOW_OPERATE(500010, "当前线索状态不允许该操作!", null),
TASK_STATUS_NOT_ALLOW_OPERATE(500011, "当前任务状态不允许该操作!", null),
DATELINE_BEFORE_NOW(500012, "截止时间不能早于当前时间!", null),
NO_TRANSFER_REQUIRED(500013, "招商经理现有私海线索无需转让,请检查后重试!", null),
NO_BATCH_TRANSFER_REQUIRED(500014, "已选线索包含此招商经理现有私海线索,无需转让,请检查后重试!", null),
PARTNER_MOBILE_EXIST(500010, "手机号码已存在,请核实!", null),
MOBILE_EXIST(500015, "此手机号码已存在,请修改后重试", null),
INVESTMENT_MANAGER_NOT_EXIST(500016, "当前招商经理不存在", null),
PARTNER_MOBILE_EXIST_0(500017, "手机号码已存在", null),
TIME_OCCUPIED(500018, "预约时间被占用", null),
LINE_PAY_IS_NOT_EXIST(500019, "意向金信息不存在!", null),
INTENT_PASS(500020, "审核已通过,请刷新页面!", null),
APPOINTMENT_TIME_FAIL(500020, "预约失败,请刷新后再试", null),
POINT_NOT_COMPLETE(600000, "铺位信息未填写完全,请完善后生成评估报告", null),
POINT_NOT_EXIST(600001, "铺位信息不存在", null),
POINT_SIGNED(600002, "操作失败,铺位已签约", null),
NOT_ALLOW_OPERATE(600003, "当前状态不允许该操作", null),
POINT_AUDIT_NOT_SETTING(600004, "选址审批未设置", null),
NO_PERMISSION(600004, "暂无处理审批任务权限", null),
POINT_AUDIT_NODE_ERROR(600005, "当前审批任务异常", null),
USER_NOT_TODO_AUDIT(600005, "当前用户没有待审批的任务", null),
NOT_ALLOW_MODIFY_WANT_SHOP_NUM(600006, "当前阶段不允许直接修改意向开店数量", null),
USER_NOT_ALLOW_ENTER_ROOM(600007, "当前用户不允许进入面试房间", null),
SHOP_STAGE_ERROR(600008, "店铺阶段错误", null),
SHOP_NOT_EXIST(600009, "店铺不存在", null),
POINT_IS_SELECTED(600010, "该铺位已被其他人选择", null),
POINT_ALREADY_SELECT(600011, "该铺位已被您选择", null),
SHOP_IS_SELECTED(600012, "该店铺已选址", null),
SHOP_STAGE_NOT_OPERATE(600013, "当前店铺所处阶段不允许该操作", null),
POINT_IS_LOCK(600014, "当前铺位已被锁定,刷新后再试", null),
POINT_IS_INVALID(600015, "该铺位已失效", null),
POINT_SELECTED(600016, "该铺位已被选择", null),
NOT_EXIST_UNSELECT_POINT(600017, "当前没有未选择的铺位", null),
SELECT_POINT_ERROR(600018, "铺位选中失败", null),
OPEN_NEW_SHOP_RECORD_NOT_EXIST(700001, "开店申请记录不存在", null),
OPEN_NEW_SHOP_RECORD_AUDITED(700002, "开店申请已审核", null),
OPEN_NEW_SHOP_RECORD_WAIT_AUDIT(700003, "提交失败,您有开店申请正在审核中", null),
INTERVIEW_ENTER_FAIL(1021101, "进入面审间失败", null),
DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null),
INTERVIEW_NOT_EXIST(1021103, "面审信息不存在!", null),
INTERVIEW_AND_PARTNER_ID_IS_NULL(1021104, "加盟商用户ID&线索ID和面审官ID不能同时为空", null),
INTERVIEW_PLAN_IS_NULL(1021105, "未查询到相关面审安排!", null),
DATE_PARAMS_IS_ERROR(1021106, "日期参数错误!", null),
INTERVIEW_PLAN_NOT_EXIST(1021107, "面审计划不存在!", null),
FEISHU_DELETE_SCHEDULE_ERROR(1021108, "删除原面审安排失败!", null),
CREATE_CALENDAR_EVENT_FAIL(1021109, "创建面审安排失败!", null),
FEISHU_UPDATE_SCHEDULE_ERROR(1021110, "开始前10分钟不允许修改时间", null),
INTERVIEW_STATUS_ERROR(1021111, "当前面审状态不允许该操作!", null),
INTERVIEW_PLAN_ALREADY_EXIST(1021112, "面审计划已存在,请勿重复申请!", null),
INTERVIEW_LINE_ID_IS_NULL(1021113, "线索id为空", null),
INTERVIEW_INTERVIEW_TIME_IS_UNUSABLE(1021114, "当前预约时间不可用,请和线索用户协商其他时间后确定预约时间\n面审人{0} 手机号:{1}", null),
INTERVIEW_PARTNER_NOT_EXIST(1021115, "线索下的加盟商不存在!", null),
INTERVIEW_STATUS_NOT_TRANSFER(1021116, "当前面审状态不允许转让! 面审状态:{0}", null),
MOBILE_WECHAT_EXIST(1021116, "此号码已绑定其他微信", null),
INTERVIEW_STATUS_WAS_AUDITED(1021117, "当前面审已审核", null),
ROOM_STATUS_ERROR(10211156, "当前面审房间状态不允许进行该操作!", null),
MOBILE_APP_NOT_ONLINE_ERROR(10211157, "呼叫失败,请确认呼出号码正确并检查是否安装并打开呼叫插件", null),
CALL_RECORD_NOT_EXIST_ERROR(10211158, "通话记录不存在!", null),
CALL_UP_ERROR(10211159, "拨出电话异常!", null),
CREATE_CALL_REQUEST_ERROR(10211160, "创建电话请求失败!", null),
CREATE_APPOINTMENT_TIME_ERROR(10211161, "当前时间不可预约面审,请选择其他时间", null),
USER_CHANNEL_NOT_EXISTS(10211162, "当前用户渠道不存在", null),
LINE_ALREADY_EXISTS(10211163, "该线索已存在,跟进人为{0}", null),
LINE_EXISTS_IN_PUBLIC_SEA(10211164, "该线索已存在,请前往公海认领", null),
CONTENT_DUPLICATED(10211200, "动态标题重复!", null),
SIGN_FAIL(600000, "验签失败", null),
GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误", null),
NEW_MOBILE_HAS_EXIST(600002,"加盟商用户信息已存在",null),
INSPECTION_USER_OCCUPY(600003,"当前稽核人已经配置其他战区",null),
INSPECTION_INFO_NOT_EXIST(600005, "稽核信息不存在!", null),
OPEN_AREA_NULL(600006,"归属地区不能为空",null),
NOT_IN_PUBLIC_SEA(600007,"当前线索不在公海 不支持分配招商经理",null),
LABEL_GROUP_IN_USE(120001, "该标签组下存在标签不可删除请确保该标签组下标签数量为0后再进行删除", null),
LABEL_GROUP_EXIST(120002, "该标签组已存在,请重新输入", null),
LABEL_EXIST(120003, "该标签已存在,请重新输入", null),
OPEN_AREA_IS_NOT_EXISTS(107006, "意向区域城市不存在", null),
REGION_NOT_EXIST(108001, "区域不存在",null),
ONLY_WAR_REGION_CONFIG(108002, "意向省市只能配置到战区",null),
NOT_APPROVE_NODE(109001, "不是审批节点",null),
TIME_FALSE(109002, "结束时间不能早于开始时间",null),
BUSINESS_ID_NOT_EXIST(109003, "kdzBusinessId解析异常,请检查",null),
VERIFY_MD5_FALSE(109004, "验签失败,请检查",null),
LINE_PAY_FALSE(109005, "付款信息查询失败",null),
LICENSE_NOT_EXIST(109006, "证照不存在",null),
FOOD_BUSINESS_LICENSE_PARSE_FAIL(109007, "食营证照解析失败", null),
STORE_NUM_NOT_FOUND(109008, "未找到门店编码", null),
SIGN_FRANCHISE_NOT_FOUND(109009, "加盟合同签约信息为空", null),
UNISSUED_STATEMENT(109010, "该门店未发布账单,无法付款", null),
FRANCHISE_AGREEMENT_FALSE(109011, "特许经营合同API调用失败", null),
NEW_STORE_FALSE(109011, "新店开业流程API调用失败", null),
AUDIT_RESULT_FALSE(109012, "意向加盟合同API本次调用结果与上一次不一致", null),
TIME_NULL_FALSE(109013, "有时间为空", null),
UNISSUED_STATEMENT_2(109014, "该门店已发布账单", null),
INSERT_OPENING_OPERATION_PLAN_AUDIT_FALSE(103001,"插入运营方案审核信息失败",null),
INSERT_OPENING_OPERATION_PLAN_FALSE(103002,"插入运营方案失败",null),
SHOP_ID_IS_NULL(103003,"验参shopId失败为空",null),
ACTIVITY_THEME_LENGTH_FALSE(103004,"活动主题长度大于100",null),
SURVEYRESULT_LENGTH_FALSE(103005,"调研结果长度大于100",null),
ID_IS_NULL(103006,"验参Id失败为空",null),
UPDATE_AUDIT_PLAN_FALSE(103007,"修改AUDIT_PLAN失败",null),
UPDATE_PLAN_FALSE(103008,"修改PLAN失败",null),
UPDATE_SHOP_SUB_STAGE_STATUS_FALSE(103009,"修改开业运营方案阶段状态失败",null),
SHOP_ID_NOT_EXIST(103010,"shopId不存在",null),
FIRST_ORDER_PARAM_NULL(103020,"首批订货金参数为空",null),
USER_NOT_LOGIN(103021,"用户未登录",null),
XFSG_SERVICE_ERROR(103099,"鲜丰服务调用失败",null),
GET_FIRST_ORDER(103021,"获取鲜丰首批订货金失败",null),
YLF_ERROR(110001, "云立方接口异常!异常信息:{0}", null),
//装修
THREE_ACCEPTANCE(121001,"提交三方验收失败",null),
CHECK_ITEM(12002,"插入检查项失败",null),
FITMENT_FAIL(12003,"装修款阶段未完成",null),
SEE_ACCEPTANCE_ERROR(12004,"获取鲜丰撤场数据失败",null),
SEE_ACCEPTANCE_AUDIT_NULL(12005,"视觉验收结果为空",null),
;
protected static final Map<Integer, ErrorCodeEnum> map = Arrays.stream(values()).collect(
Collectors.toMap(ErrorCodeEnum::getCode, Function.identity(), (a, b)->a));
private int code;
private String message;
private String en;
ErrorCodeEnum(int code, String message, String en) {
this.code = code;
this.message = message;
this.en=en;
}
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
public static ErrorCodeEnum getByCode(Integer code) {
return map.get(code);
}
}

View File

@@ -0,0 +1,46 @@
package com.cool.store.enums;
import org.apache.commons.lang3.StringUtils;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 17:55
*/
public enum ExamStatusEnum {
NOT_START(0, "未开始"),
PASS(1, "正考通过"),
NOT_PASS(2, "不通过");
private Integer code;
private String desc;
ExamStatusEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public static Integer matchCodeByDesc(String desc) {
if(StringUtils.isBlank(desc)){
return null;
}
for (ExamStatusEnum statusEnum : ExamStatusEnum.values()) {
if (statusEnum.getDesc().equals(desc)) {
return statusEnum.code;
}
}
return null;
}
}

View File

@@ -0,0 +1,36 @@
package com.cool.store.enums;
/**
* @author Fun Li 2023/12/6 13:48
* @version 1.0
*/
public enum ExhibitionPartnerStatus {
REGISTERED(0, "已报名"),
SIGNED(1, "已签到"),
APPLIED(2, "已提交意向申请"),
INTERVIEWING(3, "面试中"),
INTERVIEWED(4, "面试完成"),
INTERVIEW_PASS(5, "面试通过"),
INTERVIEW_REJECT(6, "面试不通过"),
SIGN_CANCELED(7, "取消报名")
;
private Integer code;
private String status;
ExhibitionPartnerStatus(Integer code, String status) {
this.code = code;
this.status = status;
}
public Integer getCode() {
return code;
}
public String getStatus() {
return status;
}
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.enums;
public enum ExperienceStatusEnum {
DONE(0,"完成体验"),
ABANDON(1,"放弃体验"),
;
private Integer experienceStatus;
private String message;
ExperienceStatusEnum(Integer experienceStatus, String message) {
this.experienceStatus = experienceStatus;
this.message = message;
}
public Integer getExperienceStatus() {
return experienceStatus;
}
public void setExperienceStatus(Integer experienceStatus) {
this.experienceStatus = experienceStatus;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}

View File

@@ -0,0 +1,59 @@
package com.cool.store.enums;
import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @author Admin
* @ClassName FsEventTypeEnum
* @Description fs的事件类型
*/
public enum FSEventTypeEnum {
//
USER_CREATED("contact.user.created_v3","员工入职"),
USER_DELETED("contact.user.deleted_v3", "员工离职"),
USER_UPDATED("contact.user.updated_v3", "员工信息被修改"),
DEPARTMENT_CREATED("contact.department.created_v3", "部门被创建"),
DEPARTMENT_UPDATED("contact.department.updated_v3", "部门信息被修改"),
DEPARTMENT_DELETED("contact.department.deleted_v3", "部门被删除"),
APP_OPEN("app_open", "首次启用应用"),
APP_STATUS_CHANGE("app_status_change", "应用停启用"),
APP_TICKET("app_ticket", "app_ticket 事件"),
APP_UNINSTALLED("app_uninstalled", "应用卸载"),
CONTACT_SCOPE_UPDATE("contact.scope.updated_v3", "通讯录范围权限被更新"),
ORDER_PAID("order_paid", "应用商店应用购买"),
;
private final String value;
private final String remark;
private static final Map<String, FSEventTypeEnum> map = Arrays.stream(values()).collect(Collectors.toMap(FSEventTypeEnum::getValue, Function.identity()));
FSEventTypeEnum(String value, String remark) {
this.value = value;
this.remark = remark;
}
public String getValue() {
return value;
}
public static FSEventTypeEnum parseValue(String value) {
return map.get(value);
}
public static boolean isUserEvent(String eventType){
return FSEventTypeEnum.USER_CREATED.getValue().equals(eventType) || FSEventTypeEnum.USER_UPDATED.getValue().equals(eventType) || FSEventTypeEnum.USER_DELETED.getValue().equals(eventType);
}
public static boolean isDepartmentEvent(String eventType){
return FSEventTypeEnum.DEPARTMENT_CREATED.getValue().equals(eventType) || FSEventTypeEnum.DEPARTMENT_UPDATED.getValue().equals(eventType) || FSEventTypeEnum.DEPARTMENT_DELETED.getValue().equals(eventType);
}
}

View File

@@ -0,0 +1,89 @@
package com.cool.store.enums;
import com.alibaba.fastjson.JSONObject;
/**
* @Author: young.yu
* @Date: 2023-07-19 16:49
* @Description:
*/
public enum FeiShuNoticeMsgEnum {
common_notice("工作台通知", "{0}", "img_v2_45d7a901-1eab-498b-a760-b38d287f0c1g", "1567d83b966f2d312fd7fcd2e72dbce9"),
ALLOCATION_INVESTMENT_MANAGER("分配招商经理", "有新的线索于 {0} 分配给您,线索信息 {1} 手机号 {2},请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g", "1567d83b966f2d312fd7fcd2e72dbce9"),
TRANS_INVESTMENT_MANAGER("转让招商经理", "有新的线索于 {0} 转让给您,线索信息 {1} 手机号 {2},请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g", "1567d83b966f2d312fd7fcd2e72dbce9"),
BATCH_TRANS_INVESTMENT_MANAGER("收到新线索", "有{0}条新线索于 {1} 转让给您,请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g", "1567d83b966f2d312fd7fcd2e72dbce9"),
EC_RECEIVE_LINE("收到EC新线索", "有{0}条新线索于EC同步给您线索信息 {1},请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g", "1567d83b966f2d312fd7fcd2e72dbce9"),
INTENTION_APPLY("加盟意向申请", "您有一个【加盟意向申请】待审核,申请人 {0} 手机号 {1} 于 {2} 提交加盟意向申请,请及时处理", "img_v2_c909097d-67d1-4c11-a911-a2584b67ca6g", "1567d83b966f2d312fd7fcd2e72dbce9"),
FOLLOW_TASK("线索跟进任务", "{0}", "img_v2_1960b7ef-8c4e-4c3d-8b67-3d918a85578g", "1567d83b966f2d312fd7fcd2e72dbce9"),
INTERVIEW_APPOINTMENT("面试预约申请", "您有一个【面试预约申请】待处理,预约人 {0} 手机号 {1} ,预约面试时间 {2} ","img_v2_107bb06b-2a7a-43e1-a6ae-e5d2f2dae17g", "1567d83b966f2d312fd7fcd2e72dbce9"),
EXHIBITION_COLLABORATOR("会销协作通知", "{0} 已将您添加为【{1}】的会销协作人,日期为 {2},地点为“{3}” ","img_v3_026c_d561bb71-f085-40ca-9c36-5fe134cacd2g", "1567d83b966f2d312fd7fcd2e72dbce9", "/joint-sales/manage-detail?id={0}", "/mobile/joint-sales/manage-detail?id={0}"),
PARTNER_SIGNUP_EXHIBITION("线索已报名会销", "您跟进的线索客户{0} {1} 已报名于 {2} 举办的【{3}】 ,地点为“{4}”","img_v3_026c_5bcf178d-19e6-4445-9677-f748a3f916fg", "1567d83b966f2d312fd7fcd2e72dbce9", "/clue/details?lineId={0}&clueType=private&partnerId={1}"),
;
private String title;
private String content;
private String imageMediaId;
private String templateCode;
//卡片对应的跳转地址
private String PCPath;
private String mobilePath;
FeiShuNoticeMsgEnum(String title, String content, String imageMediaId, String templateCode, String pcPath) {
this.title = title;
this.content = content;
this.imageMediaId = imageMediaId;
this.templateCode = templateCode;
this.PCPath = pcPath;
this.mobilePath = "/mobile";
}
FeiShuNoticeMsgEnum(String title, String content, String imageMediaId, String templateCode) {
this.title = title;
this.content = content;
this.imageMediaId = imageMediaId;
this.templateCode = templateCode;
this.PCPath = "/work/bench";
this.mobilePath = "/mobile";
}
FeiShuNoticeMsgEnum(String title, String content, String imageMediaId, String templateCode, String pcPath, String mobilePath) {
this.title = title;
this.content = content;
this.imageMediaId = imageMediaId;
this.templateCode = templateCode;
this.PCPath = pcPath;
this.mobilePath = mobilePath;
}
public String getTitle() {
return title;
}
public String getContent() {
return content;
}
public String getImageMediaId() {
return imageMediaId;
}
public String getTemplateCode() {
return templateCode;
}
public String getPCPath() {
return PCPath;
}
public String getMobilePath() {
return mobilePath;
}
public JSONObject getMessageObject() {
JSONObject object = new JSONObject();
object.put("name", this.title);
object.put("imageMediaId", this.imageMediaId);
return object;
}
}

View File

@@ -0,0 +1,36 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: FollowTaskStatusEnum
* @Description:
* @date 2023-08-10 10:47
*/
public enum FollowTaskStatusEnum {
TODO(0, "待完成"),
FINISHED(1, "已完成"),
OVERDUE(2, "已逾期"),
CANCELLED(3, "作废"),
OVERDUE_FINISH(4, "逾期完成"),
OVERDUE_CANCELLED(5, "逾期作废"),
;
//任务状态:0:待完成、1:已完成、2:已逾期、3:作废
private Integer code;
private String remark;
FollowTaskStatusEnum(Integer code, String remark) {
this.code = code;
this.remark = remark;
}
public Integer getCode() {
return code;
}
public String getRemark() {
return remark;
}
}

View File

@@ -0,0 +1,50 @@
package com.cool.store.enums;
/**
* 加盟商类型" +
* "0-新加盟商开单店;1-老加盟商开单店;" +
* "2-新加盟商开新区域单店;" +
* "3-新加盟商开老区域单店;" +
* "4-老加盟商开新区域单店;" +
* "5-老加盟商开老区域单店;" +
* "6-直营门店;" +
* "7-同异业转化;" +
* "8-老加盟商迁址开新店
*/
public enum FranchiseeTypeEnum {
ONE(0,"新加盟商开单店"),
TWO(1,"老加盟商开单店"),
THREE(2,"新加盟商开新区域单店"),
FOUR(4,"新加盟商开老区域单店"),
FIVE(5,"老加盟商开老区域单店"),
SIX(6,"直营门店"),
SEVEN(7,"同异业转化"),
EIGHT(8,"老加盟商迁址开新店"),
;
private Integer code;
private String message;
FranchiseeTypeEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
public static FranchiseeTypeEnum getByCode(Integer code) {
for (FranchiseeTypeEnum franchiseeTypeEnum : FranchiseeTypeEnum.values()) {
if (franchiseeTypeEnum.getCode().equals(code)) {
return franchiseeTypeEnum;
}
}
return null;
}
}

View File

@@ -0,0 +1,32 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: IDCardSideEnum
* @Description: 身份证正反面类型
* @date 2023-06-16 16:49
*/
public enum IDCardSideEnum {
FACE("face", "正面"),
BACK("back", "反面")
;
private String code;
private String message;
IDCardSideEnum(String code, String message) {
this.code = code;
this.message = message;
}
public String getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.enums;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 17:55
*/
//稽核操作类型
public enum InspectionOperationTypeEnum {
PASS(0, "合格"),
NOT_PASS(1, "不合格"),
REVOCATION(2, "撤销");
private Integer code;
private String type;
InspectionOperationTypeEnum(Integer code, String type) {
this.code = code;
this.type = type;
}
public Integer getCode() {
return code;
}
public String getType() {
return type;
}
}

View File

@@ -0,0 +1,32 @@
package com.cool.store.enums;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 17:22
*/
//稽核信息状态
public enum InspectionStatusEnum {
NOT_INSPECT(0, "未稽核"),
PASS(1, "合格"),
NOT_PASS(2, "不合格");
private Integer code;
private String type;
InspectionStatusEnum(Integer code, String type) {
this.code = code;
this.type = type;
}
public Integer getCode() {
return code;
}
public String getType() {
return type;
}
}

View File

@@ -0,0 +1,29 @@
package com.cool.store.enums;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 17:16
*/
//稽核类型
public enum InspectionTyeEnum {
INTERVIEW_INSPECTION(0, "面试稽核");
private Integer code;
private String type;
InspectionTyeEnum(Integer code, String type) {
this.code = code;
this.type = type;
}
public Integer getCode() {
return code;
}
public String getType() {
return type;
}
}

View File

@@ -0,0 +1,32 @@
package com.cool.store.enums;
/**
* @Author: young.yu
* @Date: 2023-06-13 20:22
* @Description: 面试状态枚举
*/
public enum InterviewStatusEnum {
// 0-待预约 1-待面审 2-待审核 3-审批通过 4-不通过
WAIT_APPOINTMENT(0, "待预约"),
WAIT_INTERVIEW(1, "待面审"),
WAIT_AUDIT(2, "待审核"),
PASS(3, "审批通过"),
NOT_PASS(4, "不通过");
private Integer code;
private String message;
InterviewStatusEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@@ -0,0 +1,107 @@
package com.cool.store.enums;
import com.cool.store.constants.CommonConstants;
import org.apache.commons.lang3.tuple.Pair;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: InterviewTypeEnum
* @Description:
* @date 2024-03-15 16:12
*/
public enum InterviewTypeEnum {
MEET(0, "面谈", 120, 9, 19),
INTERVIEW(1, "一面", 30, 9, 18),
SECOND_INTERVIEW(2, "二面", 30, 9, 18),
;
private Integer code;
private String message;
private Integer minute;
private Integer startHour;
private Integer endHour;
InterviewTypeEnum(Integer code, String message, Integer minute, Integer startHour, Integer endHour) {
this.code = code;
this.message = message;
this.minute = minute;
this.startHour = startHour;
this.endHour = endHour;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
public Integer getMinute() {
return minute;
}
public static InterviewTypeEnum match(Integer code) {
for (InterviewTypeEnum type : InterviewTypeEnum.values()) {
if (type.getCode().equals(code)) {
return type;
}
}
return null;
}
public static List<Pair<String, Boolean>> getTimeSlots(InterviewTypeEnum interviewType, LocalDate localDate) {
switch (interviewType) {
case MEET:
return getTimeSlots(localDate, InterviewTypeEnum.MEET);
case INTERVIEW:
case SECOND_INTERVIEW:
return getTimeSlots(localDate, InterviewTypeEnum.INTERVIEW);
default:
break;
}
return null;
}
private static List<Pair<String, Boolean>> getTimeSlots(LocalDate date, InterviewTypeEnum interviewTypeEnum) {
List<Pair<String, Boolean>> result = new ArrayList<>();
LocalDateTime start = LocalDateTime.of(date, LocalTime.of(interviewTypeEnum.startHour, CommonConstants.ZERO));
LocalDateTime now = LocalDateTime.now();
while (start.getHour() < interviewTypeEnum.endHour){
String time = start.getHour() + CommonConstants.COLON + (start.getMinute() < CommonConstants.TEN ? "0"+ start.getMinute() : start.getMinute());
boolean isAvailable = start.isAfter(now);
start = start.plusMinutes(interviewTypeEnum.minute);
time = time + CommonConstants.PATH_BAR + start.getHour() + CommonConstants.COLON + (start.getMinute() < CommonConstants.TEN ? "0"+ start.getMinute() : start.getMinute());
result.add(Pair.of(time, isAvailable));
}
return result;
}
public static WorkflowSubStageStatusEnum getWorkflowSubStageStatus(InterviewTypeEnum interviewType){
if(MEET.equals(interviewType)){
return WorkflowSubStageStatusEnum.INVITING_INTERVIEWS_15;
}
if(INTERVIEW.equals(interviewType)){
return WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_30;
}
if(SECOND_INTERVIEW.equals(interviewType)){
return WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_105;
}
return null;
}
}

View File

@@ -0,0 +1,23 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: InterviewUserTypeEnum
* @Description:
* @date 2024-03-20 9:53
*/
public enum InterviewUserTypeEnum {
LINE("加盟商线索"),
INTERVIEWER("面试官"),;
private String message;
InterviewUserTypeEnum(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
}

View File

@@ -0,0 +1,45 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: JoinInterviewStatusEnum
* @Description:
* @date 2024-03-20 11:05
*/
public enum JoinInterviewStatusEnum {
NO_JOIN(0, "未参加"),
LINE_JOIN(1,"加盟商先进入"),
INTERVIEW_JOIN(2,"面试官先进入"),
JOIN(3,"双方都参加");
private Integer code;
private String message;
JoinInterviewStatusEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
public static Integer getJoinInterviewStatus(Integer joinInterviewStatus, InterviewUserTypeEnum userType){
if(NO_JOIN.getCode().equals(joinInterviewStatus)){
return InterviewUserTypeEnum.LINE.equals(userType) ? LINE_JOIN.getCode() : INTERVIEW_JOIN.getCode();
}
if(LINE_JOIN.getCode().equals(joinInterviewStatus)){
return InterviewUserTypeEnum.LINE.equals(userType) ? LINE_JOIN.getCode() : JOIN.getCode();
}
if(INTERVIEW_JOIN.getCode().equals(joinInterviewStatus)){
return InterviewUserTypeEnum.LINE.equals(userType) ? JOIN.getCode() : INTERVIEW_JOIN.getCode();
}
return JOIN.getCode();
}
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.enums;
public enum JoinTypeEnum {
JOIN_TYPE_ONE(1,"个人加盟"),
JOIN_TYPE_TWO(2,"企业加盟"),
;
private Integer code;
private String typeName;
JoinTypeEnum(Integer code, String typeName) {
this.code = code;
this.typeName = typeName;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getTypeName() {
return typeName;
}
public void setTypeName(String typeName) {
this.typeName = typeName;
}
}

View File

@@ -0,0 +1,46 @@
package com.cool.store.enums;
/**
* 营业执照类型 0.个体工商户 1.有限责任公司 2.独资企业 3.自然人经营
*/
public enum LicenseTypeEnum {
ZERO(0, "个体工商户"),
ONE(1,"有限责任公司"),
TWO(2,"独资企业"),
THREE(3,"自然人经营");
private Integer code;
private String message;
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
LicenseTypeEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public static LicenseTypeEnum match(Integer code) {
for (LicenseTypeEnum type : LicenseTypeEnum.values()) {
if (type.getCode().equals(code)) {
return type;
}
}
return null;
}
public static LicenseTypeEnum matchName(String name) {
for (LicenseTypeEnum type : LicenseTypeEnum.values()) {
if (type.getMessage().equals(name)) {
return type;
}
}
return null;
}
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.enums;
/**
* @Author suzhuhong
* @Date 2023/6/13 11:45
* @Version 1.0
*/
public enum LineStatusEnum {
PUBLIC_SEAS(0,"公海线索"),
PRIVATE_SEAS(1,"私海线索"),
COOPERATION(2,"合作"),
BLACKLIST(3,"黑名单"),
;
private Integer code;
private String message;
LineStatusEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@@ -0,0 +1,31 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: MentTypeEnum
* @Description:
* @date 2021-09-23 17:59
*/
public enum MenuTypeEnum {
MENU(1,"菜单"),
AUTH(2,"权限");
private Integer code;
private String message;
MenuTypeEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@@ -0,0 +1,177 @@
package com.cool.store.enums;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Map;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: MessageEnum
* @Description:
* @date 2024-03-27 10:50
*/
public enum MessageEnum {
MESSAGE_1("您有一份加盟意向申请,请查收。", "##### 加盟商姓名:${partnerUsername}\n##### 手机号码:${partnerMobile}\n##### 意向加盟区域:${wantShopName}\n"),
MESSAGE_2("您收到一份邀约面谈预约,请查收", "##### 加盟商姓名:${partnerUsername}\n##### 预约时间:${appointmentTime}\n"),
MESSAGE_3("您收到一份一次面审预约,请查收", "##### 加盟商姓名:${partnerUsername}\n##### 预约时间:${appointmentTime}\n"),
MESSAGE_3_1("您的线索已预约一次面审,请关注", "##### 加盟商姓名:${partnerUsername}\n面审官${interviewUsername}\n##### 预约时间:${appointmentTime}\n"),
MESSAGE_4("您有线索未通过面审,请查收", "##### 加盟商姓名:${partnerUsername}\n##### 面审时间:${interviewTime}\n##### 面审官:${interviewUsername}\n"),
MESSAGE_5("您收到一份缴纳意向金审核,请查收", "##### 加盟商姓名:${partnerUsername}\n##### 缴费时间:${payTime}\n"),
MESSAGE_6("您收到一份加盟意向协议信息审核,请查收", "##### 加盟商姓名:${partnerUsername}\n##### 手机号码:${partnerMobile}\n##### 信息提交时间:${submitTime}\n"),
MESSAGE_7("您提交的一份加盟意向协议OA审核未通过请查收", "##### 加盟商姓名:${partnerUsername}\n##### 审批提交时间:${submitTime}\n"),
MESSAGE_8("您有一位加盟商待安排体验门店及体验时间,请查收", "##### 加盟商姓名:${partnerUsername}\n##### 手机号码:${partnerMobile}\n"),
MESSAGE_9("您有一位加盟商已放弃门店体验,请查收", "##### 加盟商姓名:${partnerUsername}\n##### 手机号码:${partnerMobile}\n"),
MESSAGE_10("您收到一份二次面审预约,请查收", "##### 加盟商姓名:${partnerUsername}\n##### 预约时间:${appointmentTime}\n"),
MESSAGE_10_1("您的线索已预约二次面审,请关注", "##### 加盟商姓名:${partnerUsername}\n面审官${interviewUsername}\n##### 预约时间:${appointmentTime}\n"),
MESSAGE_11("您的一个铺位已审核通过,请查收", "##### 铺位名称:${pointName}\n##### 铺位地址:${pointAddress}\n"),
MESSAGE_12("您的一个铺位审核未通过,请查收", "##### 铺位名称:${pointName}\n##### 铺位地址:${pointAddress}\n##### 未通过原因:${reason}\n"),
MESSAGE_13("您有一个铺位需要审核,请查收", "##### 铺位名称:${pointName}\n##### 铺位地址:${pointAddress}\n"),
MESSAGE_14("已为您分配一位加盟商,请查收", "##### 加盟商姓名:${partnerUsername}\n##### 手机号码:${partnerMobile}\n##### 意向加盟区域:${wantShopName}\n"),
MESSAGE_15("您有一份加盟商上传的租赁合同待审核,请查收", "##### 加盟商姓名:${partnerUsername}\n##### 提交时间:${submitTime}\n"),
MESSAGE_16("您有一家门店待提交系统建店申请,请查收", "##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerName}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_16_1("您有一家门店待提交系统建店申请,请查收", "##### 加盟商姓名:${partnerName}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_17("您收到一份证照信息审核申请,请查收", "##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerName}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_18("您有一个门店已缴纳加盟费/保证金,请审核", "##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerName}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_19("您有一个门店待提交加盟合同审核,请查收", "##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerName}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_20("您有一个门店的加盟合同审核未通过,请查收", "##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerName}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_21("加盟商已登记一位员工,请及时安排培训", "##### 员工姓名:【${userName}】,员工手机号码:【${mobile}】,登记时间:【${registerTime}】"),
MESSAGE_22("您收到一位员工由您带教,请查收", "##### 员工姓名:【${userName}】,员工手机号码:【${mobile}】,登记时间:【${registerTime}】"),
MESSAGE_23("您有一个门店待发布加盟费/保证金账单,请查收", "##### 加盟商姓名:${partnerName}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_24("您有一个门店待预约三方验收时间,请查收", "##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_25("您有一个门店待进行三方验收,请查收","##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_26("您有一个门店需要上传开业运营方案,请查收","##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_27("您有一个门店需要上传首批订货清单,请查收","##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_28("您有一个门店需要进行视觉验收,请查收","##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_29("您有一份加盟申请书,请查收","##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n##### 意向加盟区域:${regionName}\n"),
MESSAGE_30("您收到一份加盟意向协议信息审核,请查收","##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n##### 信息提交时间:${submitTime}\n"),
MESSAGE_31("您提交的一份加盟意向协议OA审核未通过请查收","##### 加盟商姓名:${partnerUsername}\n##### 信息提交时间:${submitTime}\n"),
MESSAGE_32("您有一位加盟商待安排体验门店及体验时间,请查收","##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_33("您有一位加盟商已放弃门店体验,请查收","##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"),
;
private String title;
private String content;
MessageEnum(String title, String content) {
this.title = title;
this.content = content;
}
public String getTitle() {
return title;
}
public String getContent() {
return content;
}
public String getContent(Map<String, String> paramMap) {
String result = this.content;
for (String key : paramMap.keySet()) {
result = result.replace("${" + key + "}", paramMap.get(key));
}
return result;
}
public String getImageUrl() {
return "https://oss-store.coolcollege.cn/xfsg_notice.png";
}
public String getMessageUrl(String domainUrl, String appId, String corpId, Map<String, String> paramMap) {
if (StringUtils.isAnyBlank(domainUrl, appId, corpId) || Objects.isNull(paramMap)) {
return "";
}
try {
switch (this) {
case MESSAGE_1:
case MESSAGE_2:
case MESSAGE_3_1:
case MESSAGE_4:
case MESSAGE_5:
case MESSAGE_6:
case MESSAGE_7:
case MESSAGE_8:
case MESSAGE_9:
case MESSAGE_29:
case MESSAGE_30:
return domainUrl + "/dd-noticemsg?appId=" + appId + "&corpId=" + corpId + "&appUrl=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=clue&timestamp=" + System.currentTimeMillis() + "&lineId=" + paramMap.get("lineId"), StandardCharsets.UTF_8.name());
case MESSAGE_3:
case MESSAGE_10:
return domainUrl + "/dd-noticemsg?appId=" + appId + "&corpId=" + corpId + "&appUrl=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=interview&timestamp=" + System.currentTimeMillis() + "&lineId=" + paramMap.get("lineId"), StandardCharsets.UTF_8.name());
case MESSAGE_11:
case MESSAGE_12:
return domainUrl + "/dd-noticemsg?appId=" + appId + "&corpId=" + corpId + "&appUrl=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=point&timestamp=" + System.currentTimeMillis() + "&pointId=" + paramMap.get("pointId"), StandardCharsets.UTF_8.name());
case MESSAGE_13:
return "dingtalk://dingtalkclient/action/open_micro_app?appId=" + appId + "&corpId=" + corpId + "&page=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=point&timestamp=" + System.currentTimeMillis() + "&pointId=" + paramMap.get("pointId"), StandardCharsets.UTF_8.name());
case MESSAGE_14:
return "dingtalk://dingtalkclient/action/open_micro_app?appId=" + appId + "&corpId=" + corpId + "&page=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=franchiseeDetails&timestamp=" + System.currentTimeMillis() + "&lineId=" + paramMap.get("lineId"), StandardCharsets.UTF_8.name());
case MESSAGE_15:
case MESSAGE_10_1:
case MESSAGE_31:
case MESSAGE_32:
case MESSAGE_33:
//跳转我的加盟商的加盟商详情都可以使用这个
return domainUrl + "/dd-noticemsg?appId=" + appId + "&corpId=" + corpId + "&appUrl=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=franchiseeDetails&timestamp=" + System.currentTimeMillis() + "&lineId=" + paramMap.get("lineId"), StandardCharsets.UTF_8.name());
case MESSAGE_21:
return domainUrl + "/dd-noticemsg?appId="+appId+"&corpId="+corpId+"&page=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=employeeTraining&timestamp="+System.currentTimeMillis()+"&userDetailId="+ paramMap.get("userDetailId"), StandardCharsets.UTF_8.name());
case MESSAGE_22:
return "dingtalk://dingtalkclient/action/open_micro_app?appId="+appId+"&corpId="+corpId+"&page=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=trainerUser&timestamp="+System.currentTimeMillis()+"&userDetailId="+ paramMap.get("userDetailId"), StandardCharsets.UTF_8.name());
case MESSAGE_24:
return "dingtalk://dingtalkclient/action/open_micro_app?appId="+appId+"&corpId="+corpId+"&page=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=threeAcceptance&timestamp="+System.currentTimeMillis(), StandardCharsets.UTF_8.name());
case MESSAGE_25:
return "dingtalk://dingtalkclient/action/open_micro_app?appId="+appId+"&corpId="+corpId+"&page=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=threeAcceptance&timestamp="+System.currentTimeMillis(), StandardCharsets.UTF_8.name());
case MESSAGE_26:
return domainUrl + "/dd-noticemsg?appId=" + appId + "&corpId=" + corpId + "&appUrl=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=openPlan&timestamp=" + System.currentTimeMillis() +"&lineId="+ paramMap.get("lineId")+"&shopId="+ paramMap.get("shopId"), StandardCharsets.UTF_8.name());
case MESSAGE_27:
return domainUrl + "/dd-noticemsg?appId=" + appId + "&corpId=" + corpId + "&appUrl=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=orderList&timestamp=" + System.currentTimeMillis() +"&lineId="+ paramMap.get("lineId"), StandardCharsets.UTF_8.name());
case MESSAGE_28:
return "dingtalk://dingtalkclient/action/open_micro_app?appId="+appId+"&corpId="+corpId+"&page=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=eyeAcceptance&timestamp="+System.currentTimeMillis()+"&shopId="+ paramMap.get("shopId"), StandardCharsets.UTF_8.name());
case MESSAGE_16:
return domainUrl + "/dd-noticemsg?appId=" + appId + "&corpId=" + corpId + "&appUrl=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=sysStoreSchedule&timestamp=" + System.currentTimeMillis() +"&lineId="+ paramMap.get("lineId")+"&shopId="+ paramMap.get("shopId"), StandardCharsets.UTF_8.name());
case MESSAGE_17:
return domainUrl + "/dd-noticemsg?appId=" + appId + "&corpId=" + corpId + "&appUrl=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=licenseSchedule&timestamp=" + System.currentTimeMillis() +"&lineId="+ paramMap.get("lineId")+"&shopId="+ paramMap.get("shopId"), StandardCharsets.UTF_8.name());
case MESSAGE_18:
case MESSAGE_23:
return domainUrl + "/dd-noticemsg?appId=" + appId + "&corpId=" + corpId + "&appUrl=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=franchiseeSchedule&timestamp=" + System.currentTimeMillis() +"&lineId="+ paramMap.get("lineId")+"&shopId="+ paramMap.get("shopId"), StandardCharsets.UTF_8.name());
case MESSAGE_19:
case MESSAGE_20:
return domainUrl + "/dd-noticemsg?appId=" + appId + "&corpId=" + corpId + "&appUrl=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=contractSchedule&timestamp=" + System.currentTimeMillis() +"&lineId="+ paramMap.get("lineId")+"&shopId="+ paramMap.get("shopId"), StandardCharsets.UTF_8.name());
default:
return "";
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
}

View File

@@ -0,0 +1,76 @@
package com.cool.store.enums;
import com.google.common.collect.Lists;
import java.util.List;
public enum NodeNoEnum {
NODE_NO_0(0,"提交任务"),
NODE_NO_1(1,"第一级审批"),
NODE_NO_2(2,"第二级审批"),
NODE_NO_3(3,"第三级审批"),
NODE_NO_4(4,"第四级审批"),
NODE_NO_5(5,"第五级审批"),
NODE_NO_100(100,"结束"),
;
private Integer code;
private String typeName;
NodeNoEnum(Integer code, String typeName) {
this.code = code;
this.typeName = typeName;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getTypeName() {
return typeName;
}
public void setTypeName(String typeName) {
this.typeName = typeName;
}
/**
* 获取之后的审批节点集合
* @param nodeNo
* @return
*/
public static List<NodeNoEnum> getNextNodeNoList(Integer nodeNo){
if(NodeNoEnum.NODE_NO_0.getCode().equals(nodeNo)){
return Lists.newArrayList(NodeNoEnum.NODE_NO_1, NodeNoEnum.NODE_NO_2, NodeNoEnum.NODE_NO_3, NodeNoEnum.NODE_NO_4, NodeNoEnum.NODE_NO_5);
}
if(NodeNoEnum.NODE_NO_1.getCode().equals(nodeNo)){
return Lists.newArrayList(NodeNoEnum.NODE_NO_2, NodeNoEnum.NODE_NO_3, NodeNoEnum.NODE_NO_4, NodeNoEnum.NODE_NO_5);
}
if(NodeNoEnum.NODE_NO_2.getCode().equals(nodeNo)){
return Lists.newArrayList(NodeNoEnum.NODE_NO_3, NodeNoEnum.NODE_NO_4, NodeNoEnum.NODE_NO_5);
}
if(NodeNoEnum.NODE_NO_3.getCode().equals(nodeNo)){
return Lists.newArrayList(NodeNoEnum.NODE_NO_4, NodeNoEnum.NODE_NO_5);
}
if(NodeNoEnum.NODE_NO_4.getCode().equals(nodeNo)){
return Lists.newArrayList(NodeNoEnum.NODE_NO_5);
}else {
return Lists.newArrayList();
}
}
public static NodeNoEnum getByCode(Integer code){
for(NodeNoEnum nodeNoEnum : NodeNoEnum.values()){
if(nodeNoEnum.getCode().equals(code)){
return nodeNoEnum;
}
}
return null;
}
}

View File

@@ -0,0 +1,28 @@
package com.cool.store.enums;
/**
* @Auther: WangShuo
* @Date: 2024/04/23/下午2:50
* @Version 1.0
* @注释:
*/
public enum OpeningOperationPlanResultTypeEnum {
WAIT_AUDIT(0,"待审核"),
PASS_AUDIT(1,"审核通过"),
REJECT_AUDIT(2,"审核未通过");
private Integer code;
private String desc;
OpeningOperationPlanResultTypeEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
}

View File

@@ -0,0 +1,28 @@
package com.cool.store.enums;
/**
* @Auther: WangShuo
* @Date: 2024/04/22/下午5:15
* @Version 1.0
* @注释:
*/
public enum OpeningOperationPlanSourceEnum {
NEW(0,"新增"),
SYNCHRONIZATION(1,"同步");
private Integer code;
private String desc;
OpeningOperationPlanSourceEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public int getCode() {
return code;
}
public String getDesc() {
return desc;
}
}

View File

@@ -0,0 +1,79 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: OperateLogFieldValue
* @Description:
* @date 2023-06-27 10:44
*/
public enum OperateLogFieldValueEnum {
ALLOCATION_USERID("allocationUserId","分配人ID"),
ALLOCATION_USERNAME("allocationUsername","分配人姓名"),
MOBILE("mobile","手机号"),
OPERATE_TIME("operateTime","操作时间"),
OPERATE_USER_ID("operateUserId","操作人id"),
OPERATE_USER_NAME("operateUsername","操作人姓名"),
REASON("reason","原因"),
PASS_REASON("passReason","通过原因"),
REJECT_PUBLIC_REASON("rejectPublicReason", "公开拒绝原因"),
REJECT_REAL_REASON("rejectRealReason", "真实拒绝原因"),
CERTIFY_FILE("certifyFile", "上传的证明文件或凭证"),
BEFORE_INVESTMENT_MANAGER_USERNAME("beforeInvestmentManagerUsername", "转让前的招商经理姓名"),
BEFORE_INVESTMENT_MANAGER_MOBILE("beforeInvestmentManagerMobile", "转让前的招商经理手机号"),
AFTER_INVESTMENT_MANAGER_USERNAME("afterInvestmentManagerUsername", "转让后的招商经理姓名"),
AFTER_INVESTMENT_MANAGER_MOBILE("afterInvestmentManagerMobile", "转让后的招商经理手机好"),
INTERVIEW_AGREEMENT_RAW_DATETIME("rawInterviewDateTime", "同意的面试预约原始申请时间"),
INTERVIEW_PLAN_ID("interviewPlanId", "面试计划id"),
BEFORE_INTERVIEW_TIME("beforeInterviewTime", "修改前的面试时间"),
AFTER_INTERVIEW_TIME("afterInterviewTime", "修改后的面试时间"),
BEFORE_INTERVIEWR_NAME("beforeInterviewrName", "委托前的面试官姓名"),
AFTER_INTERVIEWR_NAME("afterInterviewrName", "委托后的面试官姓名"),
BEFORE_INTERVIEWR_MOBILE("beforeInterviewrMobile", "委托前的面试官手机号"),
AFTER_INTERVIEWR_MOBILE("afterInterviewrMobile", "委托后的面试官手机号"),
SUMMARY("summary", "面试总结"),
QUALI_VERIFY_CONTENT("qualiVerifyContent", "资质审核内容"),
BEFORE_USERINFO_UPDATE("beforeUserinfoUpdate", "修改前的用户信息"),
AFTER_USERINFO_UPDATE("afterUserinfoUpdate", "修改后的用户信息"),
BEFORE_BASE_INFO_UPDATE("beforeBaseInfoUpdate", "修改前的意向书基本信息"),
AFTER_BASE_INFO_UPDATE("afterBaseInfoUpdate", "修改后的意向书基本信息"),
BEFORE_INTENT_INFO_UPDATE("beforeIntentInfoUpdate", "修改前的意向行业信息"),
AFTER_INTENT_INFO_UPDATE("afterIntentInfoUpdate", "修改后的意向行业信息"),
BEFORE_CLERK_INFO_UPDATE("beforeClerkUpdate", "修改前的意向书员工信息"),
AFTER_CLERK_INFO_UPDATE("afterClerkUpdate", "修改后的意向书员工信息"),
FOLLOW_LOG("followLog", "跟进日志"),
FOLLOW_TASK_ID("followTaskId", "跟进任务id"),
ADD_LABELS("addLabels", "新增标签"),
REMOVE_LABELS("removeLabels", "移除标签"),
CALL_TRANS_NO("transNo", "呼叫请求编号"),
INCOMING_USER_ID("incomingUserId", "接听人用户id"),
INCOMING_USER_NAME("incomingUserName", "接听人用户姓名"),
;
private String code;
private String name;
OperateLogFieldValueEnum(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}

View File

@@ -0,0 +1,89 @@
package com.cool.store.enums;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.cool.store.enums.OperateLogFieldValueEnum.*;
/**
* @author zhangchenbiao
* @FileName: OperateTypeEnum
* @Description:
* @date 2023-06-27 10:41
*/
public enum OperateTypeEnum {
EC_SYNC_ADD_LINE("ec_sync_add_line", "ec同步新增线索", Arrays.asList(MOBILE,OPERATE_TIME, OPERATE_USER_ID, OPERATE_USER_NAME)),
ADD_LINE("add_line", "新增线索", Arrays.asList(MOBILE,OPERATE_TIME, OPERATE_USER_ID, OPERATE_USER_NAME)),
ALLOCATION_INVESTMENT_MANAGER("allocation_investment_manager", "分配招商经理", Arrays.asList(ALLOCATION_USERID,ALLOCATION_USERNAME, MOBILE, OPERATE_TIME)),
ADD_BLACKLIST("add_blacklist", "加入黑名单", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REASON)),
REMOVE_BLACKLIST("remove_blacklist", "移除黑名单", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REASON)),
CLOSE_FOLLOW("close_follow", "结束跟进", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REJECT_PUBLIC_REASON, REJECT_REAL_REASON, CERTIFY_FILE)),
TRANSFER_INVESTMENT_MANAGER("transfer_investment_manager", "转让招商经理", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_INVESTMENT_MANAGER_USERNAME, BEFORE_INVESTMENT_MANAGER_MOBILE, AFTER_INVESTMENT_MANAGER_USERNAME, AFTER_INVESTMENT_MANAGER_MOBILE)),
INTERVIEW_APPOINTMENT("interview_appointment", "预约面试时间", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
INTERVIEW_APPOINTMENT_AGREEMENT("interview_appointment_agreement", "同意面试预约申请", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, INTERVIEW_AGREEMENT_RAW_DATETIME, INTERVIEW_PLAN_ID)),
AUTO_OPEN_INTERVIEW("auto_open_interview", "自动打开面试房间", Arrays.asList(OPERATE_TIME)),
INTERVIEWER_BOOK_INTERVIEW("interviewer_book_interview", "招商经理主动预约面试时间", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
MODIFY_INTERVIEW_TIME("modify_interview_time", "修改面试时间", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_INTERVIEW_TIME, AFTER_INTERVIEW_TIME)),
ENTRUST_OTHERS("entrust_others", "委托他人", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, BEFORE_INTERVIEWR_NAME, AFTER_INTERVIEWR_NAME, BEFORE_INTERVIEWR_MOBILE, AFTER_INTERVIEWR_MOBILE)),
FINISH_INTERVIEW("finish_interview", "合作资格面试-结束面试", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
REINTERVIEW("reinterview", "合作资格面试-重新预约面试", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME,REJECT_REAL_REASON, CERTIFY_FILE)),
REJECT_INTERVIEW("reject_interview", "合作资格面试-拒绝并结束跟进", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REJECT_PUBLIC_REASON,REJECT_REAL_REASON, CERTIFY_FILE)),
CREATE_QUALIFYVERIFY("create_qualifyverify", "合作资格面试-创建资格审核", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME,SUMMARY,QUALI_VERIFY_CONTENT)),
EXHIBITION_CREATE_QUALIFYVERIFY("exhibition_create_qualifyverify", "会销资格面试-创建资格审核", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME,SUMMARY,QUALI_VERIFY_CONTENT)),
QUALIFYVERIFY_PASS("qualifyverify_pass", "合作资格面试-审核通过", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME,SUMMARY,QUALI_VERIFY_CONTENT)),
QUALIFYVERIFY_REJECT("qualifyverify_reject", "合作资格面试-审核拒绝", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME,SUMMARY,QUALI_VERIFY_CONTENT)),
USERINFO_UPDATE("userinfo_update", "修改(修改意向信息)", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_USERINFO_UPDATE, AFTER_USERINFO_UPDATE)),
INTENT_INFO_SUBMIT("intent_info_submit", "提交意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, AFTER_BASE_INFO_UPDATE, AFTER_INTENT_INFO_UPDATE, AFTER_CLERK_INFO_UPDATE)),
INTENT_INFO_UPDATE("intent_info_update", "修改意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_BASE_INFO_UPDATE, AFTER_BASE_INFO_UPDATE, BEFORE_INTENT_INFO_UPDATE, AFTER_INTENT_INFO_UPDATE, BEFORE_CLERK_INFO_UPDATE, AFTER_CLERK_INFO_UPDATE)),
ADD_TAGS("add_tags", "修改用户画像", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, ADD_LABELS, REMOVE_LABELS)),
ADD_FOLLOW_LOG("add_follow_log", "新增根据日志", Arrays.asList(FOLLOW_LOG)),
ADD_FOLLOW_TASK("add_follow_task", "新增跟进任务", Arrays.asList(FOLLOW_TASK_ID)),
CALL_UP("call_up", "拨打电话", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, OPERATE_TIME, CALL_TRANS_NO,INCOMING_USER_ID,INCOMING_USER_NAME)),
;
private String code;
private String name;
private List<OperateLogFieldValueEnum> filedList;
private static Map<String, OperateTypeEnum> operateTypeEnumMap;
static {
operateTypeEnumMap = new HashMap<>();
for (OperateTypeEnum operateTypeEnum : OperateTypeEnum.values()) {
operateTypeEnumMap.put(operateTypeEnum.getCode(), operateTypeEnum);
}
}
OperateTypeEnum(String code, String name, List<OperateLogFieldValueEnum> filedList) {
this.code = code;
this.name = name;
this.filedList = filedList;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
public List<OperateLogFieldValueEnum> getFiledList() {
return filedList;
}
public static OperateTypeEnum getOperateTypeEnum(String code) {
return operateTypeEnumMap.get(code);
}
}

View File

@@ -0,0 +1,32 @@
package com.cool.store.enums;
/**
* @Author suzhuhong
* @Date 2024/3/29 18:06
* @Version 1.0
*/
public enum OperationLogTypeEnum {
TRANSFER_INVESTMENT_MANAGER(1, "转让招商经理_线索"),
ENTRUST_INTERVIEW(2, "委托面试"),
TRANSFER_INVESTMENT_MANAGER_3(3, "转让招商经理_加盟商");
private final int code;
private final String description;
OperationLogTypeEnum(int code, String description) {
this.code = code;
this.description = description;
}
public int getCode() {
return code;
}
public String getDescription() {
return description;
}
}

View File

@@ -0,0 +1,23 @@
package com.cool.store.enums;
public enum PageTurnTypeEnum {
PREVIOUS("previous"),
NEXT("next");
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
private String text;
PageTurnTypeEnum(String text) {
this.text = text;
}
}

View File

@@ -0,0 +1,43 @@
package com.cool.store.enums;
import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @author zhangchenbiao
* @FileName: PlatFormTypeEnum
* @Description:
* @date 2023-06-08 16:43
*/
public enum PlatFormTypeEnum {
/**
* 菜单类型
*/
PC("PC","pc端菜单"),
;
private String code;
private String msg;
protected static final Map<String, PlatFormTypeEnum> map = Arrays.stream(values()).collect(
Collectors.toMap(PlatFormTypeEnum::getCode, Function.identity()));
PlatFormTypeEnum(String code, String msg){
this.code=code;
this.msg=msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static PlatFormTypeEnum getByCode(String code) {
return map.get(code);
}
}

View File

@@ -0,0 +1,44 @@
package com.cool.store.enums;
public enum ReceivingBankEnum {
XFSG_RECEIVING_BANK("鲜丰水果股份有限公司","33050161642700001117","中国建设银行浙江省分行文晖支行"),
;
private String accountName;
private String accountNum;
private String bank;
ReceivingBankEnum(String accountName, String accountNum, String bank) {
this.accountName = accountName;
this.accountNum = accountNum;
this.bank = bank;
}
public String getAccountName() {
return accountName;
}
public void setAccountName(String accountName) {
this.accountName = accountName;
}
public String getAccountNum() {
return accountNum;
}
public void setAccountNum(String accountNum) {
this.accountNum = accountNum;
}
public String getBank() {
return bank;
}
public void setBank(String bank) {
this.bank = bank;
}
}

View File

@@ -0,0 +1,32 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: RentTypeEnum
* @Description:
* @date 2024-04-16 11:47
*/
public enum RentTypeEnum {
RENT(1,"铺位直租"),
OWN(2,"自有铺位"),
;
;
private Integer code;
private String message;
RentTypeEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@@ -0,0 +1,38 @@
package com.cool.store.enums;
/**
* @author Aaron
* @Description 业务统一返回码
* @date 2019/12/20
*/
public enum ResponseCodeEnum {
/**
* 成功返回
*/
SUCCESS(200000, "SUCCESS");
/**
* 返回码
*/
private int code;
/**
* 返回信息
*/
private String message;
ResponseCodeEnum(int code, String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@@ -0,0 +1,60 @@
package com.cool.store.enums;
import com.cool.store.utils.CommonContextUtil;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author zhangchenbiao
* @FileName: RocketMqGroupEnum
* @Description:
* @date 2021-12-22 17:28
*/
public enum RocketMqGroupEnum {
/**
* 写在前面 读在前面
* 同一个group 监听的topic 和 tag必须一致 不然会出现消息丢失问题
* 即不能以下情况
* 实例1:
* 服务A中某个Listener的groupId为GroupA 监听topicA 过滤的消息tagA
* 服务B中某个Listener的groupId为GroupA 监听topicB 过滤的消息tagA
* 实例2:
* 服务A中某个Listener的groupId为GroupA 监听topicA 过滤的消息tagA
* 服务B中某个Listener的groupId为GroupA 监听topicA 过滤的消息tagB
*/
/**
* 事件消息监听
*/
FEI_SHU_EVENT_LISTENER("fei_shu_event_listener", new ArrayList<>(Arrays.asList(RocketMqTagEnum.USER_EVENT, RocketMqTagEnum.AUTH_SCOPE_CHANGE, RocketMqTagEnum.DEPT_EVENT))),
SYNC_TRAINING_PERSON("sync_training_person", new ArrayList<>(Arrays.asList(RocketMqTagEnum.SYNC_TRAINING_PERSON, RocketMqTagEnum.SYNC_TRAINING_SHOP_PERSON))),
;
private final String group;
private final List<RocketMqTagEnum> tagList;
RocketMqGroupEnum(String group,List<RocketMqTagEnum> tagList) {
this.group = group;
this.tagList = tagList;
}
public String getDefaultGroup() {
return group;
}
public static String getGroupId(RocketMqGroupEnum groupEnum){
return groupEnum.group + "_" + CommonContextUtil.getProfileName();
}
public static String getTag(RocketMqGroupEnum groupEnum){
return StringUtils.join(groupEnum.tagList.stream().map(RocketMqTagEnum::getTag).collect(Collectors.toList()),"||");
}
}

View File

@@ -0,0 +1,53 @@
package com.cool.store.enums;
import com.cool.store.utils.CommonContextUtil;
/**
* @author zhangchenbiao
* @FileName: RocketMqTagEnum
* @Description:
* @date 2021-12-23 16:14
*/
public enum RocketMqTagEnum {
AUTH_SCOPE_CHANGE("auth_scope_change","授权范围变更"),
USER_EVENT("user_event","钉钉通讯录变更事件"),
DEPT_EVENT("dept_event","部门事件"),
STORE_DING_QUEUE("store_ding_queue", "微应用钉钉消息发送"),
SYNC_TRAINING_PERSON("sync_training_person", "建店完成后拉取培训人员"),
SYNC_TRAINING_SHOP_PERSON("sync_training_shop_person", "建店完成后拉取店下的培训人员"),
;
private final String tag;
private final String remark;
RocketMqTagEnum(String tag, String remark) {
this.tag = tag;
this.remark = remark;
}
public String getDefaultTag() {
return tag;
}
public String getTag() {
return tag + "_" + CommonContextUtil.getProfileName();
}
public String getRemark() {
return remark;
}
public static RocketMqTagEnum getByTag(String tag){
for (RocketMqTagEnum value : values()) {
if(value.getTag().equals(tag)){
return value;
}
}
return null;
}
}

View File

@@ -0,0 +1,116 @@
package com.cool.store.enums;
import lombok.Getter;
import lombok.Setter;
import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
public enum Role {
/**
* 管理员
*/
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"),
MYSTERIOUS_GUEST("90000000", "神秘访客", 6,"mysterious_guest");
private static final Map<String, Role> MAP = Arrays.stream(values()).collect(
Collectors.toMap(Role::getRoleEnum, Function.identity()));
private static final Map<String, Role> ROLE_ID_MAP = Arrays.stream(values()).collect(
Collectors.toMap(Role::getId, Function.identity()));
private String id;
private String name;
@Getter
@Setter
private Integer priority;
private String roleEnum;
Role(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 Role 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);
}
}

View File

@@ -0,0 +1,45 @@
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/12/30
*/
public enum RoleSourceEnum {
/**
* 职位来源
*/
CREATE("create", "自建"),
EHR("ehr", "EHR"),
SYNC("sync", "钉钉同步");
private static final Map<String, RoleSourceEnum> map = Arrays.stream(values()).collect(
Collectors.toMap(RoleSourceEnum::getCode, Function.identity()));
private String code;
private String desc;
RoleSourceEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public String getCode() {
return code;
}
public String getDesc() {
return desc;
}
public static RoleSourceEnum getByCode(String code) {
return map.get(code);
}
}

View File

@@ -0,0 +1,23 @@
package com.cool.store.enums;
public enum RoomStatus {
WAIT_FOR_OPEN(0, "待开放"),
OPEN(1, "已开放"),
CLOSED(2, "已关闭");
private final int code;
private final String description;
RoomStatus(int code, String description) {
this.code = code;
this.description = description;
}
public int getCode() {
return code;
}
public String getDescription() {
return description;
}
}

View File

@@ -0,0 +1,63 @@
package com.cool.store.enums;
/**
* @Author: young.yu
* @Date: 2023-09-14 14:27
* @Description:
*/
public enum SMSMsgEnum {
INTERVIEW_APPOINTMENT_SUCCESS("邀约面谈成功", "", "SMS_465930408"),
INTERVIEW_TIME_MODIFY("面谈时间修改", "", "SMS_467410046"),
FIRST_INTERVIEW_APPOINTMENT_SUCCESS("一次面审待预约", "", "SMS_465915456"),
FIRST_INTERVIEW_REMIND("一次面审1小时提醒", "", "SMS_465935440"),
FIRST_INTERVIEW_TIME_MODIFY("一审时间修改", "","SMS_467515078"),
FIRST_INTERVIEW_REAPPOINTMENT("一次面审重新预约", "", "SMS_465935442"),
INTENTION_PAYMENT("意向金待缴费", "", "SMS_465950414"),
INTENTION_PAYMENT_FAIL("意向金缴费失败", "", "SMS_465975442"),
INTENTION_PAYMENT_PASS("签署意向协议OA审核完成后进入门店体验阶段", "", "SMS_467400057"),
INTENTION_PAYMENT_SUCCESS("意向金审核通过", "", "SMS_465885415"),
INTENTION_PROTOCOL_FAIL("意向协议审核未通过", "", "SMS_465910434"),
SECOND_INTERVIEW_APPOINTMENT("二审面审待预约", "", "SMS_465950416"),
SECOND_INTERVIEW_REMIND("二审前1小时提醒", "", "SMS_465925428"),
SECOND_INTERVIEW_REAPPOINTMENT("二审重新预约", "", "SMS_465940421"),
SECOND_INTERVIEW_SUCCESS("二审面审成功", "", "SMS_465980397"),
SECOND_INTERVIEW_TIME_MODIFY("二审时间修改", "", "SMS_467365053"),
SELECT_SUCCESS("选铺成功", "", "SMS_465950846"),
RENT_CONTRACT_AUDIT_FAIL("租赁合同上传未通过", "", "SMS_465955429"),
SHOP_EXPERIENCE("门店体验安排", "", "SMS_465905828"),
SYS_BUILD_STORE_DONE("系统建店已完成", "", "SMS_465916277"),
LICENSE_SUBMITTED("证照待提交", "", "SMS_465981218"),
LICENSE_NOT_PASS("证照未通过", "", "SMS_465971250"),
FRANCHISE_FEE_SUBMITTED("缴纳加盟费待缴纳", "", "SMS_465921311"),
FRANCHISE_FEE_NOT_PASS("缴纳加盟费缴纳失败", "", "SMS_465896262"),
DECORATION_MODEL_PAY("装修款待缴费", "","SMS_465961253"),
THREE_ACCEPTANCE_WAIT("三方验收待验收","","SMS_465961257"),
FIRST_ORDER("首批订货金代缴费","","SMS_467585281"),
TRAINING_REGISTER_SUCCESS("培训登记中", "", "SMS_466035101"),
TRAINING_ASSESSMENT_SUCCESS("员工培训已完成", "", "SMS_465901266"),
;
private String title;
private String content;
private String templateCode;
SMSMsgEnum(String title, String content, String templateCode) {
this.title = title;
this.content = content;
this.templateCode = templateCode;
}
public String getTitle() {
return title;
}
public String getContent() {
return content;
}
public String getTemplateCode() {
return templateCode;
}
}

View File

@@ -0,0 +1,27 @@
package com.cool.store.enums;
/**
* @Auther: WangShuo
* @Date: 2024/04/22/下午5:04
* @Version 1.0
* @注释:
*/
public enum ShopAuditInfoDeletedEnum {
NO_DELETED(0,"不删除"),
DELETED(1,"删除");
private Byte code;
private String desc;
ShopAuditInfoDeletedEnum(Integer code, String desc) {
this.code = code.byteValue();
this.desc = desc;
}
public Byte getCode() {
return code;
}
public String getDesc() {
return desc;
}
}

View File

@@ -0,0 +1,32 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: RentTypeEnum
* @Description:
* @date 2024-04-16 11:47
*/
public enum ShopRentTypeEnum {
FIXED(1,"固定租金"),
NOT_FIXED(2,"非固定租金"),
;
;
private Integer code;
private String message;
ShopRentTypeEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
}

View File

@@ -0,0 +1,63 @@
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 SignTypeEnum {
TRANSFER(0,"转让","A104"),
NEW_SIGNING(1,"新签","A101"),
RENEWAL(2,"续签","A102"),
RELOCATION (3,"迁址","A103"),
NEW_SIGNING_INDUSTRIES(5,"新签同异业转化","A105"),
;
private Integer code;
private String desc;
private String sap;
SignTypeEnum(Integer code, String desc,String sap) {
this.code = code;
this.desc = desc;
this.sap =sap;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public String getSap() {
return sap;
}
public void setSap(String sap) {
this.sap = sap;
}
protected static final Map<Integer, SignTypeEnum> map = Arrays.stream(values()).collect(
Collectors.toMap(SignTypeEnum::getCode, Function.identity()));
public static SignTypeEnum getWorkflowStageByCode(Integer code) {
if(code == null) {
return null;
}
return map.get(code);
}
}

View File

@@ -0,0 +1,39 @@
package com.cool.store.enums;
import java.text.MessageFormat;
/**
* @Author suzhuhong
* @Date 2023/12/11 13:56
* @Version 1.0
*/
public enum SignUpStatusEnum {
Sign_UP_FAIL_1("会销结束","你报名的展会已结束 请确认!"),
Sign_UP_FAIL_2("不符合报名条件","该线索已录入系统但不符合报名要求,当前处于【{0}{1}】状态,建议客户经理以当前状态正常推进,勿占用展会名额。"),
Sign_UP_FAIL_3("报名同一个会销组内会销","线索已报名本批次会销组中的“{0}”场次,切勿重复录入"),
Sign_UP_FAIL_4("不符合报名条件—黑名单","该线索已录入系统但不符合报名要求,当前处于【黑名单】状态,建议客户经理以当前状态正常推进,勿占用展会名额。");
private String signUpTitle;
private String signUpFailMsg;
SignUpStatusEnum(String signUpTitle, String signUpFailMsg) {
this.signUpTitle = signUpTitle;
this.signUpFailMsg = signUpFailMsg;
}
public String getSignUpTitle() {
return signUpTitle;
}
public String getSignUpFailMsg() {
return signUpFailMsg;
}
public static String getSignUpFailMsg(SignUpStatusEnum signUpStatusEnum,Object... objects) {
return MessageFormat.format(signUpStatusEnum.getSignUpFailMsg(),objects);
}
}

View File

@@ -0,0 +1,43 @@
package com.cool.store.enums;
public enum SmsCodeTypeEnum {
LOGIN("SMS_220325070","验证码登录", 10 * 60),
FORGOT_PWD("SMS_220325070","忘记密码", 10 * 60),
MODIFY_PWD("SMS_220325070","修改密码", 10 * 60),
IMPROVE_INFO("SMS_220325070","完善用户信息", 10 * 60),
USER_REGISTER("SMS_220325070","用户注册", 10 * 60),
ENTERPRISE_REGISTER("SMS_220325070","企业注册", 10 * 60),
LOGIN2("SMS_232163403","验证码登录", 10 * 60),
;
private String templateCode;
private String message;
private int cacheSeconds;
SmsCodeTypeEnum(String templateCode, String message, int cacheSeconds) {
this.templateCode = templateCode;
this.message = message;
this.cacheSeconds = cacheSeconds;
}
public String getTemplateCode() {
return templateCode;
}
public String getMessage() {
return message;
}
public int getCacheSeconds() {
return cacheSeconds;
}
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: StorageStatusEnum
* @Description:
* @date 2024-04-30 13:47
*/
public enum StorageStatusEnum {
//入库状态1已入库 2暂未入库
IN_STORAGE(1, "已入库"),
NOT_IN_STORAGE(2, "暂未入库"),
;
private Integer code;
private String desc;
StorageStatusEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
}

View File

@@ -0,0 +1,44 @@
package com.cool.store.enums;
import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 区域类型 0-根;1=大区;2=战区;3=小区(督导区);4=门店
* @author wxp
*/
public enum ThirdRegionTypeEnum {
ROOT("0",""),
LARGE_REGION("1","大区"),
WAR_REGION("2","战区"),
COMMUNITY_REGION("3","小区"),
STORE("4","门店");
private String code;
private String desc;
public static final Map<String, ThirdRegionTypeEnum> map = Arrays.stream(values()).collect(
Collectors.toMap(ThirdRegionTypeEnum::getCode, Function.identity()));
ThirdRegionTypeEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public String getCode() {
return code;
}
public String getDesc() {
return desc;
}
public static ThirdRegionTypeEnum getByCode(String code) {
return map.get(code);
}
}

View File

@@ -0,0 +1,130 @@
package com.cool.store.enums;
/**
* @author hxd
*/
public enum TrajectoryTypeEnum {
/**
* 联系轨迹类型*
*/
SEND_NOTE(1001, "发送短信",""),
DIAL_MOBILE(1002, "拨打对方电话",""),
WEBSITE_CUSTOMER_MOBILE(1003, "网站客服会话",""),
EC_SESSION(1004, "EC会话",""),
QQ_SESSION(1005, "QQ会话",""),
SEND_EMAIL(1006, "发送邮件",""),
ANSWER_MOBILE(1007, "接听对方电话",""),
ANSWER_EMAIL(1008, "接收邮件",""),
CALL_MEETING(1009, "电话会议",""),
DIAL_CLOUD_MOBILE(1010, "拨打云总机电话",""),
ANSWER_CLOUD_MOBILE(1011, "接听云总机电话",""),
/**
* 提醒类
*/
REGULARLY_REMIND(2001, "定时提醒",""),
REMINDER_SALES_PROGRAM(2002, "提醒销售计划",""),
CALENDAR_REMINDER(2003, "日历提醒",""),
/**
* 文本类型
*/
ADD_CUSTOMER(3001, "新增客户",""),
ADD_CUSTOMER_DATA(3002, "新增客户资料",""),
UPDATE_CUSTOMER_DATA(3003, "更新客户资料",""),
UPDATE_CUSTOMER_LABEL(3004, "更新客户标签",""),
RELEVANCE_EC(3005, "关联EC",""),
CANCEL_RELEVANCE_EC(3006, "取消EC关联",""),
RELEVANCE_QQ(3007, "关联QQ",""),
CANCEL_RELEVANCE_QQ(3008, "取消QQ关联",""),
TRANSFER_CUSTOMER(3009, "转让客户","将此客户转换了给"),
MERGE_CUSTOMER(3010, "合并客户",""),
ALLOCATION_CUSTOMER(3011, "分配客户","分配此客户给"),
GET_CUSTOMER(3012, "领取客户","领取了此客户"),
ABANDON_CUSTOMER(3013, "放弃客户",""),
ADD_MARKER_PLAN(3014, "添加销售计划",""),
UPDATE_MARKER_PLAN(3015, "修改销售计划",""),
USE_MARKER_TEMPLATE(3016, "使用销售模板",""),
UPDATE_CUSTOMER_STAGE(3017, "更新客户阶段",""),
RELEVANCE_COMPANY(3018, "关联公司",""),
CANCEL_RELEVANCE_COMPANY(3019, "取消公司关联",""),
UPLOAD_PHOTO_AVATAR(3020, "上传头像",""),
ADD_SHARE_COLLEAGUE(3021, "新增共享同事",""),
CANCEL_SHARE_COLLEAGUE(3022, "取消共享同事",""),
CANCEL_RELEVANCE(3023, "退出共享关系",""),
TRANSFER_COMPANY_IMPORT(3024, "转为公司导入",""),
ADD_CONTACT_DATA(3036, "新增联系人资料",""),
UPDATE_CONTACT_DATA(3037, "更新联系人资料",""),
ADD_CONTACT(3038, "新增联系人",""),
DELETE_CONTACT(3039, "删除联系人",""),
DELETE_ORDERS(3040, "删除订单",""),
DELETE_CUSTOMER(3041, "删除客户",""),
TRANSFER_CUSTOMER_TYPE(3042, "转换客户类型",""),
/**
* 跟进记录类
*/
ADD_FOLLOW_RECORD(4000, "添加跟进记录",""),
/**
* 微信类
*/
WECHAT_ACTIVITY(6000, "微信活动",""),
/**
* 拜访客户类
*/
VISITING_CLIENTS(7000, "拜访客户类","");
private final Integer value;
private final String showText;
private final String jointText;
TrajectoryTypeEnum(Integer value, String showText,String jointText) {
this.value = value;
this.showText = showText;
this.jointText = jointText;
}
public Integer getValue() {
return value;
}
public String getShowText() {
return showText;
}
public String getJointText() {
return jointText;
}
public static String getShowText(Integer value) {
for (TrajectoryTypeEnum trajectoryTypeEnum : TrajectoryTypeEnum.values()) {
if (trajectoryTypeEnum.getValue().equals(value)) {
return trajectoryTypeEnum.getShowText();
}
}
return "";
}
public static String getJointText(Integer value) {
for (TrajectoryTypeEnum trajectoryTypeEnum : TrajectoryTypeEnum.values()) {
if (trajectoryTypeEnum.getValue().equals(value)) {
return trajectoryTypeEnum.getJointText();
}
}
return "";
}
}

View File

@@ -0,0 +1,44 @@
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<String, UserAuthMappingTypeEnum> 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);
}
}

View File

@@ -0,0 +1,35 @@
package com.cool.store.enums;
/**
* @Author suzhuhong
* @Date 2023/7/18 17:01
* @Version 1.0
*/
public enum UserChannelEnum {
EXHIBITION("EXHIBITION","北京展会"),
RECOMMENDED("RECOMMENDED","李德龙推荐"),
ADD("46919","人工创建"),
SMS_INVATE("","短信邀约");
private final String code;
private final String desc;
UserChannelEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public String getCode() {
return code;
}
public String getDesc() {
return desc;
}
}

View File

@@ -0,0 +1,43 @@
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: UserPlatformTypeEnum
* @Description: 用户平台类型
* @date 2023-06-13 17:12
*/
public enum UserPlatformTypeEnum {
WECHAT("wechat", "微信"),
DOUYIN("douyin", "抖音"),
WEIBO("weibo", "微博");
private String code;
private String msg;
protected static final Map<String, UserPlatformTypeEnum> map = Arrays.stream(values()).collect(
Collectors.toMap(UserPlatformTypeEnum::getCode, Function.identity()));
UserPlatformTypeEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static UserPlatformTypeEnum getByCode(String code) {
return map.get(code);
}
}

View File

@@ -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;
}
}

View File

@@ -0,0 +1,56 @@
package com.cool.store.enums;
import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @author zhangchenbiao
* @FileName: UserRoleEnum
* @Description: 用户职位
* @date 2024-03-22 16:37
*/
public enum UserRoleEnum {
INVESTMENT_COMMISSIONER(100000000L, "招商专员"),
SELECT_SITE_COMMISSIONER(110000000L, "选址专员"),
REGION_MANAGER(120000000L, "大区执行总经理"),
THEATER_MANAGER(130000000L, "战区经理"),
OPERATIONS_MANAGER(140000000L, "营运经理"),
TRAINER(150000000L, "训练"),
XFSG_CLERK(160000000L, "店员"),
XFSG_SHOPOWNER(170000000L, "店长"),
SUPERVISION(180000000L, "督导"),
SELECT_SITE_LEADER(190000000L, "选址组长"),
SELECT_SITE_MANAGER(200000000L, "选址经理"),
INVESTMENT_MANAGER(210000000L, "招商经理"),
HEADQUARTERS_LEADER(220000000L, "总部负责人"),
HR(230000000L, "HR"),
DESIGN_MANAGER(240000000L, "品牌设计高级经理"),
ENGINEER_DEP_SUPERVISOR(250000000L, "工程部监理"),
ENGINEER_DEP_MANAGER(260000000L, "工程部高级经理"),
;
private Long code;
private String desc;
protected static final Map<String, UserRoleEnum> map = Arrays.stream(values()).collect(
Collectors.toMap(UserRoleEnum::getDesc, Function.identity()));
UserRoleEnum(Long code, String desc) {
this.code = code;
this.desc = desc;
}
public Long getCode() {
return code;
}
public String getDesc() {
return desc;
}
public static UserRoleEnum getByDesc(String desc) {
return map.get(desc);
}
}

View File

@@ -0,0 +1,52 @@
package com.cool.store.enums;
/**
* @author zhangchenbiao
* @FileName: UserStatusEnum
* @Description: 用户状态枚举
* @date 2021-07-19 16:27
*/
public enum UserStatusEnum {
//用户状态 0待审核 1正常 2冻结
WAIT_AUDIT(0,"待审核"),
NORMAL(1,"正常"),
FREEZE(2, "冻结")
;
private Integer code;
private String message;
UserStatusEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
public static String getMessageByCode(Integer code){
for(UserStatusEnum Enum: UserStatusEnum.values()){
if(Enum.code.equals(code)){
return Enum.message;
}
}
return null;
}
public static Integer getCodeByMessage(String message){
for(UserStatusEnum Enum: UserStatusEnum.values()){
if(Enum.message.equals(message)){
return Enum.code;
}
}
return null;
}
}

View File

@@ -0,0 +1,46 @@
package com.cool.store.enums;
import org.apache.commons.lang3.StringUtils;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @Author suzhuhong
* @Date 2023/6/9 16:17
* @Version 1.0
*/
public enum WorkflowStageEnum {
INTENT(1,"意向申请阶段"),
STORE(2,"新店进展"),
;
private Integer code;
private String message;
WorkflowStageEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
protected static final Map<Integer, WorkflowStageEnum> map = Arrays.stream(values()).collect(
Collectors.toMap(WorkflowStageEnum::getCode, Function.identity()));
public static WorkflowStageEnum getWorkflowStageByCode(String code) {
if(StringUtils.isBlank(code)) {
return null;
}
return map.get(code);
}
}

View File

@@ -0,0 +1,126 @@
package com.cool.store.enums;
/**
* @Author suzhuhong
* @Date 2024/3/19 16:53
* @Version 1.0
*/
public enum WorkflowSubStageEnum{
/**
* 流程子阶段枚举
*/
INTEND(1, "加盟意向申请", WorkflowSubStageStatusEnum.INTENT_0,"joinIntentionServiceImpl",0),
INVITING_INTERVIEWS(5, "邀约面谈", WorkflowSubStageStatusEnum.INVITING_INTERVIEWS_10, "lineInterviewServiceImpl",2),
FIRST_INTERVIEWS(10, "一审面试", WorkflowSubStageStatusEnum.FIRST_INTERVIEWS_25, "lineInterviewServiceImpl",4),
PAY_DEPOSIT(15, "缴纳意向金", WorkflowSubStageStatusEnum.PAY_DEPOSIT_45, "bankServiceImpl",4),
SIGN_INTENT_AGREEMENT(20, "签署意向协议", WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_60, "intentAgreementServiceImpl",6),
STORE_EXPERIENCE(25, "门店体验", WorkflowSubStageStatusEnum.STORE_EXPERIENCE_85, "trainingExperienceServiceImpl",9),
SECOND_INTERVIEWS(30, "二审面试", WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_100, "lineInterviewServiceImpl",10);
private Integer code;
private String message;
private Integer progress;
private WorkflowSubStageStatusEnum initStatus;
private WorkflowSubStageEnum nextStage;
private String clazz;
WorkflowSubStageEnum(Integer code, String message, WorkflowSubStageStatusEnum initStatus, String clazz,Integer progress) {
this.code = code;
this.message = message;
this.initStatus = initStatus;
this.clazz = clazz;
this.progress = progress;
}
public Integer getCode() {
return code;
}
public Integer getProgress() {
return progress;
}
public String getMessage() {
return message;
}
public WorkflowSubStageStatusEnum getInitStatus() {
return initStatus;
}
public String getClazz() {
return clazz;
}
public WorkflowSubStageEnum getNextStage() {
switch (this) {
case INTEND:
this.nextStage = INVITING_INTERVIEWS;
break;
case INVITING_INTERVIEWS:
this.nextStage = FIRST_INTERVIEWS;
break;
case FIRST_INTERVIEWS:
this.nextStage = PAY_DEPOSIT;
break;
case PAY_DEPOSIT:
this.nextStage = SIGN_INTENT_AGREEMENT;
break;
case SIGN_INTENT_AGREEMENT:
this.nextStage = STORE_EXPERIENCE;
break;
case STORE_EXPERIENCE:
case SECOND_INTERVIEWS:
this.nextStage = null;
break;
}
return nextStage;
}
public static WorkflowSubStageEnum getWorkflowSubStageEnum(Integer workflowSubStage) {
for (WorkflowSubStageEnum workflowSubStageEnum : WorkflowSubStageEnum.values()) {
if (workflowSubStageEnum.getCode().equals(workflowSubStage)) {
return workflowSubStageEnum;
}
}
return null;
}
/**
* 是否是面试阶段
* @param workflowSubStage
* @return
*/
public static boolean isInterviewStage(Integer workflowSubStage) {
return INVITING_INTERVIEWS.getCode().equals(workflowSubStage) || FIRST_INTERVIEWS.getCode().equals(workflowSubStage) || SECOND_INTERVIEWS.getCode().equals(workflowSubStage);
}
/**
* 是否是重新预约面试阶段
* @param workflowSubStage
* @return
*/
public static boolean isReappointmentStage(Integer workflowSubStage) {
return FIRST_INTERVIEWS.getCode().equals(workflowSubStage) || SECOND_INTERVIEWS.getCode().equals(workflowSubStage);
}
public static InterviewTypeEnum getInterviewType(Integer workflowSubStage){
if(INVITING_INTERVIEWS.getCode().equals(workflowSubStage)){
return InterviewTypeEnum.MEET;
}
if(FIRST_INTERVIEWS.getCode().equals(workflowSubStage)){
return InterviewTypeEnum.INTERVIEW;
}
if(SECOND_INTERVIEWS.getCode().equals(workflowSubStage)){
return InterviewTypeEnum.SECOND_INTERVIEW;
}
return null;
}
}

View File

@@ -0,0 +1,102 @@
package com.cool.store.enums;
/**
* @Author suzhuhong
* @Date 2024/3/19 17:00
* @Version 1.0
*/
public enum WorkflowSubStageStatusEnum {
//意向申请
INTENT_0(0,"待提交"),
INTENT_5(5,"待审核"),
INTENT_7(7,"未通过"),
//邀约面谈
INVITING_INTERVIEWS_10(10,"待预约"),
INVITING_INTERVIEWS_15(15,"待面谈"),
INVITING_INTERVIEWS_20(20,"待审核"),
//一审面试
FIRST_INTERVIEWS_25(25,"待预约"),
FIRST_INTERVIEWS_30(30,"待面试"),
FIRST_INTERVIEWS_35(35,"待审核"),
FIRST_INTERVIEWS_40(40,"一审未通过"),
FIRST_INTERVIEWS_42(42,"一审重新预约"),
//缴纳意向金,装修款
PAY_DEPOSIT_45(45,"待缴费"),
PAY_DEPOSIT_50(50,"已缴费"),
PAY_FAIL_55(55,"审核未通过"),
//签署意向协议
SIGN_INTENT_AGREEMENT_60(60,"待补充"),
SIGN_INTENT_AGREEMENT_63(63,"待审核"),
SIGN_INTENT_AGREEMENT_65(65,"不通过"),
SIGN_INTENT_AGREEMENT_70(70,"待提交"),
SIGN_INTENT_AGREEMENT_75(75,"待OA审核"),
SIGN_INTENT_AGREEMENT_80(80,"签约失败"),
//门店体验
STORE_EXPERIENCE_85(85,"待体验"),
STORE_EXPERIENCE_90(90,"体验中"),
STORE_EXPERIENCE_95(95,"放弃体验"),
//二审面试
SECOND_INTERVIEWS_100(100,"待预约"),
SECOND_INTERVIEWS_105(105,"待面试"),
SECOND_INTERVIEWS_110(110,"待审核"),
SECOND_INTERVIEWS_115(115,"二审未通过"),
SECOND_INTERVIEWS_120(120,"二审重新预约"),
SECOND_INTERVIEWS_125(125,"二审通过"),
;
private Integer code;
private String message;
WorkflowSubStageStatusEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
public static boolean isReappointmentStatus(Integer workflowSubStageStatus){
return FIRST_INTERVIEWS_42.getCode().equals(workflowSubStageStatus) || SECOND_INTERVIEWS_120.getCode().equals(workflowSubStageStatus);
}
public static boolean isModifyAppointmentTime(Integer workflowSubStageStatus){
return INVITING_INTERVIEWS_15.getCode().equals(workflowSubStageStatus) || FIRST_INTERVIEWS_30.getCode().equals(workflowSubStageStatus) || SECOND_INTERVIEWS_105.getCode().equals(workflowSubStageStatus);
}
public WorkflowSubStageStatusEnum getNextStatus(WorkflowSubStageStatusEnum workflowSubStageStatusEnum) {
switch (workflowSubStageStatusEnum) {
case INTENT_0:
return INTENT_5;
default:
return null;
}
}
public static WorkflowSubStageStatusEnum getInterviewRejectStatus(InterviewTypeEnum interviewType){
if(InterviewTypeEnum.INTERVIEW.equals(interviewType)){
return FIRST_INTERVIEWS_40;
}
if(InterviewTypeEnum.SECOND_INTERVIEW.equals(interviewType)){
return SECOND_INTERVIEWS_115;
}
return null;
}
}

View File

@@ -0,0 +1,47 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: BussinessStateEnum
* @Description:目前经营情况
* @date 2024-03-26 16:08
*/
public enum BussinessStateEnum {
// 1:营业中 2:空铺
BUSSINESS_STATE_1(1, "营业中"),
BUSSINESS_STATE_2(2, "空铺"),
;
private Integer code;
private String desc;
BussinessStateEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public static BussinessStateEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (BussinessStateEnum bussinessStateEnum : BussinessStateEnum.values()) {
if (bussinessStateEnum.getCode().equals(code)) {
return bussinessStateEnum;
}
}
return null;
}
}

View File

@@ -0,0 +1,57 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: CompeteBusinessCapacityEnum
* @Description:竞争对手经营能力
* @date 2024-03-26 16:08
*/
public enum CompeteBusinessCapacityEnum {
// 1.非常好 2.好 3.一般 4.差
COMPETITOR_BUSINESS_CAPACITY_1(1, "非常好", 0),
COMPETITOR_BUSINESS_CAPACITY_2(2, "", 1),
COMPETITOR_BUSINESS_CAPACITY_3(3, "一般", 3),
COMPETITOR_BUSINESS_CAPACITY_4(4, "", 4),
;
private Integer code;
private String desc;
private Integer score;
CompeteBusinessCapacityEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static CompeteBusinessCapacityEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (CompeteBusinessCapacityEnum value : CompeteBusinessCapacityEnum.values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
}

View File

@@ -0,0 +1,57 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: CompeteTypeEnum
* @Description:竞争对手性质
* @date 2024-03-26 16:08
*/
public enum CompeteTypeEnum {
// 1.连锁店 2.强势单店 3.经营散户 4.小型摊贩
WANT_SHOP_SIZE_1(1, "连锁店", 1),
WANT_SHOP_SIZE_2(2, "强势单店", 2),
WANT_SHOP_SIZE_3(3, "经营散户", 3),
WANT_SHOP_SIZE_4(4, "小型摊贩", 5),
;
private Integer code;
private String desc;
private Integer score;
CompeteTypeEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static CompeteTypeEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (CompeteTypeEnum value : CompeteTypeEnum.values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
}

View File

@@ -0,0 +1,56 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: ConsumerAbilityEnum
* @Description:消费能力
* @date 2024-03-26 16:08
*/
public enum ConsumerAbilityEnum {
//1.高端 2.中高端 3.中端 4.低端
CONSUMER_ABILITY_1(1, "高端", 10),
CONSUMER_ABILITY_2(2, "中高端", 8),
CONSUMER_ABILITY_3(3, "中端", 6),
CONSUMER_ABILITY_4(4, "低端", 4),
;
private Integer code;
private String desc;
private Integer score;
ConsumerAbilityEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static ConsumerAbilityEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (ConsumerAbilityEnum consumerAbilityEnum : ConsumerAbilityEnum.values()) {
if (consumerAbilityEnum.getCode().equals(code)) {
return consumerAbilityEnum;
}
}
return null;
}
}

View File

@@ -0,0 +1,56 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: CoverCommunityEnum
* @Description:覆盖社区(半径500米内
* @date 2024-03-26 16:08
*/
public enum CoverCommunityEnum {
//1.800户以下 2.800-1200户 3.1200-2000户 4.2000户以上
COVER_COMMUNITY_1(1, "800户以下", 5),
COVER_COMMUNITY_2(2, "800户-1200户", 10),
COVER_COMMUNITY_3(3, "1200户-2000户", 12),
COVER_COMMUNITY_4(4, "2000户以上", 15),
;
private Integer code;
private String desc;
private Integer score;
CoverCommunityEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static CoverCommunityEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (CoverCommunityEnum coverCommunityEnum : CoverCommunityEnum.values()) {
if (coverCommunityEnum.getCode().equals(code)) {
return coverCommunityEnum;
}
}
return null;
}
}

View File

@@ -0,0 +1,98 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: FlowRateCalculateEnum
* @Description:人流测算(18点-20点)
* @date 2024-03-26 16:08
*/
public enum FlowRateCalculateEnum {
//1.>400人/时以上, 2.300400人/时, 3.200300人/时, 4.100200人/时
FLOW_RATE_CALCULATE_1(1, ">400人/时以上", 8),
FLOW_RATE_CALCULATE_2(2, "300400人/时", 6),
FLOW_RATE_CALCULATE_3(3, "200300人/时", 5),
FLOW_RATE_CALCULATE_4(4, "100200人/时", 3),
;
private Integer code;
private String desc;
private Integer score;
FlowRateCalculateEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static FlowRateCalculateEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (FlowRateCalculateEnum value : FlowRateCalculateEnum.values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
/**
* 获取人流测算
* @param nineFlowRate
* @param tenFlowRate
* @param eighteenFlowRate
* @param nineteenFlowRate
* @return
*/
public static FlowRateCalculateEnum getByFlowRate(Integer nineFlowRate, Integer tenFlowRate, Integer eighteenFlowRate, Integer nineteenFlowRate){
Integer flowRate = 0, count = 0;
if(Objects.nonNull(nineFlowRate)){
flowRate += nineFlowRate;
count++;
}
if(Objects.nonNull(tenFlowRate)){
flowRate += tenFlowRate;
count++;
}
if(Objects.nonNull(eighteenFlowRate)){
flowRate += eighteenFlowRate;
count++;
}
if(Objects.nonNull(nineteenFlowRate)){
flowRate += nineteenFlowRate;
count++;
}
if(count == 0){
count = 1;
}
flowRate = flowRate / count;
if(flowRate > 400){
return FLOW_RATE_CALCULATE_1;
}
if(flowRate > 300 && flowRate <= 400){
return FLOW_RATE_CALCULATE_2;
}
if(flowRate > 200 && flowRate <= 300){
return FLOW_RATE_CALCULATE_3;
}
return FLOW_RATE_CALCULATE_4;
}
}

View File

@@ -0,0 +1,49 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: FlowRateEnum
* @Description:高峰期人流
* @date 2024-03-26 16:08
*/
public enum FlowRateEnum {
//1:200以下 2:200300 3:300400 4:400以上
FLOW_RATE_1(1, "200以下"),
FLOW_RATE_2(2, "200300"),
FLOW_RATE_3(3, "300400"),
FLOW_RATE_4(4, "400以上"),
;
private Integer code;
private String desc;
FlowRateEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public static FlowRateEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (FlowRateEnum value : FlowRateEnum.values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
}

View File

@@ -0,0 +1,54 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: FarmerMarketEnum
* @Description:聚客点农贸市场
* @date 2024-03-26 16:08
*/
public enum GatherGuestFarmerMarketEnum {
//1.是 2.否
GATHER_GUEST_FARMER_MARKET_1(1, "", 5),
GATHER_GUEST_FARMER_MARKET_2(2, "", 3),
;
private Integer code;
private String desc;
private Integer score;
GatherGuestFarmerMarketEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static GatherGuestFarmerMarketEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (GatherGuestFarmerMarketEnum value : GatherGuestFarmerMarketEnum.values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
}

View File

@@ -0,0 +1,56 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: GatherGuestHospitalEnum
* @Description:聚客点医院
* @date 2024-03-26 16:08
*/
public enum GatherGuestHospitalEnum {
//1.甲等医院 2.市级医院 3.县区级医院 4.无医院
GATHER_GUEST_HOSPITAL_1(1, "甲等医院", 5),
GATHER_GUEST_HOSPITAL_2(2, "市级医院", 3),
GATHER_GUEST_HOSPITAL_3(3, "县区级医院", 2),
GATHER_GUEST_HOSPITAL_4(4, "无医院", 1)
;
private Integer code;
private String desc;
private Integer score;
GatherGuestHospitalEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static GatherGuestHospitalEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (GatherGuestHospitalEnum value : GatherGuestHospitalEnum.values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
}

View File

@@ -0,0 +1,57 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: GatherGuestSchoolEnum
* @Description:聚客点学校
* @date 2024-03-26 16:08
*/
public enum GatherGuestSchoolEnum {
// 1.幼儿园/小学 2.大学/学院 3.初中/高中 4.无学校
GATHER_GUEST_SCHOOL_1(1, "幼儿园/小学", 4),
GATHER_GUEST_SCHOOL_2(2, "大学/学院", 3),
GATHER_GUEST_SCHOOL_3(3, "初中/高中", 2),
GATHER_GUEST_SCHOOL_4(4, "无学校", 1)
;
private Integer code;
private String desc;
private Integer score;
GatherGuestSchoolEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static GatherGuestSchoolEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (GatherGuestSchoolEnum value : GatherGuestSchoolEnum.values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
}

View File

@@ -0,0 +1,56 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: IntendPositionEnum
* @Description:绿化带
* @date 2024-03-26 16:08
*/
public enum GreenBeltEnum {
//1.门口无绿化带阻挡 2.门口有绿化带阻挡
GREEN_BELT_1(1, "门口无绿化带阻挡", 3),
GREEN_BELT_2(2, "门口有绿化带阻挡", 1),
;
private Integer code;
private String desc;
private Integer score;
GreenBeltEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static GreenBeltEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (GreenBeltEnum value : GreenBeltEnum.values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
}

View File

@@ -0,0 +1,56 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: StoreOutlookEnum
* @Description:门店观赡
* @date 2024-03-26 16:08
*/
public enum GuestConvenienceEnum {
// 1.门口5米有人行横道 2.门口15米有人行横道 3.无人行横道
GUEST_CONVENIENCE_1(1, "门口5米有人行横道", 3),
GUEST_CONVENIENCE_2(2, "门口15米有人行横道", 2),
GUEST_CONVENIENCE_3(3, "无人行横道", 1),
;
private Integer code;
private String desc;
private Integer score;
GuestConvenienceEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static GuestConvenienceEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (GuestConvenienceEnum value : GuestConvenienceEnum.values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
}

View File

@@ -0,0 +1,57 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: IntendPositionEnum
* @Description:意向店所处位置
* @date 2024-03-26 16:08
*/
public enum IntendPositionEnum {
//1.十字路口 2.居民生活中心 3.社区出入口
INTEND_POSITION_1(1, "十字路口", 6),
INTEND_POSITION_2(2, "居民生活中心", 5),
INTEND_POSITION_3(3, "社区出入口", 5),
;
private Integer code;
private String desc;
private Integer score;
IntendPositionEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static IntendPositionEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (IntendPositionEnum value : IntendPositionEnum.values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
}

View File

@@ -0,0 +1,56 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: NearBusinessConditionEnum
* @Description:周边业态经营情况(100米内)
* @date 2024-03-26 16:08
*/
public enum NearBusinessConditionEnum {
//1.运营状况良好 2.运营状况一般 3.运营状况差
NEAR_BUSINESS_CONDITION_1(1, "经营状况良好", 3),
NEAR_BUSINESS_CONDITION_2(2, "经营状况一般", 2),
NEAR_BUSINESS_CONDITION_3(3, "经营状况差", 1)
;
;
private Integer code;
private String desc;
private Integer score;
NearBusinessConditionEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static NearBusinessConditionEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (NearBusinessConditionEnum value : NearBusinessConditionEnum.values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
}

View File

@@ -0,0 +1,56 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: NearCompeteEnum
* @Description:周边(100m内)餐饮店
* @date 2024-03-26 16:08
*/
public enum NearCompeteEnum {
//1.品牌水果店2家以上 2.品牌水果店1家及以上 3.夫妻水果店1家及以上 4.无水果店
NEAR_COMPETITOR_1(1, "品牌水果店2家以上", 1),
NEAR_COMPETITOR_2(2, "品牌水果店1家及以上", 2),
NEAR_COMPETITOR_3(3, "夫妻水果店1家及以上", 2),
NEAR_COMPETITOR_4(4, "无水果店", 3)
;
private Integer code;
private String desc;
private Integer score;
NearCompeteEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static NearCompeteEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (NearCompeteEnum nearCompeteEnum : NearCompeteEnum.values()) {
if (nearCompeteEnum.getCode().equals(code)) {
return nearCompeteEnum;
}
}
return null;
}
}

View File

@@ -0,0 +1,58 @@
package com.cool.store.enums.point;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: NearRepastEnum
* @Description:周边(100m内)餐饮店
* @date 2024-03-26 16:08
*/
public enum NearNeighborEnum {
//1.小业态品牌店3家以上 2.小业态普通店3家以上 3.普通小业态店3家以下 4.无小业态店
NEAR_NEIGHBOR_1(1, "小业态品牌店3家以上", 4),
NEAR_NEIGHBOR_2(2, "小业态普通店3家以上", 2),
NEAR_NEIGHBOR_3(3, "普通小业态店3家以下", 1),
NEAR_NEIGHBOR_4(4, "无小业态店", 1),
;
private Integer code;
private String desc;
private Integer score;
NearNeighborEnum(Integer code, String desc, Integer score) {
this.code = code;
this.desc = desc;
this.score = score;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Integer getScore() {
return score;
}
public static NearNeighborEnum getByCode(Integer code) {
if(Objects.isNull(code)){
return null;
}
for (NearNeighborEnum nearNeighborEnum : NearNeighborEnum.values()) {
if (nearNeighborEnum.getCode().equals(code)) {
return nearNeighborEnum;
}
}
return null;
}
}

Some files were not shown because too many files have changed in this diff Show More