日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

测试订单系统接口

發布時間:2024/4/13 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 测试订单系统接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

查詢訂單接口

接口說明:

  • 請求方式:GET

  • 請求路徑:/order/{id}

  • 請求參數:id,訂單編號

  • 返回結果:Order,訂單的json對象

測試:

結果:

更新訂單狀態

接口說明:

  • 請求參數:PUT

  • 請求路徑:/order/{id}/{status}

  • 請求參數:

    • id:訂單編號,String類型,不能為空

    • status:訂單狀態,不能為空

  • 返回結果:null

測試:

結果:

數據庫中也發生了改變:

分頁查詢訂單

接口說明:

  • 請求方式:Get

  • 請求路徑:/order/list

  • 請求參數:

    • page:當前頁,Integer類型,默認為1

    • rows:每頁大小,Integer類型,默認為5

    • status:訂單狀態,String類型,默認查詢全部狀態訂單

  • 返回結果:PageResult 對象,包含下面屬性:

    • total:總條數

    • items:當前頁訂單數組

      • 訂單對象

測試:

結果:

生成微信付款鏈接

接口說明:

  • 請求方式:Get

  • 請求路徑:/order/url/{id}

  • 請求參數:id,訂單編號

  • 返回結果:String類型,生成的微信支付鏈接

測試:

結果:

微信支付工具

PayHelper

@Component public class PayHelper {private WXPay wxPay;private static final Logger logger = LoggerFactory.getLogger(PayHelper.class);@Autowiredprivate StringRedisTemplate redisTemplate;@Autowiredprivate OrderService orderService;public PayHelper(PayConfig payConfig) {// 真實開發時wxPay = new WXPay(payConfig);// 測試時// wxPay = new WXPay(payConfig, WXPayConstants.SignType.MD5, true);}public String createPayUrl(Long orderId) {String key = "ly.pay.url." + orderId;try {String url = this.redisTemplate.opsForValue().get(key);if (StringUtils.isNotBlank(url)) {return url;}} catch (Exception e) {logger.error("查詢緩存付款鏈接異常,訂單編號:{}", orderId, e);}try {Map<String, String> data = new HashMap<>();// 商品描述data.put("body", "商城測試");// 訂單號data.put("out_trade_no", orderId.toString());//貨幣data.put("fee_type", "CNY");//金額,單位是分data.put("total_fee", "1");//調用微信支付的終端IP(estore商城的IP)data.put("spbill_create_ip", "127.0.0.1");//回調地址data.put("notify_url", "http://test.learn.com/wxpay/notify");// 交易類型為掃碼支付data.put("trade_type", "NATIVE");//商品id,使用假數據data.put("product_id", "1234567");Map<String, String> result = this.wxPay.unifiedOrder(data);if ("SUCCESS".equals(result.get("return_code"))) {String url = result.get("code_url");// 將付款地址緩存,時間為10分鐘try {this.redisTemplate.opsForValue().set(key, url, 10, TimeUnit.MINUTES);} catch (Exception e) {logger.error("緩存付款鏈接異常,訂單編號:{}", orderId, e);}return url;} else {logger.error("創建預交易訂單失敗,錯誤信息:{}", result.get("return_msg"));return null;}} catch (Exception e) {logger.error("創建預交易訂單異常", e);return null;}}/*** 查詢訂單狀態** @param orderId* @return*/public PayState queryOrder(Long orderId) {Map<String, String> data = new HashMap<>();// 訂單號data.put("out_trade_no", orderId.toString());try {Map<String, String> result = this.wxPay.orderQuery(data);if (result == null) {// 未查詢到結果,認為是未付款return PayState.NOT_PAY;}String state = result.get("trade_state");if ("SUCCESS".equals(state)) {// success,則認為付款成功// 修改訂單狀態this.orderService.updateStatus(orderId, 2);return PayState.SUCCESS;} else if (StringUtils.equals("USERPAYING", state)|| StringUtils.equals("NOTPAY", state)) {// 未付款或正在付款,都認為是未付款return PayState.NOT_PAY;} else {// 其它狀態認為是付款失敗return PayState.FAIL;}} catch (Exception e) {logger.error("查詢訂單狀態異常", e);return PayState.NOT_PAY;}} }

查詢支付狀態

接口說明:

  • 請求方式: Get

  • 請求路徑: /state/{id}

  • 請求參數: id,訂單編號

  • 返回結果:0, 未查詢到支付信息 1,支付成功 2,支付失敗(查詢失敗,或者訂單過期)

未付款

未付款時查詢,測試:

結果:

?

總結

以上是生活随笔為你收集整理的测试订单系统接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。