="">
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):
|
|
|
|
@@ -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)
|
|
|
|
@@ -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)))
|
|
|
|
@@ -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
|