|
@@ -71,15 +71,28 @@ class WechatBindSerializer(serializers.Serializer):
|
|
openid = self.initial_data.get('openid')
|
|
openid = self.initial_data.get('openid')
|
|
phoneEncryptedData = self.initial_data.get('encryptedData')
|
|
phoneEncryptedData = self.initial_data.get('encryptedData')
|
|
phoneIv = self.initial_data.get('iv')
|
|
phoneIv = self.initial_data.get('iv')
|
|
|
|
+ company_no = self.initial_data.get('company_no')
|
|
|
|
|
|
if openid and phoneEncryptedData and phoneIv:
|
|
if openid and phoneEncryptedData and phoneIv:
|
|
customer = CustomerWechat.bindWechat(appid, openid, phoneEncryptedData, phoneIv)
|
|
customer = CustomerWechat.bindWechat(appid, openid, phoneEncryptedData, phoneIv)
|
|
user = customer.user
|
|
user = customer.user
|
|
payload = jwt_payload_handler(user)
|
|
payload = jwt_payload_handler(user)
|
|
customer_log(customer, BizLog.INSERT, u'用户微信登录,username=%s' % user.username)
|
|
customer_log(customer, BizLog.INSERT, u'用户微信登录,username=%s' % user.username)
|
|
- tenant_id = customer.tenant and customer.tenant.id or ''
|
|
|
|
- company_no = customer.tenant and customer.tenant.company_no or ''
|
|
|
|
- nick_name = customer.tenant and customer.tenant.company_name or settings.WEAPP['nick_name']
|
|
|
|
|
|
+ tenant_id = ''
|
|
|
|
+ nick_name = settings.WEAPP['nick_name']
|
|
|
|
+ if customer.tenant:
|
|
|
|
+ tenant_id = customer.tenant.id
|
|
|
|
+ company_no = customer.tenant.company_no
|
|
|
|
+ nick_name = customer.tenant.company_name
|
|
|
|
+ elif company_no:
|
|
|
|
+ # 扫二维码,没有绑定企业的用户之间绑定企业
|
|
|
|
+ tenant = Tenant.objects.filter(company_no=company_no).first()
|
|
|
|
+ if tenant:
|
|
|
|
+ customer.tenant = tenant
|
|
|
|
+ customer.save()
|
|
|
|
+ tenant_id = tenant.id
|
|
|
|
+ company_no = tenant.company_no
|
|
|
|
+ nick_name = tenant.company_name
|
|
is_validity = Tenant.check_validity(company_no)
|
|
is_validity = Tenant.check_validity(company_no)
|
|
return {
|
|
return {
|
|
'token': jwt_encode_handler(payload),
|
|
'token': jwt_encode_handler(payload),
|