添加corpid和userid

This commit is contained in:
AKW 2023-12-22 16:02:21 +08:00
parent c516698b06
commit a048fce731
5 changed files with 25 additions and 6 deletions

View File

@ -117,9 +117,9 @@ class JqrExternalUser(models.Model):
class JqrExternalFollowUser(models.Model): class JqrExternalFollowUser(models.Model):
id = models.BigAutoField(primary_key=True)
corpid = models.CharField(max_length=32, verbose_name='企业微信corpid') corpid = models.CharField(max_length=32, verbose_name='企业微信corpid')
external_userid = models.CharField(max_length=60, verbose_name='外部用户id') external_userid = models.CharField(max_length=60, verbose_name='外部用户id')
id = models.BigAutoField(primary_key=True)
userid = models.CharField(max_length=50, verbose_name='接粉号userid') userid = models.CharField(max_length=50, verbose_name='接粉号userid')
remark = models.TextField( remark = models.TextField(
verbose_name='该成员对此外部联系人的备注', null=True, blank=True) verbose_name='该成员对此外部联系人的备注', null=True, blank=True)

View File

@ -196,6 +196,10 @@ class TbMessageModelSerializer(BaseSerializer):
fields = '__all__' fields = '__all__'
def create(self, validated_data): def create(self, validated_data):
JQRMSGPubSubUtils.publish(self.context.get('request').data) JQRMSGPubSubUtils.publish({
**self.context.get('request').data,
'corpid': validated_data.get('corpid'),
'userid': validated_data.get('userid'),
})
return TbMessage(**validated_data) return TbMessage(**validated_data)

View File

@ -81,6 +81,10 @@ class HookClientController(BaseViewSet):
@action(methods=['post'], detail=False, url_path='client/heartbeat') @action(methods=['post'], detail=False, url_path='client/heartbeat')
def heartbeat(self, request, *args, **kwargs): def heartbeat(self, request, *args, **kwargs):
corpid = request.query_params.get('corpid', None)
userid = request.query_params.get('userid', None)
if not corpid or not userid:
raise CustomProjectException('请选择企业和接粉号 ')
serializer = self.get_serializer(data=request.data) serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
serializer.save() serializer.save()
@ -88,7 +92,16 @@ class HookClientController(BaseViewSet):
@action(methods=['post'], detail=False, url_path='client/pushmsg') @action(methods=['post'], detail=False, url_path='client/pushmsg')
def pushmsg(self, request, *args, **kwargs): def pushmsg(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data) corpid = request.query_params.get('corpid', None)
userid = request.query_params.get('userid', None)
if not corpid or not userid:
raise CustomProjectException('请选择企业和接粉号 ')
data = {
**request.data,
'corpid': corpid,
'userid': userid
}
serializer = self.get_serializer(data=data)
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
serializer.save() serializer.save()
return ApiResponse() return ApiResponse()

View File

@ -3,6 +3,9 @@ from django.db import models
class TbMessage(models.Model): class TbMessage(models.Model):
id = models.BigAutoField(primary_key=True) id = models.BigAutoField(primary_key=True)
corpid = models.CharField(max_length=32, verbose_name='企业微信corpid')
external_userid = models.CharField(max_length=60, verbose_name='外部用户id', null=True, blank=True)
userid = models.CharField(max_length=50, verbose_name='接粉号userid')
create_time = models.DateTimeField(verbose_name='创建时间') create_time = models.DateTimeField(verbose_name='创建时间')
update_time = models.DateTimeField(verbose_name='更新时间') update_time = models.DateTimeField(verbose_name='更新时间')
remark = models.CharField(max_length=255, verbose_name='备注') remark = models.CharField(max_length=255, verbose_name='备注')

View File

@ -41,6 +41,5 @@ def listen():
JQRMSGPubSubUtils.msg_list.clear() JQRMSGPubSubUtils.msg_list.clear()
if not settings.DEBUG: t = Thread(target=listen)
t = Thread(target=listen) t.start()
t.start()