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