199
 
@@ -204,14 +203,14 @@ def wx_order_query_api(request):
204 203
         return response(OrderStatusCode.WX_ORDER_PAY_FAIL)
205 204
 
206 205
     # 根据 trade_type 获取 wechat 配置
207
-    wechat = WECHAT.get(order.trade_type, {})
206
+    wxcfg = WECHAT.get(order.trade_type, {})
208 207
     # WeChatPay 初始化
209
-    wxpay = WeChatPay(wechat.get('appID'), wechat.get('apiKey'), wechat.get('mchID'))
208
+    wxpay = WeChatPay(wxcfg.get('appID'), wxcfg.get('apiKey'), wxcfg.get('mchID'))
210 209
 
211 210
     # 订单查询
212 211
     data = wxpay.order.query(transaction_id, order_id)
213 212
     # 签名校验
214
-    if not check_signature(data, wechat.get('apiKey')):
213
+    if not check_signature(data, wxcfg.get('apiKey')):
215 214
         return response(OrderStatusCode.SIGN_CHECK_FAIL)
216 215
 
217 216
     order.notify_msg = data
@@ -277,11 +276,10 @@ def wx_notify_url_api(request):
277 276
     if not success:
278 277
         return HttpResponse(WXPAY_NOTIFY_FAIL)
279 278
 
280
-    out_trade_no = data.get('out_trade_no', '')
281 279
     try:
282
-        order = OrderInfo.objects.get(order_id=out_trade_no)
280
+        order = OrderInfo.objects.select_for_update().get(order_id=data.get('out_trade_no', ''), status=True)
283 281
     except OrderInfo.DoesNotExist:
284
-        return response(OrderStatusCode.WX_ORDER_NOT_FOUND)
282
+        return HttpResponse(WXPAY_NOTIFY_FAIL)
285 283
 
286 284
     order.notify_msg = request.body
287 285
     order.transaction_id = data.get('transaction_id', '')
@@ -320,21 +318,22 @@ def wx_balance_withdraw_api(request):
320 318
         return response(WithdrawStatusCode.BALANCE_NOT_ENOUGH)
321 319
 
322 320
     # 根据 trade_type 获取 wechat 配置
323
-    wechat = WECHAT.get(trade_type, {})
321
+    wxcfg = WECHAT.get(trade_type, {})
324 322
     # WeChatPay 初始化
325
-    wxpay = WeChatPay(wechat.get('appID'), wechat.get('apiKey'), wechat.get('mchID'), mch_cert=wechat.get('mch_cert'), mch_key=wechat.get('mch_key'))
323
+    wxpay = WeChatPay(wxcfg.get('appID'), wxcfg.get('apiKey'), wxcfg.get('mchID'), mch_cert=wxcfg.get('mch_cert'), mch_key=wxcfg.get('mch_key'))
326 324
 
327 325
     if withdraw_type == 'TRANSFER':
328 326
         ret_data = wxpay.transfer.transfer(user.openid, amount, u'摄影师余额提现,企业付款', check_name='NO_CHECK')
329 327
     elif withdraw_type == 'PACKET':
328
+        wxrpk = wxcfg.get('redpack', {})
330 329
         ret_data = wxpay.redpack.send(
331 330
             user.openid,
332 331
             amount,
333
-            send_name=wechat.get('redpacket', {}).get('SEND_NAME'),
334
-            nick_name=wechat.get('redpacket', {}).get('NICK_NAME'),
335
-            act_name=wechat.get('redpacket', {}).get('ACT_NAME'),
336
-            wishing=wechat.get('redpacket', {}).get('WISHING'),
337
-            remark=wechat.get('redpacket', {}).get('REMARK'),
332
+            send_name=wxrpk.get('SEND_NAME'),
333
+            nick_name=wxrpk.get('NICK_NAME'),
334
+            act_name=wxrpk.get('ACT_NAME'),
335
+            wishing=wxrpk.get('WISHING'),
336
+            remark=wxrpk.get('REMARK'),
338 337
         )
339 338
 
340 339
     # 根据 ret_data 判断是否提现成功, 成功则减余额, 失败则提示

+ 0 - 13
utils/wechat_utils.py

@@ -1,13 +0,0 @@
1
-# -*- coding: utf-8 -*-
2
-
3
-
4
-def get_user_openid(user, trade_type):
5
-    if trade_type == 'MINIAPP':
6
-        openid = user.openid_miniapp
7
-    elif trade_type == 'JSAPI':
8
-        openid = user.openid_oauth
9
-    elif trade_type == 'APP':
10
-        openid = None
11
-    else:
12
-        openid = None
13
-    return openid

+ 4 - 0
utils/openid_utils.py

@@ -1,6 +1,10 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3 3
 
