From c8b503726415980e5fa9a5ffc0e4e751eb7466e9 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 01 八月 2025 11:45:53 +0800 Subject: [PATCH] 新增加三方业务流程代码 --- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java | 231 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 138 insertions(+), 93 deletions(-) diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java index 6acb4b2..c04c6f3 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java @@ -11,14 +11,18 @@ import com.stylefeng.guns.modular.system.service.IUserCouponRecordService; import com.stylefeng.guns.modular.system.service.IUserInfoService; import com.stylefeng.guns.modular.system.service.IUserMerchantCouponService; +import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; import com.stylefeng.guns.modular.system.util.qianyuntong.SMSUtil; -import com.stylefeng.guns.modular.system.util.qianyuntong.model.SendSmsRequest; +import com.stylefeng.guns.modular.system.util.qianyuntong.model.*; import com.stylefeng.guns.modular.taxi.model.OrderTaxi; import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -27,98 +31,139 @@ /** * 定时任务工具类 */ +@Slf4j @Component public class TaskUtil { - - @Autowired - private IUserCouponRecordService userCouponRecordService; - - @Autowired - private IUserMerchantCouponService userMerchantCouponService; - - @Autowired - private AppOrderController appOrderController; - - @Autowired - private IOrderPrivateCarService orderPrivateCarService; - - - @Autowired - private IOrderCrossCityService orderCrossCityService; - - @Autowired - private IOrderLogisticsService orderLogisticsService; - - @Autowired - private IOrderTaxiService orderTaxiService; - - @Autowired - private ChinaMobileUtil chinaMobileUtil; - - @Autowired - private IUserInfoService userInfoService; - - - - /** - * 每隔一分钟去处理的定时任务 - */ - @Scheduled(fixedRate = 1000 * 60) - public void taskMinute(){ - try { - //修改过期的优惠券 - userCouponRecordService.updateTimeOut(); - //修改过期的商家优惠券 - userMerchantCouponService.updateExpired(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - - /** - * 每天的凌晨执行的任务 - */ - @Scheduled(fixedRate = 1000 * 60) - public void taskDay(){ - } - - - - /** - * 每天中午12点发送提醒短信 - */ - @Scheduled(cron = "0 0 12 * * ?") - public void taskMonth(){ - try { - List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("isDelete", 1) - .eq("state", 7).eq("abnormal", 1) - .last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)")); - for (OrderPrivateCar orderPrivateCar : orderPrivateCars) { - UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId()); - SendSmsRequest request = new SendSmsRequest(); - request.setDestAddress(userInfo.getPhone()); - request.setTemplateId("TPL202507300002"); - Map<String, String> templateParams = new HashMap<>(); - request.setTemplateParams(templateParams); - request.setSpId("Y86asr7J"); - SMSUtil.sendSms(request); - } - List<OrderTaxi> orderTaxis = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("isDelete", 1) - .eq("state", 7).eq("abnormal", 1) - .last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)")); - for (OrderTaxi orderTaxi : orderTaxis) { - UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId()); - SendSmsRequest request = new SendSmsRequest(); - request.setDestAddress(userInfo.getPhone()); - request.setTemplateId("TPL202507300002"); - Map<String, String> templateParams = new HashMap<>(); - request.setTemplateParams(templateParams); - request.setSpId("Y86asr7J"); - SMSUtil.sendSms(request); - } - }catch (Exception e){ - e.printStackTrace(); - } - } + + @Autowired + private IUserCouponRecordService userCouponRecordService; + + @Autowired + private IUserMerchantCouponService userMerchantCouponService; + + @Autowired + private AppOrderController appOrderController; + + @Autowired + private IOrderPrivateCarService orderPrivateCarService; + + + @Autowired + private IOrderCrossCityService orderCrossCityService; + + @Autowired + private IOrderLogisticsService orderLogisticsService; + + @Autowired + private IOrderTaxiService orderTaxiService; + + @Autowired + private ChinaMobileUtil chinaMobileUtil; + + @Autowired + private IUserInfoService userInfoService; + + + /** + * 每隔一分钟去处理的定时任务 + */ + @Scheduled(fixedRate = 1000 * 60) + public void taskMinute() { + try { + //修改过期的优惠券 + userCouponRecordService.updateTimeOut(); + //修改过期的商家优惠券 + userMerchantCouponService.updateExpired(); + //处理超时未支付的订单 + + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 每天的凌晨执行的任务 + */ + @Scheduled(fixedRate = 1000 * 60) + public void taskDay() { + } + + + /** + * 每天中午12点发送提醒短信 + */ + @Scheduled(cron = "0 0 12 * * ?") + public void taskMonth() { + try { + List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("isDelete", 1) + .eq("state", 7).eq("abnormal", 1) + .last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)")); + for (OrderPrivateCar orderPrivateCar : orderPrivateCars) { + UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId()); + SendSmsRequest request = new SendSmsRequest(); + request.setDestAddress(userInfo.getPhone()); + request.setTemplateId("TPL202507300002"); + Map<String, String> templateParams = new HashMap<>(); + request.setTemplateParams(templateParams); + request.setSpId("Y86asr7J"); + SMSUtil.sendSms(request); + } + List<OrderTaxi> orderTaxis = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("isDelete", 1) + .eq("state", 7).eq("abnormal", 1) + .last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)")); + for (OrderTaxi orderTaxi : orderTaxis) { + UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId()); + SendSmsRequest request = new SendSmsRequest(); + request.setDestAddress(userInfo.getPhone()); + request.setTemplateId("TPL202507300002"); + Map<String, String> templateParams = new HashMap<>(); + request.setTemplateParams(templateParams); + request.setSpId("Y86asr7J"); + SMSUtil.sendSms(request); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 大于24小时未支付的订单 + */ + public void timoutNoPayment() { + List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("state", 7) + .eq("isDelete", 1).eq("recoveryOrder", 0).last(" and now() >= DATE_ADD(insertTime, INTERVAL 24 HOUR)")); + for (OrderPrivateCar orderPrivateCar : orderPrivateCars) { + //使用备付金进行支付订单 + TradePayOffData tradePayOffData = new TradePayOffData(); + tradePayOffData.setPartnerPayId("PR" + orderPrivateCar.getId()); + tradePayOffData.setTotalFee(Double.valueOf(orderPrivateCar.getOrderMoney() * 100).intValue() + ""); + tradePayOffData.setOrderDesc("完成订单"); + PayInfo payInfo = OrderUtil.tradePayOff(tradePayOffData); + String retCode = payInfo.getRetCode(); + if(!"000000".equals(retCode)){ + log.error("备付金支付失败:{}", payInfo.getRetMsg()); + continue; + } + PayInfoData data = payInfo.getData(); + String status = data.getStatus(); + if("3".equals(status)){ + log.error("备付金支付失败:{}", payInfo.getRetMsg()); + continue; + } + //copy原始订单后生成追缴单 + OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar(); + BeanUtils.copyProperties(orderPrivateCar, orderPrivateCar1); + orderPrivateCar1.setId(null); + orderPrivateCar1.setRecoveryOrder(1); + + //修改原始订单为支付状态 + orderPrivateCar.setState(8); + orderPrivateCar.setPayType(5); + orderPrivateCar.setPayMoney(orderPrivateCar.getOrderMoney()); + orderPrivateCarService.updateById(orderPrivateCar); + orderPrivateCarService.insert(orderPrivateCar1); + } + } } -- Gitblit v1.7.1