修复了属性取值问题
This commit is contained in:
@@ -234,6 +234,7 @@ IP_WHITELIST = [
|
|||||||
'111.32.64.171',
|
'111.32.64.171',
|
||||||
'43.142.0.208',
|
'43.142.0.208',
|
||||||
'223.104.7.77',
|
'223.104.7.77',
|
||||||
|
''
|
||||||
]
|
]
|
||||||
# 黑名单(blacklist 模式下生效)— 支持单 IP 和 CIDR 网段
|
# 黑名单(blacklist 模式下生效)— 支持单 IP 和 CIDR 网段
|
||||||
IP_BLACKLIST = []
|
IP_BLACKLIST = []
|
||||||
|
|||||||
@@ -2312,8 +2312,8 @@ class AddProductView(APIView):
|
|||||||
yaoqiuleixing=yaoqiuleixing,
|
yaoqiuleixing=yaoqiuleixing,
|
||||||
huiyuan_id=huiyuan_id_val,
|
huiyuan_id=huiyuan_id_val,
|
||||||
yongjin=yongjin_val,
|
yongjin=yongjin_val,
|
||||||
kaioi_ewai_PlayerCommission=kaioi_ewai,
|
kaioi_ewai_dashou_fencheng=kaioi_ewai,
|
||||||
ewai_PlayerCommission=ewai_fencheng,
|
ewai_dashou_fencheng=ewai_fencheng,
|
||||||
paixu=0, # 新商品默认排序最后
|
paixu=0, # 新商品默认排序最后
|
||||||
shenhezhuangtai=1, # 正常状态
|
shenhezhuangtai=1, # 正常状态
|
||||||
)
|
)
|
||||||
@@ -2463,8 +2463,8 @@ class GetProductDetailView(APIView):
|
|||||||
'huiyuan_id': product.huiyuan_id,
|
'huiyuan_id': product.huiyuan_id,
|
||||||
'yongjin': str(product.yongjin) if product.yongjin is not None else None,
|
'yongjin': str(product.yongjin) if product.yongjin is not None else None,
|
||||||
'tupian_url': product.tupian_url,
|
'tupian_url': product.tupian_url,
|
||||||
'kaioi_ewai_PlayerCommission': product.kaioi_ewai_PlayerCommission,
|
'kaioi_ewai_PlayerCommission': product.kaioi_ewai_dashou_fencheng,
|
||||||
'ewai_PlayerCommission': str(product.ewai_PlayerCommission) if product.ewai_PlayerCommission is not None else '0',
|
'ewai_PlayerCommission': str(product.ewai_dashou_fencheng) if product.ewai_dashou_fencheng is not None else '0',
|
||||||
'create_time': product.create_time.isoformat() if product.create_time else None,
|
'create_time': product.create_time.isoformat() if product.create_time else None,
|
||||||
'shenhezhuangtai': product.shenhezhuangtai,
|
'shenhezhuangtai': product.shenhezhuangtai,
|
||||||
}
|
}
|
||||||
@@ -2648,8 +2648,8 @@ class UpdateProductView(APIView):
|
|||||||
product.yaoqiuleixing = yaoqiuleixing
|
product.yaoqiuleixing = yaoqiuleixing
|
||||||
product.huiyuan_id = huiyuan_id
|
product.huiyuan_id = huiyuan_id
|
||||||
product.yongjin = yongjin
|
product.yongjin = yongjin
|
||||||
product.kaioi_ewai_PlayerCommission = kaioi_ewai
|
product.kaioi_ewai_dashou_fencheng = kaioi_ewai
|
||||||
product.ewai_PlayerCommission = ewai_fencheng
|
product.ewai_dashou_fencheng = ewai_fencheng
|
||||||
product.jieshao = jieshao
|
product.jieshao = jieshao
|
||||||
product.xiadan_xuzhi = xiadan_xuzhi
|
product.xiadan_xuzhi = xiadan_xuzhi
|
||||||
product.tupian_url = tupian_url
|
product.tupian_url = tupian_url
|
||||||
@@ -5565,8 +5565,8 @@ class ProductListView(APIView):
|
|||||||
'yaoqiuleixing': p.yaoqiuleixing,
|
'yaoqiuleixing': p.yaoqiuleixing,
|
||||||
'huiyuan_id': p.huiyuan_id or '',
|
'huiyuan_id': p.huiyuan_id or '',
|
||||||
'yongjin': p.yongjin,
|
'yongjin': p.yongjin,
|
||||||
'kaioi_ewai_PlayerCommission': p.kaioi_ewai_PlayerCommission,
|
'kaioi_ewai_PlayerCommission': p.kaioi_ewai_dashou_fencheng,
|
||||||
'ewai_PlayerCommission': p.ewai_PlayerCommission,
|
'ewai_PlayerCommission': p.ewai_dashou_fencheng,
|
||||||
'create_time': p.create_time.isoformat() if p.create_time else '',
|
'create_time': p.create_time.isoformat() if p.create_time else '',
|
||||||
'update_time': p.update_time.isoformat() if p.update_time else '',
|
'update_time': p.update_time.isoformat() if p.update_time else '',
|
||||||
'paixu': p.paixu,
|
'paixu': p.paixu,
|
||||||
@@ -5659,6 +5659,11 @@ class ProductModifyView(APIView):
|
|||||||
|
|
||||||
# ---------- 应用修改 ----------
|
# ---------- 应用修改 ----------
|
||||||
# 允许修改的字段白名单(防止注入)
|
# 允许修改的字段白名单(防止注入)
|
||||||
|
# 前端参数名 → 模型字段名映射
|
||||||
|
field_name_map = {
|
||||||
|
'kaioi_ewai_PlayerCommission': 'kaioi_ewai_dashou_fencheng',
|
||||||
|
'ewai_PlayerCommission': 'ewai_dashou_fencheng',
|
||||||
|
}
|
||||||
allowed_fields = [
|
allowed_fields = [
|
||||||
'biaoqian', 'jiage', 'kucun', 'leixing_id', 'duiwai_xiaoliang',
|
'biaoqian', 'jiage', 'kucun', 'leixing_id', 'duiwai_xiaoliang',
|
||||||
'jieshao', 'xiadan_xuzhi', 'yaoqiuleixing', 'yongjin',
|
'jieshao', 'xiadan_xuzhi', 'yaoqiuleixing', 'yongjin',
|
||||||
@@ -5666,18 +5671,22 @@ class ProductModifyView(APIView):
|
|||||||
'shangjia_zhuangtai', 'fengjin_zhuangtai', 'shenhe_zhuangtai'
|
'shangjia_zhuangtai', 'fengjin_zhuangtai', 'shenhe_zhuangtai'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
update_fields = []
|
||||||
for field in allowed_fields:
|
for field in allowed_fields:
|
||||||
value = request.data.get(field)
|
value = request.data.get(field)
|
||||||
if value is not None:
|
if value is not None:
|
||||||
|
model_field = field_name_map.get(field, field)
|
||||||
# 简单类型校验(根据字段类型)
|
# 简单类型校验(根据字段类型)
|
||||||
if field in ['jiage', 'kucun', 'duiwai_xiaoliang', 'yongjin', 'ewai_PlayerCommission', 'paixu']:
|
if field in ['jiage', 'kucun', 'duiwai_xiaoliang', 'yongjin', 'ewai_PlayerCommission', 'paixu']:
|
||||||
try:
|
try:
|
||||||
value = float(value) if 'jiage' in field or 'yongjin' in field or 'ewai' in field else int(value)
|
value = float(value) if 'jiage' in field or 'yongjin' in field or 'ewai' in field else int(value)
|
||||||
except (ValueError, TypeError):
|
except (ValueError, TypeError):
|
||||||
return Response({'code': 400, 'msg': f'字段 {field} 值格式错误'})
|
return Response({'code': 400, 'msg': f'字段 {field} 值格式错误'})
|
||||||
setattr(product, field, value)
|
setattr(product, model_field, value)
|
||||||
|
update_fields.append(model_field)
|
||||||
|
|
||||||
product.save(update_fields=allowed_fields)
|
if update_fields:
|
||||||
|
product.save(update_fields=update_fields)
|
||||||
return Response({'code': 0, 'msg': '商品修改成功'})
|
return Response({'code': 0, 'msg': '商品修改成功'})
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3864,7 +3864,7 @@ class AdckyhxqView(APIView):
|
|||||||
'phone': user_main.Phone,
|
'phone': user_main.Phone,
|
||||||
'ip': user_main.IP,
|
'ip': user_main.IP,
|
||||||
'create_time': user_main.UserCreateTime,
|
'create_time': user_main.UserCreateTime,
|
||||||
'update_time': user_main.update_time,
|
'update_time': user_main.UserCreateTime,
|
||||||
'user_type': user_type
|
'user_type': user_type
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -8562,7 +8562,7 @@ class KefuGetDashouDetailView(APIView):
|
|||||||
try:
|
try:
|
||||||
# 使用 select_related 预加载 dashou_profile,减少数据库查询
|
# 使用 select_related 预加载 dashou_profile,减少数据库查询
|
||||||
user_main = User.query.select_related('DashouProfile').get(
|
user_main = User.query.select_related('DashouProfile').get(
|
||||||
yonghuid=uid
|
UserUID=uid
|
||||||
)
|
)
|
||||||
except User.DoesNotExist:
|
except User.DoesNotExist:
|
||||||
return Response({'code': 404, 'msg': '打手不存在'}, status=status.HTTP_404_NOT_FOUND)
|
return Response({'code': 404, 'msg': '打手不存在'}, status=status.HTTP_404_NOT_FOUND)
|
||||||
@@ -9042,13 +9042,13 @@ class KefuPunishmentListView(APIView):
|
|||||||
list_data = []
|
list_data = []
|
||||||
for item in records:
|
for item in records:
|
||||||
list_data.append({
|
list_data.append({
|
||||||
'dingdan_id': item.dingdan_id,
|
'dingdan_id': item.OrderID,
|
||||||
'dashouid': item.dashouid,
|
'dashouid': item.PlayerID,
|
||||||
'qingqiuid': item.qingqiuid,
|
'qingqiuid': item.ApplicantID,
|
||||||
'cfliyou': item.cfliyou,
|
'cfliyou': item.PenaltyReason,
|
||||||
'sqzhuangtai': item.sqzhuangtai,
|
'sqzhuangtai': item.ApplyStatus,
|
||||||
'create_time': item.create_time,
|
'create_time': item.CreateTime,
|
||||||
'update_time': item.update_time,
|
'update_time': item.UpdateTime,
|
||||||
# 其他字段按需添加
|
# 其他字段按需添加
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user