4733affcd0238L32">32
- type_unread_messages = SystemMessageInfo.objects.filter(
- src=SystemMessageInfo.PAIAI_USER,
- status=True,
- ).exclude(
- pk__in=list(set(read_message_ids + deleted_message_ids)),
- )
+ type_unread_messages = system_unread_messages(user_id, SystemMessageInfo.PAIAI_USER)
else:
type_unread_messages = UserMessageInfo.objects.filter(
to_uid=user_id,
@@ -63,13 +56,7 @@ def message_type_list_api(request, msg_type):
num = int(request.POST.get('num', 0) or request.GET.get('num', 0) or settings.MESSAGE_NUM_PER_PAGE)
if msg_type == UserMessageInfo.SYSTEM:
- deleted_message_ids = get_system_message_delete_info(user_id)
- type_messages = SystemMessageInfo.objects.filter(
- src=SystemMessageInfo.PAIAI_USER,
- status=True,
- ).exclude(
- pk__in=deleted_message_ids,
- )
+ type_messages = system_messages(user_id, SystemMessageInfo.PAIAI_USER)
else:
type_messages = UserMessageInfo.objects.filter(
to_uid=user_id,
@@ -114,7 +101,7 @@ def message_type_read_api(request, msg_type=None):
if _all == 'true': # 系统消息全部读取
for msg in SystemMessageInfo.objects.filter(src=SystemMessageInfo.PAIAI_USER, status=True):
SystemMessageReadInfo.objects.get_or_create(user_id=user_id, msg_id=msg.pk)
- get_system_message_read_info(user_id)
+ set_system_message_read_info(user_id)
else:
if pk > 0: # 用户(点赞/评论)消息单个读取
UserMessageInfo.objects.filter(pk=pk, to_uid=user_id).update(read=True)
@@ -15,7 +15,7 @@ from photo.models import PhotosInfo |
||
| 15 | 15 |
from utils.error.errno_utils import GroupPhotoStatusCode, OrderStatusCode, UserStatusCode, WithdrawStatusCode |
| 16 | 16 |
from utils.error.response_utils import response |
| 17 | 17 |
from utils.page_utils import pagination |
| 18 |
-from utils.redis.rkeys import LENSMAN_PHOTO_PRICE |
|
| 18 |
+from utils.redis.rkeys import LENSMAN_PHOTO_PRICE, TODAY_INCOME, TOTAL_INCOME |
|
| 19 | 19 |
from utils.redis.rorder import set_lensman_order_record |
| 20 | 20 |
|
| 21 | 21 |
|
@@ -124,40 +124,48 @@ def order_paid_success(order): |
||
| 124 | 124 |
|
| 125 | 125 |
set_lensman_order_record(porder) |
| 126 | 126 |
|
| 127 |
- if order.to_lid: |
|
| 128 |
- try: |
|
| 129 |
- lensman = LensmanInfo.objects.select_for_update().filter(lensman_id=order.to_lid)[0] |
|
| 130 |
- except IndexError: |
|
| 131 |
- return |
|
| 132 |
- |
|
| 133 |
- lensman.balance += order.total_fee |
|
| 134 |
- lensman.save() |
|
| 135 |
- |
|
| 136 |
- LensmanIncomeExpensesInfo.objects.create( |
|
| 137 |
- lensman_id=order.to_lid, |
|
| 138 |
- photo_id=order.photo_id, |
|
| 139 |
- type=LensmanIncomeExpensesInfo.INCOME, |
|
| 140 |
- amount=order.total_fee, |
|
| 141 |
- balance=lensman.balance, |
|
| 142 |
- remark=u'图片购买', |
|
| 143 |
- ) |
|
| 144 |
- elif order.to_uid: |
|
| 145 |
- try: |
|
| 146 |
- user = UserInfo.objects.select_for_update().filter(user_id=order.to_uid)[0] |
|
| 147 |
- except IndexError: |
|
| 148 |
- return |
|
| 149 |
- |
|
| 150 |
- user.balance += order.total_fee |
|
| 151 |
- user.save() |
|
| 152 |
- |
|
| 153 |
- UserIncomeExpensesInfo.objects.create( |
|
| 154 |
- user_id=order.user_id, |
|
| 155 |
- photo_id=order.photo_id, |
|
| 156 |
- type=UserIncomeExpensesInfo.INCOME, |
|
| 157 |
- amount=order.total_fee, |
|
| 158 |
- balance=user.balance, |
|
| 159 |
- remark=u'图片购买', |
|
| 160 |
- ) |
|
| 127 |
+ # Lensman ==> User |
|
| 128 |
+ # if order.to_lid: |
|
| 129 |
+ # try: |
|
| 130 |
+ # lensman = LensmanInfo.objects.select_for_update().filter(lensman_id=order.to_lid)[0] |
|
| 131 |
+ # except IndexError: |
|
| 132 |
+ # return |
|
| 133 |
+ # |
|
| 134 |
+ # lensman.balance += order.total_fee |
|
| 135 |
+ # lensman.save() |
|
| 136 |
+ # |
|
| 137 |
+ # LensmanIncomeExpensesInfo.objects.create( |
|
| 138 |
+ # lensman_id=order.to_lid, |
|
| 139 |
+ # photo_id=order.photo_id, |
|
| 140 |
+ # type=LensmanIncomeExpensesInfo.INCOME, |
|
| 141 |
+ # amount=order.total_fee, |
|
| 142 |
+ # balance=lensman.balance, |
|
| 143 |
+ # remark=u'图片购买', |
|
| 144 |
+ # ) |
|
| 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 |