修复了一些
This commit is contained in:
@@ -0,0 +1,392 @@
|
||||
# Generated by Django 4.2.27 on 2026-06-18 17:46
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='ChatSession',
|
||||
fields=[
|
||||
('id', models.BigAutoField(primary_key=True, serialize=False, verbose_name='主键ID')),
|
||||
('User1ID', models.CharField(db_column='user1_id', db_index=True, max_length=30, verbose_name='用户1标识')),
|
||||
('User2ID', models.CharField(db_column='user2_id', db_index=True, max_length=30, verbose_name='用户2标识')),
|
||||
('OrderID', models.CharField(db_column='dingdan_id', max_length=32, unique=True, verbose_name='订单ID')),
|
||||
('Status', models.IntegerField(choices=[(1, '开启中'), (0, '已关闭')], db_column='zhuangtai', db_index=True, default=1, verbose_name='聊天状态')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
('UpdateTime', models.DateTimeField(auto_now=True, db_column='update_time', verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'liaotian',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='CommissionRate',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('Rate', models.DecimalField(db_column='lilu', decimal_places=4, max_digits=5, null=True, verbose_name='平台分成利率')),
|
||||
('Platform', models.CharField(db_column='fadanpingtai', max_length=10, null=True, verbose_name='订单所属平台')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
('UpdateTime', models.DateTimeField(auto_now=True, db_column='update_time', verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'lilubiao',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='EscortOrder',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('OrderID', models.CharField(db_column='dingdan_id', db_index=True, max_length=32, unique=True, verbose_name='订单ID')),
|
||||
('MainPlayerID', models.CharField(db_column='zhudashou_id', db_index=True, max_length=32, verbose_name='主打手ID')),
|
||||
('Escort1ID', models.CharField(blank=True, db_column='peihu1_id', db_index=True, max_length=32, null=True, verbose_name='陪护1打手ID')),
|
||||
('Escort2ID', models.CharField(blank=True, db_column='peihu2_id', db_index=True, max_length=32, null=True, verbose_name='陪护2打手ID')),
|
||||
('Status', models.IntegerField(db_column='zhuangtai', default=1, verbose_name='陪护订单状态')),
|
||||
('EscortCount', models.IntegerField(db_column='peihu_xuqiu_shuliang', default=1, verbose_name='陪护需求数量')),
|
||||
('CommissionReq', models.DecimalField(blank=True, db_column='yongjin_yaoqiu', decimal_places=2, max_digits=10, null=True, verbose_name='抢单佣金要求')),
|
||||
('Escort1LevelReq', models.PositiveIntegerField(blank=True, db_column='peihu1_dengji_xuqiu', null=True, verbose_name='陪护1等级需求(称号ID)')),
|
||||
('Escort2LevelReq', models.PositiveIntegerField(blank=True, db_column='peihu2_dengji_xuqiu', null=True, verbose_name='陪护2等级需求(称号ID)')),
|
||||
('Escort1BombLiability', models.CharField(blank=True, db_column='peihu1_zhadan_danze', max_length=10, null=True, verbose_name='陪护1炸单担责比例')),
|
||||
('Escort2BombLiability', models.CharField(blank=True, db_column='peihu2_zhadan_danze', max_length=10, null=True, verbose_name='陪护2炸单担责比例')),
|
||||
('Escort1BonusRate', models.CharField(blank=True, db_column='peihu1_fenhong', max_length=10, null=True, verbose_name='陪护1分红比例')),
|
||||
('Escort2BonusRate', models.CharField(blank=True, db_column='peihu2_fenhong', max_length=10, null=True, verbose_name='陪护2分红比例')),
|
||||
('AssignedEscort1', models.CharField(blank=True, db_column='zhiding_peihu1', max_length=32, null=True, verbose_name='指定陪护1 ID')),
|
||||
('AssignedEscort2', models.CharField(blank=True, db_column='zhiding_peihu2', max_length=32, null=True, verbose_name='指定陪护2 ID')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
('UpdateTime', models.DateTimeField(auto_now=True, db_column='update_time', verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '陪护订单',
|
||||
'verbose_name_plural': '陪护订单',
|
||||
'db_table': 'dingdan_peihu',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='MerchantOrderExt',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('MerchantID', models.CharField(blank=True, db_column='shangjia_id', db_index=True, max_length=32, null=True, verbose_name='商家ID')),
|
||||
('MerchantReview', models.TextField(blank=True, db_column='shangjia_pingjia', null=True, verbose_name='商家评价')),
|
||||
('PenaltyReason', models.TextField(blank=True, db_column='cfliyou', null=True, verbose_name='商家处罚理由')),
|
||||
('PenaltyApplyStatus', models.IntegerField(blank=True, db_column='sqzhuangtai', default=0, null=True, verbose_name='处罚申请状态:0待处理,1成功,2驳回')),
|
||||
('RejectReason', models.TextField(blank=True, db_column='bhliyou', null=True, verbose_name='驳回商家处罚理由')),
|
||||
('MerchantNickname', models.CharField(db_column='sjnicheng', max_length=50, null=True, verbose_name='商家昵称')),
|
||||
('PrevOrderID', models.CharField(blank=True, db_column='shangyige_dingdan_id', max_length=32, null=True, verbose_name='上一个订单ID')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '商家订单扩展',
|
||||
'verbose_name_plural': '商家订单扩展',
|
||||
'db_table': 'dingdan_shangjia',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Order',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('OrderID', models.CharField(db_column='dingdan_id', db_index=True, max_length=32, unique=True, verbose_name='订单ID')),
|
||||
('Status', models.IntegerField(blank=True, db_column='zhuangtai', db_index=True, default=1, null=True, verbose_name='订单状态')),
|
||||
('Platform', models.IntegerField(blank=True, db_column='fadan_pingtai', null=True, verbose_name='发单平台')),
|
||||
('Amount', models.DecimalField(blank=True, db_column='jine', decimal_places=2, max_digits=10, null=True, verbose_name='订单金额')),
|
||||
('PlayerCommission', models.DecimalField(blank=True, db_column='dashou_fencheng', decimal_places=2, max_digits=10, null=True, verbose_name='打手分成')),
|
||||
('ManagerCommission', models.DecimalField(blank=True, db_column='guanshi_fencheng', decimal_places=2, default=0, max_digits=10, null=True, verbose_name='管事分成')),
|
||||
('PlayerID', models.CharField(blank=True, db_column='jiedan_dashou_id', db_index=True, max_length=32, null=True, verbose_name='接单打手ID')),
|
||||
('PlayerRemark', models.TextField(blank=True, db_column='dashou_liuyan', null=True, verbose_name='打手留言')),
|
||||
('AssignedID', models.CharField(blank=True, db_column='zhiding_id', max_length=32, null=True, verbose_name='指定ID')),
|
||||
('ProductID', models.IntegerField(blank=True, db_column='shangpin_id', null=True, verbose_name='商品ID')),
|
||||
('ProductTypeID', models.PositiveIntegerField(blank=True, db_column='leixing_id', null=True, verbose_name='商品类型ID')),
|
||||
('ImageURL', models.CharField(blank=True, db_column='tupian', max_length=500, null=True, verbose_name='商品图片URL')),
|
||||
('GrabRequirement', models.PositiveIntegerField(blank=True, db_column='yaoqiuleixing', null=True, verbose_name='抢单要求类型')),
|
||||
('MembershipID', models.CharField(blank=True, db_column='huiyuan_id', max_length=6, null=True, verbose_name='会员ID')),
|
||||
('CommissionReq', models.DecimalField(blank=True, db_column='yongjin', decimal_places=2, max_digits=10, null=True, verbose_name='佣金要求')),
|
||||
('Description', models.TextField(blank=True, db_column='jieshao', null=True, verbose_name='订单介绍')),
|
||||
('Remark', models.TextField(blank=True, db_column='beizhu', null=True, verbose_name='订单备注')),
|
||||
('Nickname', models.CharField(blank=True, db_column='nicheng', max_length=50, null=True, verbose_name='游戏昵称')),
|
||||
('User1ID', models.CharField(db_column='user1_id', db_index=True, max_length=30, null=True, verbose_name='用户1标识')),
|
||||
('User2ID', models.CharField(db_column='user2_id', db_index=True, max_length=30, null=True, verbose_name='用户2打手标识')),
|
||||
('AutoTaskID', models.CharField(blank=True, db_column='auto_task_id', default='', max_length=255, verbose_name='延时任务ID')),
|
||||
('AutoExpireAt', models.DateTimeField(blank=True, db_column='auto_expire_at', null=True, verbose_name='计划过期时间')),
|
||||
('PendingDispatch', models.BooleanField(db_column='pending_dispatch', db_index=True, default=False, verbose_name='待调度标记')),
|
||||
('SettlementTime', models.DateTimeField(blank=True, db_column='status_8_time', null=True, verbose_name='状态变为8的时间')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
('UpdateTime', models.DateTimeField(auto_now=True, db_column='update_time', verbose_name='更新时间')),
|
||||
('AssignedCS', models.CharField(db_column='clkf', db_index=True, max_length=20, null=True, verbose_name='处理客服')),
|
||||
('RefundReason', models.CharField(blank=True, db_column='tkly', max_length=500, null=True, verbose_name='退款/拒绝理由')),
|
||||
('WechatTransactionID', models.CharField(blank=True, db_column='wechat_transaction_id', db_index=True, max_length=64, null=True, verbose_name='微信支付订单号')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '订单',
|
||||
'verbose_name_plural': '订单',
|
||||
'db_table': 'dingdan',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='OrderPlayerHistory',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('OrderID', models.CharField(db_column='dingdan_id', db_index=True, max_length=32, verbose_name='订单ID')),
|
||||
('PlayerID', models.CharField(db_column='dashou_id', db_index=True, max_length=7, verbose_name='打手ID')),
|
||||
('Times', models.PositiveSmallIntegerField(verbose_name='第几次接单(从1开始)')),
|
||||
('Operator', models.CharField(db_column='operator', max_length=11, verbose_name='操作客服ID')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '订单打手变更历史',
|
||||
'verbose_name_plural': '订单打手变更历史',
|
||||
'db_table': 'order_dashou_history',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Penalty',
|
||||
fields=[
|
||||
('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增主键')),
|
||||
('PenalizedUserID', models.CharField(db_column='beichufa_id', db_index=True, max_length=20, verbose_name='被处罚用户ID')),
|
||||
('ApplicantID', models.CharField(blank=True, db_column='shenqing_chufa', max_length=20, null=True, verbose_name='申请处罚者ID')),
|
||||
('Identity', models.IntegerField(choices=[(1, '打手'), (2, '管事'), (3, '商家'), (4, '组长')], db_column='shenfen', default=1, verbose_name='被处罚者身份')),
|
||||
('Reason', models.TextField(blank=True, db_column='chufaliyou', null=True, verbose_name='处罚理由')),
|
||||
('FineAmount', models.DecimalField(db_column='fakuanjine', decimal_places=2, default=0.0, max_digits=10, verbose_name='罚款金额')),
|
||||
('RelatedOrderID', models.CharField(blank=True, db_column='guanliandingdan_id', db_index=True, max_length=32, null=True, verbose_name='关联订单ID')),
|
||||
('Status', models.IntegerField(choices=[(1, '待缴纳'), (2, '已缴纳'), (3, '申诉中'), (4, '已驳回')], db_column='zhuangtai', db_index=True, default=1, verbose_name='罚单状态')),
|
||||
('AffectsGrabbing', models.IntegerField(choices=[(1, '影响抢单'), (0, '不影响抢单')], db_column='yingxiang_qiangdan', db_index=True, default=1, verbose_name='是否影响抢单')),
|
||||
('AppealReason', models.TextField(blank=True, db_column='shensuliyou', null=True, verbose_name='申诉理由')),
|
||||
('ApproveReason', models.TextField(blank=True, db_column='tongyi_chufaliyou', null=True, verbose_name='同意处罚理由')),
|
||||
('RejectReason', models.TextField(blank=True, db_column='bohuiliyou', null=True, verbose_name='驳回理由')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
('UpdateTime', models.DateTimeField(auto_now=True, db_column='update_time', verbose_name='更新时间')),
|
||||
('ApplicantIdentity', models.IntegerField(choices=[(1, '客服'), (2, '售后'), (3, '管理员'), (4, '店铺'), (5, '商家')], db_column='shenqingren_shenfen', default=1, verbose_name='申请处罚人身份')),
|
||||
('ProcessorIdentity', models.IntegerField(choices=[(1, '客服'), (2, '售后'), (3, '管理员')], db_column='chulizhe_shenfen', default=2, verbose_name='处理者身份')),
|
||||
('ProcessorID', models.CharField(blank=True, db_column='chulizhe', max_length=20, null=True, verbose_name='处理者')),
|
||||
('ApplicantBonusAmount', models.DecimalField(db_column='shenqingren_fenhong_jine', decimal_places=2, default=0.0, max_digits=12, verbose_name='申请人分红金额')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '罚单',
|
||||
'verbose_name_plural': '罚单',
|
||||
'db_table': 'fadan',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='PenaltyAppealImage',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('PenalizedUserID', models.CharField(db_column='beichufa_id', db_index=True, max_length=7, verbose_name='被处罚用户ID')),
|
||||
('ImageURL', models.CharField(db_column='tupian_url', max_length=500, verbose_name='图片相对URL')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
('Purpose', models.IntegerField(choices=[(1, '处罚证据图片'), (2, '申诉图片')], db_column='yongtu', default=2, verbose_name='图片用途')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '罚款申诉图片',
|
||||
'verbose_name_plural': '罚款申诉图片',
|
||||
'db_table': 'fadan_shensu_tupian',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='PenaltyBonus',
|
||||
fields=[
|
||||
('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增主键')),
|
||||
('BeneficiaryID', models.CharField(db_column='fenhongzhe_id', db_index=True, max_length=20, verbose_name='分红者ID')),
|
||||
('TotalAmount', models.DecimalField(db_column='zonge', decimal_places=2, default=0.0, max_digits=12, verbose_name='分红总额')),
|
||||
('WithdrawableAmount', models.DecimalField(db_column='ketixian_fenhong', decimal_places=2, default=0.0, max_digits=12, verbose_name='可提现分红')),
|
||||
('Identity', models.IntegerField(choices=[(1, '商家'), (2, '客服'), (3, '平台管理者'), (4, '店铺'), (5, '售后')], db_column='shenfen', default=1, verbose_name='分红者身份')),
|
||||
('BonusCount', models.IntegerField(db_column='fenhong_cishu', default=0, verbose_name='分红次数')),
|
||||
('IsIndividualRate', models.BooleanField(db_column='is_individual_rate', default=False, verbose_name='是否单独开启分红利率')),
|
||||
('IndividualRate', models.DecimalField(db_column='yingde_lilv', decimal_places=4, default=0.0, max_digits=5, verbose_name='分红应得利率')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
('UpdateTime', models.DateTimeField(auto_now=True, db_column='update_time', verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '罚款分红',
|
||||
'verbose_name_plural': '罚款分红',
|
||||
'db_table': 'fadan_fenhong',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='PenaltyBonusRate',
|
||||
fields=[
|
||||
('Identity', models.IntegerField(choices=[(1, '客服'), (2, '售后'), (3, '管理员'), (4, '店铺'), (5, '商家')], db_column='shenfen', primary_key=True, serialize=False, verbose_name='申请处罚人身份')),
|
||||
('Rate', models.DecimalField(db_column='lilv', decimal_places=4, default=0.0, max_digits=5, verbose_name='分红费率')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
('UpdateTime', models.DateTimeField(auto_now=True, db_column='update_time', verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '罚款分红费率配置',
|
||||
'verbose_name_plural': '罚款分红费率配置',
|
||||
'db_table': 'fadan_fenhong_lilv',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='PenaltyEvidenceImage',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('OrderID', models.CharField(db_column='dingdan_id', db_index=True, max_length=32, null=True, verbose_name='订单ID')),
|
||||
('UserID', models.CharField(blank=True, db_column='yonghuid', db_index=True, max_length=32, null=True, verbose_name='用户ID')),
|
||||
('ImageURL', models.CharField(blank=True, db_column='tupian', max_length=500, null=True, verbose_name='证据图片URL')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
('UpdateTime', models.DateTimeField(auto_now=True, db_column='update_time', verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'chufatupian',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='PenaltyRecord',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('PlayerID', models.CharField(db_column='dashouid', db_index=True, max_length=7, null=True, verbose_name='被罚打手ID')),
|
||||
('ApplicantID', models.CharField(db_column='qingqiuid', db_index=True, max_length=11, null=True, verbose_name='请求处罚ID')),
|
||||
('ProcessorID', models.CharField(db_column='chuliid', db_index=True, max_length=11, null=True, verbose_name='处理处罚ID')),
|
||||
('PenaltyReason', models.TextField(blank=True, db_column='cfliyou', null=True, verbose_name='处罚理由')),
|
||||
('AppealReason', models.TextField(blank=True, db_column='ssliyou', null=True, verbose_name='打手申诉理由')),
|
||||
('ApplyStatus', models.IntegerField(blank=True, db_column='sqzhuangtai', default=0, null=True, verbose_name='处罚申请状态:0待处理,1成功,2驳回')),
|
||||
('RejectReason', models.TextField(blank=True, db_column='bhliyou', null=True, verbose_name='驳回处罚理由')),
|
||||
('DeductedPoints', models.IntegerField(db_column='jifen', default=0, verbose_name='扣除打手积分')),
|
||||
('OrderID', models.CharField(db_column='dingdan_id', db_index=True, max_length=32, null=True, verbose_name='订单ID')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
('UpdateTime', models.DateTimeField(auto_now=True, db_column='update_time', verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'chufajilu',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='PlatformCashFlow',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('TotalIncome', models.DecimalField(blank=True, db_column='zonge', decimal_places=2, max_digits=10, null=True, verbose_name='收取总金额')),
|
||||
('TotalPayout', models.DecimalField(blank=True, db_column='zhichuzonge', decimal_places=2, max_digits=10, null=True, verbose_name='支出总金额')),
|
||||
('TotalProfit', models.DecimalField(blank=True, db_column='zongshouyi', decimal_places=2, max_digits=10, null=True, verbose_name='总收益')),
|
||||
('DailyIncome', models.DecimalField(blank=True, db_column='rizonge', decimal_places=2, max_digits=10, null=True, verbose_name='日收取')),
|
||||
('DailyPayout', models.DecimalField(blank=True, db_column='rizhichu', decimal_places=2, max_digits=10, null=True, verbose_name='日支出')),
|
||||
('DailyProfit', models.DecimalField(blank=True, db_column='rishouyi', decimal_places=2, max_digits=10, null=True, verbose_name='日收益')),
|
||||
('TotalIncomeCount', models.IntegerField(db_column='zongshoucishu', default=0, verbose_name='总收取次数')),
|
||||
('DailyIncomeCount', models.IntegerField(db_column='rishoucishu', default=0, verbose_name='日收取次数')),
|
||||
('TotalPayoutCount', models.IntegerField(db_column='zongzhichucishu', default=0, verbose_name='总支出次数')),
|
||||
('DailyPayoutCount', models.IntegerField(db_column='rizhichucishu', default=0, verbose_name='日支出次数')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'ptliushui',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='PlatformOrderExt',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('BossID', models.CharField(blank=True, db_column='laoban_id', db_index=True, max_length=32, null=True, verbose_name='老板ID')),
|
||||
('BossReview', models.TextField(blank=True, db_column='laoban_pingjia', null=True, verbose_name='老板评价')),
|
||||
('RejectSettlementFlag', models.IntegerField(db_column='jjjs_biaoshi', default=0, verbose_name='拒绝结算标记(1表示拒绝结算)')),
|
||||
('PlatformIncome', models.DecimalField(blank=True, db_column='pingtai_shouyi', decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='平台收益')),
|
||||
('ShopIncome', models.DecimalField(blank=True, db_column='dianpu_shouyi', decimal_places=2, default=0.0, max_digits=10, null=True, verbose_name='店铺收益')),
|
||||
('ShopID', models.PositiveIntegerField(blank=True, db_column='dianpu_id', db_index=True, null=True, verbose_name='所属店铺ID')),
|
||||
('ParentShopID', models.PositiveIntegerField(blank=True, db_column='shangji_dianpu_id', db_index=True, null=True, verbose_name='该订单的上级店铺ID')),
|
||||
('ParentBonus', models.DecimalField(blank=True, db_column='shangji_fenhong', 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='PlayerDeliveryImage',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('OrderID', models.CharField(db_column='dingdan_id', db_index=True, max_length=32, null=True, verbose_name='订单ID')),
|
||||
('PlayerID', models.CharField(blank=True, db_column='dashou', db_index=True, max_length=32, null=True, verbose_name='接单打手ID')),
|
||||
('ImageURL', models.CharField(blank=True, db_column='tupian', max_length=500, null=True, verbose_name='打手提交图片URL')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
('UpdateTime', models.DateTimeField(auto_now=True, db_column='update_time', verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'dashoutupian',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='PlayerRating',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('PlayerID', models.CharField(blank=True, db_column='dashou', db_index=True, max_length=32, null=True, verbose_name='接单打手ID')),
|
||||
('TotalScore', models.PositiveIntegerField(db_column='zongfen', default=0, verbose_name='总分')),
|
||||
('RatingCount', models.PositiveIntegerField(db_column='cishu', default=0, verbose_name='评分次数')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
('UpdateTime', models.DateTimeField(auto_now=True, db_column='update_time', verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '评分表',
|
||||
'db_table': 'pingfenbiao',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='RefundRecord',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('OrderID', models.CharField(db_column='dingdan_id', max_length=32, unique=True, verbose_name='订单ID')),
|
||||
('PlayerID', models.CharField(db_column='dashouid', max_length=7, null=True, verbose_name='接单打手ID')),
|
||||
('ApplicantID', models.CharField(db_column='qingqiuid', max_length=7, null=True, verbose_name='请求用户ID')),
|
||||
('ProcessorID', models.CharField(db_column='chuliid', db_index=True, max_length=11, null=True, verbose_name='处理人ID')),
|
||||
('Reason', models.TextField(blank=True, db_column='liyou', null=True, verbose_name='理由')),
|
||||
('ApplyStatus', models.IntegerField(blank=True, db_column='sqzhuangtai', db_index=True, default=0, null=True, verbose_name='申请状态:0待处理,1成功,2驳回')),
|
||||
('RejectReason', models.TextField(blank=True, db_column='bhliyou', null=True, verbose_name='驳回理由')),
|
||||
('Amount', models.DecimalField(blank=True, db_column='jine', decimal_places=2, max_digits=10, null=True, verbose_name='订单金额')),
|
||||
('PlayerCommission', models.DecimalField(blank=True, db_column='dashou_fencheng', decimal_places=2, max_digits=10, null=True, verbose_name='打手分成')),
|
||||
('Description', models.TextField(blank=True, db_column='jieshao', null=True, verbose_name='订单介绍')),
|
||||
('Remark', models.TextField(blank=True, db_column='beizhu', null=True, verbose_name='订单备注')),
|
||||
('Nickname', models.CharField(blank=True, db_column='nicheng', max_length=50, null=True, verbose_name='游戏昵称')),
|
||||
('CreateTime', models.DateTimeField(auto_now_add=True, db_column='create_time', verbose_name='创建时间')),
|
||||
('UpdateTime', models.DateTimeField(auto_now=True, db_column='update_time', verbose_name='更新时间')),
|
||||
],
|
||||
options={
|
||||
'db_table': 'tuikuanjilu',
|
||||
},
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Chufajilu',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Chufatupian',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Dashoutupian',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='DingdanPeihu',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='dingdanpingtai',
|
||||
name='dingdan',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='dingdanshangjia',
|
||||
name='dingdan',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='FadanFenhong',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='FadanFenhongLilv',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='fadanshensutupian',
|
||||
name='fadan',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Liaotian',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Lilubiao',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='OrderDashouHistory',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Pingfen',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Ptliushui',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Tuikuanjilu',
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,177 @@
|
||||
# Generated by Django 4.2.27 on 2026-06-18 17:46
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0002_chatsession_commissionrate_escortorder_and_more'),
|
||||
('rank', '0002_alter_dashoubiaoxian_dingdan_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.DeleteModel(
|
||||
name='Dingdan',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='DingdanPingtai',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='DingdanShangjia',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Fadan',
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='FadanShensuTupian',
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='refundrecord',
|
||||
index=models.Index(fields=['ProcessorID'], name='tuikuanjilu_chuliid_0b0f16_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='refundrecord',
|
||||
index=models.Index(fields=['ApplyStatus'], name='tuikuanjilu_sqzhuan_d89dc9_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='playerrating',
|
||||
index=models.Index(fields=['PlayerID'], name='pingfenbiao_dashou_f62f10_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='playerdeliveryimage',
|
||||
index=models.Index(fields=['PlayerID'], name='dashoutupia_dashou_7de8bd_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='playerdeliveryimage',
|
||||
index=models.Index(fields=['OrderID'], name='dashoutupia_dingdan_97c685_idx'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platformorderext',
|
||||
name='Order',
|
||||
field=models.OneToOneField(db_column='dingdan_id', on_delete=django.db.models.deletion.CASCADE, related_name='pingtai_kuozhan', to='orders.order', verbose_name='订单'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='penaltyrecord',
|
||||
index=models.Index(fields=['PlayerID'], name='chufajilu_dashoui_07aac0_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='penaltyrecord',
|
||||
index=models.Index(fields=['ApplicantID'], name='chufajilu_qingqiu_ac160e_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='penaltyrecord',
|
||||
index=models.Index(fields=['ProcessorID'], name='chufajilu_chuliid_cd63ac_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='penaltyrecord',
|
||||
index=models.Index(fields=['OrderID'], name='chufajilu_dingdan_b8f0c2_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='penaltyevidenceimage',
|
||||
index=models.Index(fields=['UserID'], name='chufatupian_yonghui_71e585_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='penaltyevidenceimage',
|
||||
index=models.Index(fields=['OrderID'], name='chufatupian_dingdan_ce0dd4_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='penaltybonus',
|
||||
index=models.Index(fields=['BeneficiaryID'], name='fadan_fenhong_zhe_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='penaltybonus',
|
||||
index=models.Index(fields=['Identity'], name='fadan_fenhong_sf_idx'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='penaltyappealimage',
|
||||
name='Penalty',
|
||||
field=models.ForeignKey(db_column='fadan_id', on_delete=django.db.models.deletion.CASCADE, related_name='shensu_tupians', to='orders.penalty', verbose_name='关联罚单'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='penalty',
|
||||
index=models.Index(fields=['PenalizedUserID', 'AffectsGrabbing', 'Status'], name='fadan_qiangdan_check'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='penalty',
|
||||
index=models.Index(fields=['RelatedOrderID'], name='fadan_dingdan_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='orderplayerhistory',
|
||||
index=models.Index(fields=['OrderID'], name='order_dasho_dingdan_1e79ab_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='orderplayerhistory',
|
||||
index=models.Index(fields=['PlayerID'], name='order_dasho_dashou__0a637c_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='order',
|
||||
index=models.Index(fields=['Status'], name='dingdan_zhuangt_2febe8_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='order',
|
||||
index=models.Index(fields=['OrderID'], name='dingdan_dingdan_83dcb6_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='order',
|
||||
index=models.Index(fields=['PlayerID'], name='dingdan_jiedan__921bfa_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='order',
|
||||
index=models.Index(fields=['WechatTransactionID'], name='dingdan_wechat__278b79_idx'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='merchantorderext',
|
||||
name='Order',
|
||||
field=models.OneToOneField(db_column='dingdan_id', on_delete=django.db.models.deletion.CASCADE, related_name='shangjia_kuozhan', to='orders.order', verbose_name='订单'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='escortorder',
|
||||
index=models.Index(fields=['MainPlayerID'], name='dingdan_pei_zhudash_583f4e_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='escortorder',
|
||||
index=models.Index(fields=['Escort1ID'], name='dingdan_pei_peihu1__728279_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='escortorder',
|
||||
index=models.Index(fields=['Escort2ID'], name='dingdan_pei_peihu2__77e45e_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='escortorder',
|
||||
index=models.Index(fields=['Status'], name='dingdan_pei_zhuangt_22eaf6_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='chatsession',
|
||||
index=models.Index(fields=['User1ID'], name='liaotian_user1_i_6be6cd_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='chatsession',
|
||||
index=models.Index(fields=['User2ID'], name='liaotian_user2_i_9f61a4_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='chatsession',
|
||||
index=models.Index(fields=['Status'], name='liaotian_zhuangt_5e8be5_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='platformorderext',
|
||||
index=models.Index(fields=['BossID'], name='dingdan_pin_laoban__d55e6f_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='platformorderext',
|
||||
index=models.Index(fields=['ShopID'], name='dingdan_pin_dianpu__9fbe27_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='penaltyappealimage',
|
||||
index=models.Index(fields=['Penalty'], name='fadan_shens_fadan_i_78fab9_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='penaltyappealimage',
|
||||
index=models.Index(fields=['PenalizedUserID'], name='fadan_shens_beichuf_59748e_idx'),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name='merchantorderext',
|
||||
index=models.Index(fields=['MerchantID'], name='dingdan_sha_shangji_64d28b_idx'),
|
||||
),
|
||||
]
|
||||
1209
orders/models.py
1209
orders/models.py
File diff suppressed because it is too large
Load Diff
@@ -14,7 +14,7 @@ def dingdan_guangbo(self, order_info):
|
||||
异步并发广播订单模板消息给所有关注服务号的用户
|
||||
order_info 字典字段示例:
|
||||
{
|
||||
'dingdan_id': 'PT123456',
|
||||
'OrderID': 'PT123456',
|
||||
'game_type': '王者荣耀',
|
||||
'amount': '88.00',
|
||||
'order_desc': '星耀上王者'
|
||||
@@ -22,7 +22,7 @@ def dingdan_guangbo(self, order_info):
|
||||
"""
|
||||
sender = WeixinBroadcastSender()
|
||||
template_data = sender.build_order_message_data(order_info)
|
||||
order_id = order_info.get('dingdan_id')
|
||||
order_id = order_info.get('OrderID')
|
||||
|
||||
# 查询所有已关注用户
|
||||
try:
|
||||
|
||||
@@ -39,7 +39,7 @@ def ensure_redis_loaded():
|
||||
# 预加载redis模块
|
||||
ensure_redis_loaded()
|
||||
|
||||
@receiver(pre_save, sender='orders.Dingdan')
|
||||
@receiver(pre_save, sender='orders.Order')
|
||||
def handle_order_status_8(sender, instance, **kwargs):
|
||||
"""
|
||||
订单状态变为8时的信号处理。
|
||||
@@ -49,15 +49,15 @@ def handle_order_status_8(sender, instance, **kwargs):
|
||||
if instance.pk is None:
|
||||
return
|
||||
try:
|
||||
from orders.models import Dingdan
|
||||
old = Dingdan.query.filter(pk=instance.pk).values_list('zhuangtai', flat=True).first()
|
||||
if old != 8 and instance.zhuangtai == 8:
|
||||
instance.status_8_time = timezone.now()
|
||||
from orders.models import Order
|
||||
old = Order.query.filter(pk=instance.pk).values_list('Status', flat=True).first()
|
||||
if old != 8 and instance.Status == 8:
|
||||
instance.SettlementTime = timezone.now()
|
||||
instance.pending_dispatch = False
|
||||
instance.auto_task_id = ''
|
||||
instance.auto_expire_at = None
|
||||
elif old == 8 and instance.zhuangtai != 8:
|
||||
instance.status_8_time = None
|
||||
elif old == 8 and instance.Status != 8:
|
||||
instance.SettlementTime = None
|
||||
instance.pending_dispatch = False
|
||||
instance.auto_task_id = ''
|
||||
except Exception as e:
|
||||
|
||||
@@ -14,7 +14,7 @@ from decimal import Decimal
|
||||
import logging
|
||||
|
||||
# 导入模型 - 确保路径正确
|
||||
from orders.models import Dingdan
|
||||
from orders.models import Order
|
||||
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
|
||||
@@ -40,25 +40,25 @@ def process_expired_order(self, dingdan_id):
|
||||
with transaction.atomic():
|
||||
|
||||
# 获取订单,同时锁定记录
|
||||
order = Dingdan.objects.select_for_update().get(
|
||||
dingdan_id=dingdan_id
|
||||
order = Order.objects.select_for_update().get(
|
||||
OrderID=dingdan_id
|
||||
)
|
||||
|
||||
# 再次检查订单状态是否为8
|
||||
if order.zhuangtai != 8:
|
||||
logger.info(f"订单{dingdan_id}状态已不是8(当前:{order.zhuangtai}),跳过处理")
|
||||
if order.Status != 8:
|
||||
logger.info(f"订单{dingdan_id}状态已不是8(当前:{order.Status}),跳过处理")
|
||||
return f"订单{dingdan_id}状态已变更,跳过处理"
|
||||
|
||||
# 获取发单平台类型
|
||||
fadan_pingtai = order.fadan_pingtai
|
||||
fadan_pingtai = order.Platform
|
||||
|
||||
# 获取打手ID和分成金额
|
||||
dashou_id = order.jiedan_dashou_id
|
||||
dashou_fencheng = safe_decimal_operation(order.dashou_fencheng)
|
||||
dashou_id = order.PlayerID
|
||||
dashou_fencheng = safe_decimal_operation(order.PlayerCommission)
|
||||
|
||||
# 1. 更新订单状态为3(已完成)
|
||||
order.zhuangtai = 3
|
||||
order.save(update_fields=['zhuangtai'])
|
||||
order.Status = 3
|
||||
order.save(update_fields=['Status'])
|
||||
|
||||
# 2. 更新打手信息(如果存在)
|
||||
updated_dashou = False
|
||||
@@ -121,7 +121,7 @@ def process_expired_order(self, dingdan_id):
|
||||
log_task_execution(f"自动结算订单 {dingdan_id}", True, result_msg)
|
||||
return result_msg
|
||||
|
||||
except Dingdan.DoesNotExist:
|
||||
except Order.DoesNotExist:
|
||||
error_msg = f"订单{dingdan_id}不存在"
|
||||
logger.warning(error_msg)
|
||||
return error_msg
|
||||
@@ -155,10 +155,10 @@ def check_order_expire_task():
|
||||
check_time = timezone.now() - timedelta(seconds=settings.ORDER_EXPIRE_SECONDS + 86400) # 48+24=72小时
|
||||
|
||||
# 查询状态为8且创建时间早于检查时间的订单
|
||||
expired_orders = Dingdan.query.filter(
|
||||
zhuangtai=8,
|
||||
create_time__lt=check_time
|
||||
).values_list('dingdan_id', flat=True)
|
||||
expired_orders = Order.query.filter(
|
||||
Status=8,
|
||||
CreateTime__lt=check_time
|
||||
).values_list('OrderID', flat=True)
|
||||
|
||||
expired_count = expired_orders.count()
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ from django.db import transaction
|
||||
from django.db.models import F
|
||||
|
||||
from config.models import DailyIncomeStat, DailyPayoutStat
|
||||
from orders.models import Dingdan, DingdanPingtai, DingdanShangjia, Lilubiao
|
||||
from orders.models import Order, PlatformOrderExt, MerchantOrderExt, CommissionRate
|
||||
from products.models import Gsfenhong
|
||||
from users.models import UserDashou, UserGuanshi
|
||||
|
||||
@@ -16,17 +16,17 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def get_order_user_id(order):
|
||||
if order.fadan_pingtai == 1:
|
||||
if order.Platform == 1:
|
||||
try:
|
||||
ext = DingdanPingtai.objects.get(dingdan=order)
|
||||
return ext.laoban_id
|
||||
except DingdanPingtai.DoesNotExist:
|
||||
ext = PlatformOrderExt.objects.get(Order=order)
|
||||
return ext.BossID
|
||||
except PlatformOrderExt.DoesNotExist:
|
||||
return None
|
||||
elif order.fadan_pingtai == 2:
|
||||
elif order.Platform == 2:
|
||||
try:
|
||||
ext = DingdanShangjia.objects.get(dingdan=order)
|
||||
return ext.shangjia_id
|
||||
except DingdanShangjia.DoesNotExist:
|
||||
ext = MerchantOrderExt.objects.get(Order=order)
|
||||
return ext.MerchantID
|
||||
except MerchantOrderExt.DoesNotExist:
|
||||
return None
|
||||
return None
|
||||
|
||||
@@ -111,15 +111,15 @@ def calc_shangjia_order_fencheng(jine):
|
||||
"""
|
||||
jine = Decimal(str(jine))
|
||||
try:
|
||||
lilu_obj = Lilubiao.objects.get(fadanpingtai='3')
|
||||
rate_dashou = Decimal(str(lilu_obj.lilu)) if lilu_obj.lilu and lilu_obj.lilu > 0 else Decimal('1')
|
||||
except Lilubiao.DoesNotExist:
|
||||
lilu_obj = CommissionRate.objects.get(Platform='3')
|
||||
rate_dashou = Decimal(str(lilu_obj.Rate)) if lilu_obj.Rate and lilu_obj.Rate > 0 else Decimal('1')
|
||||
except CommissionRate.DoesNotExist:
|
||||
rate_dashou = Decimal('1')
|
||||
|
||||
lilu_guanshi_obj = Lilubiao.objects.filter(fadanpingtai='13').first()
|
||||
lilu_guanshi_obj = CommissionRate.objects.filter(Platform='13').first()
|
||||
rate_guanshi = (
|
||||
Decimal(str(lilu_guanshi_obj.lilu))
|
||||
if lilu_guanshi_obj and lilu_guanshi_obj.lilu is not None
|
||||
Decimal(str(lilu_guanshi_obj.Rate))
|
||||
if lilu_guanshi_obj and lilu_guanshi_obj.Rate is not None
|
||||
else Decimal('0')
|
||||
)
|
||||
|
||||
@@ -139,15 +139,15 @@ def settle_shangjia_order_guanshi_fenhong(order, dashou_id):
|
||||
商家订单结单时结算管事分红(幂等,失败不抛异常阻断主流程)。
|
||||
"""
|
||||
|
||||
if getattr(order, 'fadan_pingtai', None) != 2:
|
||||
if getattr(order, 'Platform', None) != 2:
|
||||
return
|
||||
|
||||
guanshi_fencheng = order.guanshi_fencheng or Decimal('0')
|
||||
guanshi_fencheng = order.ManagerCommission or Decimal('0')
|
||||
if guanshi_fencheng <= 0:
|
||||
return
|
||||
|
||||
if Gsfenhong.objects.filter(dingdan_id=order.dingdan_id).exists():
|
||||
logger.info(f"商家订单管事分红已处理: {order.dingdan_id}")
|
||||
if Gsfenhong.objects.filter(dingdan_id=order.OrderID).exists():
|
||||
logger.info(f"商家订单管事分红已处理: {order.OrderID}")
|
||||
return
|
||||
|
||||
if not dashou_id:
|
||||
@@ -174,7 +174,7 @@ def settle_shangjia_order_guanshi_fenhong(order, dashou_id):
|
||||
|
||||
user_main = dashou.user
|
||||
Gsfenhong.objects.create(
|
||||
dingdan_id=order.dingdan_id,
|
||||
dingdan_id=order.OrderID,
|
||||
guanshi=guanshi_id,
|
||||
dashouid=dashou_id,
|
||||
shuoming='商家订单分红',
|
||||
@@ -184,7 +184,7 @@ def settle_shangjia_order_guanshi_fenhong(order, dashou_id):
|
||||
fenhong_leixing=3,
|
||||
)
|
||||
logger.info(
|
||||
f"商家订单管事分红成功: 订单{order.dingdan_id}, 管事{guanshi_id}, "
|
||||
f"商家订单管事分红成功: 订单{order.OrderID}, 管事{guanshi_id}, "
|
||||
f"打手{dashou_id}, 金额{guanshi_fencheng}元"
|
||||
)
|
||||
except UserGuanshi.DoesNotExist:
|
||||
|
||||
1748
orders/views.py
1748
orders/views.py
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user