@@ -14,6 +14,7 @@ from TimeConvert import TimeConvert as tc  | 
            ||
| 14 | 14 | 
                 | 
            
| 15 | 15 | 
                from account.models import LensmanInfo, UserInfo  | 
            
| 16 | 16 | 
                from group.models import GroupInfo, GroupPhotoInfo, GroupUserInfo  | 
            
| 17 | 
                +from isoweek import Week  | 
            |
| 17 | 18 | 
                from message.models import SystemMessageInfo  | 
            
| 18 | 19 | 
                from pay.models import OrderInfo  | 
            
| 19 | 20 | 
                from photo.models import PhotosInfo  | 
            
                @@ -22,7 +23,7 @@ from utils.error.response_utils import response  | 
            ||
| 22 | 23 | 
                from utils.message_utils import system_messages  | 
            
| 23 | 24 | 
                from utils.page_utils import pagination  | 
            
| 24 | 25 | 
                from utils.redis.rgroup import get_group_info, get_group_users_info, set_group_info, set_group_users_info  | 
            
| 25 | 
                -from utils.redis.rkeys import GROUP_LAST_PHOTO_PK, TODAY_INCOME, TODAY_UPLOAD_PHOTO_AMOUNT  | 
            |
| 26 | 
                +from utils.redis.rkeys import GROUP_LAST_PHOTO_PK, TODAY_INCOME, TODAY_UPLOAD_PHOTO_AMOUNT, WEEK_INCOME, WEEK_SOLD  | 
            |
| 26 | 27 | 
                from utils.thumbnail_utils import make_thumbnail  | 
            
| 27 | 28 | 
                from utils.watermark_utils import watermark_wrap  | 
            
| 28 | 29 | 
                 | 
            
                @@ -257,9 +258,16 @@ def lensman_brief_api(request):  | 
            ||
| 257 | 258 | 
                     user_id = request.POST.get('user_id', '')
               | 
            
| 258 | 259 | 
                 | 
            
| 259 | 260 | 
                ymd = tc.local_string(format='%Y%m%d')  | 
            
| 261 | 
                + week = Week.thisweek().isoformat()  | 
            |
| 260 | 262 | 
                 | 
            
| 263 | 
                + # 周收入  | 
            |
| 264 | 
                + week_income = int(r.get(WEEK_INCOME % (user_id, week)) or 0)  | 
            |
| 265 | 
                + # 日收入  | 
            |
| 261 | 266 | 
                today_income = int(r.get(TODAY_INCOME % (user_id, ymd)) or 0)  | 
            
| 267 | 
                + # 日上传  | 
            |
| 262 | 268 | 
                today_upload = int(r.get(TODAY_UPLOAD_PHOTO_AMOUNT % (user_id, ymd)) or 0)  | 
            
| 269 | 
                + # 周售出  | 
            |
| 270 | 
                + week_sold = int(r.get(WEEK_SOLD % (OrderInfo.ORIGIN, user_id, ymd)) or 0)  | 
            |
| 263 | 271 | 
                 | 
            
| 264 | 272 | 
                # 摄影师端系统消息  | 
            
| 265 | 273 | 
                systems = system_messages(user_id, SystemMessageInfo.PAIAI_LENSMAN)  | 
            
                @@ -272,9 +280,10 @@ def lensman_brief_api(request):  | 
            ||
| 272 | 280 | 
                orders = [order.data(user_id) for order in orders]  | 
            
| 273 | 281 | 
                 | 
            
