num-old"> 148
+    # 判断 wx_uid 是否已经存在,如果已经存在,则直接返回改帐户信息
149
+    try:
150
+        user = UserInfo.objects.get(wx_uid=wx_uid)
151
+    except UserInfo.DoesNotExist:
152
+        user = None
153
+
154
+    if user:
155
+        return JsonResponse({
156
+            'status': 200,
157
+            'message': u'登录成功',
158
+            'data': user.data,
159
+        })
160
+
161
+    # wx_uid 不存在
162
+    # 判断 user_id 是否存在并且为分配用户,如果存在并且为分配用户,则直接在该帐户上更新,否则则直接创建帐户
163
+    sex = request.POST.get('sex', 0)
164
+    nickname = request.POST.get('nickname', '') or request.POST.get('screen_name', '')
165
+    avatar = request.POST.get('headimgurl', '') or request.POST.get('profile_image_url', '')
166
+    country = request.POST.get('country', '')
167
+    province = request.POST.get('province', '')
168
+    city = request.POST.get('city', '')
169
+
170
+    signup_ip, signup_at = ip_addr(request), tc.utc_datetime()
171
+
172
+    try:
173
+        user = UserInfo.objects.get(user_id=user_id)
174
+    except UserInfo.DoesNotExist:
175
+        user = None
176
+
177
+    if user and user.user_status == UserInfo.ASSIGN:
178
+        user.user_from = UserInfo.WX_USER
179
+        user.wx_uid = wx_uid
180
+        user.sex = sex
181
+        user.nickname = nickname
182
+        user.avatar = avatar
183
+        user.country = country
184
+        user.province = province
185
+        user.city = city
186
+        user.signup_ip = signup_ip
187
+        user.signup_at = signup_at
188
+        user.save()
189
+    else:
190
+        user = UserInfo.objects.create(
191
+            user_id=CurtailUUID.uuid(UserInfo, 'user_id'),
192
+            user_from=UserInfo.WX_USER,
193
+            sex=sex,
194
+            nickname=nickname,
195
+            avatar=avatar,
196
+            country=country,
197
+            province=province,
198
+            city=city,
199
+            user_status=UserInfo.ACTIVATED,
200
+            signup_ip=signup_ip,
201
+            signup_at=signup_at,
202
+        )
203
+
204
+    return JsonResponse({
205
+        'status': 200,
206
+        'message': u'登录成功',
207
+        'data': user.data,
208
+    })
209
+
210
+
124 211
 class UserViewSet(viewsets.ModelViewSet):
