From af35720357b0dc6486e9699606d7d11e3b9e6c27 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 5 May 2020 09:31:12 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=94=B6=E9=93=B6=E5=8F=B0=E8=AE=A2=E5=8D=95]?= =?UTF-8?q?[=E4=BC=98=E5=8C=96]:=E6=94=B6=E9=93=B6=E5=8F=B0=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=8A=B6=E6=80=81=E6=9F=A5=E8=AF=A2=E5=8F=8A=E9=87=8D?= =?UTF-8?q?=E8=AE=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../micropay/MicropayController.java | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 mallinkSysAdmin/src/main/java/com/iformall/controller/micropay/MicropayController.java diff --git a/mallinkSysAdmin/src/main/java/com/iformall/controller/micropay/MicropayController.java b/mallinkSysAdmin/src/main/java/com/iformall/controller/micropay/MicropayController.java new file mode 100644 index 000000000..d6507e5c0 --- /dev/null +++ b/mallinkSysAdmin/src/main/java/com/iformall/controller/micropay/MicropayController.java @@ -0,0 +1,91 @@ +package com.iformall.controller.micropay; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.iformall.common.ResultData; +import com.iformall.controller.base.BaseController; +import com.iformall.domain.po.WxMerchantBUser; +import com.iformall.domain.po.WxOrder; +import com.iformall.domain.po.WxPayOrder; +import com.iformall.enums.EnumOrderStatus; +import com.iformall.exception.MallinkException; +import com.iformall.mapper.WxMerchantBUserMapper; +import com.iformall.mapper.WxOrderMapper; +import com.iformall.mapper.WxPayOrderMapper; +import com.iformall.service.WxPayOrderService; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 数据初始化 + */ +@Slf4j +@RestController +@RequestMapping("micropay") +public class MicropayController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + WxOrderMapper orderMapper; + + @Autowired + WxPayOrderMapper payOrderMapper; + + @Autowired + WxMerchantBUserMapper merchantBUserMapper; + + @Autowired + WxPayOrderService payOrderService; + + @ApiOperation(value = "异常支付查询") + @PostMapping("/checkExp") + public void check() { + logger.info("queryMicopayOrder"); + + String tenantId = "1021"; + + WxOrder oq = new WxOrder(); + oq.setTenantId(tenantId); + oq.setType(1); + oq.setOrderStatus(0); + List orders = orderMapper.findList(oq); + log.info("EXP order num: {}", orders.size()); + for (WxOrder order: orders) { + WxMerchantBUser bUser = merchantBUserMapper.selectById(order.getProductId()); + WxPayOrder q = new WxPayOrder(); + q.setTenantId(tenantId); + q.setOrderId(order.getId()); + List payOrderList = payOrderMapper.selectList(new QueryWrapper<>(q)); + if (payOrderList.size() > 0) { + // 查询支付订单状态 + for (WxPayOrder payOrder : payOrderList) { + try { + ResultData resultData = payOrderService.payOrderQuery(bUser, payOrder); + logger.info(resultData.toString()); + } catch (MallinkException e) { + logger.error("payment wechat, order query error, req 2: " + payOrder.toString() + ", e:" + e.getMessage()); + } catch (Exception e) { + logger.error("payment wechat, order query error, req 3: " + payOrder.toString() + ", e:" + e.getMessage()); + } + } + } else { + // 无支付订单, 直接标记订单已取消 + WxOrder updateOrderForMicroPay = new WxOrder(); + updateOrderForMicroPay.setId(order.getId()); + updateOrderForMicroPay.setOrderStatus(EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()); + try { + orderMapper.updateById(updateOrderForMicroPay); + } catch (Exception e) { + logger.error("update Order: {} ", e.getMessage()); + } + } + } + } +}