diff --git a/apps/jqr/choices.py b/apps/jqr/choices.py index 80dd751..901c39d 100644 --- a/apps/jqr/choices.py +++ b/apps/jqr/choices.py @@ -198,3 +198,30 @@ class JqrGrouMsgSendGroupMsgStatusChoices(models.IntegerChoices): SENT = 1, '已发送' FAIL_SEND_TO_FRIEND = 2, '因客户不是好友导致发送失败' FAIL_SEND_TO_OTHER_MSG = 3, '因客户已经收到其他群发消息导致发送失败' + + +class JqrSendnewusermsgrecordSendMethodChoices(models.IntegerChoices): + FAST = 0, '极速' + ADVANCED = 1, '高级' + + +class JqrSendnewusermsgrecordSendTypeChoices(models.IntegerChoices): + NEW_USER_WELCOME = 0, '新客欢迎' + NEW_USER_REMIND = 1, '新客催单' + + +class JqrSendnewusermsgrecordSendStateChoices(models.IntegerChoices): + # 发送状态 0:等待发送 1:已发送 2:发送成功 3:发送失败 4:取消发送 + WAIT_SEND = 0, '等待发送' + SENT = 1, '已发送' + SEND_SUCCESS = 2, '发送成功' + SEND_FAIL = 3, '发送失败' + CANCEL_SEND = 4, '取消发送' + + +class JqrSendmsgrecordinfoSendStateChoices(models.IntegerChoices): + WAIT_SEND = 0, '等待发送' + SENT = 1, '已发送' + SEND_SUCCESS = 2, '发送成功' + SEND_FAIL = 3, '发送失败' + CANCEL_SEND = 4, '取消发送' diff --git a/apps/jqr/models.py b/apps/jqr/models.py index d35a96c..44f59cf 100644 --- a/apps/jqr/models.py +++ b/apps/jqr/models.py @@ -354,3 +354,74 @@ class JqrGrouMsgSendGroupMsgResult(models.Model): verbose_name = '群发成员执行结果' verbose_name_plural = '群发成员执行结果' ordering = ['-send_time'] + + +class JqrSendnewusermsgrecord(models.Model): + """ + 联系人消息发送记录 + """ + platfromuserid = models.BigIntegerField( + verbose_name='平台用户ID') + sendid = models.BigIntegerField(verbose_name='发送计划ID') + sendtime = models.DateTimeField(verbose_name='发送时间') + sendmethod = models.IntegerField(verbose_name='发送方式 0:极速 1:高级', choices=JqrSendnewusermsgrecordSendMethodChoices.choices) + corpid = models.CharField(max_length=32, blank=True, null=True, verbose_name='企业ID') + userid = models.CharField(max_length=32, blank=True, null=True, verbose_name='接粉号ID') + wxvid = models.CharField(max_length=64, blank=True, null=True, verbose_name='外部用户wxvid') + sendtype = models.IntegerField(blank=True, null=True, verbose_name='发送类型 0:新客欢迎 1:新客催单', + choices=JqrSendnewusermsgrecordSendTypeChoices.choices) + sendstate = models.IntegerField(blank=True, null=True, + verbose_name='发送状态 0:等待发送 1:已发送 2:发送成功 3:发送失败 4:取消发送', + choices=JqrSendnewusermsgrecordSendStateChoices.choices) + sendnums = models.IntegerField(blank=True, null=True, verbose_name='重复次数') + sendcontent = models.JSONField(verbose_name='发送内容') + ctime = models.DateTimeField(verbose_name='创建时间') + utime = models.DateTimeField(verbose_name='更新时间') + sendkey = models.CharField(max_length=32, blank=True, null=True, verbose_name='服务端创建的Key') + clientkey = models.CharField(max_length=32, blank=True, null=True, verbose_name='微信返回的msgid') + timestamp = models.BigIntegerField(blank=True, null=True, verbose_name='时间戳') + contentname = models.CharField(max_length=64, blank=True, null=True, verbose_name='发送内容组名称') + + class Meta: + db_table = 'jqr_sendnewusermsgrecord' + verbose_name = '联系人消息发送记录' + verbose_name_plural = '联系人消息发送记录' + + +class JqrSendmsgrecord(models.Model): + id = models.BigAutoField(verbose_name='ID', primary_key=True) + uid = models.IntegerField(verbose_name='平台用户ID', null=False) + sendid = models.BigIntegerField(verbose_name='发送计划ID', null=False) + sendtime = models.DateTimeField(verbose_name='发送时间', null=False) + sendrecord = models.JSONField(verbose_name='发送记录', null=False) + ctime = models.DateTimeField(verbose_name='创建时间', null=False) + sendmethod = models.IntegerField(verbose_name='发送方式', null=False) + + class Meta: + db_table = 'jqr_sendmsgrecord' + verbose_name = '私聊发送记录' + verbose_name_plural = '私聊发送记录' + + +class JqrSendmsgrecordinfo(models.Model): + id = models.BigAutoField(verbose_name='ID', primary_key=True) + sendid = models.BigIntegerField(verbose_name='发送计划ID', null=False) + sendmsgid = models.BigIntegerField(verbose_name='发送记录ID', null=False) + sendtime = models.DateTimeField(verbose_name='发送时间', null=False) + corpid = models.CharField(max_length=32, verbose_name='企业ID', null=False) + userid = models.CharField(max_length=32, verbose_name='接粉号', null=False) + wxvids = models.TextField(verbose_name='接收人wxvid') + sendstate = models.IntegerField(verbose_name='发送状态', null=False, choices=JqrSendmsgrecordinfoSendStateChoices.choices) + sendnums = models.IntegerField(verbose_name='重发次数', null=False) + sendcontent = models.JSONField(verbose_name='发送内容', null=False) + ctime = models.DateTimeField(verbose_name='创建时间', null=False) + utime = models.DateTimeField(verbose_name='更新时间', null=False) + sendkey = models.CharField(max_length=32, verbose_name='服务端提交的Key') + clientkey = models.CharField(max_length=32, verbose_name='微信发送返回的msgid') + timestamp = models.BigIntegerField(verbose_name='微信发送时间戳') + contentname = models.CharField(max_length=64, verbose_name='发送内容组名称') + + class Meta: + db_table = 'jqr_sendmsgrecordinfo' + verbose_name = '发送记录信息' + verbose_name_plural = '发送记录信息'