125 212
     """
126 213
     API endpoint that allows users to be viewed or edited.

+ 3 - 1
api/urls.py

@@ -8,10 +8,12 @@ from photo import views as photo_views
8 8
 
9 9
 
10 10
 urlpatterns = [
11
-    url(r'^login$', account_views.lesman_login_api, name='lesman_login_api'),
11
+    url(r'^login$', account_views.lesman_login_api, name='lesman_login_api'),  # 摄影师登录
12 12
     url(r'^u/is_registered$', account_views.user_is_registered_api, name='user_is_registered_api'),  # 用户是否已经注册
13 13
     url(r'^u/signup$', account_views.user_signup_api, name='user_signup_api'),  # 用户注册
14 14
     url(r'^u/login$', account_views.user_login_api, name='user_login_api'),  # 用户登录
15
+
16
+    url(r'^u/wx/authorize$', account_views.wx_authorize_api, name='wx_authorize_api'),  # 用户登录
15 17
 ]
16 18
 
17 19
 urlpatterns += [

+ 2 - 2
group/views.py

@@ -43,7 +43,7 @@ def group_create_api(request):
43 43
     GroupUserInfo.objects.create(
44 44
         group_id=group_id,
45 45
         user_id=user_id,
46
-        nickname=user.username,
46
+        nickname=user.final_nickname,
47 47
         admin=True,
48 48
         user_status=GroupUserInfo.PASSED,
49 49
         passed_at=tc.utc_datetime(),
@@ -172,7 +172,7 @@ def group_join_api(request):
172 172
         group_id=group_id,
173 173
         user_id=user_id,
174 174
         current_id=group_photo and group_photo.id or -1,
175
-        nickname=nickname or user.username,
175
+        nickname=nickname or user.final_nickname,
176 176
         admin=False,
177 177
         user_status=GroupUserInfo.PASSED,
178 178
         passed_at=tc.utc_datetime(),

+ 87 - 43
photo/views.py

@@ -123,50 +123,94 @@ def upload_photo(request):
123 123
 def session_detail_api(request, session):
124 124
     user_id = request.POST.get('user_id', '')
125 125
 
126
-    try:
127
-        user = UserInfo.objects.get(user_id=user_id)
128
-        user_id = user.user_id
129
-    except UserInfo.DoesNotExist:
130
-        user_id = CurtailUUID.uuid(UserInfo, 'user_id')
131
-        user = UserInfo.objects.create(
132
-            user_id=user_id,
133
-            user_status=UserInfo.ASSIGN,
134
-            signup_ip=ip_addr(request),
135
-        )
126
+    # 判断 user_id 是否存在,如果不存在,则直接分配帐户
127
+    user, created = UserInfo.objects.get_or_create(user_id=user_id, defaults={
128
+        'user_id': CurtailUUID.uuid(UserInfo, 'user_id'),
129
+        'user_status': UserInfo.ASSIGN,
130
+        'assign_ip': ip_addr(request),
131
+        'assign_at': tc.utc_datetime(),
132
+    })
133
+    # try:
134
+    #     user = UserInfo.objects.get(user_id=user_id)
135
+    # except UserInfo.DoesNotExist:
136
+    #     user = None
137
+    #
138
+    # if not user:
139
+    #     assign_ip, assign_at = ip_addr(request), tc.utc_datetime()
140
+    #     user = UserInfo.objects.create(
141
+    #         user_id=CurtailUUID.uuid(UserInfo, 'user_id'),
142
+    #         user_status=UserInfo.ASSIGN,
143
+    #         assign_ip=assign_ip,
144
+    #         assign_at=assign_at,
145
+    #     )
146
+
147
+    user_id = user.user_id
148
+
149
+    # 判断通过 session_id 创建的群组是否存在,如果不存在,则直接创建
150
+    group, created = GroupInfo.objects.get_or_create(session_id=session, defaults={
151
+        'group_id': CurtailUUID.uuid(GroupInfo, 'group_id'),
152
+        'admin_id': user_id,
153
+        'group_from': GroupInfo.SESSION_GROUP,
154
+        'session_id': session,
155
+    })
156
+    # try:
157
+    #     group = GroupInfo.objects.get(session_id=session)
158
+    # except GroupInfo.DoesNotExist:
159
+    #     group = None
160
+    #
161
+    # if not group:
162
+    #     group = GroupInfo.objects.create(
163
+    #         group_id=CurtailUUID.uuid(GroupInfo, 'group_id'),
164
+    #         admin_id=user_id,
165
+    #         group_from=GroupInfo.SESSION_GROUP,
166
+    #         session_id=session,
167
+    #     )
168
+
169
+    group_id = group.group_id
170
+
171
+    # 判断 group_id/user_id 的群组用户是否存在,如果不存在,则直接创建
172
+    group_photo = GroupPhotoInfo.objects.filter(group_id=group_id).last()
173
+    group_user = GroupUserInfo.objects.get_or_create(group_id=group_id, user_id=user_id, defaults={
174
+        'current_id': group_photo and group_photo.id or -1,
175
+        'nickname': user.final_nickname,
176
+        'admin': False,
177
+        'user_status': GroupUserInfo.PASSED,
178
+        'passed_at': tc.utc_datetime(),
179
+    })
136 180
 
137
-    try:
138
-        group = GroupInfo.objects.get(session_id=session)
139
-        group_id = group.group_id
140
-        group_photo = GroupPhotoInfo.objects.filter(group_id=group_id).last()
141
-        if not GroupUserInfo.objects.filter(
142
-            group_id=group_id,
143
-            user_id=user_id
144
-        ).exists():
145
-            GroupUserInfo.objects.create(
146
-                group_id=group_id,
147
-                user_id=user_id,
148
-                current_id=group_photo and group_photo.id or -1,
149
-                nickname=user.username,
150
-                admin=False,
151
-                user_status=GroupUserInfo.PASSED,
152
-                passed_at=tc.utc_datetime(),
153
-            )
154
-    except GroupInfo.DoesNotExist:
155
-        group_id = CurtailUUID.uuid(GroupInfo, 'group_id')
156
-        group = GroupInfo.objects.create(
157
-            group_id=group_id,
158
-            admin_id=user_id,
159
-            group_from=GroupInfo.SESSION_GROUP,
160
-            session_id=session,
161
-        )
162
-        GroupUserInfo.objects.create(
163
-            group_id=group_id,
164
-            user_id=user_id,
165
-            nickname=user.username,
166
-            admin=True,
167
-            user_status=GroupUserInfo.PASSED,
168
-            passed_at=tc.utc_datetime(),
169
-        )
181
+    # try:
182
+    #     group = GroupInfo.objects.get(session_id=session)
183
+    #     group_id = group.group_id
184
+    #     group_photo = GroupPhotoInfo.objects.filter(group_id=group_id).last()
185
+    #     if not GroupUserInfo.objects.filter(
186
+    #         group_id=group_id,
187
+    #         user_id=user_id
188
+    #     ).exists():
189
+    #         GroupUserInfo.objects.create(
190
+    #             group_id=group_id,
191
+    #             user_id=user_id,
192
+    #             current_id=group_photo and group_photo.id or -1,
193
+    #             nickname=user.username,
194
+    #             admin=False,
195
+    #             user_status=GroupUserInfo.PASSED,
196
+    #             passed_at=tc.utc_datetime(),
197
+    #         )
198
+    # except GroupInfo.DoesNotExist:
199
+    #     group_id = CurtailUUID.uuid(GroupInfo, 'group_id')
200
+    #     group = GroupInfo.objects.create(
201
+    #         group_id=group_id,
202
+    #         admin_id=user_id,
203
+    #         group_from=GroupInfo.SESSION_GROUP,
204
+    #         session_id=session,
205
+    #     )
206
+    #     GroupUserInfo.objects.create(
207
+    #         group_id=group_id,
208
+    #         user_id=user_id,
209
+    #         nickname=user.username,
210
+    #         admin=True,
211
+    #         user_status=GroupUserInfo.PASSED,
212
+    #         passed_at=tc.utc_datetime(),
213
+    #     )
170 214
 
171 215
     photos = PhotosInfo.objects.filter(session_id=session)
172 216
     return JsonResponse({

kodo - Gogs: Go Git Service

説明なし

huangqimin001: 1ffa40b747 :art: Makemigrations 3 年 前
..
0001_initial.py 5f83fed5ab :art: Opt del_clerk_sale_submit_api 6 年 前
0002_auto_20201130_0131.py 96c4bec605 :art: Add api activity_group_share 5 年 前
0003_auto_20201225_1400.py 1854038416 记录删除销售员和用户的提交记录 5 年 前
0004_auto_20220704_1552.py 3af3f612b3 :art: Online Migrations 3 年 前
0005_auto_20221026_1643.py 1ffa40b747 :art: Makemigrations 3 年 前
__init__.py 5f83fed5ab :art: Opt del_clerk_sale_submit_api 6 年 前