[day26]批次实作-缴款纪录收档

上一篇完成了缴款纪录的查询,确认缴款纪录是否完成。
为了查询方便,每日批次去抓取前两日资料写入自己的资料库内,
流程简述如下

  1. 呼叫永丰API取得历史纪录
  2. 筛选需要的栏位
  3. 写入Json Server

目前页面设计呈现的如下
https://ithelp.ithome.com.tw/upload/images/20211011/20140924T5EjB6OVRQ.png
需要的资料如下

{
      "OrderNo": "A_202109_1633748722.462917",
      "TSNo": "NA024900000673",
      "TSDate": "202110091105",
      "PayDate": "202110091110",
      "Amount": 200100,
      "PayType": "A",
      "PayStatus": "1A400",
      "ExpireDate": "202110102359",
      "Param1": "D07-1",
      "Param1": "201214",         
      "AtmPayNo": "99922530179112",
      "BankNo": "807",
      "AcctNo": "01700100003411"
    } 
  • 呼叫永丰API取得历史纪录
    程序如下,呼叫原本就写好的API
send_POST_message={
      "DateTimeS": "20211008",
      "DateTimeE": "20211009"
      }
URL ="http://127.0.0.1:8089/sinopacApi_OrderQuery_date"
r = requests.post(url = URL, json = send_POST_message )
print('status_code',r.status_code)
# print('r.json()',r.json())

  • 筛选需要的栏位
hislist=r.json().get('decrypt_dist').get('OrderList')
#,"ATMParam","AtmPayNo"
key_names ={"OrderNo","TSNo","TSDate" ,"PayDate","Amount","PayType","PayStatus","ExpireDate","Param1","Param2","ATMParam","BankNo","AcctNo"}

for i in range(len(hislist)):
    hislist[i]={key: value for key, value in hislist[i].items() if key in key_names}
    hislist[i]["AtmPayNo"]=hislist[i]["ATMParam"]["AtmPayNo"]
    # del hislist[i]['ATMParam']
    print(hislist[i])

整理的结果如下

{'OrderNo': 'RB20211011J284CMHIYA', 'TSNo': 'NA024900000723', 'TSDate': '202110111409', 'PayDate': '202110111410', 'Amount': 52000, 'PayType': 'A', 'PayStatus': '1A400', 'ExpireDate': '202110212359', 'Param1': '', 'Param2': '', 'ATMParam': {'AtmPayNo': '99922530179151', 'WebAtmURL': 'https://sandbox.sinopac.com/QPay.WebPaySite/Bridge/PayWebATM?TD=NA024900000723&TK=e824d397-eeeb-41c0-9258-2bd6a1203786', 'OtpURL': 'https://sandbox.sinopac.com/QPay.WebPaySite/Bridge/PayOTP?TD=NA024900000723&TK=e824d397-eeeb-41c0-9258-2bd6a1203786', 'BankNo': '807', 'AcctNo': '01700100003411'}, 'AtmPayNo': '99922530179151'}

最後再写入Json Server即可


<<:  [Day 26] 建立table

>>:  Day26 interrupt, exception

一次搞懂 ISA、CISC 与 RISC

1945 年 6 月 30 日,Von Neumann 与他的工作夥伴因为曼哈顿工程中使用到了大量的...

Day 26:Google Map 范本学习(1)

本篇文章同步发表在 HKT 线上教室 部落格,线上影音教学课程已上架至 Udemy 和 Youtu...

CSS微动画 - Loading来了!小精灵?这个小家伙吃蛋

Q: 这是小精灵吗? A: 这是... 吃蛋的小家伙!(不知道有没有版权问题呢?) 本篇的灵感来自...

连续 30 天 玩玩看 ProtoPie - Day 27

用 Range 来让滑到的影片动起来 今天来延续好几天前的练习。 我们有好几个影片,希望在滑到那个画...

[Cmoney 菁英软件工程师战斗营] IOS APP 菜鸟开发笔记(6)----关於标记丛集(Cluster Item)

前言 这周想在地图页面中加入Cluster Item的功能,如果不知道这是什麽,请右转参考法兰克写的...