|
@@ -1,5 +1,6 @@
|
|
|
package com.ym.mec.collectfee.controller;
|
|
|
|
|
|
+import com.alibaba.druid.sql.visitor.functions.Now;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.ym.mec.collectfee.common.sms.SmsExample;
|
|
@@ -12,6 +13,8 @@ import com.ym.mec.collectfee.utils.ShortUrlUtil;
|
|
|
import com.ym.mec.collectfee.utils.yqpay.*;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.io.IOUtils;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.core.io.ClassPathResource;
|
|
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
|
@@ -25,6 +28,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import java.io.InputStreamReader;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
|
|
@@ -34,6 +38,7 @@ import java.util.*;
|
|
|
@RequestMapping("yqpay")
|
|
|
@EnableScheduling // 2.开启定时任务
|
|
|
public class YqPayController extends BaseController {
|
|
|
+ protected final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
|
|
|
@Autowired
|
|
|
private YqPayService yqPayService;
|
|
@@ -153,8 +158,6 @@ public class YqPayController extends BaseController {
|
|
|
routingAccount.setHasRouting(HasRouting);
|
|
|
accountService.upByIdAndVersion(routingAccount);
|
|
|
|
|
|
- order.setAmount(new BigDecimal("2")); //测试账户设置金额
|
|
|
-
|
|
|
Map rqMap = orderService.getPayMap(routingAccount, order, school); //获取支付map
|
|
|
|
|
|
return succeed(rqMap);
|
|
@@ -218,8 +221,6 @@ public class YqPayController extends BaseController {
|
|
|
|
|
|
Order order = renewalsService.addRenewalsOrder(renewals, amount, orderNo, pickCourses, routingAccount, remark);
|
|
|
|
|
|
- order.setAmount(new BigDecimal("2")); //测试账户设置金额
|
|
|
-
|
|
|
Map rqMap = orderService.getPayMap(routingAccount, order, null); //获取支付map
|
|
|
return succeed(rqMap);
|
|
|
}
|
|
@@ -347,7 +348,7 @@ public class YqPayController extends BaseController {
|
|
|
*/
|
|
|
@PostMapping("/notify")
|
|
|
public Msg notify(@ModelAttribute Msg msg) throws Exception {
|
|
|
-// log.info(msg.toString());K
|
|
|
+ logger.info(msg.toString());
|
|
|
Map<String, Object> rqMap = new LinkedHashMap<String, Object>();
|
|
|
rqMap.put("code", msg.getCode());
|
|
|
rqMap.put("msg", msg.getMsg());
|
|
@@ -357,8 +358,6 @@ public class YqPayController extends BaseController {
|
|
|
boolean rs = YqPayUtil.verify(rqMap);
|
|
|
msg.setCode("");
|
|
|
msg.setMsg("fail");
|
|
|
- Order order = null;
|
|
|
- NotifyMsg notifyMsg = null;
|
|
|
Map<String, String> notifyMap = new HashMap<>();
|
|
|
if (rs) {
|
|
|
notifyMap = JSON.parseObject(msg.getResponseParameters(), Map.class);
|
|
@@ -377,7 +376,7 @@ public class YqPayController extends BaseController {
|
|
|
}
|
|
|
|
|
|
|
|
|
- @Scheduled(cron = "0/5 * * * * ?")
|
|
|
+ //@Scheduled(cron = "0/5 * * * * ?")
|
|
|
//@RequestMapping("/getOrderStatus")
|
|
|
public void getOrderStatus() throws Exception {
|
|
|
|
|
@@ -474,4 +473,37 @@ public class YqPayController extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ @Scheduled(cron = "0 0/5 * * * ?")
|
|
|
+ public void failOrders() throws Exception {
|
|
|
+ logger.info("test\n");
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ Date now = new Date();
|
|
|
+ long time = 30 * 60 * 1000;
|
|
|
+ Date beforeDate = new Date(now.getTime() - time);
|
|
|
+ List<Order> payingOrders = orderService.findPayingOrdersOver30(beforeDate);
|
|
|
+
|
|
|
+ for (Order order : payingOrders) {
|
|
|
+ HashMap<String, Object> upMap = new HashMap<>();
|
|
|
+ upMap.put("id", order.getId());
|
|
|
+ upMap.put("oldStatus", 1);
|
|
|
+ upMap.put("status", 0);
|
|
|
+
|
|
|
+ //失败减去已收款金额
|
|
|
+ Account account = accountService.get(Integer.parseInt(order.getUAccount()));
|
|
|
+ BigDecimal HasRouting = account.getHasRouting().subtract(order.getAmount());
|
|
|
+ account.setHasRouting(HasRouting);
|
|
|
+ accountService.upByIdAndVersion(account);
|
|
|
+
|
|
|
+ //减去报名人数
|
|
|
+ if (order.getTuiFee() != null) {
|
|
|
+ CourseGroupInfo courseGroupInfo = CourseGroupInfoService.get(order.getGroupId());
|
|
|
+ courseGroupInfo.setRegNum(courseGroupInfo.getRegNum() - 1);
|
|
|
+ CourseGroupInfoService.upByIdAndVersion(courseGroupInfo);
|
|
|
+ }
|
|
|
+ orderService.updateByIdAndStatus(upMap);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|