| | |
| | | public static final String OP_INSURANCE_RATE = "INSURANCE_RATE"; |
| | | public static final String OP_ORDER_ACCEPT_LIMIT = "ORDER_ACCEPT_LIMIT"; |
| | | public static final String OP_AUTO_CONFIRM_RECEIPT = "AUTO_CONFIRM_RECEIPT"; |
| | | public static final String OP_NO_GRAB_NOTIFY_TIME = "NO_GRAB_NOTIFY_TIME"; |
| | | public static final String OP_NO_GRAB_NOTIFY_USERS = "NO_GRAB_NOTIFY_USERS"; |
| | | public static boolean WORKORDER_SHE_EMAIL_SENDING = false; |
| | | public static boolean DEALING_COMPANY_SYNC = false ; |
| | | public static boolean DEALING_MEMBER_SYNC = false ; |
| | |
| | | |
| | | public final static String GOODS_ORDER_CREATE_LOCK = "goods:order:create:lock:"; |
| | | |
| | | // 订单日志操作类型 |
| | | public static final int ORDER_LOG_DISPATCH = 1; // 派单 |
| | | public static final int ORDER_LOG_URGENT_FEE = 2; // 加急费 |
| | | public static final int ORDER_LOG_ASSIGN_DRIVER = 3; // 指派司机 |
| | | public static final int ORDER_LOG_CANCEL = 4; // 取消订单 |
| | | public static final int ORDER_LOG_CONFIRM_ARRIVE = 5; // 确认顾客到店 |
| | | public static final int ORDER_LOG_DRIVER_PICKUP = 6; // 司机完成取件 |
| | | |
| | | public static final String SUCCESS = "SUCCESS"; |
| | | public static final String FAIL = "FAIL"; |
| | |
| | | LABOR_CONTRACT(11, "有效劳动合同"), |
| | | ORDER_FILE(12,"下单图片"), |
| | | STORE_OUT(13,"门店出库图片"), |
| | | REFUND_TAKE(14,"退款取件图片") |
| | | |
| | | REFUND_TAKE(14,"退款取件图片"), |
| | | COMMENT_ATTACH(15,"评价附件图片") |
| | | ; |
| | | |
| | | private final int key; |
| | |
| | | @Getter |
| | | @AllArgsConstructor |
| | | public enum OrderLogType { |
| | | urgent(0, "平台加急", "平台加急,奖励金 {param} 元。"), |
| | | dispatch(1, "平台指派", "平台指派司机 {param} 接单。") |
| | | urgent(2, "平台加急", "平台加急,奖励金【{param}】元"), |
| | | assignDriver(3, "平台指派", "平台指派司机【{param}】接单,奖励金【{param1}】元"), |
| | | memberCancel(4, "会员取消订单", "{param}"), |
| | | driverCancel(4, "司机取消订单", "{param}"), |
| | | systemCancel(4, "系统自动取消", "{param}"), |
| | | systemComplete(4, "系统自动完成", "{param}"), |
| | | memberCancelToConvert(4, "会员取消异地寄存", "{param}"), |
| | | shopDeposit(8, "门店确认寄存", "门店【{param}】确认寄存"), |
| | | shopTake(9, "门店确认取件", "门店【{param}】确认取件,订单完成"), |
| | | shopOutStock(10, "门店确认出库", "{param}"), |
| | | shopConfirmArriveOverdue(5, "确认顾客到店(逾期)", "{param}"), |
| | | shopConfirmArrive(5, "确认顾客到店", "{param}"), |
| | | driverGrab(6, "司机抢单", "司机【{param}】抢单成功"), |
| | | driverPickup(6, "司机完成取件", "司机【{param}】完成取件,开始派送"), |
| | | driverDeliver(7, "司机确认送达", "{param}"), |
| | | ; |
| | | private int status; |
| | | private String title; |
| | | private String statusInfo; |
| | | private final int status; |
| | | private final String title; |
| | | private final String statusInfo; |
| | | |
| | | public String format(String... params) { |
| | | String result = statusInfo; |
| | | if (params != null && params.length > 0) { |
| | | result = result.replace("{param}", params[0] != null ? params[0] : ""); |
| | | } |
| | | for (int i = 1; i < params.length; i++) { |
| | | result = result.replace("{param" + i + "}", params[i] != null ? params[i] : ""); |
| | | } |
| | | return result; |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | arrived(5, "已到店/已送达/待取件"), |
| | | overdue(6, "存在逾期"), //弃用 |
| | | finished(7, "已完成"), |
| | | closed(96, "订单关闭(退款)"), |
| | | cancelOverdue(97, "取消逾期"), //弃用 |
| | | cancelling(98, "取消中"), |
| | | cancelled(99, "已取消") |
| | | ; |
| | | private final int status; |
| | |
| | | return null; |
| | | } |
| | | |
| | | public static String getDescByKey(int index) { |
| | | public static String getDescByKey(int index,int type) { |
| | | for (OrderStatus c : OrderStatus.values()) { |
| | | if (c.getKey() == index) { |
| | | if (c.getKey() == 5) { |
| | | if(Constants.equalsInteger(type,Constants.ZERO)){ |
| | | return "待取件"; |
| | | }else{ |
| | | return Constants.equalsInteger(type,Constants.ONE)?"已到店":"已送达"; |
| | | } |
| | | } |
| | | return c.getValue(); |
| | | } |
| | | } |
| | |
| | | waitDeliver(2, "待配送", new int[]{OrderStatus.accepted.status}), |
| | | waitReceive(3, "待收货", new int[]{ OrderStatus.delivering.status, OrderStatus.arrived.status}), |
| | | finished(4, "已完成", new int[]{OrderStatus.finished.status}), |
| | | refund(5, "退款", new int[]{OrderStatus.closed.status, OrderStatus.cancelling.status}), |
| | | refund(5, "退款", new int[]{OrderStatus.cancelled.status}), |
| | | home(6, "首页查询", new int[]{OrderStatus.waitPay.status, OrderStatus.waitDeposit.status, OrderStatus.deposited.status |
| | | , OrderStatus.accepted.status, OrderStatus.delivering.status, OrderStatus.arrived.status}) |
| | | ; |
| | |
| | | WAIT_PAY("waitPay", "订单待支付", "您的行李订单:{orderNo}已创建,请在{timeout}分钟内完成支付,超时将自动取消"), |
| | | WAIT_VERIFY("waitVerify", "订单待核验", "您的行李订单:{orderNo}已提交,等待门店核验物品信息,存件码{storeCode}"), |
| | | WAIT_GRAB("waitGrab", "订单待抢单", "您的行李订单:{orderNo}已核验,正在为您安排取件司机"), |
| | | WAIT_PICKUP_REMIND("waitPickupRemind", "订单待取件", "订单{orderNo}行李已寄存,请记得在预约取件时间凭取件码前往指定门店取回"), |
| | | WAIT_PICKUP_GRABBED("waitPickupGrabbed", "订单已抢单", "您的行李订单:已有司机{driverName}抢单,正前往取件地点"), |
| | | WAIT_PICKUP_REMIND("waitPickupRemind", "订单待取件", "您的行李订单:{orderNo}已寄存,请记得在预约取件时间凭取件码前往{shopName}门店取回"), |
| | | WAIT_PICKUP_GRABBED("waitPickupGrabbed", "订单已抢单", "您的行李订单:{orderNo}已有司机{driverName}抢单,正前往取件地点"), |
| | | DELIVERING("delivering", "订单配送中", "您的行李订单:{orderNo}已由司机{driverName}取件,正运往目的地"), |
| | | ARRIVED_NO_SHOP("arrivedNoShop", "订单已送达", "您的行李订单:{orderNo}已送达{destination},请及时确认收货"), |
| | | ARRIVED_HAS_SHOP("arrivedHasShop", "订单已送达", "您的行李订单:{orderNo}已送达{destination},请及时取件,取件码{pickupCode}"), |
| | |
| | | WAIT_PICKUP("waitPickup", "订单待取件", "行李订单:{orderNo}已抢单,等待{name}取件"), |
| | | REFUNDING("refunding", "订单退款中", "行李订单:{orderNo}用户提交退款申请,请知悉"), |
| | | DELIVERING("delivering", "订单配送中", "行李订单:{orderNo}已由司机{driverName}取件,正在配送中"), |
| | | ARRIVED("arrived", "已送达", "行李订单:{orderNo}已送达{destination},请联系用户确认签收"), |
| | | ARRIVED("arrived", "订单已送达", "行李订单:{orderNo}已送达{destination},请联系用户确认签收"), |
| | | FINISHED("finished", "订单已完成", "行李订单:{orderNo}已完成,相关订单结算会在{settleDays}个工作日内完成"), |
| | | EVALUATED("evaluated", "订单已评价", "行李订单:{orderNo}用户已完成评价,可查看评价内容"), |
| | | SETTLED("settled", "订单结算", "行李订单:{orderNo}平台已完成结算,金额为{amount}元,请注意查收。") |
| | |
| | | } |
| | | |
| | | /** |
| | | * 司机订单站内信通知枚举 |
| | | * title: 通知标题 |
| | | * content: 通知文案模板,占位符用 {xxx} 表示 |
| | | */ |
| | | @Getter |
| | | @AllArgsConstructor |
| | | public enum DriverOrderNotify { |
| | | WAIT_DELIVER("waitDeliver", "订单待配送", "您已抢单成功,行李订单:{orderNo}请按时到{shopName}取件"), |
| | | DELIVERING("delivering", "订单配送中", "行李订单:{orderNo}已取件,正在配送中,请按时送达"), |
| | | ARRIVED("arrived", "订单已送达", "行李订单:{orderNo}已送达{destination},请联系用户确认签收"), |
| | | FINISHED("finished", "订单已完成", "行李订单:{orderNo}已完成,相关订单结算会在{settleDays}个工作日内结算"), |
| | | EVALUATED("evaluated", "订单已评价", "行李订单:{orderNo}用户已完成评价,可前往订单查看评价内容"), |
| | | REFUNDING("refunding", "订单退款中", "行李订单:{orderNo}用户已提交退款申请,该订单任务已取消,请勿前往。"), |
| | | SETTLED("settled", "订单已结算", "行李订单:{orderNo}平台已完成结算,金额为{amount}元,请注意查收。"), |
| | | CANCELLED("cancelled", "订单取消成功", "行李订单:{orderNo}已帮您取消,您今日还可主动取消{cancelLimit}次订单,请合理安排接单。") |
| | | ; |
| | | |
| | | private final String key; |
| | | private final String title; |
| | | private final String content; |
| | | |
| | | /** |
| | | * 格式化通知内容 |
| | | * @param params 键值对,如 "orderNo","123" 交替传入 |
| | | */ |
| | | public String format(String... params) { |
| | | String result = this.content; |
| | | for (int i = 0; i < params.length - 1; i += 2) { |
| | | result = result.replace("{" + params[i] + "}", params[i + 1]); |
| | | } |
| | | return result; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 短信通知模板枚举 |
| | | * templateCode: 阿里云短信模板Code |
| | | * content: 短信文案模板,占位符用 {xxx} 表示 |
| | | */ |
| | | @Getter |
| | | @AllArgsConstructor |
| | | public enum SmsNotify { |
| | | PLATFORM_WAIT_GRAB("SMS_505790009", "平台端-待抢单", "您好,订单:{orderNo}已超过{time}分钟无司机抢单,请尽快加急派单,避免客户过久等待。"), |
| | | SHOP_REFUNDING("SMS_505900008", "门店端-退款中", "行李订单:{orderNo}客户已提交退款申请,请尽快处理。"), |
| | | SHOP_WAIT_VERIFY("SMS_505925004", "门店端-待核验", "新行李订单:{orderNo}客户已支付,请尽快核验用户物品信息。"), |
| | | DRIVER_REFUNDING("SMS_505795005", "司机端-退款中", "行李订单:{orderNo}用户已提交退款申请,该订单任务已取消,请勿前往。"), |
| | | DRIVER_WAIT_PICKUP("SMS_505650038", "司机端-待取件", "您已抢单成功,订单{orderNo},请按时到{address}取件。"), |
| | | MEMBER_CANCELLED("SMS_505605028", "会员端-已取消", "您的行李订单:{orderNo}已取消,感谢您的支持,欢迎下次再会。"), |
| | | MEMBER_REFUNDED("SMS_505920002", "会员端-已退款", "您的行李订单:{orderNo}退款已完成,金额{money}元将原路退回,请注意查收。"), |
| | | MEMBER_ARRIVED("SMS_505875004", "会员端-已送达", "您的行李订单:{orderNo}已送到{address},请及时取件,取件码:{code}。"), |
| | | MEMBER_DELIVERING("SMS_505935002", "会员端-配送中", "您的行李订单:{orderNo}已由司机{name}取件,正运往目的地。"), |
| | | VERIFY_CODE("SMS_333770877", "验证码短信", "您的验证码为:{code},请勿泄露于他人!"), |
| | | DRIVER_AUTH_REJECTED("SMS_505790115", "司机端-司机认证被拒绝", "尊敬的{driver},很遗憾,您的司机认证未通过审核。原因:{reason}。您可修改资料后重新提交。"), |
| | | DRIVER_AUTH_APPROVED("SMS_505885083", "司机端-司机认证通过", "尊敬的{driver},恭喜您已通过平台司机认证审核。您可登录司机端APP开始接单,配送过程中请注意安全,祝您接单顺利!"), |
| | | DRIVER_URGENT_DISPATCH("SMS_505885082", "司机端-加急派单", "您好,您有一个新的行李订单(编号:{orderNo})。起点:{address1},终点:{address2},配送费{money1}元(含加急费{money2}元)。请尽快确认订单任务。"), |
| | | SHOP_AUTH_REJECTED("SMS_505925106", "门店端-资料审核被拒绝", "很遗憾,您的门店\"{storeName}\"未通过审核,原因:{reason},您可修改资料后重新提交。"), |
| | | SHOP_AUTH_APPROVED_DEPOSIT("SMS_505705111", "门店端-审核通过需缴纳押金", "恭喜您!您的门店\"{storeName}\"已通过初步审核。请支付押金{money}元以完成入驻,支付后即可登录门店后台正式接单。"), |
| | | SHOP_AUTH_SUCCESS("SMS_505810110", "门店端-成功入驻通知", "恭喜您!您的门店\"{storeName}\"已通过平台审核,正式入驻成功。您可登录商家后台开始接单,账号:{phone},初始密码:{password}(建议首次登录后修改)。"), |
| | | ; |
| | | |
| | | private final String templateCode; |
| | | private final String title; |
| | | private final String content; |
| | | |
| | | public String format(String... params) { |
| | | String result = this.content; |
| | | for (int i = 0; i < params.length - 1; i += 2) { |
| | | result = result.replace("{" + params[i] + "}", params[i + 1]); |
| | | } |
| | | return result; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 得到request对象 |
| | | * |
| | | * @return |