145
+    # elif order.to_uid:
146
+
147
+    to_uid = order.to_uid
148
+    total_fee = order.total_fee
149
+
150
+    try:
151
+        user = UserInfo.objects.select_for_update().filter(user_id=to_uid)[0]
152
+    except IndexError:
153
+        return
154
+
155
+    user.balance += order.total_fee
156
+    user.save()
157
+
158
+    r.incr(TOTAL_INCOME % to_uid, total_fee)
159
+    r.incr(TODAY_INCOME % (to_uid, tc.local_string(format='%Y%m%d')), total_fee)
160
+
161
+    UserIncomeExpensesInfo.objects.create(
162
+        user_id=to_uid,
163
+        photo_id=order.photo_id,
164
+        type=UserIncomeExpensesInfo.INCOME,
165
+        amount=total_fee,
166
+        balance=user.balance,
167
+        remark=u'图片购买',
168
+    )
161 169
 
162 170
 
163 171
 def order_paid_fail(order):

+ 1 - 1
utils/error/response_utils.py

@@ -16,4 +16,4 @@ def response_data(status_code, message=None, description=None, data={}):
16 16
 
17 17
 def response(status_code, message=None, description=None, data={}):
18 18
     message, description = (status_code.message, status_code.description) if isinstance(status_code, StatusCodeField) else (message, description)
19
-    return JsonResponse(response_data(status_code, message, description, data))
19
+    return JsonResponse(response_data(status_code, message, description, data), safe=False)

+ 17 - 0
utils/message_utils.py

@@ -0,0 +1,17 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+from message.models import SystemMessageInfo
4
+from utils.redis.rmessage import get_system_message_delete_info, get_system_message_read_info
5
+
6
+
7
+def system_messages(user_id, src=SystemMessageInfo.PAIAI_USER):
8
+    """ Not Deleted """
9
+    deleted_message_ids = get_system_message_delete_info(user_id)
10
+    return SystemMessageInfo.objects.filter(src=src, status=True).exclude(pk__in=deleted_message_ids)
11
+
12
+
13
+def system_unread_messages(user_id, src):
14
+    """ Not Deleted & Read """
15
+    read_message_ids = get_system_message_read_info(user_id)
16
+    deleted_message_ids = get_system_message_delete_info(user_id)
17
+    return SystemMessageInfo.objects.filter(src=src, status=True).exclude(pk__in=list(set(read_message_ids + deleted_message_ids)))

+ 6 - 0
utils/redis/rkeys.py

@@ -30,6 +30,12 @@ LENSMAN_PHOTO_PRICE = 'lensman:photo:price:%s:%s:%s'  # STRING,摄影师照片
30 30
 LENSMAN_PHOTO_HAGGLE_TIMES = 'lensman:photo:haggle:times:%s:%s:%s'  # STRING,摄影师照片砍价次数,photo_id、user_id、photo_type
31 31
 LENSMAN_PHOTO_ORDER_RECORD = 'lensman:photo:order:record:%s:%s'  # STRING,摄影师照片购买记录,photo_id、user_id
32 32
 
33
+# 摄影师简报相关
34
+TOTAL_INCOME = 'total:income:%s'  # STRING,总收入,user_id
35
+TODAY_INCOME = 'today:income:%s:%s'  # STRING,今日收入,user_id、tc.local_string(format='%Y%m%d')
36
+
37
+TODAY_UPLOAD_PHOTO_AMOUNT = 'today:upload:photo:amount:%s:%s'  # STRING,今日上传照片数量,user_id、tc.local_string(format='%Y%m%d')
38
+
33 39
 # 系统消息相关
34 40
 SYSTEM_MESSAGE_READ_INFO = 'system:message:read:info:%s'  # STRING,系统消息读取信息,user_id
35 41
 SYSTEM_MESSAGE_DELETED_INFO = 'system:message:deleted:info:%s'  # STRING,系统消息删除信息,user_id

kodo - Gogs: Go Git Service

No Description

Brightcells: f72ccb1875 isort import 10 years ago
..
__init__.py 7a17d0fb90 add api wxpay & add redis relative 10 years ago
retrieve.py f72ccb1875 isort import 10 years ago
rgroup.py f72ccb1875 isort import 10 years ago
rkeys.py b7a21719c7 change message_list_api to return unread message num 10 years ago
rmessage.py f72ccb1875 isort import 10 years ago
rorder.py f72ccb1875 isort import 10 years ago