PosOrderOmgPaymentMapper.java 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package com.ruoyi.system.mapper;
  2. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  3. import com.ruoyi.system.domain.PosOrderOmgPayment;
  4. import org.apache.ibatis.annotations.Param;
  5. import java.util.Date;
  6. import java.util.List;
  7. /**
  8. * OMG 支付交易流水 Mapper。insert / updateById 用 BaseMapper。
  9. *
  10. * @author ruoyi
  11. * @date 2026-07-29
  12. */
  13. public interface PosOrderOmgPaymentMapper extends BaseMapper<PosOrderOmgPayment> {
  14. /** 按 OMG 交易号查(回调幂等键 TradeNo)。 */
  15. PosOrderOmgPayment selectByTradeNo(@Param("tradeNo") String tradeNo);
  16. /** 按商店交易编号查(MerchantTradeNo)。 */
  17. PosOrderOmgPayment selectByMerchantTradeNo(@Param("merchantTradeNo") String merchantTradeNo);
  18. /** 按订单号查最新一笔流水(取最近发起/支付记录)。 */
  19. PosOrderOmgPayment selectLatestByDdId(@Param("ddId") String ddId);
  20. PosOrderOmgPayment selectLatestPaidByDdId(@Param("ddId") String ddId);
  21. /** 全量未付流水(pay_status=0,含已轮换历史行),reconcile 遍历补单用。 */
  22. List<PosOrderOmgPayment> listUnpaidByDdId(@Param("ddId") String ddId);
  23. /** 最新可退款行(pay_status IN(1,3,4):已付/退款中/已退),退款/读侧用。 */
  24. PosOrderOmgPayment selectLatestRefundableByDdId(@Param("ddId") String ddId);
  25. /** 是否存在已付/退款中/已退行(pay_status IN(1,3,4))。 */
  26. int existsPaidByDdId(@Param("ddId") String ddId);
  27. /**
  28. * 扫描补单窗口内未核销的漏单 ddId(定时补单方案B 用)。
  29. * 每订单取最新一笔 pay_status=0 的流水(older 发起视为放弃),关联 pos_order 排除已取消(state=4)。
  30. */
  31. List<String> selectLeakOrderDdIds(@Param("windowStart") Date windowStart,
  32. @Param("graceCutoff") Date graceCutoff,
  33. @Param("batchSize") int batchSize);
  34. int markSuccessIfUnpaid(@Param("id") Long id, @Param("tradeNo") String tradeNo,
  35. @Param("payType") String payType, @Param("rtnCode") Integer rtnCode,
  36. @Param("rtnMsg") String rtnMsg, @Param("authCode") String authCode,
  37. @Param("payTime") java.util.Date payTime,
  38. @Param("tradeDate") java.util.Date tradeDate,
  39. @Param("callbackRaw") String callbackRaw,
  40. @Param("updateTime") java.util.Date updateTime);
  41. int markFailIfUnpaid(@Param("id") Long id, @Param("rtnCode") Integer rtnCode,
  42. @Param("rtnMsg") String rtnMsg, @Param("callbackRaw") String callbackRaw,
  43. @Param("updateTime") java.util.Date updateTime);
  44. int markPaymentInfoIfOpen(@Param("id") Long id, @Param("tradeNo") String tradeNo,
  45. @Param("callbackRaw") String callbackRaw,
  46. @Param("updateTime") java.util.Date updateTime);
  47. int markRefundingIfPaid(@Param("id") Long id, @Param("updateTime") java.util.Date updateTime);
  48. int markRefundedIfRefunding(@Param("id") Long id, @Param("updateTime") java.util.Date updateTime);
  49. int restorePaidIfRefunding(@Param("id") Long id, @Param("updateTime") java.util.Date updateTime);
  50. }