初始化天卡开放平台后端项目
包含完整功能模块: - 设备激活(直销激活码模式 + 代销免激活码模式) - 微信支付 + 天卡订单 - 天卡池管理 + 异步橘视厅SDK激活 - 第三方合作伙伴接口(代销模式) - 签名鉴权(appKey/appSecret + nonce防重放) - 天卡消耗(事务 + 幂等 + 并发控制) - 媒资接口(三级授权过滤) - 审计日志 - 定价策略(3层:门店 > 渠道 > 平台) - 分账(微信分账 + 分润规则) - Docker部署(含Redis容器)
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
package io.as.modules.daycard.task;
|
||||
|
||||
import io.as.modules.daycard.service.DayCardOrderService;
|
||||
import io.as.modules.job.task.ITask;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 天卡激活失败补偿定时任务
|
||||
* <p>定时扫描 activate_status=FAILED 的卡,重新激活</p>
|
||||
*/
|
||||
@Component("dayCardActivateRetryTask")
|
||||
public class DayCardActivateRetryTask implements ITask {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(DayCardActivateRetryTask.class);
|
||||
|
||||
@Autowired
|
||||
private DayCardOrderService dayCardOrderService;
|
||||
|
||||
@Override
|
||||
public void run(String params) {
|
||||
logger.info("天卡激活失败补偿任务开始执行, params={}", params);
|
||||
try {
|
||||
int retried = dayCardOrderService.retryFailedActivations();
|
||||
logger.info("天卡激活失败补偿任务执行完毕, 重试激活数={}", retried);
|
||||
} catch (Exception e) {
|
||||
logger.error("天卡激活失败补偿任务执行异常", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package io.as.modules.daycard.task;
|
||||
|
||||
import io.as.modules.daycard.service.DayCardOrderService;
|
||||
import io.as.modules.job.task.ITask;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 天卡订单超时取消定时任务
|
||||
* <p>定时扫描状态为 CREATED 且已过期的天卡订单,逐个取消并释放预留的卡</p>
|
||||
*/
|
||||
@Component("dayCardOrderTimeoutTask")
|
||||
public class DayCardOrderTimeoutTask implements ITask {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(DayCardOrderTimeoutTask.class);
|
||||
|
||||
@Autowired
|
||||
private DayCardOrderService dayCardOrderService;
|
||||
|
||||
@Override
|
||||
public void run(String params) {
|
||||
logger.info("天卡订单超时取消任务开始执行, params={}", params);
|
||||
try {
|
||||
int cancelled = dayCardOrderService.cancelTimeoutOrders();
|
||||
logger.info("天卡订单超时取消任务执行完毕, 取消订单数={}", cancelled);
|
||||
} catch (Exception e) {
|
||||
logger.error("天卡订单超时取消任务执行异常", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package io.as.modules.daycard.task;
|
||||
|
||||
import io.as.modules.daycard.service.ProfitSharingExecuteService;
|
||||
import io.as.modules.job.task.ITask;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 分账兜底查询定时任务
|
||||
* <p>定时扫描状态为 PENDING 或 FAILED 且超过5分钟的分账单,逐条重试</p>
|
||||
*/
|
||||
@Component("profitSharingQueryTask")
|
||||
public class ProfitSharingQueryTask implements ITask {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(ProfitSharingQueryTask.class);
|
||||
|
||||
@Autowired
|
||||
private ProfitSharingExecuteService profitSharingExecuteService;
|
||||
|
||||
@Override
|
||||
public void run(String params) {
|
||||
logger.info("分账兜底查询任务开始执行, params={}", params);
|
||||
try {
|
||||
profitSharingExecuteService.retryFailed();
|
||||
logger.info("分账兜底查询任务执行完毕");
|
||||
} catch (Exception e) {
|
||||
logger.error("分账兜底查询任务执行异常", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user