This commit is contained in:
laodaming 2023-10-19 15:33:28 +08:00
parent ee37c10399
commit 6c7ef6e92e
4 changed files with 274 additions and 250 deletions

View File

@ -4,27 +4,29 @@ import (
"gorm.io/gorm" "gorm.io/gorm"
) )
// fs_product_template_v2 产品-模型-模板表 // fs_product_template_v2 产品-模型- 模板表
type FsProductTemplateV2 struct { type FsProductTemplateV2 struct {
Id int64 `gorm:"primary_key;default:0;auto_increment;" json:"id"` // Id int64 `gorm:"primary_key;default:0;auto_increment;" json:"id"` //
ProductId *int64 `gorm:"index;default:0;" json:"product_id"` // 产品ID ProductId *int64 `gorm:"index;default:0;" json:"product_id"` // 产品ID
ModelId *int64 `gorm:"default:0;" json:"model_id"` // 模型ID ModelId *int64 `gorm:"default:0;" json:"model_id"` // 模型ID
Title *string `gorm:"default:'';" json:"title"` // 模板sku,预留字段 Title *string `gorm:"default:'';" json:"title"` // 模板sku,预留字段
Name *string `gorm:"default:'';" json:"name"` // 名称 Name *string `gorm:"default:'';" json:"name"` // 名称
CoverImg *string `gorm:"default:'';" json:"cover_img"` // 模板背景图 CoverImg *string `gorm:"default:'';" json:"cover_img"` // 模板背景图
TemplateInfo *string `gorm:"default:'';" json:"template_info"` // 模板详情 TemplateInfo *string `gorm:"default:'';" json:"template_info"` // 模板详情
MaterialImg *string `gorm:"default:'';" json:"material_img"` // 合成好的贴图 MaterialImg *string `gorm:"default:'';" json:"material_img"` // 合成好的贴图
Sort *int64 `gorm:"default:0;" json:"sort"` // 排序 Sort *int64 `gorm:"default:0;" json:"sort"` // 排序
LogoWidth *int64 `gorm:"default:0;" json:"logo_width"` // logo图最大宽度 LogoWidth *int64 `gorm:"default:0;" json:"logo_width"` // logo图最大宽度
LogoHeight *int64 `gorm:"default:0;" json:"logo_height"` // logo图最大高度 LogoHeight *int64 `gorm:"default:0;" json:"logo_height"` // logo图最大高度
IsPublic *int64 `gorm:"default:0;" json:"is_public"` // 是否可公用1:可以0不可以 IsPublic *int64 `gorm:"default:0;" json:"is_public"` // 是否可公用1:可以0不可以,仅供模型关联)
Status *int64 `gorm:"default:0;" json:"status"` // 状态1正常 2异常 IsPublicTemplate *int64 `gorm:"default:0;" json:"is_public_template"` // 是否是公共模板0非1是(仅针对模板之间)
Ctime *int64 `gorm:"default:0;" json:"ctime"` // 添加时间 RelativePublicTemplateLevelPrefix *string `gorm:"default:'';" json:"relative_public_template_level_prefix"` //
TemplateTag *string `gorm:"default:'';" json:"template_tag"` // Status *int64 `gorm:"default:0;" json:"status"` // 状态1正常 2异常
IsDel *int64 `gorm:"default:0;" json:"is_del"` // 是否删除 1删除 TemplateTag *string `gorm:"default:'';" json:"template_tag"` //
SwitchInfo *string `gorm:"default:'';" json:"switch_info"` // 开关信息 IsDel *int64 `gorm:"default:0;" json:"is_del"` // 是否删除 1删除
Version *int64 `gorm:"default:0;" json:"version"` // 默认1 SwitchInfo *string `gorm:"default:'';" json:"switch_info"` // 开关信息
ElementModelId *int64 `gorm:"default:0;" json:"element_model_id"` // 云渲染对应模型id Version *int64 `gorm:"default:0;" json:"version"` // 默认1
ElementModelId *int64 `gorm:"default:0;" json:"element_model_id"` // 云渲染对应模型id
Ctime *int64 `gorm:"default:0;" json:"ctime"` // 添加时间
} }
type FsProductTemplateV2Model struct { type FsProductTemplateV2Model struct {
db *gorm.DB db *gorm.DB

View File

@ -35,16 +35,17 @@ type FsShoppingCartData struct {
// 购物车快照数据结构 // 购物车快照数据结构
type CartSnapshot struct { type CartSnapshot struct {
Logo string `json:"logo"` //logo地址 Logo string `json:"logo"` //logo地址
CombineImage string `json:"combine_image"` //刀版图地址 LogoMaterialMetadata interface{} `json:"logo_material_metadata"` //logo素材信息
RenderImage string `json:"render_image"` //渲染结果图 CombineImage string `json:"combine_image"` //刀版图地址
TemplateInfo TemplateInfo `json:"template_info"` //模板数据 RenderImage string `json:"render_image"` //渲染结果图
ModelInfo ModelInfo `json:"model_info"` //模型的数据 TemplateInfo TemplateInfo `json:"template_info"` //模板数据
FittingInfo FittingInfo `json:"fitting_info"` //配件信息 ModelInfo ModelInfo `json:"model_info"` //模型的数据
SizeInfo SizeInfo `json:"size_info"` //尺寸基本信息 FittingInfo FittingInfo `json:"fitting_info"` //配件信息
ProductInfo ProductInfo `json:"product_info"` //产品基本信息(只记录不要使用) SizeInfo SizeInfo `json:"size_info"` //尺寸基本信息
UserDiyInformation UserDiyInformation `json:"user_diy_information"` //用户diy数据 ProductInfo ProductInfo `json:"product_info"` //产品基本信息(只记录不要使用)
LightInfo LightInfo `json:"light_info"` //灯光数据 UserDiyInformation UserDiyInformation `json:"user_diy_information"` //用户diy数据
LightInfo LightInfo `json:"light_info"` //灯光数据
} }
type ProductInfo struct { type ProductInfo struct {
ProductName string `json:"product_name"` ProductName string `json:"product_name"`

View File

@ -4,227 +4,229 @@ import "gorm.io/gorm"
// AllModelsGen 所有Model集合,修改单行,只要不改字段名,不会根据新的内容修改,需要修改的话手动删除 // AllModelsGen 所有Model集合,修改单行,只要不改字段名,不会根据新的内容修改,需要修改的话手动删除
type AllModelsGen struct { type AllModelsGen struct {
CasbinRule *CasbinRuleModel // casbin_rule 后台--权限规则表 CasbinRule *CasbinRuleModel // casbin_rule 后台--权限规则表
FsAddress *FsAddressModel // fs_address 用户地址表 FsAddress *FsAddressModel // fs_address 用户地址表
FsAdminApi *FsAdminApiModel // fs_admin_api 后台--接口表 FsAdminApi *FsAdminApiModel // fs_admin_api 后台--接口表
FsAdminDepartment *FsAdminDepartmentModel // fs_admin_department 后台--部门表 FsAdminDepartment *FsAdminDepartmentModel // fs_admin_department 后台--部门表
FsAdminMenu *FsAdminMenuModel // fs_admin_menu 后台--菜单表 FsAdminMenu *FsAdminMenuModel // fs_admin_menu 后台--菜单表
FsAdminRole *FsAdminRoleModel // fs_admin_role 后台--角色表 FsAdminRole *FsAdminRoleModel // fs_admin_role 后台--角色表
FsAdminRoleApi *FsAdminRoleApiModel // fs_admin_role_api 后台--角色接口表 FsAdminRoleApi *FsAdminRoleApiModel // fs_admin_role_api 后台--角色接口表
FsAdminUser *FsAdminUserModel // fs_admin_user 后台--管理员表 FsAdminUser *FsAdminUserModel // fs_admin_user 后台--管理员表
FsAuthAssignment *FsAuthAssignmentModel // fs_auth_assignment 用户角色和权限信息 FsAuthAssignment *FsAuthAssignmentModel // fs_auth_assignment 用户角色和权限信息
FsAuthItem *FsAuthItemModel // fs_auth_item 用户角色和权限信息 FsAuthItem *FsAuthItemModel // fs_auth_item 用户角色和权限信息
FsAuthItemChild *FsAuthItemChildModel // fs_auth_item_child 角色和权限关系表 FsAuthItemChild *FsAuthItemChildModel // fs_auth_item_child 角色和权限关系表
FsAuthRule *FsAuthRuleModel // fs_auth_rule 规则表 FsAuthRule *FsAuthRuleModel // fs_auth_rule 规则表
FsBackendUser *FsBackendUserModel // fs_backend_user 管理员表 FsBackendUser *FsBackendUserModel // fs_backend_user 管理员表
FsCanteenProduct *FsCanteenProductModel // fs_canteen_product 餐厅类别产品对应表 FsCanteenProduct *FsCanteenProductModel // fs_canteen_product 餐厅类别产品对应表
FsCanteenType *FsCanteenTypeModel // fs_canteen_type 餐厅类型表 FsCanteenType *FsCanteenTypeModel // fs_canteen_type 餐厅类型表
FsCard *FsCardModel // fs_card 卡号表 FsCard *FsCardModel // fs_card 卡号表
FsCardGroup *FsCardGroupModel // fs_card_group 卡号分组表 FsCardGroup *FsCardGroupModel // fs_card_group 卡号分组表
FsCart *FsCartModel // fs_cart 购物车 FsCart *FsCartModel // fs_cart 购物车
FsChangeCode *FsChangeCodeModel // fs_change_code 忘记密码code表 FsChangeCode *FsChangeCodeModel // fs_change_code 忘记密码code表
FsCloudDeliverEveryTmpOld *FsCloudDeliverEveryTmpOldModel // fs_cloud_deliver_every_tmp_old FsCloudDeliverEveryTmpOld *FsCloudDeliverEveryTmpOldModel // fs_cloud_deliver_every_tmp_old
FsCloudDeliverTmpOld *FsCloudDeliverTmpOldModel // fs_cloud_deliver_tmp_old FsCloudDeliverTmpOld *FsCloudDeliverTmpOldModel // fs_cloud_deliver_tmp_old
FsCloudOld *FsCloudOldModel // fs_cloud_old 云仓表 FsCloudOld *FsCloudOldModel // fs_cloud_old 云仓表
FsCloudPickUpDetailOld *FsCloudPickUpDetailOldModel // fs_cloud_pick_up_detail_old 云仓提货单-详情 FsCloudPickUpDetailOld *FsCloudPickUpDetailOldModel // fs_cloud_pick_up_detail_old 云仓提货单-详情
FsCloudPickUpOld *FsCloudPickUpOldModel // fs_cloud_pick_up_old 云仓提货单 FsCloudPickUpOld *FsCloudPickUpOldModel // fs_cloud_pick_up_old 云仓提货单
FsCloudReceiveEveryOld *FsCloudReceiveEveryOldModel // fs_cloud_receive_every_old FsCloudReceiveEveryOld *FsCloudReceiveEveryOldModel // fs_cloud_receive_every_old
FsCloudReceiveOld *FsCloudReceiveOldModel // fs_cloud_receive_old 云仓接收工厂总单 FsCloudReceiveOld *FsCloudReceiveOldModel // fs_cloud_receive_old 云仓接收工厂总单
FsCloudRenderLogOld *FsCloudRenderLogOldModel // fs_cloud_render_log_old 云渲染日志表 FsCloudRenderLogOld *FsCloudRenderLogOldModel // fs_cloud_render_log_old 云渲染日志表
FsCloudStorage *FsCloudStorageModel // fs_cloud_storage 仓库的基本信息, 只做映射 FsCloudStorage *FsCloudStorageModel // fs_cloud_storage 仓库的基本信息, 只做映射
FsCloudStorageStock *FsCloudStorageStockModel // fs_cloud_storage_stock FsCloudStorageStock *FsCloudStorageStockModel // fs_cloud_storage_stock
FsCloudUserApplyBackOld *FsCloudUserApplyBackOldModel // fs_cloud_user_apply_back_old 该表废弃 FsCloudUserApplyBackOld *FsCloudUserApplyBackOldModel // fs_cloud_user_apply_back_old 该表废弃
FsContact *FsContactModel // fs_contact 该表暂未使用 FsContact *FsContactModel // fs_contact 该表暂未使用
FsContactService *FsContactServiceModel // fs_contact_service FsContactService *FsContactServiceModel // fs_contact_service
FsCoupon *FsCouponModel // fs_coupon 代金券(暂未使用) FsCoupon *FsCouponModel // fs_coupon 代金券(暂未使用)
FsDeliver *FsDeliverModel // fs_deliver 发货表 云仓 直发 通用(已废弃) FsDeliver *FsDeliverModel // fs_deliver 发货表 云仓 直发 通用(已废弃)
FsDeliverEvery *FsDeliverEveryModel // fs_deliver_every 发货详细表(已废弃) FsDeliverEvery *FsDeliverEveryModel // fs_deliver_every 发货详细表(已废弃)
FsDepartment *FsDepartmentModel // fs_department 部门表 FsDepartment *FsDepartmentModel // fs_department 部门表
FsEmailLogs *FsEmailLogsModel // fs_email_logs 邮件日志表 FsEmailLogs *FsEmailLogsModel // fs_email_logs 邮件日志表
FsEmailTemplate *FsEmailTemplateModel // fs_email_template 邮件模板表(暂未使用) FsEmailTemplate *FsEmailTemplateModel // fs_email_template 邮件模板表(暂未使用)
FsFactory *FsFactoryModel // fs_factory 该表废弃 FsFactory *FsFactoryModel // fs_factory 该表废弃
FsFactoryDeliver *FsFactoryDeliverModel // fs_factory_deliver 工厂发货主表(废弃) FsFactoryDeliver *FsFactoryDeliverModel // fs_factory_deliver 工厂发货主表(废弃)
FsFactoryDeliverEvery *FsFactoryDeliverEveryModel // fs_factory_deliver_every 该表废弃 FsFactoryDeliverEvery *FsFactoryDeliverEveryModel // fs_factory_deliver_every 该表废弃
FsFactoryProduct *FsFactoryProductModel // fs_factory_product 工厂生产表(废弃) FsFactoryProduct *FsFactoryProductModel // fs_factory_product 工厂生产表(废弃)
FsFactoryShipTmp *FsFactoryShipTmpModel // fs_factory_ship_tmp FsFactoryShipTmp *FsFactoryShipTmpModel // fs_factory_ship_tmp
FsFaq *FsFaqModel // fs_faq 常见问题 FsFaq *FsFaqModel // fs_faq 常见问题
FsFont *FsFontModel // fs_font 字体配置 FsFont *FsFontModel // fs_font 字体配置
FsGerent *FsGerentModel // fs_gerent 管理员表 FsGerent *FsGerentModel // fs_gerent 管理员表
FsGuest *FsGuestModel // fs_guest 游客表 FsGuest *FsGuestModel // fs_guest 游客表
FsLog *FsLogModel // fs_log 日志表 FsLog *FsLogModel // fs_log 日志表
FsLogoCartoon *FsLogoCartoonModel // fs_logo_cartoon logo底图表 FsLogoCartoon *FsLogoCartoonModel // fs_logo_cartoon logo底图表
FsMapLibrary *FsMapLibraryModel // fs_map_library 贴图库 FsLogoPreprocess *FsLogoPreprocessModel // fs_logo_preprocess
FsMenu *FsMenuModel // fs_menu 后台菜单 FsMapLibrary *FsMapLibraryModel // fs_map_library 贴图库
FsMerchantCategory *FsMerchantCategoryModel // fs_merchant_category 商户类型表 FsMenu *FsMenuModel // fs_menu 后台菜单
FsMigration *FsMigrationModel // fs_migration 版本库 FsMerchantCategory *FsMerchantCategoryModel // fs_merchant_category 商户类型表
FsOrder *FsOrderModel // fs_order 订单表 FsMigration *FsMigrationModel // fs_migration 版本库
FsOrderAffiliateOld *FsOrderAffiliateOldModel // fs_order_affiliate_old 订单附属表-流程控制时间等 FsOrder *FsOrderModel // fs_order 订单表
FsOrderDetailOld *FsOrderDetailOldModel // fs_order_detail_old 订单详细表 FsOrderAffiliateOld *FsOrderAffiliateOldModel // fs_order_affiliate_old 订单附属表-流程控制时间等
FsOrderDetailTemplateOld *FsOrderDetailTemplateOldModel // fs_order_detail_template_old 订单模板详细表 FsOrderDetailOld *FsOrderDetailOldModel // fs_order_detail_old 订单详细表
FsOrderOld *FsOrderOldModel // fs_order_old FsOrderDetailTemplateOld *FsOrderDetailTemplateOldModel // fs_order_detail_template_old 订单模板详细表
FsOrderRemarkOld *FsOrderRemarkOldModel // fs_order_remark_old 订单备注表 FsOrderOld *FsOrderOldModel // fs_order_old
FsOrderTrade *FsOrderTradeModel // fs_order_trade 订单交易表 FsOrderRemarkOld *FsOrderRemarkOldModel // fs_order_remark_old 订单备注表
FsOrderTradeEvent *FsOrderTradeEventModel // fs_order_trade_event 订单交易事件表 FsOrderTrade *FsOrderTradeModel // fs_order_trade 订单交易表
FsPay *FsPayModel // fs_pay 支付记录 FsOrderTradeEvent *FsOrderTradeEventModel // fs_order_trade_event 订单交易事件表
FsPayEvent *FsPayEventModel // fs_pay_event 支付回调事件日志 FsPay *FsPayModel // fs_pay 支付记录
FsProduct *FsProductModel // fs_product 产品表 FsPayEvent *FsPayEventModel // fs_pay_event 支付回调事件日志
FsProductCollection *FsProductCollectionModel // fs_product_collection 产品收藏表 FsProduct *FsProductModel // fs_product 产品表
FsProductCopy1 *FsProductCopy1Model // fs_product_copy1 产品表 FsProductCollection *FsProductCollectionModel // fs_product_collection 产品收藏表
FsProductDesign *FsProductDesignModel // fs_product_design 产品设计表 FsProductCopy1 *FsProductCopy1Model // fs_product_copy1 产品表
FsProductDesignGather *FsProductDesignGatherModel // fs_product_design_gather FsProductDesign *FsProductDesignModel // fs_product_design 产品设计表
FsProductModel3d *FsProductModel3dModel // fs_product_model3d 产品模型表 FsProductDesignGather *FsProductDesignGatherModel // fs_product_design_gather
FsProductModel3dLight *FsProductModel3dLightModel // fs_product_model3d_light 模型-灯光组表 FsProductHistoryTemplate *FsProductHistoryTemplateModel // fs_product_history_template 模板历史表
FsProductOption *FsProductOptionModel // fs_product_option 产品选项表(已废弃) FsProductModel3d *FsProductModel3dModel // fs_product_model3d 产品模型表
FsProductPrice *FsProductPriceModel // fs_product_price 阶梯价格表 FsProductModel3dLight *FsProductModel3dLightModel // fs_product_model3d_light 模型-灯光组表
FsProductRenderDesign *FsProductRenderDesignModel // fs_product_render_design FsProductOption *FsProductOptionModel // fs_product_option 产品选项表(已废弃)
FsProductScene *FsProductSceneModel // fs_product_scene 产品场景表 FsProductPrice *FsProductPriceModel // fs_product_price 阶梯价格表
FsProductSize *FsProductSizeModel // fs_product_size 产品尺寸表 FsProductRenderDesign *FsProductRenderDesignModel // fs_product_render_design
FsProductTagProp *FsProductTagPropModel // fs_product_tag_prop 产品标签相关属性表 FsProductScene *FsProductSceneModel // fs_product_scene 产品场景表
FsProductTemplate *FsProductTemplateModel // fs_product_template 产品模板表(已废弃) FsProductSize *FsProductSizeModel // fs_product_size 产品尺寸表
FsProductTemplateBasemap *FsProductTemplateBasemapModel // fs_product_template_basemap 模板底图表 FsProductTagProp *FsProductTagPropModel // fs_product_tag_prop 产品标签相关属性表
FsProductTemplateElement *FsProductTemplateElementModel // fs_product_template_element 云渲染配置表 FsProductTemplate *FsProductTemplateModel // fs_product_template 产品模板表(已废弃)
FsProductTemplateElement22 *FsProductTemplateElement22Model // fs_product_template_element_22 FsProductTemplateBasemap *FsProductTemplateBasemapModel // fs_product_template_basemap 模板底图表
FsProductTemplateTags *FsProductTemplateTagsModel // fs_product_template_tags 模板标签表 FsProductTemplateElement *FsProductTemplateElementModel // fs_product_template_element 云渲染配置表
FsProductTemplateV2 *FsProductTemplateV2Model // fs_product_template_v2 产品-模型-模板表 FsProductTemplateTags *FsProductTemplateTagsModel // fs_product_template_tags 模板标签表
FsProductV2Tmp *FsProductV2TmpModel // fs_product_v2_tmp 产品表 FsProductTemplateV2 *FsProductTemplateV2Model // fs_product_template_v2 产品-模型-模板表
FsQrcode *FsQrcodeModel // fs_qrcode FsProductV2Tmp *FsProductV2TmpModel // fs_product_v2_tmp 产品表
FsQrcodeLog *FsQrcodeLogModel // fs_qrcode_log 二维码扫描日志 FsQrcode *FsQrcodeModel // fs_qrcode
FsQrcodeSet *FsQrcodeSetModel // fs_qrcode_set 二维码边框配置表 FsQrcodeLog *FsQrcodeLogModel // fs_qrcode_log 二维码扫描日志
FsQrcodeUser *FsQrcodeUserModel // fs_qrcode_user 二维码-用户名表 FsQrcodeSet *FsQrcodeSetModel // fs_qrcode_set 二维码边框配置表
FsQuotation *FsQuotationModel // fs_quotation 报价单信息表 FsQrcodeUser *FsQrcodeUserModel // fs_qrcode_user 二维码-用户名表
FsQuotationPrice *FsQuotationPriceModel // fs_quotation_price 报价单价格表 FsQuotation *FsQuotationModel // fs_quotation 报价单信息表
FsQuotationProduct *FsQuotationProductModel // fs_quotation_product 报价单产品表 FsQuotationPrice *FsQuotationPriceModel // fs_quotation_price 报价单价格表
FsQuotationRemarkTemplate *FsQuotationRemarkTemplateModel // fs_quotation_remark_template 报价单备注模板 FsQuotationProduct *FsQuotationProductModel // fs_quotation_product 报价单产品表
FsQuotationSaler *FsQuotationSalerModel // fs_quotation_saler 报价单业务员表 FsQuotationRemarkTemplate *FsQuotationRemarkTemplateModel // fs_quotation_remark_template 报价单备注模板
FsQuotationSizeLayout *FsQuotationSizeLayoutModel // fs_quotation_size_layout 产品尺寸排版表 FsQuotationSaler *FsQuotationSalerModel // fs_quotation_saler 报价单业务员表
FsRefundReason *FsRefundReasonModel // fs_refund_reason FsQuotationSizeLayout *FsQuotationSizeLayoutModel // fs_quotation_size_layout 产品尺寸排版表
FsResource *FsResourceModel // fs_resource 资源表 FsRefundReason *FsRefundReasonModel // fs_refund_reason
FsShoppingCart *FsShoppingCartModel // fs_shopping_cart 新版购物车表 FsResource *FsResourceModel // fs_resource 资源表
FsStandardLogo *FsStandardLogoModel // fs_standard_logo 标准logo FsShoppingCart *FsShoppingCartModel // fs_shopping_cart 新版购物车表
FsTags *FsTagsModel // fs_tags 产品分类表 FsStandardLogo *FsStandardLogoModel // fs_standard_logo 标准logo
FsToolLogs *FsToolLogsModel // fs_tool_logs 3d设计工具日志表 FsTags *FsTagsModel // fs_tags 产品分类表
FsToolTemplate *FsToolTemplateModel // fs_tool_template 设计工具模板(废弃) FsToolLogs *FsToolLogsModel // fs_tool_logs 3d设计工具日志表
FsToolUser *FsToolUserModel // fs_tool_user 3d设计工具用户表 FsToolTemplate *FsToolTemplateModel // fs_tool_template 设计工具模板(废弃)
FsTrade *FsTradeModel // fs_trade FsToolUser *FsToolUserModel // fs_tool_user 3d设计工具用户表
FsUser *FsUserModel // fs_user 用户表 FsTrade *FsTradeModel // fs_trade
FsUserDesign *FsUserDesignModel // fs_user_design 废弃表 FsUser *FsUserModel // fs_user 用户表
FsUserInfo *FsUserInfoModel // fs_user_info 用户信息表 FsUserDesign *FsUserDesignModel // fs_user_design 废弃表
FsUserMaterial *FsUserMaterialModel // fs_user_material 用户素材表 FsUserInfo *FsUserInfoModel // fs_user_info 用户信息表
FsUserStock *FsUserStockModel // fs_user_stock 用户云仓库存 FsUserMaterial *FsUserMaterialModel // fs_user_material 用户素材表
FsWebSet *FsWebSetModel // fs_web_set 网站配置表 FsUserStock *FsUserStockModel // fs_user_stock 用户云仓库存
FsWebSet *FsWebSetModel // fs_web_set 网站配置表
} }
func NewAllModels(gdb *gorm.DB) *AllModelsGen { func NewAllModels(gdb *gorm.DB) *AllModelsGen {
models := &AllModelsGen{ models := &AllModelsGen{
CasbinRule: NewCasbinRuleModel(gdb), CasbinRule: NewCasbinRuleModel(gdb),
FsAddress: NewFsAddressModel(gdb), FsAddress: NewFsAddressModel(gdb),
FsAdminApi: NewFsAdminApiModel(gdb), FsAdminApi: NewFsAdminApiModel(gdb),
FsAdminDepartment: NewFsAdminDepartmentModel(gdb), FsAdminDepartment: NewFsAdminDepartmentModel(gdb),
FsAdminMenu: NewFsAdminMenuModel(gdb), FsAdminMenu: NewFsAdminMenuModel(gdb),
FsAdminRole: NewFsAdminRoleModel(gdb), FsAdminRole: NewFsAdminRoleModel(gdb),
FsAdminRoleApi: NewFsAdminRoleApiModel(gdb), FsAdminRoleApi: NewFsAdminRoleApiModel(gdb),
FsAdminUser: NewFsAdminUserModel(gdb), FsAdminUser: NewFsAdminUserModel(gdb),
FsAuthAssignment: NewFsAuthAssignmentModel(gdb), FsAuthAssignment: NewFsAuthAssignmentModel(gdb),
FsAuthItem: NewFsAuthItemModel(gdb), FsAuthItem: NewFsAuthItemModel(gdb),
FsAuthItemChild: NewFsAuthItemChildModel(gdb), FsAuthItemChild: NewFsAuthItemChildModel(gdb),
FsAuthRule: NewFsAuthRuleModel(gdb), FsAuthRule: NewFsAuthRuleModel(gdb),
FsBackendUser: NewFsBackendUserModel(gdb), FsBackendUser: NewFsBackendUserModel(gdb),
FsCanteenProduct: NewFsCanteenProductModel(gdb), FsCanteenProduct: NewFsCanteenProductModel(gdb),
FsCanteenType: NewFsCanteenTypeModel(gdb), FsCanteenType: NewFsCanteenTypeModel(gdb),
FsCard: NewFsCardModel(gdb), FsCard: NewFsCardModel(gdb),
FsCardGroup: NewFsCardGroupModel(gdb), FsCardGroup: NewFsCardGroupModel(gdb),
FsCart: NewFsCartModel(gdb), FsCart: NewFsCartModel(gdb),
FsChangeCode: NewFsChangeCodeModel(gdb), FsChangeCode: NewFsChangeCodeModel(gdb),
FsCloudDeliverEveryTmpOld: NewFsCloudDeliverEveryTmpOldModel(gdb), FsCloudDeliverEveryTmpOld: NewFsCloudDeliverEveryTmpOldModel(gdb),
FsCloudDeliverTmpOld: NewFsCloudDeliverTmpOldModel(gdb), FsCloudDeliverTmpOld: NewFsCloudDeliverTmpOldModel(gdb),
FsCloudOld: NewFsCloudOldModel(gdb), FsCloudOld: NewFsCloudOldModel(gdb),
FsCloudPickUpDetailOld: NewFsCloudPickUpDetailOldModel(gdb), FsCloudPickUpDetailOld: NewFsCloudPickUpDetailOldModel(gdb),
FsCloudPickUpOld: NewFsCloudPickUpOldModel(gdb), FsCloudPickUpOld: NewFsCloudPickUpOldModel(gdb),
FsCloudReceiveEveryOld: NewFsCloudReceiveEveryOldModel(gdb), FsCloudReceiveEveryOld: NewFsCloudReceiveEveryOldModel(gdb),
FsCloudReceiveOld: NewFsCloudReceiveOldModel(gdb), FsCloudReceiveOld: NewFsCloudReceiveOldModel(gdb),
FsCloudRenderLogOld: NewFsCloudRenderLogOldModel(gdb), FsCloudRenderLogOld: NewFsCloudRenderLogOldModel(gdb),
FsCloudStorage: NewFsCloudStorageModel(gdb), FsCloudStorage: NewFsCloudStorageModel(gdb),
FsCloudStorageStock: NewFsCloudStorageStockModel(gdb), FsCloudStorageStock: NewFsCloudStorageStockModel(gdb),
FsCloudUserApplyBackOld: NewFsCloudUserApplyBackOldModel(gdb), FsCloudUserApplyBackOld: NewFsCloudUserApplyBackOldModel(gdb),
FsContact: NewFsContactModel(gdb), FsContact: NewFsContactModel(gdb),
FsContactService: NewFsContactServiceModel(gdb), FsContactService: NewFsContactServiceModel(gdb),
FsCoupon: NewFsCouponModel(gdb), FsCoupon: NewFsCouponModel(gdb),
FsDeliver: NewFsDeliverModel(gdb), FsDeliver: NewFsDeliverModel(gdb),
FsDeliverEvery: NewFsDeliverEveryModel(gdb), FsDeliverEvery: NewFsDeliverEveryModel(gdb),
FsDepartment: NewFsDepartmentModel(gdb), FsDepartment: NewFsDepartmentModel(gdb),
FsEmailLogs: NewFsEmailLogsModel(gdb), FsEmailLogs: NewFsEmailLogsModel(gdb),
FsEmailTemplate: NewFsEmailTemplateModel(gdb), FsEmailTemplate: NewFsEmailTemplateModel(gdb),
FsFactory: NewFsFactoryModel(gdb), FsFactory: NewFsFactoryModel(gdb),
FsFactoryDeliver: NewFsFactoryDeliverModel(gdb), FsFactoryDeliver: NewFsFactoryDeliverModel(gdb),
FsFactoryDeliverEvery: NewFsFactoryDeliverEveryModel(gdb), FsFactoryDeliverEvery: NewFsFactoryDeliverEveryModel(gdb),
FsFactoryProduct: NewFsFactoryProductModel(gdb), FsFactoryProduct: NewFsFactoryProductModel(gdb),
FsFactoryShipTmp: NewFsFactoryShipTmpModel(gdb), FsFactoryShipTmp: NewFsFactoryShipTmpModel(gdb),
FsFaq: NewFsFaqModel(gdb), FsFaq: NewFsFaqModel(gdb),
FsFont: NewFsFontModel(gdb), FsFont: NewFsFontModel(gdb),
FsGerent: NewFsGerentModel(gdb), FsGerent: NewFsGerentModel(gdb),
FsGuest: NewFsGuestModel(gdb), FsGuest: NewFsGuestModel(gdb),
FsLog: NewFsLogModel(gdb), FsLog: NewFsLogModel(gdb),
FsLogoCartoon: NewFsLogoCartoonModel(gdb), FsLogoCartoon: NewFsLogoCartoonModel(gdb),
FsMapLibrary: NewFsMapLibraryModel(gdb), FsLogoPreprocess: NewFsLogoPreprocessModel(gdb),
FsMenu: NewFsMenuModel(gdb), FsMapLibrary: NewFsMapLibraryModel(gdb),
FsMerchantCategory: NewFsMerchantCategoryModel(gdb), FsMenu: NewFsMenuModel(gdb),
FsMigration: NewFsMigrationModel(gdb), FsMerchantCategory: NewFsMerchantCategoryModel(gdb),
FsOrder: NewFsOrderModel(gdb), FsMigration: NewFsMigrationModel(gdb),
FsOrderAffiliateOld: NewFsOrderAffiliateOldModel(gdb), FsOrder: NewFsOrderModel(gdb),
FsOrderDetailOld: NewFsOrderDetailOldModel(gdb), FsOrderAffiliateOld: NewFsOrderAffiliateOldModel(gdb),
FsOrderDetailTemplateOld: NewFsOrderDetailTemplateOldModel(gdb), FsOrderDetailOld: NewFsOrderDetailOldModel(gdb),
FsOrderOld: NewFsOrderOldModel(gdb), FsOrderDetailTemplateOld: NewFsOrderDetailTemplateOldModel(gdb),
FsOrderRemarkOld: NewFsOrderRemarkOldModel(gdb), FsOrderOld: NewFsOrderOldModel(gdb),
FsOrderTrade: NewFsOrderTradeModel(gdb), FsOrderRemarkOld: NewFsOrderRemarkOldModel(gdb),
FsOrderTradeEvent: NewFsOrderTradeEventModel(gdb), FsOrderTrade: NewFsOrderTradeModel(gdb),
FsPay: NewFsPayModel(gdb), FsOrderTradeEvent: NewFsOrderTradeEventModel(gdb),
FsPayEvent: NewFsPayEventModel(gdb), FsPay: NewFsPayModel(gdb),
FsProduct: NewFsProductModel(gdb), FsPayEvent: NewFsPayEventModel(gdb),
FsProductCollection: NewFsProductCollectionModel(gdb), FsProduct: NewFsProductModel(gdb),
FsProductCopy1: NewFsProductCopy1Model(gdb), FsProductCollection: NewFsProductCollectionModel(gdb),
FsProductDesign: NewFsProductDesignModel(gdb), FsProductCopy1: NewFsProductCopy1Model(gdb),
FsProductDesignGather: NewFsProductDesignGatherModel(gdb), FsProductDesign: NewFsProductDesignModel(gdb),
FsProductModel3d: NewFsProductModel3dModel(gdb), FsProductDesignGather: NewFsProductDesignGatherModel(gdb),
FsProductModel3dLight: NewFsProductModel3dLightModel(gdb), FsProductHistoryTemplate: NewFsProductHistoryTemplateModel(gdb),
FsProductOption: NewFsProductOptionModel(gdb), FsProductModel3d: NewFsProductModel3dModel(gdb),
FsProductPrice: NewFsProductPriceModel(gdb), FsProductModel3dLight: NewFsProductModel3dLightModel(gdb),
FsProductRenderDesign: NewFsProductRenderDesignModel(gdb), FsProductOption: NewFsProductOptionModel(gdb),
FsProductScene: NewFsProductSceneModel(gdb), FsProductPrice: NewFsProductPriceModel(gdb),
FsProductSize: NewFsProductSizeModel(gdb), FsProductRenderDesign: NewFsProductRenderDesignModel(gdb),
FsProductTagProp: NewFsProductTagPropModel(gdb), FsProductScene: NewFsProductSceneModel(gdb),
FsProductTemplate: NewFsProductTemplateModel(gdb), FsProductSize: NewFsProductSizeModel(gdb),
FsProductTemplateBasemap: NewFsProductTemplateBasemapModel(gdb), FsProductTagProp: NewFsProductTagPropModel(gdb),
FsProductTemplateElement: NewFsProductTemplateElementModel(gdb), FsProductTemplate: NewFsProductTemplateModel(gdb),
FsProductTemplateElement22: NewFsProductTemplateElement22Model(gdb), FsProductTemplateBasemap: NewFsProductTemplateBasemapModel(gdb),
FsProductTemplateTags: NewFsProductTemplateTagsModel(gdb), FsProductTemplateElement: NewFsProductTemplateElementModel(gdb),
FsProductTemplateV2: NewFsProductTemplateV2Model(gdb), FsProductTemplateTags: NewFsProductTemplateTagsModel(gdb),
FsProductV2Tmp: NewFsProductV2TmpModel(gdb), FsProductTemplateV2: NewFsProductTemplateV2Model(gdb),
FsQrcode: NewFsQrcodeModel(gdb), FsProductV2Tmp: NewFsProductV2TmpModel(gdb),
FsQrcodeLog: NewFsQrcodeLogModel(gdb), FsQrcode: NewFsQrcodeModel(gdb),
FsQrcodeSet: NewFsQrcodeSetModel(gdb), FsQrcodeLog: NewFsQrcodeLogModel(gdb),
FsQrcodeUser: NewFsQrcodeUserModel(gdb), FsQrcodeSet: NewFsQrcodeSetModel(gdb),
FsQuotation: NewFsQuotationModel(gdb), FsQrcodeUser: NewFsQrcodeUserModel(gdb),
FsQuotationPrice: NewFsQuotationPriceModel(gdb), FsQuotation: NewFsQuotationModel(gdb),
FsQuotationProduct: NewFsQuotationProductModel(gdb), FsQuotationPrice: NewFsQuotationPriceModel(gdb),
FsQuotationRemarkTemplate: NewFsQuotationRemarkTemplateModel(gdb), FsQuotationProduct: NewFsQuotationProductModel(gdb),
FsQuotationSaler: NewFsQuotationSalerModel(gdb), FsQuotationRemarkTemplate: NewFsQuotationRemarkTemplateModel(gdb),
FsQuotationSizeLayout: NewFsQuotationSizeLayoutModel(gdb), FsQuotationSaler: NewFsQuotationSalerModel(gdb),
FsRefundReason: NewFsRefundReasonModel(gdb), FsQuotationSizeLayout: NewFsQuotationSizeLayoutModel(gdb),
FsResource: NewFsResourceModel(gdb), FsRefundReason: NewFsRefundReasonModel(gdb),
FsShoppingCart: NewFsShoppingCartModel(gdb), FsResource: NewFsResourceModel(gdb),
FsStandardLogo: NewFsStandardLogoModel(gdb), FsShoppingCart: NewFsShoppingCartModel(gdb),
FsTags: NewFsTagsModel(gdb), FsStandardLogo: NewFsStandardLogoModel(gdb),
FsToolLogs: NewFsToolLogsModel(gdb), FsTags: NewFsTagsModel(gdb),
FsToolTemplate: NewFsToolTemplateModel(gdb), FsToolLogs: NewFsToolLogsModel(gdb),
FsToolUser: NewFsToolUserModel(gdb), FsToolTemplate: NewFsToolTemplateModel(gdb),
FsTrade: NewFsTradeModel(gdb), FsToolUser: NewFsToolUserModel(gdb),
FsUser: NewFsUserModel(gdb), FsTrade: NewFsTradeModel(gdb),
FsUserDesign: NewFsUserDesignModel(gdb), FsUser: NewFsUserModel(gdb),
FsUserInfo: NewFsUserInfoModel(gdb), FsUserDesign: NewFsUserDesignModel(gdb),
FsUserMaterial: NewFsUserMaterialModel(gdb), FsUserInfo: NewFsUserInfoModel(gdb),
FsUserStock: NewFsUserStockModel(gdb), FsUserMaterial: NewFsUserMaterialModel(gdb),
FsWebSet: NewFsWebSetModel(gdb), FsUserStock: NewFsUserStockModel(gdb),
FsWebSet: NewFsWebSetModel(gdb),
} }
return models return models
} }

View File

@ -12,6 +12,7 @@ import (
"fusenapi/utils/basic" "fusenapi/utils/basic"
"fusenapi/utils/file" "fusenapi/utils/file"
"fusenapi/utils/hash" "fusenapi/utils/hash"
"fusenapi/utils/s3url_to_s3id"
"gorm.io/gorm" "gorm.io/gorm"
"strings" "strings"
"time" "time"
@ -54,6 +55,20 @@ func (l *AddToCartLogic) AddToCart(req *types.AddToCartReq, userinfo *auth.UserI
if cartCount >= 100 { if cartCount >= 100 {
return resp.SetStatusWithMessage(basic.CodeDbSqlErr, "sorry,the count of your carts can`t greater than 100") return resp.SetStatusWithMessage(basic.CodeDbSqlErr, "sorry,the count of your carts can`t greater than 100")
} }
logoResourceId := s3url_to_s3id.GetS3ResourceIdFormUrl(req.Logo)
//获取用户素材信息
userMaterialInfo, err := l.svcCtx.AllModels.FsUserMaterial.FindOneByLogoResourceId(l.ctx, logoResourceId)
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return resp.SetStatusAddMessage(basic.CodeDbRecordNotFoundErr, "the user logo material info is not found")
}
logx.Error(err)
return resp.SetStatusAddMessage(basic.CodeDbSqlErr, "failed to get user logo material info")
}
var logoMaterialMetadata interface{}
if userMaterialInfo.Metadata != nil && len(*userMaterialInfo.Metadata) != 0 {
_ = json.Unmarshal(*userMaterialInfo.Metadata, &logoMaterialMetadata)
}
//不是传路径则就是传base64 //不是传路径则就是传base64
if !strings.Contains(req.RenderImage, "https://") { if !strings.Contains(req.RenderImage, "https://") {
//上传base64文件 //上传base64文件
@ -206,9 +221,10 @@ func (l *AddToCartLogic) AddToCart(req *types.AddToCartReq, userinfo *auth.UserI
sizeKeyInfo.Capacity = *sizeInfo.Capacity sizeKeyInfo.Capacity = *sizeInfo.Capacity
//快照数据 //快照数据
snapshot := gmodel.CartSnapshot{ snapshot := gmodel.CartSnapshot{
Logo: req.Logo, Logo: req.Logo,
CombineImage: req.CombineImage, LogoMaterialMetadata: logoMaterialMetadata,
RenderImage: req.RenderImage, CombineImage: req.CombineImage,
RenderImage: req.RenderImage,
TemplateInfo: gmodel.TemplateInfo{ TemplateInfo: gmodel.TemplateInfo{
TemplateJson: templateJson, TemplateJson: templateJson,
TemplateTag: templateTag, TemplateTag: templateTag,
@ -268,7 +284,7 @@ func (l *AddToCartLogic) AddToCartParamVerify(req *types.AddToCartReq) error {
return errors.New("product_id is required") return errors.New("product_id is required")
} }
if req.SizeId <= 0 { if req.SizeId <= 0 {
return errors.New("product size is required") return errors.New("product size id is required")
} }
if req.PurchaseQuantity <= 0 { if req.PurchaseQuantity <= 0 {
return errors.New("purchase quantity can not less than 0 or equal 0") return errors.New("purchase quantity can not less than 0 or equal 0")
@ -280,6 +296,9 @@ func (l *AddToCartLogic) AddToCartParamVerify(req *types.AddToCartReq) error {
if req.SelectColorIndex < 0 { if req.SelectColorIndex < 0 {
return errors.New("invalid select color index") return errors.New("invalid select color index")
} }
if req.Logo == "" {
return errors.New("logo is required")
}
return nil return nil
} }