add lensman and user's balance

Brightcells 9 年之前
父节点
当前提交
70689e758c
共有 1 个文件被更改,包括 36 次插入0 次删除
  1. 36 0
      pay/views.py

+ 36 - 0
pay/views.py

@@ -9,6 +9,7 @@ from logit import logit
9 9
 from TimeConvert import TimeConvert as tc
10 10
 from wechatpy import WeChatPay, WeChatPayException
11 11
 
12
+from account.models import LensmanIncomeExpensesInfo, LensmanInfo, UserIncomeExpensesInfo, UserInfo
12 13
 from group.models import GroupPhotoInfo, GroupPhotoOrderInfo
13 14
 from pay.models import OrderInfo
14 15
 from photo.models import PhotosInfo
@@ -133,6 +134,41 @@ def order_paid_success(order):
133 134
 
134 135
     set_lensman_order_record(porder)
135 136
 
137
+    if order.to_lid:
138
+        try:
139
+            lensman = LensmanInfo.objects.select_for_update().filter(lensman_id=order.to_lid)[0]
140
+        except IndexError:
141
+            return
142
+
143
+        lensman.balance += order.total_fee
144
+        lensman.save()
145
+
146
+        LensmanIncomeExpensesInfo.objects.create(
147
+            lensman_id=order.to_lid,
148
+            photo_id=order.photo_id,
149
+            type=LensmanIncomeExpensesInfo.INCOME,
150
+            amount=order.total_fee,
151
+            balance=lensman.balance,
152
+            remark=u'图片购买',
153
+        )
154
+    elif order.to_uid:
155
+        try:
156
+            user = UserInfo.objects.select_for_update().filter(user_id=order.to_uid)[0]
157
+        except IndexError:
158
+            return
159
+
160
+        user.balance += order.total_fee
161
+        user.save()
162
+
163
+        UserIncomeExpensesInfo.objects.create(
164
+            user_id=order.user_id,
165
+            photo_id=order.photo_id,
166
+            type=UserIncomeExpensesInfo.INCOME,
167
+            amount=order.total_fee,
168
+            balance=user.balance,
169
+            remark=u'图片购买',
170
+        )
171
+
136 172
 
137 173
 def order_paid_fail(order):
138 174
     if order.pay_status == OrderInfo.FAIL: