| @@ -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<WxOrder> 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<WxPayOrder> 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()); | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||