| 274 | 282 | 
                     return response(200, 'Get Lensman Brief Success', u'获取摄影师简报成功', {
               | 
            
| 283 | 
                + 'week_income': week_income,  | 
            |
| 275 | 284 | 
                'today_income': today_income,  | 
            
| 276 | 285 | 
                'today_upload': today_upload,  | 
            
| 277 | 
                - 'avg_income': int(today_income / (today_upload + 1)),  | 
            |
| 286 | 
                + 'week_sold': week_sold,  | 
            |
| 278 | 287 | 
                         'messages': {
               | 
            
| 279 | 288 | 
                'system': systems,  | 
            
| 280 | 289 | 
                'orders': orders,  | 
            
                @@ -10,12 +10,13 @@ from wechatpy import WeChatPay, WeChatPayException  | 
            ||
| 10 | 10 | 
                 | 
            
| 11 | 11 | 
                from account.models import UserIncomeExpensesInfo, UserInfo  | 
            
| 12 | 12 | 
                from group.models import GroupPhotoInfo, GroupPhotoOrderInfo  | 
            
| 13 | 
                +from isoweek import Week  | 
            |
| 13 | 14 | 
                from pay.models import OrderInfo  | 
            
| 14 | 15 | 
                from photo.models import PhotosInfo  | 
            
| 15 | 16 | 
                from utils.error.errno_utils import GroupPhotoStatusCode, OrderStatusCode, UserStatusCode, WithdrawStatusCode  | 
            
| 16 | 17 | 
                from utils.error.response_utils import response  | 
            
| 17 | 18 | 
                from utils.page_utils import pagination  | 
            
| 18 | 
                -from utils.redis.rkeys import LENSMAN_PHOTO_PRICE, TODAY_INCOME, TOTAL_INCOME  | 
            |
| 19 | 
                +from utils.redis.rkeys import LENSMAN_PHOTO_PRICE, TODAY_INCOME, TOTAL_INCOME, WEEK_INCOME, WEEK_SOLD  | 
            |
| 19 | 20 | 
                from utils.redis.rorder import set_lensman_order_record  | 
            
| 20 | 21 | 
                 | 
            
| 21 | 22 | 
                 | 
            
                @@ -133,8 +134,18 @@ def order_paid_success(order):  | 
            ||
| 133 | 134 | 
                user.balance += order.total_fee  | 
            
| 134 | 135 | 
                user.save()  | 
            
| 135 | 136 | 
                 | 
            
| 137 | 
                + ymd = tc.local_string(format='%Y%m%d')  | 
            |
| 138 | 
                + week = Week.thisweek().isoformat()  | 
            |
| 139 | 
                +  | 
            |
| 140 | 
                + # 总收入  | 
            |
| 136 | 141 | 
                r.incr(TOTAL_INCOME % to_uid, total_fee)  | 
            
| 137 | 
                - r.incr(TODAY_INCOME % (to_uid, tc.local_string(format='%Y%m%d')), total_fee)  | 
            |
| 142 | 
                + # 周收入  | 
            |
| 143 | 
                + r.incr(WEEK_INCOME % (to_uid, week), total_fee)  | 
            |
| 144 | 
                + # 日收入  | 
            |
| 145 | 
                + r.incr(TODAY_INCOME % (to_uid, ymd), total_fee)  | 
            |
| 146 | 
                +  | 
            |
| 147 | 
                + # 周售出  | 
            |
| 148 | 
                + r.incr(WEEK_SOLD % (order.photo_type, to_uid, week))  | 
            |
| 138 | 149 | 
                 | 
            
| 139 | 150 | 
                UserIncomeExpensesInfo.objects.create(  | 
            
| 140 | 151 | 
                user_id=to_uid,  | 
            
                @@ -18,6 +18,7 @@ hiredis==0.2.0  | 
            ||
| 18 | 18 | 
                ipdb==0.8.1  | 
            
| 19 | 19 | 
                ipython==4.0.0  | 
            
| 20 | 20 | 
                jsonfield==1.0.3  | 
            
| 21 | 
                +isoweek==1.3.0  | 
            |
| 21 | 22 | 
                kkconst==1.1.2  | 
            
| 22 | 23 | 
                mock==2.0.0  | 
            
| 23 | 24 | 
                pep8==1.6.2  | 
            
                @@ -31,10 +31,14 @@ LENSMAN_PHOTO_HAGGLE_TIMES = 'lensman:photo:haggle:times:%s:%s:%s' # STRING,  | 
            ||
| 31 | 31 | 
                LENSMAN_PHOTO_ORDER_RECORD = 'lensman:photo:order:record:%s:%s' # STRING,摄影师照片购买记录,photo_id、user_id  | 
            
| 32 | 32 | 
                 | 
            
| 33 | 33 | 
                # 摄影师简报相关  | 
            
| 34 | 
                +# 收入  | 
            |
| 34 | 35 | 
                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')  | 
            |
| 36 | 
                +WEEK_INCOME = 'week:income:%s:%s' # STRING,周收入,user_id、Week.thisweek().isoformat()  | 
            |
| 37 | 
                +TODAY_INCOME = 'today:income:%s:%s' # STRING,日收入,user_id、tc.local_string(format='%Y%m%d')  | 
            |
| 38 | 
                +# 上传  | 
            |
| 39 | 
                +TODAY_UPLOAD_PHOTO_AMOUNT = 'today:upload:photo:amount:%s:%s' # STRING,日上传照片数量,user_id、tc.local_string(format='%Y%m%d')  | 
            |
| 40 | 
                +# 售出  | 
            |
| 41 | 
                +WEEK_SOLD = 'week:sold:%s:%s:%s' # STRING,周售出,photo_type、user_id、Week.thisweek().isoformat()  | 
            |
| 38 | 42 | 
                 | 
            
| 39 | 43 | 
                # 系统消息相关  | 
            
| 40 | 44 | 
                SYSTEM_MESSAGE_READ_INFO = 'system:message:read:info:%s' # STRING,系统消息读取信息,user_id  |