|
@@ -217,7 +217,7 @@ public class YqPayController extends BaseController {
|
|
|
for (int i = 0; i < courses.size(); i++) {
|
|
|
MecCourse course = courses.get(i);
|
|
|
if (mecCourse4json.getCourseId().equals(course.getCourseId())) {
|
|
|
- BigDecimal price = course.getClassType() == 1 ? course.getPrice().multiply(BigDecimal.valueOf(buyCount)) : mecCourse4json.getPrice();
|
|
|
+ BigDecimal price = course.getClassType() == 1 ? course.getPrice().multiply(BigDecimal.valueOf(buyCount)) : course.getPrice().multiply(BigDecimal.valueOf(course.getBuyCount()));
|
|
|
amount = amount.add(price);
|
|
|
remark += course.getClassName();
|
|
|
} else {
|
|
@@ -290,7 +290,7 @@ public class YqPayController extends BaseController {
|
|
|
*/
|
|
|
//@PostMapping("/query")
|
|
|
//@Scheduled(cron = "0/3 40 11 * * ?")
|
|
|
- public String query(String merOrderNoList) throws Exception {
|
|
|
+ public Object query(String merOrderNoList) throws Exception {
|
|
|
String notifyUrl = ""; //回调地址
|
|
|
Map<String, Object> resultMap = new LinkedHashMap<>();
|
|
|
resultMap.put("merOrderNoList", merOrderNoList);
|
|
@@ -444,4 +444,67 @@ public class YqPayController extends BaseController {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ //@Scheduled(cron = "0/3 40 11 * * ?")
|
|
|
+ @RequestMapping("/getOrderStatus")
|
|
|
+ public void getOrderStatus() throws Exception {
|
|
|
+ List<Order> payingOrders = orderService.findPayingOrders();
|
|
|
+
|
|
|
+ String merOrderNos = ""; //
|
|
|
+
|
|
|
+ for (int i = 0; i < payingOrders.size(); i++) {
|
|
|
+ merOrderNos += payingOrders.get(i).getOrderNo() + ",";
|
|
|
+ }
|
|
|
+ if (merOrderNos.isEmpty()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ merOrderNos = merOrderNos.substring(0, merOrderNos.length() - 1);
|
|
|
+
|
|
|
+ String notifyUrl = ""; //回调地址
|
|
|
+ Map<String, Object> resultMap = new LinkedHashMap<>();
|
|
|
+ resultMap.put("merOrderNoList", merOrderNos);
|
|
|
+ Map<String, Object> requestMap = new YqPayUtil(notifyUrl, resultMap).getRequestMap();
|
|
|
+ Msg queryRs = yqQueryService.orderQuery(requestMap);
|
|
|
+ if (queryRs.getCode().equals("88")) {
|
|
|
+ //更新订单状态
|
|
|
+ String[] statusArr = {"0", "1", "7"};
|
|
|
+ String responseParameters = queryRs.getResponseParameters();
|
|
|
+ List<Map<String, String>> responseList = JSON.parseObject(responseParameters, List.class);
|
|
|
+ for (int i = 0; i < responseList.size(); i++) {
|
|
|
+ Map<String, String> rpMap = responseList.get(i);
|
|
|
+ if (Arrays.asList(statusArr).contains(rpMap.get("tradeState"))) {
|
|
|
+ this.updateOrder(rpMap);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ public void updateOrder(Map<String, String> rpMap) {
|
|
|
+ int status = rpMap.get("tradeState").equals("1") ? 2 : 0;
|
|
|
+ Order order = orderService.getOrderByOrderNo(rpMap.get("merOrderNo"));
|
|
|
+ order.setStatus(status);
|
|
|
+ order.setBank(rpMap.get("channelType"));
|
|
|
+
|
|
|
+ if (order.getPayId() == null) {
|
|
|
+ order.setPayId(rpMap.get("orderNo")); //更新易乾付订单号
|
|
|
+ }
|
|
|
+ if (status == 2) {
|
|
|
+ order.setPay(order.getAmount());
|
|
|
+ order.setPayTime(new Date());
|
|
|
+ //推送mec
|
|
|
+ if(order.getTuiFee() != null){
|
|
|
+ ApplyInfo applyInfo = applyInfoService.get(order.getUserId());
|
|
|
+ applyInfoService.userRegister(applyInfo.getPatriarchPhone()); //推送mec
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //失败减去已收款金额,减去报名人数
|
|
|
+ if (status == 0 && order.getTuiFee() != null) {
|
|
|
+// CourseGroupInfoService.get()
|
|
|
+// courseGroupInfo.setRegNum(courseGroupInfo.getRegNum() + 1);
|
|
|
+ }
|
|
|
+ orderService.update(order);
|
|
|
+ }
|
|
|
+
|
|
|
}
|