@@ -23,9 +23,9 @@ from utils.error.errno_utils import LensmanStatusCode, OrderStatusCode, UserStat |
||
| 23 | 23 |
from utils.error.response_utils import response |
| 24 | 24 |
from utils.message_utils import system_messages |
| 25 | 25 |
from utils.page_utils import pagination |
| 26 |
+from utils.redis.rbrief import set_brief_info |
|
| 26 | 27 |
from utils.redis.rgroup import get_group_info, set_group_info |
| 27 |
-from utils.redis.rkeys import (GROUP_LAST_PHOTO_PK, TODAY_INCOME, TODAY_UPLOAD_PHOTO_AMOUNT, TOTAL_INCOME, WEEK_INCOME, |
|
| 28 |
- WEEK_SOLD) |
|
| 28 |
+from utils.redis.rkeys import GROUP_LAST_PHOTO_PK, TODAY_INCOME, TODAY_UPLOAD_PHOTO_AMOUNT, WEEK_INCOME, WEEK_SOLD |
|
| 29 | 29 |
from utils.redis.rorder import set_lensman_order_record |
| 30 | 30 |
from utils.redis.rprice import get_lensman_price_fixed, set_lensman_price_fixed |
| 31 | 31 |
from utils.thumbnail_utils import make_thumbnail |
@@ -302,14 +302,14 @@ def lensman_origin_photo_upload_api(request): |
||
| 302 | 302 |
|
| 303 | 303 |
# 原图已删除, 处理退款逻辑 |
| 304 | 304 |
if deleted and order.photo_status == OrderInfo.WANTED: |
| 305 |
- # 用户增加余额 |
|
| 305 |
+ # 用户余额增加 |
|
| 306 | 306 |
try: |
| 307 | 307 |
from_user = UserInfo.objects.select_for_update().get(user_id=order.from_uid) |
| 308 | 308 |
except UserInfo.DoesNotExist: |
| 309 | 309 |
pass |
| 310 | 310 |
|
| 311 | 311 |
if from_user: |
| 312 |
- # 增加余额 |
|
| 312 |
+ # 余额增加 |
|
| 313 | 313 |
from_user.balance += order.total_fee |
| 314 | 314 |
from_user.save() |
| 315 | 315 |
# 余额记录 |
@@ -324,14 +324,14 @@ def lensman_origin_photo_upload_api(request): |
||
| 324 | 324 |
remark=u'高清图购买退款', |
| 325 | 325 |
) |
| 326 | 326 |
|
| 327 |
- # 摄影师减少余额 |
|
| 327 |
+ # 摄影师余额减少 |
|
| 328 | 328 |
try: |
| 329 | 329 |
to_user = UserInfo.objects.select_for_update().get(user_id=order.to_uid) |
| 330 | 330 |
except UserInfo.DoesNotExist: |
| 331 | 331 |
pass |
| 332 | 332 |
|
| 333 | 333 |
if to_user: |
| 334 |
- # 减少余额 |
|
| 334 |
+ # 余额减少 |
|
| 335 | 335 |
to_user.freeze_balance -= order.total_fee |
| 336 | 336 |
to_user.save() |
| 337 | 337 |
# 余额记录 |
@@ -346,20 +346,6 @@ def lensman_origin_photo_upload_api(request): |
||
| 346 | 346 |
remark=u'高清图购买退款', |
| 347 | 347 |
) |
| 348 | 348 |
|
| 349 |
- # Redis 数值更新 |
|
| 350 |
- ymd = tc.local_string(tc.to_local_datetime(order.created_at), format='%Y%m%d') |
|
| 351 |
- week = Week.withdate(order.created_at) |
|
| 352 |
- |
|
| 353 |
- # 总收入 |
|
| 354 |
- r.decr_limit(TOTAL_INCOME % (order.to_uid, order.photo_type), order.total_fee, limit=0) |
|
| 355 |
- # 周收入 |
|
| 356 |
- r.decr_limit(WEEK_INCOME % (order.to_uid, order.photo_type, week), order.total_fee, limit=0) |
|
| 357 |
- # 日收入 |
|
| 358 |
- r.decr_limit(TODAY_INCOME % (order.to_uid, order.photo_type, ymd), order.total_fee, limit=0) |
|
| 359 |
- |
|
| 360 |
- # 周售出 |
|
| 361 |
- r.decr_limit(WEEK_SOLD % (order.to_uid, order.photo_type, week), limit=0) |
|
| 362 |
- |
|
| 363 | 349 |
# 更新订单状态 |
| 364 | 350 |
order.photo_status = OrderInfo.DELETED |
| 365 | 351 |
order.reback_status = True |
@@ -404,10 +390,12 @@ def lensman_origin_photo_upload_api(request): |
||
| 404 | 390 |
pass |
| 405 | 391 |
|
| 406 | 392 |
if to_user: |
| 407 |
- # 减少余额 |
|
| 393 |
+ # 余额解冻 |
|
| 408 | 394 |
to_user.balance += order.total_fee |
| 409 | 395 |
to_user.freeze_balance -= order.total_fee |
| 410 | 396 |
to_user.save() |
| 397 |
+ # Redis 数值更新 |
|
| 398 |
+ set_brief_info(order.to_uid, order.photo_type, order.total_fee, dt=order.created_at) |
|
| 411 | 399 |
# 余额记录 |
| 412 | 400 |
UserIncomeExpensesInfo.objects.create( |
| 413 | 401 |
user_id=order.to_uid, |
@@ -4,7 +4,6 @@ import xmltodict |
||
| 4 | 4 |
from django.conf import settings |
| 5 | 5 |
from django.db import transaction |
| 6 | 6 |
from django.shortcuts import HttpResponse |
| 7 |
-from isoweek import Week |
|
| 8 | 7 |
from logit import logit |
| 9 | 8 |
from TimeConvert import TimeConvert as tc |
| 10 | 9 |
from wechatpy import WeChatPay, WeChatPayException |
@@ -16,7 +15,7 @@ from photo.models import PhotosInfo |
||
| 16 | 15 |
from utils.error.errno_utils import GroupPhotoStatusCode, OrderStatusCode, UserStatusCode, WithdrawStatusCode |
| 17 | 16 |
from utils.error.response_utils import response |
| 18 | 17 |
from utils.page_utils import pagination |
| 19 |
-from utils.redis.rkeys import LENSMAN_PHOTO_PRICE, TODAY_INCOME, TOTAL_INCOME, WEEK_INCOME, WEEK_SOLD |
|
| 18 |
+from utils.redis.rbrief import set_brief_info |
|
| 20 | 19 |
from utils.redis.rorder import set_lensman_order_record |
| 21 | 20 |
|
| 22 | 21 |
|
@@ -143,37 +142,27 @@ def order_paid_success(order): |
||
| 143 | 142 |
return |
| 144 | 143 |
|
| 145 | 144 |
if order.photo_type == OrderInfo.NOMARK: |
| 145 |
+ # 余额增加 |
|
| 146 | 146 |
amount, freeze_amount = total_fee, 0 |
| 147 | 147 |
user.balance += amount |
| 148 |
+ # Redis 数值更新 |
|
| 149 |
+ set_brief_info(to_uid, order.photo_type, total_fee) |
|
| 150 |
+ # 余额记录 |
|
| 151 |
+ UserIncomeExpensesInfo.objects.create( |
|
| 152 |
+ user_id=to_uid, |
|
| 153 |
+ photo_id=order.photo_id, |
|
| 154 |
+ type=UserIncomeExpensesInfo.INCOME, |
|
| 155 |
+ amount=amount, |
|
| 156 |
+ balance=user.balance, |
|
| 157 |
+ freeze_amount=freeze_amount, |
|
| 158 |
+ freeze_balance=user.freeze_balance, |
|
| 159 |
+ remark=u'图片购买', |
|
| 160 |
+ ) |
|
| 148 | 161 |
elif order.photo_type == OrderInfo.ORIGIN: |
| 149 | 162 |
amount, freeze_amount = 0, total_fee |
| 150 | 163 |
user.freeze_balance += freeze_amount |
| 151 | 164 |
user.save() |
| 152 | 165 |
|
| 153 |
- ymd = tc.local_string(format='%Y%m%d') |
|
| 154 |
- week = Week.thisweek().isoformat() |
|
| 155 |
- |
|
| 156 |
- # 总收入 |
|
| 157 |
- r.incr(TOTAL_INCOME % (to_uid, order.photo_type), total_fee) |
|
| 158 |
- # 周收入 |
|
| 159 |
- r.incr(WEEK_INCOME % (to_uid, order.photo_type, week), total_fee) |
|
| 160 |
- # 日收入 |
|
| 161 |
- r.incr(TODAY_INCOME % (to_uid, order.photo_type, ymd), total_fee) |
|
| 162 |
- |
|
| 163 |
- # 周售出 |
|
| 164 |
- r.incr(WEEK_SOLD % (to_uid, order.photo_type, week)) |
|
| 165 |
- |
|
| 166 |
- UserIncomeExpensesInfo.objects.create( |
|
| 167 |
- user_id=to_uid, |
|
| 168 |
- photo_id=order.photo_id, |
|
| 169 |
- type=UserIncomeExpensesInfo.INCOME, |
|
| 170 |
- amount=amount, |
|
| 171 |
- balance=user.balance, |
|
| 172 |
- freeze_amount=freeze_amount, |
|
| 173 |
- freeze_balance=user.freeze_balance, |
|
| 174 |
- remark=u'图片购买', |
|
| 175 |
- ) |
|
| 176 |
- |
|
| 177 | 166 |
|
| 178 | 167 |
def order_paid_fail(order): |
| 179 | 168 |
if order.pay_status == OrderInfo.FAIL: |
@@ -0,0 +1,28 @@ |
||
| 1 |
+# -*- coding: utf-8 -*- |
|
| 2 |
+ |
|
| 3 |
+from django.conf import settings |
|
| 4 |
+from isoweek import Week |
|
| 5 |
+from TimeConvert import TimeConvert as tc |
|
| 6 |
+ |
|
| 7 |
+from utils.redis.rkeys import TODAY_INCOME, TOTAL_INCOME, WEEK_INCOME, WEEK_SOLD |
|
| 8 |
+ |
|
| 9 |
+ |
|
| 10 |
+r = settings.REDIS_CACHE |
|
| 11 |
+ |
|
| 12 |
+ |
|
| 13 |
+# 简报相关 |
|
| 14 |
+ |
|
| 15 |
+ |
|
| 16 |
+def set_brief_info(uid, ptype, fee, dt=None): |
|
| 17 |
+ """ 更新简报信息 """ |
|
| 18 |
+ ymd, week = (tc.local_string(tc.to_local_datetime(dt), format='%Y%m%d'), Week.withdate(dt)) if dt else (tc.local_string(format='%Y%m%d'), Week.thisweek().isoformat()) |
|
| 19 |
+ |
|
| 20 |
+ # 总收入 |
|
| 21 |
+ r.incr(TOTAL_INCOME % (uid, ptype), fee) |
|
| 22 |
+ # 周收入 |
|
| 23 |
+ r.incr(WEEK_INCOME % (uid, ptype, week), fee) |
|
| 24 |
+ # 日收入 |
|
| 25 |
+ r.incr(TODAY_INCOME % (uid, ptype, ymd), fee) |
|
| 26 |
+ |
|
| 27 |
+ # 周售出 |
|
| 28 |
+ r.incr(WEEK_SOLD % (uid, ptype, week)) |