SpecialPayOrderMapper.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package com.cyksj.mapper.special;
  2. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  3. import com.cyksj.model.entity.SpecialPayOrder;
  4. import org.apache.ibatis.annotations.Param;
  5. import org.apache.ibatis.annotations.Select;
  6. import org.apache.ibatis.annotations.Update;
  7. import java.util.Date;
  8. public interface SpecialPayOrderMapper extends BaseMapper<SpecialPayOrder> {
  9. @Select("select id, order_no as orderNo, user_id as userId, product_code as productCode, " +
  10. "subject, amount, duration_days as durationDays, status, shop_id as shopId, " +
  11. "alipay_trade_no as alipayTradeNo, buyer_id as buyerId, pay_time as payTime, " +
  12. "expire_time as expireTime, fulfill_status as fulfillStatus, fulfill_time as fulfillTime, " +
  13. "created_time as createdTime, update_time as updateTime " +
  14. "from special_pay_order where order_no = #{orderNo} limit 1 for update")
  15. SpecialPayOrder selectByOrderNoForUpdate(@Param("orderNo") String orderNo);
  16. @Update("update special_pay_order set status = 'PAID', alipay_trade_no = #{tradeNo}, " +
  17. "buyer_id = #{buyerId}, pay_time = #{payTime}, update_time = now() " +
  18. "where id = #{orderId} and status = 'CREATED'")
  19. int markPaid(@Param("orderId") Long orderId,
  20. @Param("tradeNo") String tradeNo,
  21. @Param("buyerId") String buyerId,
  22. @Param("payTime") Date payTime);
  23. @Update("update special_pay_order set fulfill_status = 'SUCCESS', fulfill_time = now(), " +
  24. "update_time = now() where id = #{orderId} and status = 'PAID' and fulfill_status = 'INIT'")
  25. int markFulfilled(@Param("orderId") Long orderId);
  26. @Update("update special_pay_order set status = 'REFUNDED', update_time = now() where id = #{orderId} and status = 'PAID'")
  27. int markRefunded(@Param("orderId") Long orderId);
  28. }