Merge #99 into master from cc_20260408_close_up
feat:歇业管理
* cc_20260408_close_up: (18 commits squashed)
- fix:歇业管理(部分)
- fix:歇业管理(部分)
- fix:审批逻辑修改;拒绝审批实现
- fix:恢复开业申请及审批
- fix:主流程补充
- fix:主流程补充
- fix:字段补充及逻辑修改
- fix:字段补充
- fix
- fix:平台处理新增字段
- fix
- Merge remote-tracking branch 'origin/cc_20260408_close_up' into cc_20260408_close_up
- fix:歇业营业发送短信
- fix:排序
- fix:详情接口新增加盟商手机号字段;申请单日期和已有申请单存在交集时申请失败
- fix:申请单详情接口新增品牌字段
- fix:新增列表筛选条件;审批单状态校验
- Merge branch 'master' into cc_20260408_close_up
# Conflicts:
#	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
Signed-off-by: 王非凡 <accounts_67eba0c5fee9c49c80c8e2b4@mail.teambition.com>
Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>
CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/99
This commit is contained in:
@@ -478,6 +478,18 @@ public enum ErrorCodeEnum {
|
||||
|
||||
IP_LIMIT(1840000, "IP访问次数超限", null),
|
||||
|
||||
|
||||
CLOSE_UP_CLOSED_DOWN(1840000, "门店已歇业", null),
|
||||
CLOSE_UP_ONLY_SUPPORT_OPEN(1840001, "仅支持在营门店发起歇业申请", null),
|
||||
CLOSE_UP_EXIST_ONGOING_RECORD(18400002,"该日期下当前门店有进行中的申请,请确认!",null),
|
||||
CLOSE_UP_AUDIT_RECORD_NOT_EXIST(1840003, "审批记录不存在", null),
|
||||
CLOSE_UP_FORM_NOT_EXIST(1840004, "申请单不存在", null),
|
||||
CLOSE_UP_AUDIT_ACCESS_DENIED(1840005, "无权限审批", null),
|
||||
CLOSE_UP_STORE_OPEN(1840006, "门店已营业", null),
|
||||
CLOSE_UP_ONLY_SUPPORT_CLOSE_UP(1840007, "仅支持歇业门店发起营业申请", null),
|
||||
CLOSE_UP_CLOSED_AUDIT_NOT_PASS(1840008, "歇业申请未通过", null),
|
||||
CLOSE_UP_EXIST_OPEN_APPLY(1840009, "该歇业申请单已存在开业申请", null),
|
||||
CLOSE_UP_APPROVED(1840010, "该申请单已审批", null),
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ public enum RocketMqGroupEnum {
|
||||
STORE_MASTER_ISSUE("store_master_issue", new ArrayList<>(Arrays.asList(RocketMqTagEnum.STORE_MASTER_ISSUE))),
|
||||
VISIT_RECORD_INVALID("visit_record_invalid", new ArrayList<>(Arrays.asList(RocketMqTagEnum.VISIT_RECORD_INVALID))),
|
||||
TP_PENALTY_APPEAL_OVERDUE("tp_penalty_appeal_overdue", new ArrayList<>(Arrays.asList(RocketMqTagEnum.TP_PENALTY_APPEAL_OVERDUE))),
|
||||
CLOSE_UP_APPLY_STORE_UPDATE("close_up_apply_store_update", new ArrayList<>(Arrays.asList(RocketMqTagEnum.CLOSE_UP_APPLY_STORE_UPDATE))),
|
||||
;
|
||||
|
||||
private final String group;
|
||||
|
||||
@@ -23,6 +23,7 @@ public enum RocketMqTagEnum {
|
||||
STORE_MASTER_ISSUE("store_master_issue","门店主数据下发"),
|
||||
VISIT_RECORD_INVALID("visit_record_invalid", "拜访记录失效"),
|
||||
TP_PENALTY_APPEAL_OVERDUE("tp_penalty_appeal_overdue", "十二分惩处单复议逾期"),
|
||||
CLOSE_UP_APPLY_STORE_UPDATE("close_up_apply_store_update", "歇业申请修改门店状态"),
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 短信通知模板
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/13
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum SmsNoticeTypeEnum {
|
||||
CLOSE_UP_CLOSE_NOTICE("SMS_504775487", "歇业通知", SmsSignEnum.ZHENGXIN),
|
||||
CLOSE_UP_OPEN_NOTICE("SMS_504845455", "恢复营业通知", SmsSignEnum.ZHENGXIN),
|
||||
|
||||
;
|
||||
|
||||
private final String templateCode;
|
||||
|
||||
private final String message;
|
||||
|
||||
private final SmsSignEnum smsSign;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 短信签名
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/13
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum SmsSignEnum {
|
||||
|
||||
ZHENGXIN("正新", "正新"),
|
||||
;
|
||||
|
||||
private final String signName;
|
||||
|
||||
private final String message;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.cool.store.enums.closeup;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 歇业开业平台账号
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/8
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum CloseUpPlatformEnum {
|
||||
DOUYINTG("douyintg", "抖音", 0, "https://ossfilezx.coolstore.cn/icon/closeup/douyin.png"),
|
||||
ELEMEWM("elemewm", "饿了么", 0, "https://ossfilezx.coolstore.cn/icon/closeup/ele.png"),
|
||||
HUOMA("huoma", "火码POS", 0, "https://ossfilezx.coolstore.cn/icon/closeup/huoma.png"),
|
||||
JINGDONGWM("jingdongwm", "京东外卖", 0, "https://ossfilezx.coolstore.cn/icon/closeup/jingdong.png"),
|
||||
KUAISHOUTG("kuaishoutg", "快手团购", 0, "https://ossfilezx.coolstore.cn/icon/closeup/kuaishou.png"),
|
||||
MEITUANTG("meituantg", "美团团购", 0, "https://ossfilezx.coolstore.cn/icon/closeup/meituan.png"),
|
||||
MEITUANWM("meituanwm", "美团外卖", 0, "https://ossfilezx.coolstore.cn/icon/closeup/meituanwx.png"),
|
||||
ZHIFUBAO("zhifubao", "支付宝团购", 0, "https://ossfilezx.coolstore.cn/icon/closeup/zhifubao.png"),
|
||||
;
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
private final String code;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private final String name;
|
||||
/**
|
||||
* 关闭类型
|
||||
*/
|
||||
private final Integer type;
|
||||
/**
|
||||
* 图标地址
|
||||
*/
|
||||
private final String icon;
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.cool.store.enums.closeup;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 歇业申请单状态
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/8
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum CloseUpStatusEnum {
|
||||
APPROVAL(1, "审批中"),
|
||||
REJECTED(5, "审批拒绝"),
|
||||
PASS(10, "审批通过"),
|
||||
|
||||
APPLY_OPEN(15, "申请营业中"),
|
||||
APPLY_OPEN_REJECTED(20, "申请营业审批拒绝"),
|
||||
APPLY_OPEN_PASS(25, "申请营业审批通过"),
|
||||
;
|
||||
|
||||
private final Integer status;
|
||||
|
||||
private final String desc;
|
||||
|
||||
public static String getDesc(Integer status) {
|
||||
for (CloseUpStatusEnum value : CloseUpStatusEnum.values()) {
|
||||
if (value.status.equals(status)) {
|
||||
return value.desc;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static boolean unPass(Integer status) {
|
||||
return REJECTED.getStatus().equals(status) || APPROVAL.getStatus().equals(status);
|
||||
}
|
||||
}
|
||||
@@ -53,6 +53,16 @@ public class BeanUtil extends cn.hutool.core.bean.BeanUtil {
|
||||
return newPage;
|
||||
}
|
||||
|
||||
public static <T, R> PageInfo<R> toPage(PageInfo<T> page, List<R> list) {
|
||||
PageInfo<R> newPage = new PageInfo<>();
|
||||
newPage.setPages(page.getPages());
|
||||
newPage.setTotal(page.getTotal());
|
||||
newPage.setPageNum(page.getPageNum());
|
||||
newPage.setPageSize(page.getPageSize());
|
||||
newPage.setList(list);
|
||||
return newPage;
|
||||
}
|
||||
|
||||
public static void copyPropertiesIgnoreId(Object source, Object target, String... ignoreProperties) {
|
||||
if (source == null || target == null) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user