Files
ai_dianshang/server/internal/model/frontend.go
2025-11-17 14:11:46 +08:00

336 lines
15 KiB
Go

package model
// FrontendProduct 前端商品数据结构
type FrontendProduct struct {
SaasID string `json:"saasId"`
StoreID string `json:"storeId"`
SpuID string `json:"spuId"`
Title string `json:"title"`
PrimaryImage string `json:"primaryImage"`
Images []string `json:"images"`
Video *string `json:"video"`
Available int `json:"available"`
MinSalePrice string `json:"minSalePrice"`
MinLinePrice string `json:"minLinePrice"`
MaxSalePrice string `json:"maxSalePrice"`
MaxLinePrice string `json:"maxLinePrice"`
SpuStockQuantity int `json:"spuStockQuantity"`
SoldNum int `json:"soldNum"`
IsPutOnSale int `json:"isPutOnSale"`
CategoryIds []string `json:"categoryIds"`
SpecList []FrontendProductSpec `json:"specList"`
SkuList []FrontendProductSKU `json:"skuList"`
SpuTagList []FrontendProductTag `json:"spuTagList"`
LimitInfo []FrontendLimitInfo `json:"limitInfo,omitempty"`
Desc []string `json:"desc"`
Etitle string `json:"etitle"`
GroupIdList []string `json:"groupIdList,omitempty"`
IsAvailable *int `json:"isAvailable,omitempty"`
IsSoldOut *bool `json:"isSoldOut,omitempty"`
PromotionList interface{} `json:"promotionList"`
MinProfitPrice interface{} `json:"minProfitPrice"`
}
// FrontendProductSpec 前端商品规格
type FrontendProductSpec struct {
SpecID string `json:"specId"`
Title string `json:"title"`
SpecValueList []FrontendProductSpecValue `json:"specValueList"`
}
// FrontendProductSpecValue 前端商品规格值
type FrontendProductSpecValue struct {
SpecValueID string `json:"specValueId"`
SpecID string `json:"specId"`
SaasID string `json:"saasId"`
SpecValue string `json:"specValue"`
Image string `json:"image"`
}
// FrontendProductSKU 前端商品SKU
type FrontendProductSKU struct {
SkuID string `json:"skuId"`
SkuImage string `json:"skuImage"`
SpecInfo []FrontendSKUSpecInfo `json:"specInfo"`
PriceInfo []FrontendSKUPriceInfo `json:"priceInfo"`
StockInfo FrontendSKUStockInfo `json:"stockInfo"`
Weight *FrontendSKUWeight `json:"weight"`
Volume interface{} `json:"volume"`
ProfitPrice interface{} `json:"profitPrice"`
}
// FrontendSKUSpecInfo 前端SKU规格信息
type FrontendSKUSpecInfo struct {
SpecID string `json:"specId"`
SpecTitle string `json:"specTitle"`
SpecValueID string `json:"specValueId"`
SpecValue string `json:"specValue"`
}
// FrontendSKUPriceInfo 前端SKU价格信息
type FrontendSKUPriceInfo struct {
PriceType int `json:"priceType"`
Price string `json:"price"`
PriceTypeName string `json:"priceTypeName"`
}
// FrontendSKUStockInfo 前端SKU库存信息
type FrontendSKUStockInfo struct {
StockQuantity int `json:"stockQuantity"`
SafeStockQuantity int `json:"safeStockQuantity"`
SoldQuantity int `json:"soldQuantity"`
}
// FrontendSKUWeight 前端SKU重量信息
type FrontendSKUWeight struct {
Value interface{} `json:"value"`
Unit string `json:"unit"`
}
// FrontendProductTag 前端商品标签
type FrontendProductTag struct {
ID string `json:"id"`
Title string `json:"title"`
Image string `json:"image"`
}
// FrontendLimitInfo 前端限购信息
type FrontendLimitInfo struct {
Text string `json:"text"`
}
// FrontendCategory 前端分类数据结构
type FrontendCategory struct {
GroupID string `json:"groupId"`
Name string `json:"name"`
Thumbnail string `json:"thumbnail"`
Children []FrontendCategory `json:"children,omitempty"`
}
// FrontendUserCenter 前端用户中心数据结构
type FrontendUserCenter struct {
UserInfo FrontendUserInfo `json:"userInfo"`
CountsData []FrontendCountData `json:"countsData"`
OrderTagInfos []FrontendOrderTagInfo `json:"orderTagInfos"`
CustomerServiceInfo FrontendCustomerServiceInfo `json:"customerServiceInfo"`
}
// FrontendUserInfo 前端用户信息
type FrontendUserInfo struct {
AvatarURL string `json:"avatarUrl"`
NickName string `json:"nickName"`
PhoneNumber string `json:"phoneNumber"`
Gender int `json:"gender"`
}
// FrontendCountData 前端计数数据
type FrontendCountData struct {
Num int `json:"num"`
Name string `json:"name"`
Type string `json:"type"`
}
// FrontendOrderTagInfo 前端订单标签信息
type FrontendOrderTagInfo struct {
OrderNum int `json:"orderNum"`
TabType int `json:"tabType"`
}
// FrontendCustomerServiceInfo 前端客服信息
type FrontendCustomerServiceInfo struct {
ServicePhone string `json:"servicePhone"`
ServiceTimeDuration string `json:"serviceTimeDuration"`
}
// FrontendCartData 前端购物车数据结构
type FrontendCartData struct {
IsNotEmpty bool `json:"isNotEmpty"`
StoreGoods []FrontendStoreGoods `json:"storeGoods"`
IsAllSelected bool `json:"isAllSelected"`
SelectedGoodsCount int `json:"selectedGoodsCount"`
TotalAmount string `json:"totalAmount"`
TotalDiscountAmount string `json:"totalDiscountAmount"`
}
// FrontendStoreGoods 前端店铺商品
type FrontendStoreGoods struct {
StoreID string `json:"storeId"`
StoreName string `json:"storeName"`
StoreStatus int `json:"storeStatus"`
TotalDiscountSalePrice string `json:"totalDiscountSalePrice"`
PromotionGoodsList []FrontendPromotionGoods `json:"promotionGoodsList,omitempty"`
GoodsList []FrontendCartGoods `json:"goodsList,omitempty"`
}
// FrontendPromotionGoods 前端促销商品
type FrontendPromotionGoods struct {
Title string `json:"title"`
PromotionCode string `json:"promotionCode"`
PromotionSubCode string `json:"promotionSubCode"`
PromotionID string `json:"promotionId"`
TagText []string `json:"tagText"`
PromotionStatus int `json:"promotionStatus"`
Tag string `json:"tag"`
Description string `json:"description"`
DoorSillRemain interface{} `json:"doorSillRemain"`
IsNeedAddOnShop int `json:"isNeedAddOnShop"`
GoodsPromotionList []FrontendCartGoods `json:"goodsPromotionList"`
}
// FrontendCartGoods 前端购物车商品
type FrontendCartGoods struct {
UID string `json:"uid"`
SaasID string `json:"saasId"`
StoreID string `json:"storeId"`
SpuID string `json:"spuId"`
SkuID string `json:"skuId"`
IsSelected int `json:"isSelected"`
Thumb string `json:"thumb"`
Title string `json:"title"`
PrimaryImage string `json:"primaryImage"`
SpecInfo []FrontendSpecification `json:"specInfo"`
Quantity int `json:"quantity"`
StockStatus bool `json:"stockStatus"`
StockQuantity int `json:"stockQuantity"`
Price string `json:"price"`
OriginPrice string `json:"originPrice"`
JoinCartTime string `json:"joinCartTime"`
Available int `json:"available"`
PutOnSale int `json:"putOnSale"`
Etitle interface{} `json:"etitle"`
}
// FrontendOrderList 前端订单列表数据结构
type FrontendOrderList struct {
PageNum int `json:"pageNum"`
PageSize int `json:"pageSize"`
TotalCount int `json:"totalCount"`
Orders []FrontendOrder `json:"orders"`
}
// FrontendOrder 前端订单
type FrontendOrder struct {
SaasID string `json:"saasId"`
StoreID string `json:"storeId"`
StoreName string `json:"storeName"`
UID string `json:"uid"`
ParentOrderNo string `json:"parentOrderNo"`
OrderID string `json:"orderId"`
OrderNo string `json:"orderNo"`
OrderType int `json:"orderType"`
OrderSubType int `json:"orderSubType"`
OrderStatus int `json:"orderStatus"`
OrderSubStatus interface{} `json:"orderSubStatus"`
TotalAmount string `json:"totalAmount"`
GoodsAmount string `json:"goodsAmount"`
GoodsAmountApp string `json:"goodsAmountApp"`
PaymentAmount string `json:"paymentAmount"`
FreightFee string `json:"freightFee"`
PackageFee string `json:"packageFee"`
DiscountAmount string `json:"discountAmount"`
ChannelType int `json:"channelType"`
ChannelSource string `json:"channelSource"`
ChannelIdentity string `json:"channelIdentity"`
Remark string `json:"remark"`
CancelType interface{} `json:"cancelType"`
CancelReasonType interface{} `json:"cancelReasonType"`
CancelReason interface{} `json:"cancelReason"`
RightsType interface{} `json:"rightsType"`
CreateTime string `json:"createTime"`
OrderItemVOs []FrontendOrderItem `json:"orderItemVOs"`
LogisticsVO FrontendLogistics `json:"logisticsVO"`
PaymentVO FrontendPayment `json:"paymentVO"`
}
// FrontendOrderItem 前端订单项
type FrontendOrderItem struct {
ID string `json:"id"`
OrderNo interface{} `json:"orderNo"`
SpuID string `json:"spuId"`
SkuID string `json:"skuId"`
RoomID interface{} `json:"roomId"`
GoodsMainType int `json:"goodsMainType"`
GoodsViceType int `json:"goodsViceType"`
GoodsName string `json:"goodsName"`
Specifications []FrontendSpecification `json:"specifications"`
GoodsPictureURL string `json:"goodsPictureUrl"`
OriginPrice string `json:"originPrice"`
ActualPrice string `json:"actualPrice"`
BuyQuantity int `json:"buyQuantity"`
ItemTotalAmount string `json:"itemTotalAmount"`
ItemDiscountAmount string `json:"itemDiscountAmount"`
ItemPaymentAmount string `json:"itemPaymentAmount"`
GoodsPaymentPrice string `json:"goodsPaymentPrice"`
TagPrice interface{} `json:"tagPrice"`
TagText interface{} `json:"tagText"`
OutCode interface{} `json:"outCode"`
LabelVOs interface{} `json:"labelVOs"`
ButtonVOs interface{} `json:"buttonVOs"`
}
// FrontendSpecification 前端规格
type FrontendSpecification struct {
SpecTitle string `json:"specTitle"`
SpecValue string `json:"specValue"`
}
// FrontendLogistics 前端物流信息
type FrontendLogistics struct {
LogisticsType int `json:"logisticsType"`
LogisticsNo string `json:"logisticsNo"`
LogisticsStatus interface{} `json:"logisticsStatus"`
LogisticsCompanyCode string `json:"logisticsCompanyCode"`
LogisticsCompanyName string `json:"logisticsCompanyName"`
ReceiverAddressID string `json:"receiverAddressId"`
ProvinceCode string `json:"provinceCode"`
CityCode string `json:"cityCode"`
CountryCode string `json:"countryCode"`
ReceiverProvince string `json:"receiverProvince"`
ReceiverCity string `json:"receiverCity"`
ReceiverCountry string `json:"receiverCountry"`
ReceiverArea string `json:"receiverArea"`
ReceiverAddress string `json:"receiverAddress"`
ReceiverPostCode string `json:"receiverPostCode"`
ReceiverLongitude string `json:"receiverLongitude"`
ReceiverLatitude string `json:"receiverLatitude"`
ReceiverIdentity string `json:"receiverIdentity"`
ReceiverPhone string `json:"receiverPhone"`
ReceiverName string `json:"receiverName"`
ExpectArrivalTime interface{} `json:"expectArrivalTime"`
SenderName string `json:"senderName"`
SenderPhone string `json:"senderPhone"`
SenderAddress string `json:"senderAddress"`
SendTime interface{} `json:"sendTime"`
ArrivalTime interface{} `json:"arrivalTime"`
}
// FrontendPayment 前端支付信息
type FrontendPayment struct {
PayStatus int `json:"payStatus"`
Amount string `json:"amount"`
}
// FrontendAddress 前端地址数据结构
type FrontendAddress struct {
SaasID string `json:"saasId"`
UID string `json:"uid"`
AuthToken interface{} `json:"authToken"`
ID string `json:"id"`
AddressID string `json:"addressId"`
Phone string `json:"phone"`
Name string `json:"name"`
CountryName string `json:"countryName"`
CountryCode string `json:"countryCode"`
ProvinceName string `json:"provinceName"`
ProvinceCode string `json:"provinceCode"`
CityName string `json:"cityName"`
CityCode string `json:"cityCode"`
DistrictName string `json:"districtName"`
DistrictCode string `json:"districtCode"`
DetailAddress string `json:"detailAddress"`
IsDefault int `json:"isDefault"`
AddressTag string `json:"addressTag"`
Latitude string `json:"latitude"`
Longitude string `json:"longitude"`
StoreID interface{} `json:"storeId"`
}