feat: 投诉工单支持填写QQ/微信/手机联系方式
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
26
gongdan/migrations/0004_gongdan_contact.py
Normal file
26
gongdan/migrations/0004_gongdan_contact.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('gongdan', '0003_club_human_kefu'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='gongdan',
|
||||
name='contact_qq',
|
||||
field=models.CharField(blank=True, default='', max_length=32, verbose_name='联系QQ'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='gongdan',
|
||||
name='contact_wechat',
|
||||
field=models.CharField(blank=True, default='', max_length=64, verbose_name='联系微信'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='gongdan',
|
||||
name='contact_phone',
|
||||
field=models.CharField(blank=True, default='', max_length=20, verbose_name='联系手机'),
|
||||
),
|
||||
]
|
||||
@@ -19,6 +19,10 @@ class Gongdan(QModel):
|
||||
target_user_id = models.CharField(max_length=32, blank=True, default='', db_index=True, verbose_name='被投诉人UID')
|
||||
|
||||
shuoming = models.CharField(max_length=500, verbose_name='投诉说明')
|
||||
# 投诉人自填联系方式(选填,便于客服回访)
|
||||
contact_qq = models.CharField(max_length=32, blank=True, default='', verbose_name='联系QQ')
|
||||
contact_wechat = models.CharField(max_length=64, blank=True, default='', verbose_name='联系微信')
|
||||
contact_phone = models.CharField(max_length=20, blank=True, default='', verbose_name='联系手机')
|
||||
shenqingren_id = models.CharField(max_length=32, db_index=True, verbose_name='申请人UserUID')
|
||||
club_id = models.CharField(max_length=16, null=True, blank=True, db_index=True, verbose_name='俱乐部')
|
||||
|
||||
|
||||
@@ -333,6 +333,9 @@ def serialize_gongdan(gd, include_images=True, include_shengji=False, *, viewer_
|
||||
'chongzhi_id': gd.chongzhi_id or '',
|
||||
'fadan_id': gd.fadan_id or '',
|
||||
'shuoming': gd.shuoming or '',
|
||||
'contact_qq': getattr(gd, 'contact_qq', '') or '',
|
||||
'contact_wechat': getattr(gd, 'contact_wechat', '') or '',
|
||||
'contact_phone': getattr(gd, 'contact_phone', '') or '',
|
||||
'club_id': gd.club_id or '',
|
||||
'zhuangtai': gd.zhuangtai,
|
||||
'zhuangtai_label': STATUS_LABELS.get(gd.zhuangtai, str(gd.zhuangtai)),
|
||||
@@ -601,6 +604,9 @@ def create_gongdan(
|
||||
target_role=None,
|
||||
target_user_id=None,
|
||||
image_urls=None,
|
||||
contact_qq=None,
|
||||
contact_wechat=None,
|
||||
contact_phone=None,
|
||||
):
|
||||
try:
|
||||
leixing = int(leixing)
|
||||
@@ -640,6 +646,9 @@ def create_gongdan(
|
||||
target_role=t_role or '',
|
||||
target_user_id=t_uid or '',
|
||||
shuoming=text,
|
||||
contact_qq=_trim(contact_qq or '', 32),
|
||||
contact_wechat=_trim(contact_wechat or '', 64),
|
||||
contact_phone=_trim(contact_phone or '', 20),
|
||||
shenqingren_id=yonghuid,
|
||||
club_id=club_id or None,
|
||||
zhuangtai=STATUS_PROCESSING,
|
||||
|
||||
@@ -108,6 +108,9 @@ class GongdanCreateView(APIView):
|
||||
target_role=d.get('target_role'),
|
||||
target_user_id=d.get('target_user_id') or d.get('zuzhang_id') or d.get('guanshi_id'),
|
||||
image_urls=images,
|
||||
contact_qq=d.get('contact_qq') or d.get('qq') or '',
|
||||
contact_wechat=d.get('contact_wechat') or d.get('wechat') or d.get('wx') or '',
|
||||
contact_phone=d.get('contact_phone') or d.get('phone') or d.get('mobile') or '',
|
||||
)
|
||||
return _ok(
|
||||
serialize_gongdan(gd, include_images=True, include_shengji=True, viewer_uid=request.user.UserUID),
|
||||
|
||||
Reference in New Issue
Block a user