Files
sixGuoDjango/wechat_接口/商品订单模拟接口/商品数据接口.py
T

106 lines
6.1 KiB
Python
Raw Normal View History

2026-08-02 14:07:04 +08:00
from django.forms import model_to_dict
from rest_framework import status
from rest_framework.decorators import action
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.routers import DefaultRouter
from rest_framework.viewsets import ViewSet
from ulid import ULID
from sixGuoDjango import BaseResponse, ResData
from wechat_数据库.洗衣液商品数据库.六果洗衣液商品 import Goods, goods商品, goods商品Choices
class 商品接口ViewSets(ViewSet):
@action(detail=False, methods=["post"], url_path="filter_query_goods")
def 根据条件查询商品接口(self, request: Request):
""""""
# 2. 创建一个新的、按键排序后的字典
goodsDataList = goods商品.objects.filter(goods商品类型=goods商品Choices.商城商品.value).values(
"id_主键_goods商品", "goods商品数据", "id_str")
print("商城查询所有的商品数据", goodsDataList)
httpResData = BaseResponse(resData=ResData(listData=goodsDataList, dictData={}), ).model_dump()
return Response(data=httpResData, status=status.HTTP_200_OK)
2026-08-06 20:39:45 +08:00
@action(detail=False, methods=["post", ], url_path="赢免单商品")
def 赢免单商品(self, request: Request):
2026-08-02 14:07:04 +08:00
pass
赢免单商品数据 = Goods.objects.filter(goods_商品销售场景=goods商品Choices.赢免单.value).first()
data = model_to_dict(instance=赢免单商品数据, fields=None, exclude=None)
2026-08-06 20:39:45 +08:00
print("赢免单,商品查询没有结果了吗", data)
2026-08-02 14:07:04 +08:00
return Response(data=data)
@action(detail=False, methods=["post"], url_path="query")
def 返回商城所有的销售商品信息数据(self, request: Request):
"""返回所有的商品信息数据"""
data = Goods.objects.filter(goods_商品销售场景=goods商品Choices.商城商品.value).values()
httpResData = BaseResponse(resData=ResData(listData=data, dictData={}), ).model_dump()
return Response(data=httpResData, status=status.HTTP_200_OK)
@action(detail=False, methods=["post"], url_path="current_goods")
def 分享商品查询接口(self, request: Request):
""""""
self_mini_openid = request.data.get("self_mini_openid", None)
self_mini_unionid = request.data.get("self_mini_unionid", None)
goodID = request.data.get("goodID", None)
goodsDdata = goods商品.objects.get(id_主键_goods商品=goodID)
data = model_to_dict(instance=goodsDdata, fields=None)
httpResData = BaseResponse(resData=ResData(listData=[""], dictData=data), ).model_dump()
return Response(data=httpResData, status=status.HTTP_200_OK)
@action(detail=False, methods=["post"], url_path="add_goods")
def 添加商品接口(self, request: Request):
""""""
Goods.objects.update_or_create(
goods_商品品牌="六果泡泡",
goods_商品信息={
"品牌": "六果泡泡",
"净重": "20斤装/桶",
"香型": "熏衣草",
"洁净": "源自天然酵素迅速渗入衣物,去除99种污渍🫟",
"除菌": "99%除菌🦠,污渍菌螨,一洗即净,守护健康",
},
goods_商品标题="六果泡泡 (超划算) 源自天然酵素迅速渗入衣物,99%除菌🦠一洗即净,守护健康",
goods_商品标签=["99%除菌🦠", "99种污渍🫟", ],
# goods_商品销售场景=goods商品Choices.商城商品.value,
goods_商品销售场景=goods商品Choices.赢免单.value,
goods_商品搜索标签=["20"],
2026-08-06 20:39:45 +08:00
goods_商品销售规格={
"goods_商品标题": "六果泡泡 (超划算) 源自天然酵素迅速渗入衣物,99%除菌🦠一洗即净,守护健康",
"零售价格": 8000, "会员价": 7000, "销售规格": "20斤装/桶",
"单个商品订单数量": 1, "单个商品订单总金额": 14200, "商品条码": "", "单个商品实际支付价格": 7000,
"成本价": 12000, "净利润": 12200, "可选参数": ["苹果香", "熏衣草"], "商品ID": f"GOOD{ULID()}",
"推荐积分": {"企微员工": 1000, "推广员": 5000},
"goods_商品详情图片": {
"主图": ["https://hudie.xiao.band/icon/six.png"],
"详情图": ["https://hudie.xiao.band/icon/six.png", "https://hudie.xiao.band/icon/six.png"],
},
"goods_sku": {
"goods_select_title": "开启衣物芬芳之旅",
"goods_sku_list": [
2026-08-02 14:07:04 +08:00
{
"goods_sku_id": f"{ULID()}",
2026-08-06 20:39:45 +08:00
"goods_sku_条形码": f"",
"goods_sku_name": "苹果香型", "goods_是否默认选择": True,
"goods_sku_主图": ["https://hudie.xiao.band/icon/six.png"],
"goods_sku_详情图": ["https://hudie.xiao.band/icon/six.png", "https://hudie.xiao.band/icon/six.png"],
},
{
"goods_sku_id": f"{ULID()}",
"goods_sku_条形码": f"",
"goods_sku_name": "桔子香型", "goods_是否默认选择": False,
"goods_sku_主图": ["https://hudie.sixgou.com/%E5%85%AD%E6%9E%9C%E6%B3%A1%E6%B3%A1%E4%BA%A7%E5%93%81%E5%9B%BE.png"],
"goods_sku_详情图": ["https://hudie.xiao.band/icon/six.png", "https://hudie.xiao.band/icon/six.png"],
2026-08-02 14:07:04 +08:00
},
],
},
2026-08-06 20:39:45 +08:00
},
2026-08-02 14:07:04 +08:00
goods_商家推荐标签=["厂家直销", "独家配方", "自产自销", "量大实惠", "品质保证"],
)
httpResData = BaseResponse(resData=ResData(listData=[""], dictData={"demo": "xiaozizi"}), ).model_dump()
return Response(data=httpResData, status=status.HTTP_200_OK)
商品接口ViewSetsRouter = DefaultRouter()
2026-08-06 20:39:45 +08:00
商品接口ViewSetsRouter.register(prefix="", viewset=商品接口ViewSets, basename="商品接口ViewSets")