1.一次性任务取消
This commit is contained in:
@@ -1,125 +0,0 @@
|
||||
package com.sqx.once;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.sqx.modules.app.dao.UserDao;
|
||||
import com.sqx.modules.app.dao.UserMoneyDao;
|
||||
import com.sqx.modules.app.dao.UserMoneyDetailsDao;
|
||||
import com.sqx.modules.app.service.InviteAchievementService;
|
||||
import com.sqx.modules.app.service.UserService;
|
||||
import com.sqx.modules.job.task.TempOrdersTask;
|
||||
import com.sqx.modules.orders.entity.Orders;
|
||||
import com.sqx.modules.orders.service.OrdersService;
|
||||
import com.sqx.modules.pay.dao.CashOutDao;
|
||||
import com.sqx.modules.pay.dao.PayDetailsDao;
|
||||
import com.sqx.modules.pay.entity.CashOut;
|
||||
import com.sqx.modules.pay.entity.PayDetails;
|
||||
import com.sqx.modules.pay.service.PayDetailsService;
|
||||
import com.sqx.modules.pay.wuyou.BaseResp;
|
||||
import com.sqx.modules.pay.wuyou.WuyouPay;
|
||||
import com.sqx.modules.sys.service.SysUserService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Component
|
||||
public class OneTimeTaskListener implements ApplicationListener<ApplicationReadyEvent> {
|
||||
|
||||
final ApplicationContext applicationContext;
|
||||
final UserService userService;
|
||||
final TempOrdersTask tempOrdersTask;
|
||||
final InviteAchievementService inviteAchievementService;
|
||||
final PayDetailsService payDetailsService;
|
||||
final PayDetailsDao payDetailsDao;
|
||||
final UserMoneyDetailsDao userMoneyDetailsDao;
|
||||
final UserMoneyDao userMoneyDao;
|
||||
|
||||
private final OrdersService ordersService;
|
||||
private final WuyouPay wuyouPay;
|
||||
private Logger logger = LoggerFactory.getLogger(getClass());
|
||||
private final CashOutDao cashOutDao;
|
||||
|
||||
public OneTimeTaskListener(ApplicationContext applicationContext, UserService userService, TempOrdersTask tempOrdersTask, InviteAchievementService inviteAchievementService, PayDetailsService payDetailsService, PayDetailsDao payDetailsDao, UserMoneyDetailsDao userMoneyDetailsDao, UserMoneyDao userMoneyDao, OrdersService ordersService, WuyouPay wuyouPay, CashOutDao cashOutDao) {
|
||||
this.applicationContext = applicationContext;
|
||||
this.userService = userService;
|
||||
this.tempOrdersTask = tempOrdersTask;
|
||||
this.inviteAchievementService = inviteAchievementService;
|
||||
this.payDetailsService = payDetailsService;
|
||||
this.payDetailsDao = payDetailsDao;
|
||||
this.userMoneyDetailsDao = userMoneyDetailsDao;
|
||||
this.userMoneyDao = userMoneyDao;
|
||||
this.ordersService = ordersService;
|
||||
this.wuyouPay = wuyouPay;
|
||||
this.cashOutDao = cashOutDao;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onApplicationEvent(ApplicationReadyEvent event) {
|
||||
System.out.println("应用启动完成后执行一次性方法");
|
||||
// 这里可以放置你的业务逻辑
|
||||
|
||||
List<PayDetails> payDetailsList = payDetailsDao.selectList(new LambdaQueryWrapper<PayDetails>()
|
||||
.eq(PayDetails::getState, 0)
|
||||
.between(PayDetails::getCreateTime, "2025-01-06 15:45:00", "2025-01-06 15:55:00"));
|
||||
for (PayDetails details : payDetailsList) {
|
||||
logger.info("开始处理: {}", details.getId());
|
||||
try {
|
||||
BaseResp baseResp = wuyouPay.queryOrder(details.getThirdOrderNo(), details.getMoney().toString(), "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1 Edg/131.0.0.0");
|
||||
logger.info("baseResp:{} ", JSONUtil.toJsonStr(baseResp));
|
||||
if (baseResp.getCode() == null || baseResp.getCode() != 200) {
|
||||
logger.info("code错误跳过");
|
||||
continue;
|
||||
}
|
||||
Orders orders = ordersService.getOne(new LambdaQueryWrapper<Orders>()
|
||||
.eq(Orders::getOrdersNo, details.getOrderId()));
|
||||
if ("SUCCESS".equals(baseResp.getPayStatus()) || "SUCCESS".equals(baseResp.getPayStatus2())) {
|
||||
logger.info("payDetails:{} ", JSONUtil.toJsonStr(details));
|
||||
logger.info("order:{} ", JSONUtil.toJsonStr(orders));
|
||||
tempOrdersTask.updateOrderStatus(details, orders);
|
||||
} else {
|
||||
logger.info("订单未支付,修改状态: {}", details.getTradeNo());
|
||||
if (orders != null) {
|
||||
orders.setStatus(3);
|
||||
ordersService.update(orders, new LambdaQueryWrapper<Orders>()
|
||||
.eq(Orders::getOrdersId, orders.getOrdersId()).eq(Orders::getUserId, orders.getUserId()));
|
||||
}
|
||||
details.setState(2);
|
||||
payDetailsDao.update(details, new LambdaQueryWrapper<PayDetails>()
|
||||
.eq(PayDetails::getId, details.getId()).eq(PayDetails::getUserId, details.getUserId()));
|
||||
}
|
||||
}catch (Exception e) {
|
||||
logger.error("", e);
|
||||
}
|
||||
}
|
||||
|
||||
List<CashOut> cashOutList = cashOutDao.selectList(new LambdaQueryWrapper<CashOut>()
|
||||
.eq(CashOut::getState, 0)
|
||||
.isNull(CashOut::getOutAt)
|
||||
.between(CashOut::getCreateAt, "2025-01-06 15:45:00", "2025-01-06 15:55:00"));
|
||||
for (CashOut cashOut : cashOutList) {
|
||||
logger.info("处理体现订单: {}", cashOut.getId());
|
||||
try {
|
||||
BaseResp baseResp = wuyouPay.queryExtractOrder(cashOut.getOrderNumber(), cashOut.getMoney());
|
||||
logger.info("baseResp:{} ", JSONUtil.toJsonStr(baseResp));
|
||||
if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))){
|
||||
logger.info("success:{} ", cashOut.getOrderNumber());
|
||||
cashOut.setState(1);
|
||||
cashOut.setOutAt(DateUtil.now());
|
||||
cashOut.setRefund(null);
|
||||
cashOut.setOutAt(DateUtil.now());
|
||||
cashOutDao.updateById(cashOut);
|
||||
}
|
||||
}catch (Exception e) {
|
||||
logger.error("", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user