4
+def get_trade_type(trade_type):
5
+    return trade_type if trade_type != 'MINIAPP' else 'JSAPI'
6
+
7
+
4 8
 def get_user_openid(user, trade_type):
5 9
     if trade_type == 'MINIAPP':
6 10
         openid = user.openid_miniapp

Kodo/kodo - Gogs: Go Git Service

1448 Commits (93e424f1c33c24a90cb987323480a7abf78a31a8)

Author SHA1 Message Date
  FFIB 93e424f1c3 Merge branch 'tamron' of http://git.xfoto.com.cn/Kodo/kodo into tamron 4 years ago
  FFIB b89b8b7052 fix 用户取消关注 4 years ago
  huangqimin001 5b42d49f6c :art: Cpon2 4 years ago
  huangqimin001 c5fd61f8e7 :art: MarketCodeInfoAdmin 4 years ago
  huangqimin001 5f51d36155 :art: ComplementCodeLogInfo image upload qiniu 4 years ago
  huangqimin001 3f783afcfc :art: Add marketcode iv 4 years ago
  FFIB a77de03be7 update clerk_sale_submit_api 4 years ago
  FFIB f525231ae0 update clerk_integral_list_api 4 years ago
  FFIB c19cbf5477 url add admin 5 years ago
  FFIB e7b8e3d83c 更新函院的thumb_media_id 5 years ago
  FFIB bb7429b190 修改函院公众号 appid 5 years ago
  FFIB ccfe6e96cc 切换函院公众号 5 years ago
  FFIB 82c1869f95 update 5 years ago
  FFIB 17d103e1b2 update 5 years ago
  FFIB 0bb402df7d maintenance_update 支持修改model_id 和 log_id 5 years ago
  FFIB 1b420a2fba ConsumeInfoSubmitLogInfo adminuserdata 新增返回 model_id 5 years ago
  FFIB bb7b5885f2 consumer_snlist_api add dupload 5 years ago
  FFIB a512083c01 adminuserdata add id 5 years ago
  FFIB 83c14b6dd7 query_usergoods add dupload 5 years ago
  huangqimin001 2b2a7ef953 :art: iSort & Pycodestyle 5 years ago
  FFIB e683ad2315 express_list maintenance_list 排序 5 years ago
  FFIB 00f47d814f 修复填写寄回快递单号,无法更新维修状态 5 years ago
  FFIB 2045f2521e add maintenance_status 5 years ago
  FFIB e5da057cbc maintenance_list 增加筛选 5 years ago
  huangqimin001 f2e551e63c :art: sendtemplatemessage 5 years ago
  huangqimin001 8082cb995c :art: Custom Message 5 years ago
  FFIB 73e9215339 print err 'ascii' codec can't encode characters in position 45-48: ordinal not in range(128) 5 years ago
  FFIB 3d9fee5c41 MaintenaceInfo add image2_url 5 years ago
  FFIB cf1c37e831 MaintenaceInfo 添加model_image_url 5 years ago
  huangqimin001 9a4e98105e :art: Support maintenance_tracking_info_subscribe 5 years ago
  huangqimin001 12547d52b5 :art: Support maintenance_tracking_info_subscribe 5 years ago
  huangqimin001 4e5f91bb92 :art: Support maintenance_tracking_info_subscribe 5 years ago
  huangqimin001 059758e746 :art: Support maintenance_tracking_info_subscribe 5 years ago
  huangqimin001 d154f40d2b :art: Support maintenance_tracking_info_subscribe 5 years ago
  huangqimin001 77224d884a :art: Support maintenance_tracking_info_subscribe 5 years ago
  huangqimin001 8f2e4e1f5b :art: ExpressCompanyInfoAdmin 5 years ago
  huangqimin001 8ea15bd109 :art: ExpressCompanyInfoAdmin 5 years ago
  huangqimin001 d6d555d47b :art: init_express_company 5 years ago
  huangqimin001 22a8246c88 :art: init_express_company 5 years ago
  huangqimin001 fe160a49f1 :art: Kuaidi100 5 years ago
  huangqimin001 80e841e7a9 :art: maintenance_status_at 5 years ago
  huangqimin001 5e79a1088e :art: iSort 5 years ago
  huangqimin001 10046801d9 :art: Typo 5 years ago
  FFIB 0db5a45c90 MaintenaceInfo data id 改为 maintenance_id 5 years ago
  FFIB 0ca7cdc011 maintenance_list add count 5 years ago
  FFIB c80c57a097 update is_admin 5 years ago
  FFIB 11ff237319 增加 is_admin 校验 5 years ago
  FFIB bf7a96e5ae add admin/express/list 5 years ago
  FFIB 05eb3c3a8b add admin/maintenance/point/list 5 years ago
  FFIB 82e271fa77 add admin/maintenance/update admin/maintenance/list 5 years ago