# -*- coding: utf-8 -*- from django.db import transaction from django_logit import logit from account.models import UserInfo from utils.error.response_utils import response @logit @transaction.atomic def user_wx_authorize_api(request): # Get or Create User user, created = UserInfo.objects.select_for_update().get_or_create(unionid=request.POST.get('unionid', '')) # Set User Key's Value user.openid = request.POST.get('openid', '') user.sex = request.POST.get('sex', 0) user.nickname = request.POST.get('nickname', '') or request.POST.get('screen_name', '') user.avatar = request.POST.get('headimgurl', '') or request.POST.get('profile_image_url', '') user.country = request.POST.get('country', '') user.province = request.POST.get('province', '') user.city = request.POST.get('city', '') user.user_status = UserInfo.ACTIVATED user.save() return response(200, 'User Login Success', u'用户端登录成功', { 'userinfo': user.data, })