- ymd, week = (tc.local_string(utc_dt=dt, format='%Y%m%d'), Week.withdate(dt)) if dt else (tc.local_string(format='%Y%m%d'), Week.thisweek().isoformat())
-
- # 总收入
- r.incr(TOTAL_INCOME % (uid, ptype), fee)
- # 周收入
- r.incr(WEEK_INCOME % (uid, ptype, week), fee)
- # 日收入
- r.incr(TODAY_INCOME % (uid, ptype, ymd), fee)
-
- # 周售出
- r.incr(WEEK_SOLD % (uid, ptype, week))
@@ -1,58 +0,0 @@ |
||
| 1 |
-# -*- coding: utf-8 -*- |
|
| 2 |
- |
|
| 3 |
-from group.models import GroupInfo, GroupPhotoInfo, GroupUserInfo, PhotoCommentInfo, PhotoThumbUpInfo |
|
| 4 |
-from utils.redis.connect import r |
|
| 5 |
-from utils.redis.rgroup import set_group_photo_data, set_group_users_info |
|
| 6 |
-from utils.redis.rkeys import (GROUP_LAST_PHOTO_PK, GROUP_PHOTO_WATCHER_SET, GROUP_USERS_APPLYING_SET, |
|
| 7 |
- GROUP_USERS_DELETED_SET, GROUP_USERS_PASSED_SET, GROUP_USERS_REFUSED_SET) |
|
| 8 |
- |
|
| 9 |
- |
|
| 10 |
-def retrieve_group_data(): |
|
| 11 |
- """ 群组数据 """ |
|
| 12 |
- groups = GroupInfo.objects.filter(status=True) |
|
| 13 |
- for group in groups: |
|
| 14 |
- # 群组照片 |
|
| 15 |
- set_group_photo_data(group.group_id) |
|
| 16 |
- # 群组用户 |
|
| 17 |
- set_group_users_info(group) |
|
| 18 |
- |
|
| 19 |
- |
|
| 20 |
-def retrieve_last_pk(): |
|
| 21 |
- """ 群组最后一张照片PK """ |
|
| 22 |
- groups = GroupInfo.objects.filter(status=True) |
|
| 23 |
- for group in groups: |
|
| 24 |
- group_photo = GroupPhotoInfo.objects.filter(group_id=group.group_id, status=True).last() |
|
| 25 |
- r.set(GROUP_LAST_PHOTO_PK % group.group_id, group_photo and group_photo.pk or -1) |
|
| 26 |
- |
|
| 27 |
- |
|
| 28 |
-def retrieve_group_user_status(): |
|
| 29 |
- """ 群组用户状态 """ |
|
| 30 |
- group_users = GroupUserInfo.objects.filter(status=True) |
|
| 31 |
- for group_user in group_users: |
|
| 32 |
- group_id, user_id = group_user.group_id, group_user.user_id |
|
| 33 |
- if group_user.user_status == GroupUserInfo.PASSED: |
|
| 34 |
- r.sadd(GROUP_USERS_PASSED_SET % group_id, user_id) |
|
| 35 |
- elif group_user.user_status == GroupUserInfo.DELETED: |
|
| 36 |
- r.sadd(GROUP_USERS_DELETED_SET % group_id, user_id) |
|
| 37 |
- elif group_user.user_status == GroupUserInfo.APPLYING: |
|
| 38 |
- r.sadd(GROUP_USERS_APPLYING_SET % group_id, user_id) |
|
| 39 |
- elif group_user.user_status == GroupUserInfo.REFUSED: |
|
| 40 |
- r.sadd(GROUP_USERS_REFUSED_SET % group_id, user_id) |
|
| 41 |
- |
|
| 42 |
- |
|
| 43 |
-def retrieve_group_photo_watchers(): |
|
| 44 |
- group_photos = GroupPhotoInfo.objects.filter(status=True) |
|
| 45 |
- for group_photo in group_photos: |
|
| 46 |
- photo_comments = PhotoCommentInfo.objects.filter(photo_id=group_photo.photo_id, status=True) |
|
| 47 |
- for photo_comment in photo_comments: |
|
| 48 |
- r.sadd(GROUP_PHOTO_WATCHER_SET % group_photo.pk, photo_comment.user_id) |
|
| 49 |
- photo_thumbups = PhotoThumbUpInfo.objects.filter(photo_id=group_photo.photo_id, status=True) |
|
| 50 |
- for photo_thumbup in photo_thumbups: |
|
| 51 |
- r.sadd(GROUP_PHOTO_WATCHER_SET % group_photo.pk, photo_thumbup.user_id) |
|
| 52 |
- |
|
| 53 |
- |
|
| 54 |
-def retrieve_redis_data(): |
|
| 55 |
- retrieve_group_data() |
|
| 56 |
- retrieve_last_pk() |
|
| 57 |
- retrieve_group_user_status() |
|
| 58 |
- retrieve_group_photo_watchers() |
@@ -1,147 +0,0 @@ |
||
| 1 |
-# -*- coding: utf-8 -*- |
|
| 2 |
- |
|
| 3 |
-from django.core.serializers.json import DjangoJSONEncoder |
|
| 4 |
- |
|
| 5 |
-from utils.redis.connect import r |
|
| 6 |
-from utils.redis.rkeys import (GROUP_INFO, GROUP_PHOTO_COMMENT_LIST, GROUP_PHOTO_DATA, GROUP_PHOTO_THUMB_UP, |
|
| 7 |
- GROUP_PHOTO_THUMB_UP_LIST, GROUP_PHOTO_WATCHER_SET, GROUP_USERS_INFO, |
|
| 8 |
- GROUP_USERS_KV_INFO) |
|
| 9 |
- |
|
| 10 |
- |
|
| 11 |
-def set_group_info(group): |
|
| 12 |
- """ 设置群组信息 """ |
|
| 13 |
- r.setexjson(GROUP_INFO % group.group_id, r.REDIS_EXPIRED_ONE_MONTH, group.data, cls=DjangoJSONEncoder) |
|
| 14 |
- return group.data |
|
| 15 |
- |
|
| 16 |
- |
|
| 17 |
-def set_group_info_by_id(group_id): |
|
| 18 |
- """ 设置群组信息 """ |
|
| 19 |
- from group.models import GroupInfo |
|
| 20 |
- try: |
|
| 21 |
- group = GroupInfo.objects.get(group_id=group_id) |
|
| 22 |
- except GroupInfo.DoesNotExist: |
|
| 23 |
- return {}
|
|
| 24 |
- return set_group_info(group) |
|
| 25 |
- |
|
| 26 |
- |
|
| 27 |
-def get_group_info(group_id): |
|
| 28 |
- """ 获取群组信息 """ |
|
| 29 |
- return r.getjson(GROUP_INFO % group_id) or set_group_info_by_id(group_id) |
|
| 30 |
- |
|
| 31 |
- |
|
| 32 |
-# 群组用户信息相关 |
|
| 33 |
- |
|
| 34 |
- |
|
| 35 |
-def set_group_users_info(group): |
|
| 36 |
- """ 设置群组用户信息 """ |
|
| 37 |
- group_users = group.users(admin=False) |
|
| 38 |
- |
|
| 39 |
- group_users_data = {
|
|
| 40 |
- 'group_users': group_users, |
|
| 41 |
- 'admin_id': group.admin_id, |
|
| 42 |
- } |
|
| 43 |
- r.setexjson(GROUP_USERS_INFO % group.group_id, r.REDIS_EXPIRED_ONE_MONTH, group_users_data, cls=DjangoJSONEncoder) |
|
| 44 |
- |
|
| 45 |
- group_users_kv_data = {user_info.get('user_id', ''): user_info for user_info in group_users.get('passed', [])}
|
|
| 46 |
- r.setexjson(GROUP_USERS_KV_INFO % group.group_id, r.REDIS_EXPIRED_ONE_MONTH, group_users_kv_data, cls=DjangoJSONEncoder) |
|
| 47 |
- |
|
| 48 |
- return group_users_data, group_users_kv_data |
|
| 49 |
- |
|
| 50 |
- |
|
| 51 |
-def set_group_users_info_by_id(group_id): |
|
| 52 |
- """ 设置群组用户信息 """ |
|
| 53 |
- from group.models import GroupInfo |
|
| 54 |
- try: |
|
| 55 |
- group = GroupInfo.objects.get(group_id=group_id) |
|
| 56 |
- except GroupInfo.DoesNotExist: |
|
| 57 |
- return {}, {}
|
|
| 58 |
- return set_group_users_info(group) |
|
| 59 |
- |
|
| 60 |
- |
|
| 61 |
-def get_group_users_info(group_id, user_id): |
|
| 62 |
- """ 获取群组用户信息 """ |
|
| 63 |
- group_users_data = r.getjson(GROUP_USERS_INFO % group_id) or set_group_users_info_by_id(group_id)[0] |
|
| 64 |
- group_users, admin_id = group_users_data.get('group_users', {}), group_users_data.get('admin_id', '')
|
|
| 65 |
- if group_users and user_id != admin_id: |
|
| 66 |
- [group_users.pop(k) for k in ['applying_count', 'applying']] |
|
| 67 |
- return group_users |
|
| 68 |
- |
|
| 69 |
- |
|
| 70 |
-def get_group_users_kv_info(group_id): |
|
| 71 |
- """ 获取群组用户信息 """ |
|
| 72 |
- return r.getjson(GROUP_USERS_KV_INFO % group_id) or set_group_users_info_by_id(group_id)[1] |
|
| 73 |
- |
|
| 74 |
- |
|
| 75 |
-# 群组照片相关 |
|
| 76 |
- |
|
| 77 |
- |
|
| 78 |
-def set_group_photo_data(group_id): |
|
| 79 |
- """ 设置群组照片数据信息 """ |
|
| 80 |
- from group.models import GroupPhotoInfo |
|
| 81 |
- group_photos = GroupPhotoInfo.objects.filter(group_id=group_id, status=True) |
|
| 82 |
- group_photos = [photo.photo_data for photo in group_photos] |
|
| 83 |
- r.setjson(GROUP_PHOTO_DATA % group_id, group_photos) |
|
| 84 |
- return group_photos |
|
| 85 |
- |
|
| 86 |
- |
|
| 87 |
-def get_group_photo_data(group_id): |
|
| 88 |
- """ 获取群组照片数据信息 """ |
|
| 89 |
- return r.getjson(GROUP_PHOTO_DATA % group_id, default='[]') or set_group_photo_data(group_id) |
|
| 90 |
- |
|
| 91 |
- |
|
| 92 |
-def set_group_photo_thumbup_flag(photo_id, user_id): |
|
| 93 |
- """ 设置群组照片用户点赞标识信息 """ |
|
| 94 |
- r.setex(GROUP_PHOTO_THUMB_UP % (photo_id, user_id), r.REDIS_EXPIRED_ONE_MONTH, True) |
|
| 95 |
- |
|
| 96 |
- |
|
| 97 |
-def del_group_photo_thumbup_flag(photo_id, user_id): |
|
| 98 |
- """ 删除群组照片用户点赞标识信息 """ |
|
| 99 |
- r.delete(GROUP_PHOTO_THUMB_UP % (photo_id, user_id)) |
|
| 100 |
- |
|
| 101 |
- |
|
| 102 |
-def get_group_photo_thumbup_flag(photo_id, user_id): |
|
| 103 |
- """ 获取群组照片用户点赞标识信息 """ |
|
| 104 |
- if r.exists(GROUP_PHOTO_THUMB_UP % (photo_id, user_id)): |
|
| 105 |
- return True |
|
| 106 |
- |
|
| 107 |
- from group.models import PhotoThumbUpInfo |
|
| 108 |
- if PhotoThumbUpInfo.objects.filter(photo_id=photo_id, user_id=user_id, thumbup=True, status=True).exists(): |
|
| 109 |
- set_group_photo_thumbup_flag(photo_id, user_id) |
|
| 110 |
- return True |
|
| 111 |
- |
|
| 112 |
- return False |
|
| 113 |
- |
|
| 114 |
- |
|
| 115 |
-def set_group_photo_comment_list(photo_id): |
|
| 116 |
- """ 设置群组照片用户评论列表 """ |
|
| 117 |
- from group.models import PhotoCommentInfo |
|
| 118 |
- photo_comments = PhotoCommentInfo.objects.filter(photo_id=photo_id, status=True) |
|
| 119 |
- photo_comments = [comment.comment_info for comment in photo_comments] |
|
| 120 |
- r.setjson(GROUP_PHOTO_COMMENT_LIST % photo_id, photo_comments, cls=DjangoJSONEncoder) |
|
| 121 |
- return photo_comments |
|
| 122 |
- |
|
| 123 |
- |
|
| 124 |
-def get_group_photo_comment_list(photo_id): |
|
| 125 |
- """ 获取群组照片用户评论列表 """ |
|
| 126 |
- return r.getjson(GROUP_PHOTO_COMMENT_LIST % photo_id, default='[]') or set_group_photo_comment_list(photo_id) |
|
| 127 |
- |
|
| 128 |
- |
|
| 129 |
-def set_group_photo_thumbup_list(photo_id): |
|
| 130 |
- """ 设置群组照片用户点赞列表 """ |
|
| 131 |
- from group.models import PhotoThumbUpInfo |
|
| 132 |
- photo_thumbups = PhotoThumbUpInfo.objects.filter(photo_id=photo_id, thumbup=True, status=True) |
|
| 133 |
- photo_thumbups = [thumbup.thumbup_info for thumbup in photo_thumbups] |
|
| 134 |
- r.setjson(GROUP_PHOTO_THUMB_UP_LIST % photo_id, photo_thumbups, cls=DjangoJSONEncoder) |
|
| 135 |
- return photo_thumbups |
|
| 136 |
- |
|
| 137 |
- |
|
| 138 |
-def get_group_photo_thumbup_list(photo_id): |
|
| 139 |
- """ 获取群组照片用户点赞列表 """ |
|
| 140 |
- return r.getjson(GROUP_PHOTO_THUMB_UP_LIST % photo_id, default='[]') or set_group_photo_thumbup_list(photo_id) |
|
| 141 |
- |
|
| 142 |
- |
|
| 143 |
-def get_group_photo_watchers(photo_id, discarders=None): |
|
| 144 |
- """ 获取群组照片用户关注列表 """ |
|
| 145 |
- watchers = r.smembers(GROUP_PHOTO_WATCHER_SET % photo_id) |
|
| 146 |
- [watchers.discard(elem) for elem in discarders or []] |
|
| 147 |
- return watchers |
@@ -1,20 +0,0 @@ |
||
| 1 |
-# -*- coding: utf-8 -*- |
|
| 2 |
- |
|
| 3 |
-from utils.redis.connect import r |
|
| 4 |
-from utils.redis.rkeys import GUEST_ENTRANCE_CONTROL_INFO |
|
| 5 |
- |
|
| 6 |
- |
|
| 7 |
-def set_guest_entrance_control(gen): |
|
| 8 |
- """ 设置游客入口控制 """ |
|
| 9 |
- r.setjson(GUEST_ENTRANCE_CONTROL_INFO % gen.src, gen.data) |
|
| 10 |
- return gen.data |
|
| 11 |
- |
|
| 12 |
- |
|
| 13 |
-def get_guest_entrance_control(src=0): |
|
| 14 |
- """ 获取游客入口控制 """ |
|
| 15 |
- return r.getjson(GUEST_ENTRANCE_CONTROL_INFO % src) |
|
| 16 |
- |
|
| 17 |
- |
|
| 18 |
-def delete_guest_entrance_control(src=0): |
|
| 19 |
- """ 删除游客入口控制 """ |
|
| 20 |
- return r.delete(GUEST_ENTRANCE_CONTROL_INFO % src) |
@@ -1,71 +1,12 @@ |
||
| 1 |
-# -*- coding: utf-8 -*- |
|
| 2 |
- |
|
| 3 |
-# 唯一标识相关 |
|
| 4 |
-UUID_LIST = 'uuid:list' # List,唯一标识列表 |
|
| 5 |
- |
|
| 6 |
-# 用户相关 |
|
| 7 |
-PROFILE_INFO = 'profile:info:%s' # STRING,用户信息,user_id |
|
| 8 |
- |
|
| 9 |
-# 导游相关 |
|
| 10 |
-TOUR_GUIDE_GROUP_GEO_INFO = 'tour:guide:group:geo:info:%s' # ZSET,旅游团地理位置信息,group_id |
|
| 11 |
-TOUR_GUIDE_GROUP_GEO_SUBMIT_DT = 'tour:guide:group:geo:submit:dt:%s' # ZSET,旅游团地理位置最后上传时间,group_id |
|
| 12 |
-TOUR_GUIDE_GROUP_CUR_SESSION = 'tour:guide:group:cur:session:%s' # STRING,旅游团当前Session,group_id,导游设置集合时间的时候更新 |
|
| 13 |
-TOUR_GUIDE_GROUP_CUR_GATHER_INFO = 'tour:guide:group:cur:gather:info:%s' # STRING,旅游团当前Session,group_id,导游设置集合时间的时候更新 |
|
| 14 |
-TOUR_GUIDE_GROUP_USER_GEO_LIST = 'tour:guide:group:user:geo:list:%s:%s:%s' # LIST,旅游团当前用户地理位置列表,group_id、session_id、user_id |
|
| 15 |
- |
|
| 16 |
-TOUR_GUIDE_GROUP_USER_OWN = 'tour:guide:group:user:own:%s' # STRING,导游当前拥有的旅行团,user_id,导游创建旅行团的时候更新 |
|
| 17 |
-TOUR_GUIDE_GROUP_USER_BELONG = 'tour:guide:group:user:belong:%s' # STRING,用户当前所属旅行团,user_id,用户加入旅行团的时候更新 |
|
| 18 |
- |
|
| 19 |
-# 群组相关 |
|
| 20 |
-GROUP_INFO = 'group:info:%s' # STRING,群组信息,group_id |
|
| 21 |
- |
|
| 22 |
-# 群组用户相关 |
|
| 23 |
-GROUP_USERS_INFO = 'group:users:info:%s' # STRING,群组用户信息,group_id |
|
| 24 |
-GROUP_USERS_KV_INFO = 'group:users:kv:info:%s' # STRING,群组用户信息,group_id |
|
| 25 |
-GROUP_USERS_APPLYING_SET = 'group:users:applying:set:%s' # SET,群组用户申请集合,group_id |
|
| 26 |
-GROUP_USERS_PASSED_SET = 'group:users:passed:set:%s' # SET,群组用户通过集合,group_id |
|
| 27 |
-GROUP_USERS_REFUSED_SET = 'group:users:refused:set:%s' # SET,群组用户拒绝集合,group_id |
|
| 28 |
-GROUP_USERS_DELETED_SET = 'group:users:deleted:set:%s' # SET,群组用户移除集合,group_id |
|
| 29 |
-GROUP_USERS_QUIT_SET = 'group:users:quit:set:%s' # SET,群组用户退出集合,group_id |
|
| 30 |
- |
|
| 31 |
-# 群组照片相关 |
|
| 32 |
-GROUP_PHOTO_DATA = 'group:photo:data:%s' # STRING,群组数据记录,group_id |
|
| 33 |
-GROUP_PHOTO_THUMB_UP = 'group:photo:thumb:up:%s:%s' # STRING,群组照片用户点赞记录,photo_id、user_id |
|
| 34 |
-GROUP_PHOTO_COMMENT_LIST = 'group:photo:comment:list:%s' # STRING,群组照片用户评论列表,photo_id |
|
| 35 |
-GROUP_PHOTO_THUMB_UP_LIST = 'group:photo:thumb:up:list:%s' # STRING,群组照片用户点赞列表,photo_id |
|
| 36 |
-GROUP_PHOTO_WATCHER_SET = 'group:photo:watcher:set:%s' # SET,群组照片用户关注集合,photo_id,关注即评论点赞 |
|
| 37 |
-GROUP_LAST_PHOTO_PK = 'group:last:photo:pk:%s' # STRING,群组最后一张照片PK,group_id |
|
| 38 |
- |
|
| 39 |
-# 摄影师照片相关 |
|
| 40 |
-LENSMAN_PHOTO_ORDER_RECORD = 'lensman:photo:order:record:%s:%s' # STRING,摄影师照片购买记录,photo_id、user_id |
|
| 41 |
- |
|
| 42 |
-# 摄影师简报相关 |
|
| 43 |
-# 收入 |
|
| 44 |
-TOTAL_INCOME = 'total:income:%s:%s' # STRING,总收入,user_id、photo_type |
|
| 45 |
-WEEK_INCOME = 'week:income:%s:%s:%s' # STRING,周收入,user_id、photo_type、Week.thisweek().isoformat() |
|
| 46 |
-TODAY_INCOME = 'today:income:%s:%s:%s' # STRING,日收入,user_id、photo_type、tc.local_string(format='%Y%m%d') |
|
| 47 |
-# 上传 |
|
| 48 |
-TODAY_UPLOAD_PHOTO_AMOUNT = 'today:upload:photo:amount:%s:%s' # STRING,日上传照片数量,user_id、tc.local_string(format='%Y%m%d') |
|
| 49 |
-# 售出 |
|
| 50 |
-WEEK_SOLD = 'week:sold:%s:%s:%s' # STRING,周售出,user_id、photo_type、Week.thisweek().isoformat() |
|
| 51 |
- |
|
| 52 |
-# 摄影师定价相关 |
|
| 53 |
-LENSMAN_PHOTO_PRICE_FIXED = 'lensman:photo:price:fixed:%s' # STRING,摄影师照片定价(单位:分),user_id |
|
| 54 |
- |
|
| 55 |
-# 系统消息相关 |
|
| 56 |
-SYSTEM_MESSAGE_READ_INFO = 'system:message:read:info:%s' # STRING,系统消息读取信息,user_id |
|
| 57 |
-SYSTEM_MESSAGE_DELETED_INFO = 'system:message:deleted:info:%s' # STRING,系统消息删除信息,user_id |
|
| 58 |
- |
|
| 59 |
-# 游客入口相关 |
|
| 60 |
-GUEST_ENTRANCE_CONTROL_INFO = 'guest:entrance:control:info:%s' # STRING,游客入口控制信息,src |
|
| 1 |
+# -*- coding: utf-8 -*-' |
|
| 61 | 2 |
|
| 62 | 3 |
# APP 相关 |
| 63 | 4 |
LATEST_APP_INFO = 'latest:app:info:%s' # STRING,最新 APP 信息,src |
| 64 | 5 |
APP_SETTINGS_INFO = 'app:settings:info:%s:%s:%s' # STRING,APP 设置信息,platform、channel、version |
| 65 | 6 |
APP_PATCH_INFO = 'app:patch:info:%s:%s:%s' # STRING,APP 补丁信息,platform、version、src |
| 66 | 7 |
|
| 67 |
-# BOX 相关 |
|
| 68 |
-BOX_PROGRAM_VERSION_INFO = 'box:program:version:info' # STRING,BOX 程序版本信息 |
|
| 8 |
+# 用户相关 |
|
| 9 |
+PROFILE_INFO = 'profile:info:%s' # STRING,用户信息,user_id |
|
| 69 | 10 |
|
| 70 | 11 |
# 小程序相关 |
| 71 | 12 |
MINI_PROGRAM_GIS_LIST = 'tamron:miniprogram:gis:list' |
@@ -1,32 +0,0 @@ |
||
| 1 |
-# -*- coding: utf-8 -*- |
|
| 2 |
- |
|
| 3 |
-from utils.redis.connect import r |
|
| 4 |
-from utils.redis.rkeys import SYSTEM_MESSAGE_DELETED_INFO, SYSTEM_MESSAGE_READ_INFO |
|
| 5 |
- |
|
| 6 |
- |
|
| 7 |
-def set_system_message_read_info(user_id): |
|
| 8 |
- """ 设置系统消息读取信息 """ |
|
| 9 |
- from message.models import SystemMessageReadInfo |
|
| 10 |
- read_messages = SystemMessageReadInfo.objects.filter(user_id=user_id, status=True) |
|
| 11 |
- read_message_ids = [msg.msg_id for msg in read_messages] |
|
| 12 |
- r.setexjson(SYSTEM_MESSAGE_READ_INFO % user_id, r.REDIS_EXPIRED_ONE_MONTH, read_message_ids) |
|
| 13 |
- return read_message_ids |
|
| 14 |
- |
|
| 15 |
- |
|
| 16 |
-def get_system_message_read_info(user_id): |
|
| 17 |
- """ 获取系统消息读取信息 """ |
|
| 18 |
- return r.getjson(SYSTEM_MESSAGE_READ_INFO % user_id, default='[]') or set_system_message_read_info(user_id) |
|
| 19 |
- |
|
| 20 |
- |
|
| 21 |
-def set_system_message_delete_info(user_id): |
|
| 22 |
- """ 设置系统消息删除信息 """ |
|
| 23 |
- from message.models import SystemMessageDeleteInfo |
|
| 24 |
- deleted_messages = SystemMessageDeleteInfo.objects.filter(user_id=user_id, status=True) |
|
| 25 |
- deleted_message_ids = [msg.msg_id for msg in deleted_messages] |
|
| 26 |
- r.setexjson(SYSTEM_MESSAGE_DELETED_INFO % user_id, r.REDIS_EXPIRED_ONE_MONTH, deleted_message_ids) |
|
| 27 |
- return deleted_message_ids |
|
| 28 |
- |
|
| 29 |
- |
|
| 30 |
-def get_system_message_delete_info(user_id): |
|
| 31 |
- """ 获取系统消息删除信息 """ |
|
| 32 |
- return r.getjson(SYSTEM_MESSAGE_DELETED_INFO % user_id, default='[]') or set_system_message_delete_info(user_id) |
@@ -1,20 +0,0 @@ |
||
| 1 |
-# -*- coding: utf-8 -*- |
|
| 2 |
- |
|
| 3 |
-from utils.redis.connect import r |
|
| 4 |
-from utils.redis.rkeys import BOX_PROGRAM_VERSION_INFO |
|
| 5 |
- |
|
| 6 |
- |
|
| 7 |
-def set_box_program_version(): |
|
| 8 |
- """ 设置 BOX 程序版本信息 """ |
|
| 9 |
- from operation.models import BoxProgramVersionInfo |
|
| 10 |
- try: |
|
| 11 |
- bpverion = BoxProgramVersionInfo.objects.filter(status=True)[0].data |
|
| 12 |
- except IndexError: |
|
| 13 |
- bpverion = {}
|
|
| 14 |
- r.setjson(BOX_PROGRAM_VERSION_INFO, bpverion) |
|
| 15 |
- return bpverion |
|
| 16 |
- |
|
| 17 |
- |
|
| 18 |
-def get_box_program_version(): |
|
| 19 |
- """ 获取 BOX 程序版本信息 """ |
|
| 20 |
- return r.getjson(BOX_PROGRAM_VERSION_INFO) or set_box_program_version() |
@@ -1,27 +0,0 @@ |
||
| 1 |
-# -*- coding: utf-8 -*- |
|
| 2 |
- |
|
| 3 |
-from django.core.serializers.json import DjangoJSONEncoder |
|
| 4 |
- |
|
| 5 |
-from utils.redis.connect import r |
|
| 6 |
-from utils.redis.rkeys import LENSMAN_PHOTO_ORDER_RECORD |
|
| 7 |
- |
|
| 8 |
- |
|
| 9 |
-def set_lensman_order_record(porder): |
|
| 10 |
- """ 设置摄影师照片购买记录 """ |
|
| 11 |
- r.setexjson(LENSMAN_PHOTO_ORDER_RECORD % (porder.photo_id, porder.user_id), r.REDIS_EXPIRED_ONE_MONTH, porder.porder_info, cls=DjangoJSONEncoder) |
|
| 12 |
- return porder.porder_info |
|
| 13 |
- |
|
| 14 |
- |
|
| 15 |
-def set_lensman_order_record_by_id(photo_id, user_id): |
|
| 16 |
- """ 设置摄影师照片购买记录 """ |
|
| 17 |
- from group.models import GroupPhotoOrderInfo |
|
| 18 |
- try: |
|
| 19 |
- porder = GroupPhotoOrderInfo.objects.get(photo_id=photo_id, user_id=user_id) |
|
| 20 |
- except GroupPhotoOrderInfo.DoesNotExist: |
|
| 21 |
- return {}
|
|
| 22 |
- return set_lensman_order_record(porder) |
|
| 23 |
- |
|
| 24 |
- |
|
| 25 |
-def get_lensman_order_record(photo_id, user_id): |
|
| 26 |
- """ 获取摄影师照片购买记录 """ |
|
| 27 |
- return r.getjson(LENSMAN_PHOTO_ORDER_RECORD % (photo_id, user_id)) or set_lensman_order_record_by_id(photo_id, user_id) |
@@ -1,27 +0,0 @@ |
||
| 1 |
-# -*- coding: utf-8 -*- |
|
| 2 |
- |
|
| 3 |
-from utils.redis.connect import r |
|
| 4 |
-from utils.redis.rkeys import LENSMAN_PHOTO_PRICE_FIXED |
|
| 5 |
- |
|
| 6 |
- |
|
| 7 |
-def set_lensman_price_fixed(user_id): |
|
| 8 |
- """ 设置摄影师价格设定 """ |
|
| 9 |
- from account.models import LensmanInfo |
|
| 10 |
- try: |
|
| 11 |
- lensman = LensmanInfo.objects.get(lensman_id=user_id) |
|
| 12 |
- except LensmanInfo.DoesNotExist: |
|
| 13 |
- lensman = None |
|
| 14 |
- |
|
| 15 |
- price_fixed = {
|
|
| 16 |
- 'nomark': (lensman and lensman.nomark) or 299, |
|
| 17 |
- 'origin': (lensman and lensman.origin) or 999, |
|
| 18 |
- } |
|
| 19 |
- |
|
| 20 |
- r.setjson(LENSMAN_PHOTO_PRICE_FIXED % user_id, price_fixed) |
|
| 21 |
- |
|
| 22 |
- return price_fixed |
|
| 23 |
- |
|
| 24 |
- |
|
| 25 |
-def get_lensman_price_fixed(user_id): |
|
| 26 |
- """ 获取摄影师价格设定 """ |
|
| 27 |
- return r.getjson(LENSMAN_PHOTO_PRICE_FIXED % user_id) or set_lensman_price_fixed(user_id) |
@@ -1,19 +0,0 @@ |
||
| 1 |
-# -*- coding: utf-8 -*- |
|
| 2 |
- |
|
| 3 |
-from utils.redis.connect import r |
|
| 4 |
-from utils.redis.rkeys import TOUR_GUIDE_GROUP_USER_OWN |
|
| 5 |
- |
|
| 6 |
- |
|
| 7 |
-def set_tour_guide_own_group(user_id, group_id): |
|
| 8 |
- """ 设置导游拥有的旅行团 """ |
|
| 9 |
- r.set(TOUR_GUIDE_GROUP_USER_OWN % user_id, group_id) |
|
| 10 |
- |
|
| 11 |
- |
|
| 12 |
-def get_tour_guide_own_group(user_id): |
|
| 13 |
- """ 获取导游拥有的旅行团 """ |
|
| 14 |
- return r.get(TOUR_GUIDE_GROUP_USER_OWN % user_id) |
|
| 15 |
- |
|
| 16 |
- |
|
| 17 |
-def del_tour_guide_own_group(user_id): |
|
| 18 |
- """ 删除导游拥有的旅行团 """ |
|
| 19 |
- return r.delete(TOUR_GUIDE_GROUP_USER_OWN % user_id) |
@@ -1,14 +0,0 @@ |
||
| 1 |
-# -*- coding: utf-8 -*- |
|
| 2 |
- |
|
| 3 |
-from utils.redis.connect import r |
|
| 4 |
-from utils.redis.rkeys import TOUR_GUIDE_GROUP_USER_BELONG |
|
| 5 |
- |
|
| 6 |
- |
|
| 7 |
-def set_tour_user_belong_group(user_id, group_id): |
|
| 8 |
- """ 设置旅行团成员所属的旅行团 """ |
|
| 9 |
- r.set(TOUR_GUIDE_GROUP_USER_BELONG % user_id, group_id) |
|
| 10 |
- |
|
| 11 |
- |
|
| 12 |
-def get_tour_user_belong_group(user_id): |
|
| 13 |
- """ 获取旅行团成员所属的旅行团 """ |
|
| 14 |
- return r.get(TOUR_GUIDE_GROUP_USER_BELONG % user_id) |
@@ -1,22 +0,0 @@ |
||
| 1 |
-# -*- coding: utf-8 -*- |
|
| 2 |
- |
|
| 3 |
-from django_curtail_uuid import CurtailUUID |
|
| 4 |
- |
|
| 5 |
-from photo.models import UUIDInfo |
|
| 6 |
-from utils.redis.connect import r |
|
| 7 |
-from utils.redis.rkeys import UUID_LIST |
|
| 8 |
- |
|
| 9 |
- |
|
| 10 |
-def generate_uuid(): |
|
| 11 |
- uuid = CurtailUUID.uuid(UUIDInfo) |
|
| 12 |
- UUIDInfo.objects.create(uuid=uuid) |
|
| 13 |
- return uuid |
|
| 14 |
- |
|
| 15 |
- |
|
| 16 |
-def generate_uuids(num=1000): |
|
| 17 |
- uuids = [generate_uuid() for i in range(num)] |
|
| 18 |
- r.rpush(UUID_LIST, *uuids) |
|
| 19 |
- |
|
| 20 |
- |
|
| 21 |
-def update_uuids(lensman_id, uuids): |
|
| 22 |
- UUIDInfo.objects.filter(uuid__in=uuids).update(lensman_id=lensman_id, status=False) |