进行了 GVSDSDK 迁移,可能存在诸多问题
This commit is contained in:
@@ -1,205 +1,454 @@
|
||||
# Generated by Django 5.2.10 on 2026-01-14 19:59
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Lilubiao',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('lilu', models.DecimalField(decimal_places=4, max_digits=5, null=True, verbose_name='平台分成利率,1是平台,2是商家')),
|
||||
('fadanpingtai', models.CharField(max_length=10, null=True, verbose_name='订单所属平台,(商家或平台)')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'lilubiao',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Ptliushui',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('zonge', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='收取总金额')),
|
||||
('zhichuzonge', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='支出总金额')),
|
||||
('zongshouyi', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='总收益')),
|
||||
('rizonge', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='日收取')),
|
||||
('rizhichu', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='日支出')),
|
||||
('rishouyi', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='日收益')),
|
||||
('zongshoucishu', models.IntegerField(default=0, verbose_name='总收取次数')),
|
||||
('rishoucishu', models.IntegerField(default=0, verbose_name='日收取次数')),
|
||||
('zongzhichucishu', models.IntegerField(default=0, verbose_name='总支出次数')),
|
||||
('rizhichucishu', models.IntegerField(default=0, verbose_name='日支出次数')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'ptliushui',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Chufajilu',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dashouid', models.CharField(db_index=True, max_length=7, null=True, verbose_name='被罚打手ID')),
|
||||
('qingqiuid', models.CharField(db_index=True, max_length=7, null=True, verbose_name='请求处罚ID')),
|
||||
('chuliid', models.CharField(db_index=True, max_length=7, null=True, verbose_name='处理处罚ID')),
|
||||
('cfliyou', models.TextField(blank=True, null=True, verbose_name='处罚理由')),
|
||||
('sqzhuangtai', models.IntegerField(blank=True, default=0, null=True, verbose_name='处罚申请状态:0待处理,1成功,2驳回')),
|
||||
('bhliyou', models.TextField(blank=True, null=True, verbose_name='驳回处罚理由')),
|
||||
('jifen', models.IntegerField(default=0, verbose_name='扣除打手积分')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, null=True, verbose_name='订单ID')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'chufajilu',
|
||||
'indexes': [models.Index(fields=['dashouid'], name='chufajilu_dashoui_07aac0_idx'), models.Index(fields=['qingqiuid'], name='chufajilu_qingqiu_ac160e_idx'), models.Index(fields=['chuliid'], name='chufajilu_chuliid_cd63ac_idx'), models.Index(fields=['dingdan_id'], name='chufajilu_dingdan_b8f0c2_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Dashoutupian',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, null=True, verbose_name='订单ID')),
|
||||
('dashou', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='接单打手ID')),
|
||||
('tupian', models.CharField(blank=True, max_length=500, null=True, verbose_name='打手提交图片URL')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'dashoutupian',
|
||||
'indexes': [models.Index(fields=['dashou'], name='dashoutupia_dashou_7de8bd_idx'), models.Index(fields=['dingdan_id'], name='dashoutupia_dingdan_97c685_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Dingdan',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, unique=True, verbose_name='订单ID')),
|
||||
('zhuangtai', models.IntegerField(blank=True, db_index=True, default=1, null=True, verbose_name='订单状态')),
|
||||
('fadan_pingtai', models.IntegerField(blank=True, null=True, verbose_name='发单平台')),
|
||||
('jine', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='订单金额')),
|
||||
('dashou_fencheng', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='打手分成')),
|
||||
('jiedan_dashou_id', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='接单打手ID')),
|
||||
('dashou_liuyan', models.TextField(blank=True, null=True, verbose_name='打手留言')),
|
||||
('zhiding_id', models.CharField(blank=True, max_length=32, null=True, verbose_name='指定ID')),
|
||||
('shangpin_id', models.IntegerField(blank=True, null=True, verbose_name='商品ID')),
|
||||
('leixing_id', models.PositiveIntegerField(blank=True, null=True, verbose_name='商品类型ID')),
|
||||
('tupian', models.CharField(blank=True, max_length=500, null=True, verbose_name='商品图片URL')),
|
||||
('yaoqiuleixing', models.PositiveIntegerField(blank=True, null=True, verbose_name='抢单要求类型')),
|
||||
('huiyuan_id', models.CharField(blank=True, max_length=6, null=True, verbose_name='会员ID')),
|
||||
('yongjin', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='佣金要求')),
|
||||
('jieshao', models.TextField(blank=True, null=True, verbose_name='订单介绍')),
|
||||
('beizhu', models.TextField(blank=True, null=True, verbose_name='订单备注')),
|
||||
('nicheng', models.CharField(blank=True, max_length=50, null=True, verbose_name='游戏昵称')),
|
||||
('user1_id', models.CharField(db_index=True, max_length=30, null=True, verbose_name='用户1标识')),
|
||||
('user2_id', models.CharField(db_index=True, max_length=30, null=True, verbose_name='用户2打手标识')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '订单',
|
||||
'verbose_name_plural': '订单',
|
||||
'db_table': 'dingdan',
|
||||
'indexes': [models.Index(fields=['zhuangtai'], name='dingdan_zhuangt_2febe8_idx'), models.Index(fields=['dingdan_id'], name='dingdan_dingdan_83dcb6_idx'), models.Index(fields=['jiedan_dashou_id'], name='dingdan_jiedan__921bfa_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Liaotian',
|
||||
fields=[
|
||||
('id', models.BigAutoField(primary_key=True, serialize=False, verbose_name='主键ID')),
|
||||
('user1_id', models.CharField(db_index=True, max_length=30, verbose_name='用户1标识')),
|
||||
('user2_id', models.CharField(db_index=True, max_length=30, verbose_name='用户2标识')),
|
||||
('dingdan_id', models.CharField(max_length=32, unique=True, verbose_name='订单ID')),
|
||||
('zhuangtai', models.IntegerField(choices=[(1, '开启中'), (0, '已关闭')], db_index=True, default=1, verbose_name='聊天状态')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'liaotian',
|
||||
'indexes': [models.Index(fields=['user1_id'], name='liaotian_user1_i_6be6cd_idx'), models.Index(fields=['user2_id'], name='liaotian_user2_i_9f61a4_idx'), models.Index(fields=['zhuangtai'], name='liaotian_zhuangt_5e8be5_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Pingfen',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dashou', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='接单打手ID')),
|
||||
('zongfen', models.PositiveIntegerField(default=0, verbose_name='总分')),
|
||||
('cishu', models.PositiveIntegerField(default=0, verbose_name='评分次数')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '评分表',
|
||||
'db_table': 'pingfenbiao',
|
||||
'indexes': [models.Index(fields=['dashou'], name='pingfenbiao_dashou_f62f10_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Tuikuanjilu',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(max_length=32, unique=True, verbose_name='订单ID')),
|
||||
('dashouid', models.CharField(max_length=7, null=True, verbose_name='接单打手ID')),
|
||||
('qingqiuid', models.CharField(max_length=7, null=True, verbose_name='请求用户ID')),
|
||||
('chuliid', models.CharField(db_index=True, max_length=7, null=True, verbose_name='处理人ID')),
|
||||
('liyou', models.TextField(blank=True, null=True, verbose_name='理由')),
|
||||
('sqzhuangtai', models.IntegerField(blank=True, db_index=True, default=0, null=True, verbose_name='申请状态:0待处理,1成功,2驳回')),
|
||||
('bhliyou', models.TextField(blank=True, null=True, verbose_name='驳回理由')),
|
||||
('jine', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='订单金额')),
|
||||
('dashou_fencheng', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='打手分成')),
|
||||
('jieshao', models.TextField(blank=True, null=True, verbose_name='订单介绍')),
|
||||
('beizhu', models.TextField(blank=True, null=True, verbose_name='订单备注')),
|
||||
('nicheng', models.CharField(blank=True, max_length=50, null=True, verbose_name='游戏昵称')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'tuikuanjilu',
|
||||
'indexes': [models.Index(fields=['chuliid'], name='tuikuanjilu_chuliid_0b0f16_idx'), models.Index(fields=['sqzhuangtai'], name='tuikuanjilu_sqzhuan_d89dc9_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='DingdanPingtai',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('laoban_id', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='老板ID')),
|
||||
('laoban_pingjia', models.TextField(blank=True, null=True, verbose_name='老板评价')),
|
||||
('dingdan', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='pingtai_kuozhan', to='orders.dingdan', verbose_name='订单')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '平台订单扩展',
|
||||
'verbose_name_plural': '平台订单扩展',
|
||||
'db_table': 'dingdan_pingtai',
|
||||
'indexes': [models.Index(fields=['laoban_id'], name='dingdan_pin_laoban__d55e6f_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='DingdanShangjia',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('shangjia_id', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='商家ID')),
|
||||
('shangjia_pingjia', models.TextField(blank=True, null=True, verbose_name='商家评价')),
|
||||
('cfliyou', models.TextField(blank=True, null=True, verbose_name='商家处罚理由')),
|
||||
('sqzhuangtai', models.IntegerField(blank=True, default=0, null=True, verbose_name='处罚申请状态:0待处理,1成功,2驳回')),
|
||||
('bhliyou', models.TextField(blank=True, null=True, verbose_name='驳回商家处罚理由')),
|
||||
('sjnicheng', models.CharField(max_length=50, null=True, verbose_name='商家昵称')),
|
||||
('dingdan', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='shangjia_kuozhan', to='orders.dingdan', verbose_name='订单')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '商家订单扩展',
|
||||
'verbose_name_plural': '商家订单扩展',
|
||||
'db_table': 'dingdan_shangjia',
|
||||
'indexes': [models.Index(fields=['shangjia_id'], name='dingdan_sha_shangji_64d28b_idx')],
|
||||
},
|
||||
),
|
||||
]
|
||||
# Generated by Django 4.2.27 on 2026-06-17 16:31
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Chufajilu',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dashouid', models.CharField(db_index=True, max_length=7, null=True, verbose_name='被罚打手ID')),
|
||||
('qingqiuid', models.CharField(db_index=True, max_length=11, null=True, verbose_name='请求处罚ID')),
|
||||
('chuliid', models.CharField(db_index=True, max_length=11, null=True, verbose_name='处理处罚ID')),
|
||||
('cfliyou', models.TextField(blank=True, null=True, verbose_name='处罚理由')),
|
||||
('ssliyou', models.TextField(blank=True, null=True, verbose_name='打手申诉理由')),
|
||||
('sqzhuangtai', models.IntegerField(blank=True, default=0, null=True, verbose_name='处罚申请状态:0待处理,1成功,2驳回')),
|
||||
('bhliyou', models.TextField(blank=True, null=True, verbose_name='驳回处罚理由')),
|
||||
('jifen', models.IntegerField(default=0, verbose_name='扣除打手积分')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, null=True, verbose_name='订单ID')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'chufajilu',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Chufatupian',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, null=True, verbose_name='订单ID')),
|
||||
('yonghuid', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='用户ID')),
|
||||
('tupian', models.CharField(blank=True, max_length=500, null=True, verbose_name='证据图片URL')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'chufatupian',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Dashoutupian',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, null=True, verbose_name='订单ID')),
|
||||
('dashou', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='接单打手ID')),
|
||||
('tupian', models.CharField(blank=True, max_length=500, null=True, verbose_name='打手提交图片URL')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'dashoutupian',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Dingdan',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, unique=True, verbose_name='订单ID')),
|
||||
('zhuangtai', models.IntegerField(blank=True, db_index=True, default=1, null=True, verbose_name='订单状态')),
|
||||
('fadan_pingtai', models.IntegerField(blank=True, null=True, verbose_name='发单平台')),
|
||||
('jine', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='订单金额')),
|
||||
('dashou_fencheng', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='打手分成')),
|
||||
('guanshi_fencheng', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='管事分成')),
|
||||
('jiedan_dashou_id', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='接单打手ID')),
|
||||
('dashou_liuyan', models.TextField(blank=True, null=True, verbose_name='打手留言')),
|
||||
('zhiding_id', models.CharField(blank=True, max_length=32, null=True, verbose_name='指定ID')),
|
||||
('shangpin_id', models.IntegerField(blank=True, null=True, verbose_name='商品ID')),
|
||||
('leixing_id', models.PositiveIntegerField(blank=True, null=True, verbose_name='商品类型ID')),
|
||||
('tupian', models.CharField(blank=True, max_length=500, null=True, verbose_name='商品图片URL')),
|
||||
('yaoqiuleixing', models.PositiveIntegerField(blank=True, null=True, verbose_name='抢单要求类型')),
|
||||
('huiyuan_id', models.CharField(blank=True, max_length=6, null=True, verbose_name='会员ID')),
|
||||
('yongjin', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='佣金要求')),
|
||||
('jieshao', models.TextField(blank=True, null=True, verbose_name='订单介绍')),
|
||||
('beizhu', models.TextField(blank=True, null=True, verbose_name='订单备注')),
|
||||
('nicheng', models.CharField(blank=True, max_length=50, null=True, verbose_name='游戏昵称')),
|
||||
('user1_id', models.CharField(db_index=True, max_length=30, null=True, verbose_name='用户1标识')),
|
||||
('user2_id', models.CharField(db_index=True, max_length=30, null=True, verbose_name='用户2打手标识')),
|
||||
('auto_task_id', models.CharField(blank=True, default='', max_length=255, verbose_name='延时任务ID')),
|
||||
('auto_expire_at', models.DateTimeField(blank=True, null=True, verbose_name='计划过期时间')),
|
||||
('pending_dispatch', models.BooleanField(db_index=True, default=False, verbose_name='待调度标记')),
|
||||
('status_8_time', models.DateTimeField(blank=True, null=True, verbose_name='状态变为8的时间')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
('clkf', models.CharField(db_index=True, max_length=20, null=True, verbose_name='处理客服')),
|
||||
('tkly', models.CharField(blank=True, max_length=500, null=True, verbose_name='退款/拒绝理由')),
|
||||
('wechat_transaction_id', models.CharField(blank=True, db_index=True, max_length=64, null=True, verbose_name='微信支付订单号')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '订单',
|
||||
'verbose_name_plural': '订单',
|
||||
'db_table': 'dingdan',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='DingdanPeihu',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, unique=True, verbose_name='订单ID')),
|
||||
('zhudashou_id', models.CharField(db_index=True, max_length=32, verbose_name='主打手ID')),
|
||||
('peihu1_id', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='陪护1打手ID')),
|
||||
('peihu2_id', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='陪护2打手ID')),
|
||||
('zhuangtai', models.IntegerField(default=1, verbose_name='陪护订单状态')),
|
||||
('peihu_xuqiu_shuliang', models.IntegerField(default=1, verbose_name='陪护需求数量')),
|
||||
('yongjin_yaoqiu', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='抢单佣金要求')),
|
||||
('peihu1_dengji_xuqiu', models.PositiveIntegerField(blank=True, null=True, verbose_name='陪护1等级需求(称号ID)')),
|
||||
('peihu2_dengji_xuqiu', models.PositiveIntegerField(blank=True, null=True, verbose_name='陪护2等级需求(称号ID)')),
|
||||
('peihu1_zhadan_danze', models.CharField(blank=True, max_length=10, null=True, verbose_name='陪护1炸单担责比例')),
|
||||
('peihu2_zhadan_danze', models.CharField(blank=True, max_length=10, null=True, verbose_name='陪护2炸单担责比例')),
|
||||
('peihu1_fenhong', models.CharField(blank=True, max_length=10, null=True, verbose_name='陪护1分红比例')),
|
||||
('peihu2_fenhong', models.CharField(blank=True, max_length=10, null=True, verbose_name='陪护2分红比例')),
|
||||
('zhiding_peihu1', models.CharField(blank=True, max_length=32, null=True, verbose_name='指定陪护1 ID')),
|
||||
('zhiding_peihu2', models.CharField(blank=True, max_length=32, null=True, verbose_name='指定陪护2 ID')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '陪护订单',
|
||||
'verbose_name_plural': '陪护订单',
|
||||
'db_table': 'dingdan_peihu',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='DingdanPingtai',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('laoban_id', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='老板ID')),
|
||||
('laoban_pingjia', models.TextField(blank=True, null=True, verbose_name='老板评价')),
|
||||
('jjjs_biaoshi', models.IntegerField(default=0, verbose_name='拒绝结算标记(1表示拒绝结算)')),
|
||||
('pingtai_shouyi', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='平台收益')),
|
||||
('dianpu_shouyi', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='店铺收益')),
|
||||
('dianpu_id', models.PositiveIntegerField(blank=True, db_index=True, null=True, verbose_name='所属店铺ID')),
|
||||
('shangji_dianpu_id', models.PositiveIntegerField(blank=True, db_index=True, null=True, verbose_name='该订单的上级店铺ID')),
|
||||
('shangji_fenhong', models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='上级分红金额')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '平台订单扩展',
|
||||
'verbose_name_plural': '平台订单扩展',
|
||||
'db_table': 'dingdan_pingtai',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='DingdanShangjia',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('shangjia_id', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='商家ID')),
|
||||
('shangjia_pingjia', models.TextField(blank=True, null=True, verbose_name='商家评价')),
|
||||
('cfliyou', models.TextField(blank=True, null=True, verbose_name='商家处罚理由')),
|
||||
('sqzhuangtai', models.IntegerField(blank=True, default=0, null=True, verbose_name='处罚申请状态:0待处理,1成功,2驳回')),
|
||||
('bhliyou', models.TextField(blank=True, null=True, verbose_name='驳回商家处罚理由')),
|
||||
('sjnicheng', models.CharField(max_length=50, null=True, verbose_name='商家昵称')),
|
||||
('shangyige_dingdan_id', models.CharField(blank=True, max_length=32, null=True, verbose_name='上一个订单ID')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '商家订单扩展',
|
||||
'verbose_name_plural': '商家订单扩展',
|
||||
'db_table': 'dingdan_shangjia',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Fadan',
|
||||
fields=[
|
||||
('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增主键')),
|
||||
('beichufa_id', models.CharField(db_index=True, max_length=20, verbose_name='被处罚用户ID')),
|
||||
('shenqing_chufa', models.CharField(blank=True, max_length=20, null=True, verbose_name='申请处罚者ID')),
|
||||
('shenfen', models.IntegerField(choices=[(1, '打手'), (2, '管事'), (3, '商家'), (4, '组长')], default=1, verbose_name='被处罚者身份')),
|
||||
('chufaliyou', models.TextField(blank=True, null=True, verbose_name='处罚理由')),
|
||||
('fakuanjine', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='罚款金额')),
|
||||
('guanliandingdan_id', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='关联订单ID')),
|
||||
('zhuangtai', models.IntegerField(choices=[(1, '待缴纳'), (2, '已缴纳'), (3, '申诉中'), (4, '已驳回')], db_index=True, default=1, verbose_name='罚单状态')),
|
||||
('yingxiang_qiangdan', models.IntegerField(choices=[(1, '影响抢单'), (0, '不影响抢单')], db_index=True, default=1, verbose_name='是否影响抢单')),
|
||||
('shensuliyou', models.TextField(blank=True, null=True, verbose_name='申诉理由')),
|
||||
('tongyi_chufaliyou', models.TextField(blank=True, null=True, verbose_name='同意处罚理由')),
|
||||
('bohuiliyou', models.TextField(blank=True, null=True, verbose_name='驳回理由')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
('shenqingren_shenfen', models.IntegerField(choices=[(1, '客服'), (2, '售后'), (3, '管理员'), (4, '店铺'), (5, '商家')], default=1, verbose_name='申请处罚人身份')),
|
||||
('chulizhe_shenfen', models.IntegerField(choices=[(1, '客服'), (2, '售后'), (3, '管理员')], default=2, verbose_name='处理者身份')),
|
||||
('chulizhe', models.CharField(blank=True, max_length=20, null=True, verbose_name='处理者')),
|
||||
('shenqingren_fenhong_jine', models.DecimalField(decimal_places=2, default=0.0, max_digits=12, verbose_name='申请人分红金额')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '罚单',
|
||||
'verbose_name_plural': '罚单',
|
||||
'db_table': 'fadan',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='FadanFenhongLilv',
|
||||
fields=[
|
||||
('shenfen', models.IntegerField(choices=[(1, '客服'), (2, '售后'), (3, '管理员'), (4, '店铺'), (5, '商家')], primary_key=True, serialize=False, verbose_name='申请处罚人身份')),
|
||||
('lilv', models.DecimalField(decimal_places=4, default=0.0, max_digits=5, verbose_name='分红费率')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '罚款分红费率配置',
|
||||
'verbose_name_plural': '罚款分红费率配置',
|
||||
'db_table': 'fadan_fenhong_lilv',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Lilubiao',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('lilu', models.DecimalField(decimal_places=4, max_digits=5, null=True, verbose_name='平台分成利率,1是平台,2是商家')),
|
||||
('fadanpingtai', models.CharField(max_length=10, null=True, verbose_name='订单所属平台,(商家或平台)')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'lilubiao',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Ptliushui',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('zonge', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='收取总金额')),
|
||||
('zhichuzonge', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='支出总金额')),
|
||||
('zongshouyi', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='总收益')),
|
||||
('rizonge', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='日收取')),
|
||||
('rizhichu', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='日支出')),
|
||||
('rishouyi', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='日收益')),
|
||||
('zongshoucishu', models.IntegerField(default=0, verbose_name='总收取次数')),
|
||||
('rishoucishu', models.IntegerField(default=0, verbose_name='日收取次数')),
|
||||
('zongzhichucishu', models.IntegerField(default=0, verbose_name='总支出次数')),
|
||||
('rizhichucishu', models.IntegerField(default=0, verbose_name='日支出次数')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'ptliushui',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Tuikuanjilu',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(max_length=32, unique=True, verbose_name='订单ID')),
|
||||
('dashouid', models.CharField(max_length=7, null=True, verbose_name='接单打手ID')),
|
||||
('qingqiuid', models.CharField(max_length=7, null=True, verbose_name='请求用户ID')),
|
||||
('chuliid', models.CharField(db_index=True, max_length=11, null=True, verbose_name='处理人ID')),
|
||||
('liyou', models.TextField(blank=True, null=True, verbose_name='理由')),
|
||||
('sqzhuangtai', models.IntegerField(blank=True, db_index=True, default=0, null=True, verbose_name='申请状态:0待处理,1成功,2驳回')),
|
||||
('bhliyou', models.TextField(blank=True, null=True, verbose_name='驳回理由')),
|
||||
('jine', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='订单金额')),
|
||||
('dashou_fencheng', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='打手分成')),
|
||||
('jieshao', models.TextField(blank=True, null=True, verbose_name='订单介绍')),
|
||||
('beizhu', models.TextField(blank=True, null=True, verbose_name='订单备注')),
|
||||
('nicheng', models.CharField(blank=True, max_length=50, null=True, verbose_name='游戏昵称')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'tuikuanjilu',
|
||||
'indexes': [models.Index(fields=['chuliid'], name='tuikuanjilu_chuliid_0b0f16_idx'), models.Index(fields=['sqzhuangtai'], name='tuikuanjilu_sqzhuan_d89dc9_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Pingfen',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dashou', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='接单打手ID')),
|
||||
('zongfen', models.PositiveIntegerField(default=0, verbose_name='总分')),
|
||||
('cishu', models.PositiveIntegerField(default=0, verbose_name='评分次数')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '评分表',
|
||||
'db_table': 'pingfenbiao',
|
||||
'indexes': [models.Index(fields=['dashou'], name='pingfenbiao_dashou_f62f10_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='OrderDashouHistory',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, verbose_name='订单ID')),
|
||||
('dashou_id', models.CharField(db_index=True, max_length=7, verbose_name='打手ID')),
|
||||
('times', models.PositiveSmallIntegerField(verbose_name='第几次接单(从1开始)')),
|
||||
('operator', models.CharField(max_length=11, verbose_name='操作客服ID')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '订单打手变更历史',
|
||||
'verbose_name_plural': '订单打手变更历史',
|
||||
'db_table': 'order_dashou_history',
|
||||
'indexes': [models.Index(fields=['dingdan_id'], name='order_dasho_dingdan_1e79ab_idx'), models.Index(fields=['dashou_id'], name='order_dasho_dashou__0a637c_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Liaotian',
|
||||
fields=[
|
||||
('id', models.BigAutoField(primary_key=True, serialize=False, verbose_name='主键ID')),
|
||||
('user1_id', models.CharField(db_index=True, max_length=30, verbose_name='用户1标识')),
|
||||
('user2_id', models.CharField(db_index=True, max_length=30, verbose_name='用户2标识')),
|
||||
('dingdan_id', models.CharField(max_length=32, unique=True, verbose_name='订单ID')),
|
||||
('zhuangtai', models.IntegerField(choices=[(1, '开启中'), (0, '已关闭')], db_index=True, default=1, verbose_name='聊天状态')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'liaotian',
|
||||
'indexes': [models.Index(fields=['user1_id'], name='liaotian_user1_i_6be6cd_idx'), models.Index(fields=['user2_id'], name='liaotian_user2_i_9f61a4_idx'), models.Index(fields=['zhuangtai'], name='liaotian_zhuangt_5e8be5_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='FadanShensuTupian',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('beichufa_id', models.CharField(db_index=True, max_length=7, verbose_name='被处罚用户ID')),
|
||||
('tupian_url', models.CharField(max_length=500, verbose_name='图片相对URL')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('yongtu', models.IntegerField(choices=[(1, '处罚证据图片'), (2, '申诉图片')], default=2, verbose_name='图片用途')),
|
||||
('fadan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='shensu_tupians', to='orders.fadan', verbose_name='关联罚单')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '罚款申诉图片',
|
||||
'verbose_name_plural': '罚款申诉图片',
|
||||
'db_table': 'fadan_shensu_tupian',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='FadanFenhong',
|
||||
fields=[
|
||||
('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增主键')),
|
||||
('fenhongzhe_id', models.CharField(db_index=True, max_length=20, verbose_name='分红者ID')),
|
||||
('zonge', models.DecimalField(decimal_places=2, default=0.0, max_digits=12, verbose_name='分红总额')),
|
||||
('ketixian_fenhong', models.DecimalField(decimal_places=2, default=0.0, max_digits=12, verbose_name='可提现分红')),
|
||||
('shenfen', models.IntegerField(choices=[(1, '商家'), (2, '客服'), (3, '平台管理者'), (4, '店铺'), (5, '售后')], default=1, verbose_name='分红者身份')),
|
||||
('fenhong_cishu', models.IntegerField(default=0, verbose_name='分红次数')),
|
||||
('is_individual_rate', models.BooleanField(default=False, verbose_name='是否单独开启分红利率')),
|
||||
('yingde_lilv', models.DecimalField(decimal_places=4, default=0.0, max_digits=5, verbose_name='分红应得利率')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '罚款分红',
|
||||
'verbose_name_plural': '罚款分红',
|
||||
'db_table': 'fadan_fenhong',
|
||||
'indexes': [models.Index(fields=['fenhongzhe_id'], name='fadan_fenhong_zhe_idx'), models.Index(fields=['shenfen'], name='fadan_fenhong_sf_idx')],
|
||||
},
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='fadan',
|
||||
index=models.Index(fields=['beichufa_id', 'yingxiang_qiangdan', 'zhuangtai'], name='fadan_qiangdan_check'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='fadan',
|
||||
index=models.Index(fields=['guanliandingdan_id'], name='fadan_dingdan_idx'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='dingdanshangjia',
|
||||
name='dingdan',
|
||||
field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='shangjia_kuozhan', to='orders.dingdan', verbose_name='订单'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='dingdanpingtai',
|
||||
name='dingdan',
|
||||
field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='pingtai_kuozhan', to='orders.dingdan', verbose_name='订单'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dingdanpeihu',
|
||||
index=models.Index(fields=['zhudashou_id'], name='dingdan_pei_zhudash_583f4e_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dingdanpeihu',
|
||||
index=models.Index(fields=['peihu1_id'], name='dingdan_pei_peihu1__728279_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dingdanpeihu',
|
||||
index=models.Index(fields=['peihu2_id'], name='dingdan_pei_peihu2__77e45e_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dingdanpeihu',
|
||||
index=models.Index(fields=['zhuangtai'], name='dingdan_pei_zhuangt_22eaf6_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dingdan',
|
||||
index=models.Index(fields=['zhuangtai'], name='dingdan_zhuangt_2febe8_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dingdan',
|
||||
index=models.Index(fields=['dingdan_id'], name='dingdan_dingdan_83dcb6_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dingdan',
|
||||
index=models.Index(fields=['jiedan_dashou_id'], name='dingdan_jiedan__921bfa_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dingdan',
|
||||
index=models.Index(fields=['wechat_transaction_id'], name='dingdan_wechat__278b79_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dashoutupian',
|
||||
index=models.Index(fields=['dashou'], name='dashoutupia_dashou_7de8bd_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dashoutupian',
|
||||
index=models.Index(fields=['dingdan_id'], name='dashoutupia_dingdan_97c685_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='chufatupian',
|
||||
index=models.Index(fields=['yonghuid'], name='chufatupian_yonghui_71e585_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='chufatupian',
|
||||
index=models.Index(fields=['dingdan_id'], name='chufatupian_dingdan_ce0dd4_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='chufajilu',
|
||||
index=models.Index(fields=['dashouid'], name='chufajilu_dashoui_07aac0_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='chufajilu',
|
||||
index=models.Index(fields=['qingqiuid'], name='chufajilu_qingqiu_ac160e_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='chufajilu',
|
||||
index=models.Index(fields=['chuliid'], name='chufajilu_chuliid_cd63ac_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='chufajilu',
|
||||
index=models.Index(fields=['dingdan_id'], name='chufajilu_dingdan_b8f0c2_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='fadanshensutupian',
|
||||
index=models.Index(fields=['fadan_id'], name='fadan_shens_fadan_i_78fab9_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='fadanshensutupian',
|
||||
index=models.Index(fields=['beichufa_id'], name='fadan_shens_beichuf_59748e_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dingdanshangjia',
|
||||
index=models.Index(fields=['shangjia_id'], name='dingdan_sha_shangji_64d28b_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dingdanpingtai',
|
||||
index=models.Index(fields=['laoban_id'], name='dingdan_pin_laoban__d55e6f_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dingdanpingtai',
|
||||
index=models.Index(fields=['dianpu_id'], name='dingdan_pin_dianpu__9fbe27_idx'),
|
||||
),
|
||||
]
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-01-17 15:21
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='dingdan',
|
||||
name='auto_expire_at',
|
||||
field=models.DateTimeField(blank=True, null=True, verbose_name='计划过期时间'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='dingdan',
|
||||
name='auto_task_id',
|
||||
field=models.CharField(blank=True, default='', max_length=255, verbose_name='延时任务ID'),
|
||||
),
|
||||
]
|
||||
@@ -1,23 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-01-17 16:26
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0002_dingdan_auto_expire_at_dingdan_auto_task_id'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='dingdan',
|
||||
name='pending_dispatch',
|
||||
field=models.BooleanField(db_index=True, default=False, verbose_name='待调度标记'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='dingdan',
|
||||
name='status_8_time',
|
||||
field=models.DateTimeField(blank=True, null=True, verbose_name='状态变为8的时间'),
|
||||
),
|
||||
]
|
||||
@@ -1,18 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-01-17 23:57
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0003_dingdan_pending_dispatch_dingdan_status_8_time'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='tuikuanjilu',
|
||||
name='chuliid',
|
||||
field=models.CharField(db_index=True, max_length=11, null=True, verbose_name='处理人ID'),
|
||||
),
|
||||
]
|
||||
@@ -1,18 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-01-20 19:23
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0004_alter_tuikuanjilu_chuliid'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='chufajilu',
|
||||
name='chuliid',
|
||||
field=models.CharField(db_index=True, max_length=11, null=True, verbose_name='处理处罚ID'),
|
||||
),
|
||||
]
|
||||
@@ -1,28 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-02-07 19:42
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0005_alter_chufajilu_chuliid'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Chufatupian',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, null=True, verbose_name='订单ID')),
|
||||
('yonghuid', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='用户ID')),
|
||||
('tupian', models.CharField(blank=True, max_length=500, null=True, verbose_name='证据图片URL')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'chufatupian',
|
||||
'indexes': [models.Index(fields=['yonghuid'], name='chufatupian_yonghui_71e585_idx'), models.Index(fields=['dingdan_id'], name='chufatupian_dingdan_ce0dd4_idx')],
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -1,18 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-02-08 00:59
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0006_chufatupian'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='chufajilu',
|
||||
name='ssliyou',
|
||||
field=models.TextField(blank=True, null=True, verbose_name='打手申诉理由'),
|
||||
),
|
||||
]
|
||||
@@ -1,23 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-02-14 18:56
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0007_chufajilu_ssliyou'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='dingdan',
|
||||
name='is_cross',
|
||||
field=models.IntegerField(default=0, verbose_name='是否跨平台订单(0否,1是)'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='dingdan',
|
||||
name='partner_order_id',
|
||||
field=models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='对方平台订单ID'),
|
||||
),
|
||||
]
|
||||
@@ -1,23 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-02-21 14:37
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0008_dingdan_is_cross_dingdan_partner_order_id'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='dingdanpingtai',
|
||||
name='clkf',
|
||||
field=models.CharField(db_index=True, max_length=20, null=True, verbose_name='处理客服'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='dingdanpingtai',
|
||||
name='jjjs_biaoshi',
|
||||
field=models.IntegerField(default=0, verbose_name='拒绝结算标记(1表示拒绝结算)'),
|
||||
),
|
||||
]
|
||||
@@ -1,22 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-02-21 16:33
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0009_dingdanpingtai_clkf_dingdanpingtai_jjjs_biaoshi'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='dingdanpingtai',
|
||||
name='clkf',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='dingdan',
|
||||
name='clkf',
|
||||
field=models.CharField(db_index=True, max_length=20, null=True, verbose_name='处理客服'),
|
||||
),
|
||||
]
|
||||
@@ -1,18 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-02-21 17:15
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0010_remove_dingdanpingtai_clkf_dingdan_clkf'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='dingdan',
|
||||
name='tkly',
|
||||
field=models.CharField(blank=True, max_length=500, null=True, verbose_name='退款/拒绝理由'),
|
||||
),
|
||||
]
|
||||
@@ -1,22 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-02-22 12:38
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0011_dingdan_tkly'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='dingdan',
|
||||
name='wechat_transaction_id',
|
||||
field=models.CharField(blank=True, db_index=True, max_length=64, null=True, verbose_name='微信支付订单号'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dingdan',
|
||||
index=models.Index(fields=['wechat_transaction_id'], name='dingdan_wechat__278b79_idx'),
|
||||
),
|
||||
]
|
||||
@@ -1,18 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-02-22 19:56
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0012_dingdan_wechat_transaction_id_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='chufajilu',
|
||||
name='qingqiuid',
|
||||
field=models.CharField(db_index=True, max_length=11, null=True, verbose_name='请求处罚ID'),
|
||||
),
|
||||
]
|
||||
@@ -1,23 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-03-24 17:34
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0013_alter_chufajilu_qingqiuid'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='dingdan',
|
||||
name='dispatch_type',
|
||||
field=models.IntegerField(choices=[(1, '我方派单'), (2, '对方派单')], default=0, verbose_name='派发情况'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='dingdan',
|
||||
name='partner_club_id',
|
||||
field=models.CharField(blank=True, db_index=True, max_length=6, null=True, verbose_name='对方俱乐部ID'),
|
||||
),
|
||||
]
|
||||
@@ -1,73 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-04-01 09:22
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0014_dingdan_dispatch_type_dingdan_partner_club_id'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='PreSettlement',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, unique=True, verbose_name='我方订单ID')),
|
||||
('partner_order_id', models.CharField(db_index=True, max_length=32, verbose_name='对方订单ID')),
|
||||
('partner_club_id', models.CharField(db_index=True, max_length=6, verbose_name='对方俱乐部ID')),
|
||||
('dashou_id', models.CharField(db_index=True, max_length=7, verbose_name='接单打手ID')),
|
||||
('amount', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='打手应分金额')),
|
||||
('order_amount', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='订单原金额')),
|
||||
('status', models.SmallIntegerField(choices=[(0, '待结算'), (1, '已结算'), (2, '已拒绝')], default=0, verbose_name='结算状态')),
|
||||
('process_time', models.DateTimeField(blank=True, null=True, verbose_name='处理时间')),
|
||||
('operator', models.CharField(blank=True, default='', max_length=32, verbose_name='操作人')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '预结算表',
|
||||
'verbose_name_plural': '预结算表',
|
||||
'db_table': 'pre_settlement',
|
||||
'indexes': [models.Index(fields=['dingdan_id'], name='pre_settlem_dingdan_4f3541_idx'), models.Index(fields=['partner_order_id'], name='pre_settlem_partner_45b29e_idx'), models.Index(fields=['partner_club_id'], name='pre_settlem_partner_d2c44c_idx'), models.Index(fields=['dashou_id'], name='pre_settlem_dashou__d5fe7c_idx'), models.Index(fields=['status'], name='pre_settlem_status_0aa711_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='OrderDashouHistory',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, verbose_name='订单ID')),
|
||||
('dashou_id', models.CharField(db_index=True, max_length=7, verbose_name='打手ID')),
|
||||
('times', models.PositiveSmallIntegerField(verbose_name='第几次接单(从1开始)')),
|
||||
('operator', models.CharField(max_length=11, verbose_name='操作客服ID')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '订单打手变更历史',
|
||||
'verbose_name_plural': '订单打手变更历史',
|
||||
'db_table': 'order_dashou_history',
|
||||
'indexes': [models.Index(fields=['dingdan_id'], name='order_dasho_dingdan_1e79ab_idx'), models.Index(fields=['dashou_id'], name='order_dasho_dashou__0a637c_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='CrossPlatformOrderData',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, unique=True, verbose_name='我方订单ID')),
|
||||
('partner_order_id', models.CharField(db_index=True, max_length=32, verbose_name='对方平台订单ID')),
|
||||
('partner_club_id', models.CharField(db_index=True, max_length=6, verbose_name='对方俱乐部ID')),
|
||||
('partner_order_status', models.IntegerField(default=0, verbose_name='对方平台订单状态')),
|
||||
('partner_dashou_id', models.CharField(blank=True, default='', max_length=32, verbose_name='对方平台接单打手ID')),
|
||||
('partner_amount', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='对方平台订单金额')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '跨平台订单扩展',
|
||||
'verbose_name_plural': '跨平台订单扩展',
|
||||
'db_table': 'cross_platform_order_data',
|
||||
'indexes': [models.Index(fields=['dingdan_id'], name='cross_platf_dingdan_498d08_idx'), models.Index(fields=['partner_order_id'], name='cross_platf_partner_5d5615_idx'), models.Index(fields=['partner_club_id'], name='cross_platf_partner_1054e1_idx')],
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -1,22 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-04-04 15:10
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0015_presettlement_orderdashouhistory_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='presettlement',
|
||||
name='dingdan_id',
|
||||
field=models.CharField(db_index=True, max_length=32, verbose_name='我方订单ID'),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='presettlement',
|
||||
unique_together={('dingdan_id', 'dashou_id')},
|
||||
),
|
||||
]
|
||||
@@ -1,32 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-04-23 14:56
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0016_alter_presettlement_dingdan_id_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='dingdanpingtai',
|
||||
name='dianpu_id',
|
||||
field=models.PositiveIntegerField(blank=True, db_index=True, null=True, verbose_name='所属店铺ID'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='dingdanpingtai',
|
||||
name='dianpu_shouyi',
|
||||
field=models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='店铺收益'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='dingdanpingtai',
|
||||
name='pingtai_shouyi',
|
||||
field=models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='平台收益'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='dingdanpingtai',
|
||||
index=models.Index(fields=['dianpu_id'], name='dingdan_pin_dianpu__9fbe27_idx'),
|
||||
),
|
||||
]
|
||||
@@ -1,18 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-04-30 02:36
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0017_dingdanpingtai_dianpu_id_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='dingdanshangjia',
|
||||
name='partner_yonghu_id',
|
||||
field=models.CharField(blank=True, max_length=32, null=True, verbose_name='对方平台用户ID'),
|
||||
),
|
||||
]
|
||||
@@ -1,23 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-05-05 10:33
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0018_dingdanshangjia_partner_yonghu_id'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='dingdanpingtai',
|
||||
name='shangji_dianpu_id',
|
||||
field=models.PositiveIntegerField(blank=True, db_index=True, null=True, verbose_name='该订单的上级店铺ID'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='dingdanpingtai',
|
||||
name='shangji_fenhong',
|
||||
field=models.DecimalField(blank=True, decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='上级分红金额'),
|
||||
),
|
||||
]
|
||||
@@ -1,58 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-05-06 11:28
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0019_dingdanpingtai_shangji_dianpu_id_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='FadanFenhong',
|
||||
fields=[
|
||||
('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增主键')),
|
||||
('fenhongzhe_id', models.CharField(db_index=True, max_length=20, verbose_name='分红者ID')),
|
||||
('zonge', models.DecimalField(decimal_places=2, default=0.0, max_digits=12, verbose_name='分红总额')),
|
||||
('ketixian_fenhong', models.DecimalField(decimal_places=2, default=0.0, max_digits=12, verbose_name='可提现分红')),
|
||||
('shenfen', models.IntegerField(choices=[(1, '商家'), (2, '客服'), (3, '平台管理者')], default=1, verbose_name='分红者身份')),
|
||||
('fenhong_cishu', models.IntegerField(default=0, verbose_name='分红次数')),
|
||||
('yingde_lilv', models.DecimalField(decimal_places=4, default=0.0, max_digits=5, verbose_name='分红应得利率')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '罚款分红',
|
||||
'verbose_name_plural': '罚款分红',
|
||||
'db_table': 'fadan_fenhong',
|
||||
'indexes': [models.Index(fields=['fenhongzhe_id'], name='fadan_fenhong_zhe_idx'), models.Index(fields=['shenfen'], name='fadan_fenhong_sf_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Fadan',
|
||||
fields=[
|
||||
('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增主键')),
|
||||
('beichufa_id', models.CharField(db_index=True, max_length=20, verbose_name='被处罚用户ID')),
|
||||
('shenqing_chufa', models.CharField(blank=True, max_length=20, null=True, verbose_name='申请处罚者ID')),
|
||||
('shenfen', models.IntegerField(choices=[(1, '打手'), (2, '管事'), (3, '商家'), (4, '组长')], default=1, verbose_name='被处罚者身份')),
|
||||
('chufaliyou', models.TextField(blank=True, null=True, verbose_name='处罚理由')),
|
||||
('fakuanjine', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='罚款金额')),
|
||||
('guanliandingdan_id', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='关联订单ID')),
|
||||
('zhuangtai', models.IntegerField(choices=[(1, '待缴纳'), (2, '已缴纳'), (3, '申诉中'), (4, '已驳回')], db_index=True, default=1, verbose_name='罚单状态')),
|
||||
('yingxiang_qiangdan', models.IntegerField(choices=[(1, '影响抢单'), (0, '不影响抢单')], db_index=True, default=1, verbose_name='是否影响抢单')),
|
||||
('shensuliyou', models.TextField(blank=True, null=True, verbose_name='申诉理由')),
|
||||
('tongyi_chufaliyou', models.TextField(blank=True, null=True, verbose_name='同意处罚理由')),
|
||||
('bohuiliyou', models.TextField(blank=True, null=True, verbose_name='驳回理由')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '罚单',
|
||||
'verbose_name_plural': '罚单',
|
||||
'db_table': 'fadan',
|
||||
'indexes': [models.Index(fields=['beichufa_id', 'yingxiang_qiangdan', 'zhuangtai'], name='fadan_qiangdan_check'), models.Index(fields=['guanliandingdan_id'], name='fadan_dingdan_idx')],
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -1,30 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-05-07 11:15
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0020_fadanfenhong_fadan'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='FadanShensuTupian',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('beichufa_id', models.CharField(db_index=True, max_length=7, verbose_name='被处罚用户ID')),
|
||||
('tupian_url', models.CharField(max_length=500, verbose_name='图片相对URL')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('fadan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='shensu_tupians', to='orders.fadan', verbose_name='关联罚单')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '罚款申诉图片',
|
||||
'verbose_name_plural': '罚款申诉图片',
|
||||
'db_table': 'fadan_shensu_tupian',
|
||||
'indexes': [models.Index(fields=['fadan_id'], name='fadan_shens_fadan_i_78fab9_idx'), models.Index(fields=['beichufa_id'], name='fadan_shens_beichuf_59748e_idx')],
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -1,23 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-05-07 16:18
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0021_fadanshensutupian'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='fadan',
|
||||
name='partner_club_id',
|
||||
field=models.CharField(blank=True, db_index=True, max_length=6, null=True, verbose_name='对方俱乐部ID'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='fadan',
|
||||
name='shenqingren_shenfen',
|
||||
field=models.IntegerField(choices=[(1, '客服'), (2, '售后'), (3, '管理员')], default=1, verbose_name='申请处罚人身份'),
|
||||
),
|
||||
]
|
||||
@@ -1,18 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-05-07 17:03
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0022_fadan_partner_club_id_fadan_shenqingren_shenfen'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='fadanshensutupian',
|
||||
name='yongtu',
|
||||
field=models.IntegerField(choices=[(1, '处罚证据图片'), (2, '申诉图片')], default=2, verbose_name='图片用途'),
|
||||
),
|
||||
]
|
||||
@@ -1,23 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-05-07 19:41
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0023_fadanshensutupian_yongtu'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='fadan',
|
||||
name='chulizhe',
|
||||
field=models.CharField(blank=True, max_length=20, null=True, verbose_name='处理者'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='fadan',
|
||||
name='chulizhe_shenfen',
|
||||
field=models.IntegerField(choices=[(1, '客服'), (2, '售后'), (3, '管理员')], default=2, verbose_name='处理者身份'),
|
||||
),
|
||||
]
|
||||
@@ -1,18 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-05-10 00:31
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0024_fadan_chulizhe_fadan_chulizhe_shenfen'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='fadan',
|
||||
name='shenqingren_shenfen',
|
||||
field=models.IntegerField(choices=[(1, '客服'), (2, '售后'), (3, '管理员'), (4, '店铺')], default=1, verbose_name='申请处罚人身份'),
|
||||
),
|
||||
]
|
||||
@@ -1,37 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-05-10 17:40
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0025_alter_fadan_shenqingren_shenfen'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='FadanFenhongLilv',
|
||||
fields=[
|
||||
('shenfen', models.IntegerField(choices=[(1, '客服'), (2, '售后'), (3, '管理员'), (4, '店铺'), (5, '商家')], primary_key=True, serialize=False, verbose_name='申请处罚人身份')),
|
||||
('lilv', models.DecimalField(decimal_places=4, default=0.0, max_digits=5, verbose_name='分红费率')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '罚款分红费率配置',
|
||||
'verbose_name_plural': '罚款分红费率配置',
|
||||
'db_table': 'fadan_fenhong_lilv',
|
||||
},
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='fadan',
|
||||
name='shenqingren_shenfen',
|
||||
field=models.IntegerField(choices=[(1, '客服'), (2, '售后'), (3, '管理员'), (4, '店铺'), (5, '商家')], default=1, verbose_name='申请处罚人身份'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='fadanfenhong',
|
||||
name='shenfen',
|
||||
field=models.IntegerField(choices=[(1, '商家'), (2, '客服'), (3, '平台管理者'), (4, '店铺'), (5, '售后')], default=1, verbose_name='分红者身份'),
|
||||
),
|
||||
]
|
||||
@@ -1,42 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-05-22 15:53
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0026_fadanfenhonglilv_alter_fadan_shenqingren_shenfen_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='DingdanPeihu',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('dingdan_id', models.CharField(db_index=True, max_length=32, unique=True, verbose_name='订单ID')),
|
||||
('zhudashou_id', models.CharField(db_index=True, max_length=32, verbose_name='主打手ID')),
|
||||
('peihu1_id', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='陪护1打手ID')),
|
||||
('peihu2_id', models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='陪护2打手ID')),
|
||||
('zhuangtai', models.IntegerField(default=1, verbose_name='陪护订单状态')),
|
||||
('peihu_xuqiu_shuliang', models.IntegerField(default=1, verbose_name='陪护需求数量')),
|
||||
('yongjin_yaoqiu', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='抢单佣金要求')),
|
||||
('peihu1_dengji_xuqiu', models.PositiveIntegerField(blank=True, null=True, verbose_name='陪护1等级需求(称号ID)')),
|
||||
('peihu2_dengji_xuqiu', models.PositiveIntegerField(blank=True, null=True, verbose_name='陪护2等级需求(称号ID)')),
|
||||
('peihu1_zhadan_danze', models.CharField(blank=True, max_length=10, null=True, verbose_name='陪护1炸单担责比例')),
|
||||
('peihu2_zhadan_danze', models.CharField(blank=True, max_length=10, null=True, verbose_name='陪护2炸单担责比例')),
|
||||
('peihu1_fenhong', models.CharField(blank=True, max_length=10, null=True, verbose_name='陪护1分红比例')),
|
||||
('peihu2_fenhong', models.CharField(blank=True, max_length=10, null=True, verbose_name='陪护2分红比例')),
|
||||
('zhiding_peihu1', models.CharField(blank=True, max_length=32, null=True, verbose_name='指定陪护1 ID')),
|
||||
('zhiding_peihu2', models.CharField(blank=True, max_length=32, null=True, verbose_name='指定陪护2 ID')),
|
||||
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '陪护订单',
|
||||
'verbose_name_plural': '陪护订单',
|
||||
'db_table': 'dingdan_peihu',
|
||||
'indexes': [models.Index(fields=['zhudashou_id'], name='dingdan_pei_zhudash_583f4e_idx'), models.Index(fields=['peihu1_id'], name='dingdan_pei_peihu1__728279_idx'), models.Index(fields=['peihu2_id'], name='dingdan_pei_peihu2__77e45e_idx'), models.Index(fields=['zhuangtai'], name='dingdan_pei_zhuangt_22eaf6_idx')],
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -1,18 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-05-29 17:23
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0027_dingdanpeihu'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='dingdanshangjia',
|
||||
name='shangyige_dingdan_id',
|
||||
field=models.CharField(blank=True, max_length=32, null=True, verbose_name='上一个订单ID'),
|
||||
),
|
||||
]
|
||||
@@ -1,18 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-05-31 22:34
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0028_dingdanshangjia_shangyige_dingdan_id'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='fadanfenhong',
|
||||
name='is_individual_rate',
|
||||
field=models.BooleanField(default=False, verbose_name='是否单独开启分红利率'),
|
||||
),
|
||||
]
|
||||
@@ -1,18 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-06-01 00:30
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0029_fadanfenhong_is_individual_rate'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='fadan',
|
||||
name='shenqingren_fenhong_jine',
|
||||
field=models.DecimalField(decimal_places=2, default=0.0, max_digits=12, verbose_name='申请人分红金额'),
|
||||
),
|
||||
]
|
||||
@@ -1,18 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-06-12 01:29
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0030_fadan_shenqingren_fenhong_jine'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='dingdan',
|
||||
name='guanshi_fencheng',
|
||||
field=models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=10, null=True, verbose_name='管事分成'),
|
||||
),
|
||||
]
|
||||
@@ -1,43 +0,0 @@
|
||||
# Generated by Django 4.2.27 on 2026-06-15 01:42
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0031_dingdan_guanshi_fencheng'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.DeleteModel(
|
||||
name='CrossPlatformOrderData',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='PreSettlement',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='dingdan',
|
||||
name='dispatch_type',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='dingdan',
|
||||
name='is_cross',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='dingdan',
|
||||
name='partner_club_id',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='dingdan',
|
||||
name='partner_order_id',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='dingdanshangjia',
|
||||
name='partner_yonghu_id',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='fadan',
|
||||
name='partner_club_id',
|
||||
),
|
||||
]
|
||||
@@ -15,7 +15,8 @@ import logging
|
||||
|
||||
# 导入模型 - 确保路径正确
|
||||
from orders.models import Dingdan
|
||||
from users.models import UserMain, UserDashou, UserShangjia
|
||||
from users.models import UserDashou, UserShangjia
|
||||
from gvsdsdk.models import User
|
||||
from utils.celery_utils import safe_decimal_operation, log_task_execution, rollback_on_failure
|
||||
from gvsdsdk.fluent import db, func, FQ
|
||||
|
||||
@@ -64,7 +65,7 @@ def process_expired_order(self, dingdan_id):
|
||||
if dashou_id:
|
||||
try:
|
||||
# 查询打手用户主表
|
||||
dashou_user = UserMain.query.filter(yonghuid=dashou_id).first()
|
||||
dashou_user = User.query.filter(yonghuid=dashou_id).first()
|
||||
if dashou_user:
|
||||
# 获取打手扩展表
|
||||
dashou_profile = getattr(dashou_user, 'dashou_profile', None)
|
||||
@@ -93,7 +94,7 @@ def process_expired_order(self, dingdan_id):
|
||||
shangjia_id = shangjia_kuozhan.shangjia_id
|
||||
if shangjia_id:
|
||||
# 查询商家用户
|
||||
shangjia_user = UserMain.query.filter(yonghuid=shangjia_id).first()
|
||||
shangjia_user = User.query.filter(yonghuid=shangjia_id).first()
|
||||
if shangjia_user:
|
||||
shangjia_profile = getattr(shangjia_user, 'shop_profile', None)
|
||||
if shangjia_profile:
|
||||
|
||||
@@ -62,7 +62,8 @@ from orders.models import (
|
||||
Lilubiao, Pingfen, Tuikuanjilu
|
||||
)
|
||||
from products.models import Shangpin, ShangpinLeixing, Huiyuangoumai
|
||||
from users.models import UserMain, UserDashou, UserShangjia, UserBoss
|
||||
from users.models import UserDashou, UserShangjia, UserBoss
|
||||
from gvsdsdk.models import User
|
||||
from rank.models import DashouBiaoxian, Chenghao, DingdanBiaoqian, YonghuChenghao
|
||||
from config.models import (
|
||||
Szjilu, ShangjiaLianjie
|
||||
@@ -240,7 +241,7 @@ class WechatPayNotifyView(APIView):
|
||||
if hasattr(dingdan, 'pingtai_kuozhan'):
|
||||
laoban_id = dingdan.pingtai_kuozhan.laoban_id
|
||||
if laoban_id:
|
||||
user_main = UserMain.query.filter(yonghuid=laoban_id).first()
|
||||
user_main = User.query.filter(yonghuid=laoban_id).first()
|
||||
if user_main and hasattr(user_main, 'boss_profile'):
|
||||
boss = user_main.boss_profile
|
||||
boss.zonge = (boss.zonge or 0) + (dingdan.jine or 0)
|
||||
@@ -524,7 +525,7 @@ class PaymentVerifyView(APIView):
|
||||
# 更新老板扩展表
|
||||
laoban_id = dingdan.pingtai_kuozhan.laoban_id if hasattr(dingdan, 'pingtai_kuozhan') else None
|
||||
if laoban_id:
|
||||
user_main = UserMain.query.filter(yonghuid=laoban_id).first()
|
||||
user_main = User.query.filter(yonghuid=laoban_id).first()
|
||||
if user_main and hasattr(user_main, 'boss_profile'):
|
||||
boss = user_main.boss_profile
|
||||
boss.zonge = (boss.zonge or 0) + (dingdan.jine or 0)
|
||||
@@ -710,7 +711,7 @@ class CreateOrderView(APIView):
|
||||
zhiding_id_value = None
|
||||
if zhiding:
|
||||
# 查询主表中是否存在该打手
|
||||
zhiding_user = UserMain.query.filter(
|
||||
zhiding_user = User.query.filter(
|
||||
yonghuid=zhiding,
|
||||
#user_type='dashou'
|
||||
).first()
|
||||
@@ -1348,7 +1349,7 @@ class JiedanView(APIView):
|
||||
# 7. 更新打手扩展表(如果有打手ID和分成)
|
||||
if jiedan_dashou_id and dashou_fencheng > 0:
|
||||
# 查询打手用户
|
||||
dashou_user = UserMain.query.filter(yonghuid=jiedan_dashou_id).first()
|
||||
dashou_user = User.query.filter(yonghuid=jiedan_dashou_id).first()
|
||||
|
||||
if dashou_user:
|
||||
# 查询打手扩展表
|
||||
@@ -1511,7 +1512,7 @@ class DingdanXiangqingView2(APIView):
|
||||
jiedan_time = ''
|
||||
tijiao_time = ''
|
||||
if jiedan_dashou_id:
|
||||
dashou_user = UserMain.query.filter(yonghuid=jiedan_dashou_id).first()
|
||||
dashou_user = User.query.filter(yonghuid=jiedan_dashou_id).first()
|
||||
if dashou_user:
|
||||
dashou_touxiang = dashou_user.avatar or ''
|
||||
try:
|
||||
@@ -1660,7 +1661,7 @@ class JiedanView2(APIView):
|
||||
|
||||
# 9. 更新打手收益与状态
|
||||
if jiedan_dashou_id and dashou_fencheng > 0:
|
||||
dashou_user = UserMain.query.filter(yonghuid=jiedan_dashou_id).first()
|
||||
dashou_user = User.query.filter(yonghuid=jiedan_dashou_id).first()
|
||||
if dashou_user:
|
||||
try:
|
||||
dashou_ext = dashou_user.dashou_profile
|
||||
@@ -1915,11 +1916,11 @@ class ShangjiaPaifaView(APIView):
|
||||
zhiding_dashou = None
|
||||
if zhiding_uid:
|
||||
try:
|
||||
zhiding_user = UserMain.query.get(yonghuid=zhiding_uid)
|
||||
zhiding_user = User.query.get(yonghuid=zhiding_uid)
|
||||
zhiding_dashou = zhiding_user.dashou_profile
|
||||
if zhiding_dashou.zhanghaozhuangtai != 1:
|
||||
return Response({'code': 400, 'msg': '指定打手状态异常'})
|
||||
except UserMain.DoesNotExist:
|
||||
except User.DoesNotExist:
|
||||
return Response({'code': 400, 'msg': '指定用户不存在'})
|
||||
except UserDashou.DoesNotExist:
|
||||
return Response({'code': 400, 'msg': '指定用户不是打手'})
|
||||
@@ -2221,7 +2222,7 @@ class ShangjiaDingdanXiangqingView(APIView):
|
||||
dashou_nicheng = ''
|
||||
dashou_avatar = ''
|
||||
if dashou_yonghuid:
|
||||
dashou_user = UserMain.query.filter(
|
||||
dashou_user = User.query.filter(
|
||||
yonghuid=dashou_yonghuid
|
||||
).select_related('dashou_profile').first()
|
||||
if dashou_user:
|
||||
@@ -2425,9 +2426,9 @@ class ShangjiaJiesuanView(APIView):
|
||||
# ========== 本地订单正常结算给打手 ==========
|
||||
# 查询打手信息
|
||||
try:
|
||||
dashou_user = UserMain.query.get(yonghuid=jiedan_dashou_id)
|
||||
dashou_user = User.query.get(yonghuid=jiedan_dashou_id)
|
||||
dashou = dashou_user.dashou_profile
|
||||
except (UserMain.DoesNotExist, UserDashou.DoesNotExist):
|
||||
except (User.DoesNotExist, UserDashou.DoesNotExist):
|
||||
return Response({
|
||||
'code': 8,
|
||||
'msg': '接单打手不存在或信息不完整',
|
||||
@@ -2767,7 +2768,7 @@ class ShangjiaTuikuanShenqingView(APIView):
|
||||
# ====== 原有功能:更新打手状态 ======
|
||||
if dingdan.jiedan_dashou_id:
|
||||
try:
|
||||
dashou_main = UserMain.query.filter(
|
||||
dashou_main = User.query.filter(
|
||||
yonghuid=dingdan.jiedan_dashou_id
|
||||
).first()
|
||||
if dashou_main and hasattr(dashou_main, 'dashou_profile'):
|
||||
@@ -2850,9 +2851,9 @@ class ShangjiaChufaShenqingView(APIView):
|
||||
with transaction.atomic():
|
||||
# 验证打手身份
|
||||
try:
|
||||
dashou_user = UserMain.query.get(yonghuid=dashou_id)
|
||||
dashou_user = User.query.get(yonghuid=dashou_id)
|
||||
dashou = dashou_user.dashou_profile
|
||||
except UserMain.DoesNotExist:
|
||||
except User.DoesNotExist:
|
||||
return Response({
|
||||
'code': 5,
|
||||
'msg': '打手用户不存在',
|
||||
@@ -3028,7 +3029,7 @@ class DashouDingdanHuoquView(APIView):
|
||||
zhiding_ids = {item['zhiding_id'] for item in dingdan_list if item.get('zhiding_id')}
|
||||
zhiding_info = {}
|
||||
if zhiding_ids:
|
||||
dashou_query = UserMain.query.filter(
|
||||
dashou_query = User.query.filter(
|
||||
yonghuid__in=zhiding_ids
|
||||
).select_related('dashou_profile').annotate(
|
||||
nicheng=F('dashou_profile__nicheng')
|
||||
@@ -3078,10 +3079,10 @@ class DashouDingdanHuoquView(APIView):
|
||||
if sj['shangjia_id']:
|
||||
yonghuid_set.add(sj['shangjia_id'])
|
||||
|
||||
# 将 yonghuid 字符串转换为 UserMain 的主键 id
|
||||
# 将 yonghuid 字符串转换为 User 的主键 id
|
||||
user_id_map = {}
|
||||
if yonghuid_set:
|
||||
users = UserMain.query.filter(yonghuid__in=yonghuid_set).values('id', 'yonghuid')
|
||||
users = User.query.filter(yonghuid__in=yonghuid_set).values('id', 'yonghuid')
|
||||
for u in users:
|
||||
user_id_map[u['yonghuid']] = u['id']
|
||||
|
||||
@@ -3346,8 +3347,8 @@ def send_group_message(
|
||||
def check_user_permission(identity_type, uid, order):
|
||||
"""验证用户身份、账号状态、以及是否属于该订单"""
|
||||
try:
|
||||
user = UserMain.query.get(yonghuid=uid)
|
||||
except UserMain.DoesNotExist:
|
||||
user = User.query.get(yonghuid=uid)
|
||||
except User.DoesNotExist:
|
||||
return False, '用户不存在'
|
||||
|
||||
if identity_type == 'dashou':
|
||||
@@ -4672,11 +4673,11 @@ class AdGengHuanDaShou(APIView):
|
||||
|
||||
# 8. 验证新打手ID是否存在,并且是打手身份
|
||||
try:
|
||||
new_dashou_user = UserMain.query.get(
|
||||
new_dashou_user = User.query.get(
|
||||
yonghuid=new_dashou_id,
|
||||
#user_type='dashou'
|
||||
)
|
||||
except UserMain.DoesNotExist:
|
||||
except User.DoesNotExist:
|
||||
return Response(
|
||||
{'code': 404, 'message': '打手不存在或不是打手身份', 'data': None},
|
||||
status=status.HTTP_404_NOT_FOUND
|
||||
@@ -4767,7 +4768,7 @@ class AdGengHuanDaShou(APIView):
|
||||
if old_dashou_id:
|
||||
try:
|
||||
# 查询原打手主表
|
||||
old_dashou_user = UserMain.query.get(
|
||||
old_dashou_user = User.query.get(
|
||||
yonghuid=old_dashou_id,
|
||||
#user_type='dashou'
|
||||
)
|
||||
@@ -4781,7 +4782,7 @@ class AdGengHuanDaShou(APIView):
|
||||
old_dashou_profile.save()
|
||||
|
||||
logger.info(f"成功更新原打手{old_dashou_id}状态")
|
||||
except UserMain.DoesNotExist:
|
||||
except User.DoesNotExist:
|
||||
# 原打手不存在,继续执行不影响更换
|
||||
logger.warning(f"原打手{old_dashou_id}不存在,跳过更新")
|
||||
except AttributeError:
|
||||
@@ -4911,7 +4912,7 @@ class AdQiangZhiJieDan(APIView):
|
||||
if jiedan_dashou_id:
|
||||
try:
|
||||
# 查询打手用户主表
|
||||
dashou_user = UserMain.query.get(
|
||||
dashou_user = User.query.get(
|
||||
yonghuid=jiedan_dashou_id,
|
||||
#user_type='dashou'
|
||||
)
|
||||
@@ -4938,7 +4939,7 @@ class AdQiangZhiJieDan(APIView):
|
||||
dashou_profile.save()
|
||||
logger.info(f"强制结单成功,打手{jiedan_dashou_id}结算分成:{dashou_fencheng}")
|
||||
|
||||
except UserMain.DoesNotExist:
|
||||
except User.DoesNotExist:
|
||||
# 打手用户不存在,记录日志但不影响强制结单
|
||||
logger.warning(f"强制结单:打手{jiedan_dashou_id}不存在,跳过打手结算")
|
||||
except AttributeError:
|
||||
@@ -4954,7 +4955,7 @@ class AdQiangZhiJieDan(APIView):
|
||||
|
||||
if shangjia_id:
|
||||
# 查询商家用户主表
|
||||
shangjia_user = UserMain.query.get(
|
||||
shangjia_user = User.query.get(
|
||||
yonghuid=shangjia_id,
|
||||
#user_type='shop'
|
||||
)
|
||||
@@ -4971,7 +4972,7 @@ class AdQiangZhiJieDan(APIView):
|
||||
except DingdanShangjia.DoesNotExist:
|
||||
# 商家订单扩展表不存在,跳过商家更新
|
||||
logger.warning(f"强制结单:订单{dingdan_id}商家扩展表不存在,跳过商家更新")
|
||||
except UserMain.DoesNotExist:
|
||||
except User.DoesNotExist:
|
||||
# 商家用户不存在,跳过商家更新
|
||||
logger.warning(f"强制结单:商家{shangjia_id}不存在,跳过商家更新")
|
||||
except AttributeError:
|
||||
@@ -5087,7 +5088,7 @@ class AdJuJueTuiKuan(APIView):
|
||||
if jiedan_dashou_id:
|
||||
try:
|
||||
# 查询打手用户主表
|
||||
dashou_user = UserMain.query.get(
|
||||
dashou_user = User.query.get(
|
||||
yonghuid=jiedan_dashou_id,
|
||||
#user_type='dashou'
|
||||
)
|
||||
@@ -5114,7 +5115,7 @@ class AdJuJueTuiKuan(APIView):
|
||||
dashou_profile.save()
|
||||
logger.info(f"拒绝退款成功,打手{jiedan_dashou_id}结算分成:{dashou_fencheng}")
|
||||
|
||||
except UserMain.DoesNotExist:
|
||||
except User.DoesNotExist:
|
||||
# 打手用户不存在,记录日志但不影响操作
|
||||
logger.warning(f"拒绝退款:打手{jiedan_dashou_id}不存在,跳过打手结算")
|
||||
except AttributeError:
|
||||
@@ -5130,7 +5131,7 @@ class AdJuJueTuiKuan(APIView):
|
||||
|
||||
if shangjia_id:
|
||||
# 查询商家用户主表
|
||||
shangjia_user = UserMain.query.get(
|
||||
shangjia_user = User.query.get(
|
||||
yonghuid=shangjia_id,
|
||||
#user_type='shop'
|
||||
)
|
||||
@@ -5147,7 +5148,7 @@ class AdJuJueTuiKuan(APIView):
|
||||
except DingdanShangjia.DoesNotExist:
|
||||
# 商家订单扩展表不存在,跳过商家更新
|
||||
logger.warning(f"拒绝退款:订单{dingdan_id}商家扩展表不存在,跳过商家更新")
|
||||
except UserMain.DoesNotExist:
|
||||
except User.DoesNotExist:
|
||||
# 商家用户不存在,跳过商家更新
|
||||
logger.warning(f"拒绝退款:商家{shangjia_id}不存在,跳过商家更新")
|
||||
except AttributeError:
|
||||
@@ -5318,7 +5319,7 @@ class AdTongYiTuiKuanShangJia(APIView):
|
||||
if jiedan_dashou_id:
|
||||
try:
|
||||
# 查询打手用户主表
|
||||
dashou_user = UserMain.query.get(
|
||||
dashou_user = User.query.get(
|
||||
yonghuid=jiedan_dashou_id,
|
||||
#user_type='dashou'
|
||||
)
|
||||
@@ -5332,7 +5333,7 @@ class AdTongYiTuiKuanShangJia(APIView):
|
||||
dashou_profile.save()
|
||||
logger.info(f"同意退款成功,打手{jiedan_dashou_id}退款订单+1")
|
||||
|
||||
except UserMain.DoesNotExist:
|
||||
except User.DoesNotExist:
|
||||
# 打手用户不存在,记录日志但不影响操作
|
||||
logger.warning(f"同意退款:打手{jiedan_dashou_id}不存在,跳过打手更新")
|
||||
except AttributeError:
|
||||
@@ -5343,7 +5344,7 @@ class AdTongYiTuiKuanShangJia(APIView):
|
||||
if shangjia_id:
|
||||
try:
|
||||
# 查询商家用户主表
|
||||
shangjia_user = UserMain.query.get(
|
||||
shangjia_user = User.query.get(
|
||||
yonghuid=shangjia_id,
|
||||
#user_type='shop'
|
||||
)
|
||||
@@ -5360,7 +5361,7 @@ class AdTongYiTuiKuanShangJia(APIView):
|
||||
shangjia_profile.save()
|
||||
logger.info(f"同意退款成功,商家{shangjia_id}退款订单+1,余额增加:{jine}")
|
||||
|
||||
except UserMain.DoesNotExist:
|
||||
except User.DoesNotExist:
|
||||
# 商家用户不存在,记录日志但不影响操作
|
||||
logger.warning(f"同意退款:商家{shangjia_id}不存在,跳过商家更新")
|
||||
except AttributeError:
|
||||
@@ -5528,25 +5529,25 @@ class AdTongYiTuiKuanPingTai(APIView):
|
||||
# 14. 更新打手扩展表
|
||||
if jiedan_dashou_id:
|
||||
try:
|
||||
dashou_user = UserMain.query.get(yonghuid=jiedan_dashou_id)
|
||||
dashou_user = User.query.get(yonghuid=jiedan_dashou_id)
|
||||
dashou_profile = dashou_user.dashou_profile
|
||||
dashou_profile.zhuangtai = 1 # 打手状态设为空闲
|
||||
dashou_profile.tuikuanliang += 1
|
||||
dashou_profile.save()
|
||||
except (UserMain.DoesNotExist, AttributeError):
|
||||
except (User.DoesNotExist, AttributeError):
|
||||
logger.warning(f"平台退款:打手{jiedan_dashou_id}不存在或扩展信息缺失,跳过")
|
||||
|
||||
# 15. 更新老板扩展表
|
||||
if laoban_id:
|
||||
try:
|
||||
laoban_user = UserMain.query.get(yonghuid=laoban_id)
|
||||
laoban_user = User.query.get(yonghuid=laoban_id)
|
||||
laoban_profile = laoban_user.boss_profile
|
||||
laoban_profile.alltui += 1
|
||||
laoban_profile.zonge -= jine
|
||||
if laoban_profile.zonge < 0:
|
||||
laoban_profile.zonge = 0
|
||||
laoban_profile.save()
|
||||
except (UserMain.DoesNotExist, AttributeError):
|
||||
except (User.DoesNotExist, AttributeError):
|
||||
logger.warning(f"平台退款:老板{laoban_id}不存在或扩展信息缺失,跳过")
|
||||
|
||||
# 16. 更新收支记录表(id=1)
|
||||
@@ -5864,12 +5865,12 @@ class AdJuJueJieSuan(APIView):
|
||||
|
||||
# 8. 更新打手扩展表
|
||||
try:
|
||||
dashou_user = UserMain.query.get(yonghuid=jiedan_dashou_id)
|
||||
dashou_user = User.query.get(yonghuid=jiedan_dashou_id)
|
||||
dashou_profile = dashou_user.dashou_profile
|
||||
dashou_profile.zhuangtai = 1 # 打手状态设为正常
|
||||
dashou_profile.tuikuanliang += 1 # 退款订单总量+1
|
||||
dashou_profile.save()
|
||||
except (UserMain.DoesNotExist, AttributeError) as e:
|
||||
except (User.DoesNotExist, AttributeError) as e:
|
||||
logger.warning(f"拒绝结算:打手{jiedan_dashou_id}信息更新失败 - {str(e)}")
|
||||
|
||||
return Response({'code': 0, 'message': '拒绝结算成功', 'data': None})
|
||||
@@ -5946,12 +5947,12 @@ class AdZhuanYiDaTing(APIView):
|
||||
# 如果有接单打手,更新其扩展表
|
||||
if jiedan_dashou_id:
|
||||
try:
|
||||
dashou_user = UserMain.query.get(yonghuid=jiedan_dashou_id)
|
||||
dashou_user = User.query.get(yonghuid=jiedan_dashou_id)
|
||||
dashou_profile = dashou_user.dashou_profile
|
||||
dashou_profile.zhuangtai = 1
|
||||
dashou_profile.tuikuanliang += 1
|
||||
dashou_profile.save()
|
||||
except (UserMain.DoesNotExist, AttributeError) as e:
|
||||
except (User.DoesNotExist, AttributeError) as e:
|
||||
logger.warning(f"转移大厅:打手{jiedan_dashou_id}信息更新失败 - {str(e)}")
|
||||
|
||||
return Response({'code': 0, 'message': '转移大厅成功', 'data': None})
|
||||
@@ -6224,12 +6225,12 @@ class ZxsjghdsView(APIView):
|
||||
# 6.2 释放打手
|
||||
if dashou_id:
|
||||
try:
|
||||
dashou_user = UserMain.query.get(yonghuid=dashou_id)
|
||||
dashou_user = User.query.get(yonghuid=dashou_id)
|
||||
dashou_profile = dashou_user.dashou_profile
|
||||
dashou_profile.tuikuanliang = (dashou_profile.tuikuanliang or 0) + 1
|
||||
dashou_profile.zhuangtai = 1 # 空闲
|
||||
dashou_profile.save(update_fields=['tuikuanliang', 'zhuangtai'])
|
||||
except (UserMain.DoesNotExist, ObjectDoesNotExist):
|
||||
except (User.DoesNotExist, ObjectDoesNotExist):
|
||||
logger.warning(f"打手 {dashou_id} 不存在或扩展表缺失,跳过更新")
|
||||
|
||||
# 6.3 更新退款记录
|
||||
|
||||
Reference in New Issue
Block a user