From 6c7ef6e92e097e9280ec52144b08f8eec449a3b1 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Thu, 19 Oct 2023 15:33:28 +0800 Subject: [PATCH] fix --- model/gmodel/fs_product_template_v2_gen.go | 42 +- model/gmodel/fs_shopping_cart_logic.go | 21 +- model/gmodel/var_gen.go | 434 +++++++++--------- .../internal/logic/addtocartlogic.go | 27 +- 4 files changed, 274 insertions(+), 250 deletions(-) diff --git a/model/gmodel/fs_product_template_v2_gen.go b/model/gmodel/fs_product_template_v2_gen.go index 88618f87..62cf8a19 100644 --- a/model/gmodel/fs_product_template_v2_gen.go +++ b/model/gmodel/fs_product_template_v2_gen.go @@ -4,27 +4,29 @@ import ( "gorm.io/gorm" ) -// fs_product_template_v2 产品-模型-模板表 +// fs_product_template_v2 产品-模型- 模板表 type FsProductTemplateV2 struct { - Id int64 `gorm:"primary_key;default:0;auto_increment;" json:"id"` // - ProductId *int64 `gorm:"index;default:0;" json:"product_id"` // 产品ID - ModelId *int64 `gorm:"default:0;" json:"model_id"` // 模型ID - Title *string `gorm:"default:'';" json:"title"` // 模板(sku),预留字段 - Name *string `gorm:"default:'';" json:"name"` // 名称 - CoverImg *string `gorm:"default:'';" json:"cover_img"` // 模板背景图 - TemplateInfo *string `gorm:"default:'';" json:"template_info"` // 模板详情 - MaterialImg *string `gorm:"default:'';" json:"material_img"` // 合成好的贴图 - Sort *int64 `gorm:"default:0;" json:"sort"` // 排序 - LogoWidth *int64 `gorm:"default:0;" json:"logo_width"` // logo图最大宽度 - LogoHeight *int64 `gorm:"default:0;" json:"logo_height"` // logo图最大高度 - IsPublic *int64 `gorm:"default:0;" json:"is_public"` // 是否可公用(1:可以,0:不可以) - Status *int64 `gorm:"default:0;" json:"status"` // 状态1正常 2异常 - Ctime *int64 `gorm:"default:0;" json:"ctime"` // 添加时间 - TemplateTag *string `gorm:"default:'';" json:"template_tag"` // - IsDel *int64 `gorm:"default:0;" json:"is_del"` // 是否删除 1删除 - SwitchInfo *string `gorm:"default:'';" json:"switch_info"` // 开关信息 - Version *int64 `gorm:"default:0;" json:"version"` // 默认1 - ElementModelId *int64 `gorm:"default:0;" json:"element_model_id"` // 云渲染对应模型id + Id int64 `gorm:"primary_key;default:0;auto_increment;" json:"id"` // + ProductId *int64 `gorm:"index;default:0;" json:"product_id"` // 产品ID + ModelId *int64 `gorm:"default:0;" json:"model_id"` // 模型ID + Title *string `gorm:"default:'';" json:"title"` // 模板(sku),预留字段 + Name *string `gorm:"default:'';" json:"name"` // 名称 + CoverImg *string `gorm:"default:'';" json:"cover_img"` // 模板背景图 + TemplateInfo *string `gorm:"default:'';" json:"template_info"` // 模板详情 + MaterialImg *string `gorm:"default:'';" json:"material_img"` // 合成好的贴图 + Sort *int64 `gorm:"default:0;" json:"sort"` // 排序 + LogoWidth *int64 `gorm:"default:0;" json:"logo_width"` // logo图最大宽度 + LogoHeight *int64 `gorm:"default:0;" json:"logo_height"` // logo图最大高度 + IsPublic *int64 `gorm:"default:0;" json:"is_public"` // 是否可公用(1:可以,0:不可以,仅供模型关联) + IsPublicTemplate *int64 `gorm:"default:0;" json:"is_public_template"` // 是否是公共模板0非1是(仅针对模板之间) + RelativePublicTemplateLevelPrefix *string `gorm:"default:'';" json:"relative_public_template_level_prefix"` // + Status *int64 `gorm:"default:0;" json:"status"` // 状态1正常 2异常 + TemplateTag *string `gorm:"default:'';" json:"template_tag"` // + IsDel *int64 `gorm:"default:0;" json:"is_del"` // 是否删除 1删除 + SwitchInfo *string `gorm:"default:'';" json:"switch_info"` // 开关信息 + 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 { db *gorm.DB diff --git a/model/gmodel/fs_shopping_cart_logic.go b/model/gmodel/fs_shopping_cart_logic.go index 03999452..6ef49512 100644 --- a/model/gmodel/fs_shopping_cart_logic.go +++ b/model/gmodel/fs_shopping_cart_logic.go @@ -35,16 +35,17 @@ type FsShoppingCartData struct { // 购物车快照数据结构 type CartSnapshot struct { - Logo string `json:"logo"` //logo地址 - CombineImage string `json:"combine_image"` //刀版图地址 - RenderImage string `json:"render_image"` //渲染结果图 - TemplateInfo TemplateInfo `json:"template_info"` //模板数据 - ModelInfo ModelInfo `json:"model_info"` //模型的数据 - FittingInfo FittingInfo `json:"fitting_info"` //配件信息 - SizeInfo SizeInfo `json:"size_info"` //尺寸基本信息 - ProductInfo ProductInfo `json:"product_info"` //产品基本信息(只记录不要使用) - UserDiyInformation UserDiyInformation `json:"user_diy_information"` //用户diy数据 - LightInfo LightInfo `json:"light_info"` //灯光数据 + Logo string `json:"logo"` //logo地址 + LogoMaterialMetadata interface{} `json:"logo_material_metadata"` //logo素材信息 + CombineImage string `json:"combine_image"` //刀版图地址 + RenderImage string `json:"render_image"` //渲染结果图 + TemplateInfo TemplateInfo `json:"template_info"` //模板数据 + ModelInfo ModelInfo `json:"model_info"` //模型的数据 + FittingInfo FittingInfo `json:"fitting_info"` //配件信息 + SizeInfo SizeInfo `json:"size_info"` //尺寸基本信息 + ProductInfo ProductInfo `json:"product_info"` //产品基本信息(只记录不要使用) + UserDiyInformation UserDiyInformation `json:"user_diy_information"` //用户diy数据 + LightInfo LightInfo `json:"light_info"` //灯光数据 } type ProductInfo struct { ProductName string `json:"product_name"` diff --git a/model/gmodel/var_gen.go b/model/gmodel/var_gen.go index c064b808..0500fe0e 100644 --- a/model/gmodel/var_gen.go +++ b/model/gmodel/var_gen.go @@ -4,227 +4,229 @@ import "gorm.io/gorm" // AllModelsGen 所有Model集合,修改单行,只要不改字段名,不会根据新的内容修改,需要修改的话手动删除 type AllModelsGen struct { - CasbinRule *CasbinRuleModel // casbin_rule 后台--权限规则表 - FsAddress *FsAddressModel // fs_address 用户地址表 - FsAdminApi *FsAdminApiModel // fs_admin_api 后台--接口表 - FsAdminDepartment *FsAdminDepartmentModel // fs_admin_department 后台--部门表 - FsAdminMenu *FsAdminMenuModel // fs_admin_menu 后台--菜单表 - FsAdminRole *FsAdminRoleModel // fs_admin_role 后台--角色表 - FsAdminRoleApi *FsAdminRoleApiModel // fs_admin_role_api 后台--角色接口表 - FsAdminUser *FsAdminUserModel // fs_admin_user 后台--管理员表 - FsAuthAssignment *FsAuthAssignmentModel // fs_auth_assignment 用户角色和权限信息 - FsAuthItem *FsAuthItemModel // fs_auth_item 用户角色和权限信息 - FsAuthItemChild *FsAuthItemChildModel // fs_auth_item_child 角色和权限关系表 - FsAuthRule *FsAuthRuleModel // fs_auth_rule 规则表 - FsBackendUser *FsBackendUserModel // fs_backend_user 管理员表 - FsCanteenProduct *FsCanteenProductModel // fs_canteen_product 餐厅类别产品对应表 - FsCanteenType *FsCanteenTypeModel // fs_canteen_type 餐厅类型表 - FsCard *FsCardModel // fs_card 卡号表 - FsCardGroup *FsCardGroupModel // fs_card_group 卡号分组表 - FsCart *FsCartModel // fs_cart 购物车 - FsChangeCode *FsChangeCodeModel // fs_change_code 忘记密码code表 - FsCloudDeliverEveryTmpOld *FsCloudDeliverEveryTmpOldModel // fs_cloud_deliver_every_tmp_old - FsCloudDeliverTmpOld *FsCloudDeliverTmpOldModel // fs_cloud_deliver_tmp_old - FsCloudOld *FsCloudOldModel // fs_cloud_old 云仓表 - FsCloudPickUpDetailOld *FsCloudPickUpDetailOldModel // fs_cloud_pick_up_detail_old 云仓提货单-详情 - FsCloudPickUpOld *FsCloudPickUpOldModel // fs_cloud_pick_up_old 云仓提货单 - FsCloudReceiveEveryOld *FsCloudReceiveEveryOldModel // fs_cloud_receive_every_old - FsCloudReceiveOld *FsCloudReceiveOldModel // fs_cloud_receive_old 云仓接收工厂总单 - FsCloudRenderLogOld *FsCloudRenderLogOldModel // fs_cloud_render_log_old 云渲染日志表 - FsCloudStorage *FsCloudStorageModel // fs_cloud_storage 仓库的基本信息, 只做映射 - FsCloudStorageStock *FsCloudStorageStockModel // fs_cloud_storage_stock - FsCloudUserApplyBackOld *FsCloudUserApplyBackOldModel // fs_cloud_user_apply_back_old 该表废弃 - FsContact *FsContactModel // fs_contact 该表暂未使用 - FsContactService *FsContactServiceModel // fs_contact_service - FsCoupon *FsCouponModel // fs_coupon 代金券(暂未使用) - FsDeliver *FsDeliverModel // fs_deliver 发货表 云仓 直发 通用(已废弃) - FsDeliverEvery *FsDeliverEveryModel // fs_deliver_every 发货详细表(已废弃) - FsDepartment *FsDepartmentModel // fs_department 部门表 - FsEmailLogs *FsEmailLogsModel // fs_email_logs 邮件日志表 - FsEmailTemplate *FsEmailTemplateModel // fs_email_template 邮件模板表(暂未使用) - FsFactory *FsFactoryModel // fs_factory 该表废弃 - FsFactoryDeliver *FsFactoryDeliverModel // fs_factory_deliver 工厂发货主表(废弃) - FsFactoryDeliverEvery *FsFactoryDeliverEveryModel // fs_factory_deliver_every 该表废弃 - FsFactoryProduct *FsFactoryProductModel // fs_factory_product 工厂生产表(废弃) - FsFactoryShipTmp *FsFactoryShipTmpModel // fs_factory_ship_tmp - FsFaq *FsFaqModel // fs_faq 常见问题 - FsFont *FsFontModel // fs_font 字体配置 - FsGerent *FsGerentModel // fs_gerent 管理员表 - FsGuest *FsGuestModel // fs_guest 游客表 - FsLog *FsLogModel // fs_log 日志表 - FsLogoCartoon *FsLogoCartoonModel // fs_logo_cartoon logo底图表 - FsMapLibrary *FsMapLibraryModel // fs_map_library 贴图库 - FsMenu *FsMenuModel // fs_menu 后台菜单 - FsMerchantCategory *FsMerchantCategoryModel // fs_merchant_category 商户类型表 - FsMigration *FsMigrationModel // fs_migration 版本库 - FsOrder *FsOrderModel // fs_order 订单表 - FsOrderAffiliateOld *FsOrderAffiliateOldModel // fs_order_affiliate_old 订单附属表-流程控制时间等 - FsOrderDetailOld *FsOrderDetailOldModel // fs_order_detail_old 订单详细表 - FsOrderDetailTemplateOld *FsOrderDetailTemplateOldModel // fs_order_detail_template_old 订单模板详细表 - FsOrderOld *FsOrderOldModel // fs_order_old - FsOrderRemarkOld *FsOrderRemarkOldModel // fs_order_remark_old 订单备注表 - FsOrderTrade *FsOrderTradeModel // fs_order_trade 订单交易表 - FsOrderTradeEvent *FsOrderTradeEventModel // fs_order_trade_event 订单交易事件表 - FsPay *FsPayModel // fs_pay 支付记录 - FsPayEvent *FsPayEventModel // fs_pay_event 支付回调事件日志 - FsProduct *FsProductModel // fs_product 产品表 - FsProductCollection *FsProductCollectionModel // fs_product_collection 产品收藏表 - FsProductCopy1 *FsProductCopy1Model // fs_product_copy1 产品表 - FsProductDesign *FsProductDesignModel // fs_product_design 产品设计表 - FsProductDesignGather *FsProductDesignGatherModel // fs_product_design_gather - FsProductModel3d *FsProductModel3dModel // fs_product_model3d 产品模型表 - FsProductModel3dLight *FsProductModel3dLightModel // fs_product_model3d_light 模型-灯光组表 - FsProductOption *FsProductOptionModel // fs_product_option 产品选项表(已废弃) - FsProductPrice *FsProductPriceModel // fs_product_price 阶梯价格表 - FsProductRenderDesign *FsProductRenderDesignModel // fs_product_render_design - FsProductScene *FsProductSceneModel // fs_product_scene 产品场景表 - FsProductSize *FsProductSizeModel // fs_product_size 产品尺寸表 - FsProductTagProp *FsProductTagPropModel // fs_product_tag_prop 产品标签相关属性表 - FsProductTemplate *FsProductTemplateModel // fs_product_template 产品模板表(已废弃) - FsProductTemplateBasemap *FsProductTemplateBasemapModel // fs_product_template_basemap 模板底图表 - FsProductTemplateElement *FsProductTemplateElementModel // fs_product_template_element 云渲染配置表 - FsProductTemplateElement22 *FsProductTemplateElement22Model // fs_product_template_element_22 - FsProductTemplateTags *FsProductTemplateTagsModel // fs_product_template_tags 模板标签表 - FsProductTemplateV2 *FsProductTemplateV2Model // fs_product_template_v2 产品-模型-模板表 - FsProductV2Tmp *FsProductV2TmpModel // fs_product_v2_tmp 产品表 - FsQrcode *FsQrcodeModel // fs_qrcode - FsQrcodeLog *FsQrcodeLogModel // fs_qrcode_log 二维码扫描日志 - FsQrcodeSet *FsQrcodeSetModel // fs_qrcode_set 二维码边框配置表 - FsQrcodeUser *FsQrcodeUserModel // fs_qrcode_user 二维码-用户名表 - FsQuotation *FsQuotationModel // fs_quotation 报价单信息表 - FsQuotationPrice *FsQuotationPriceModel // fs_quotation_price 报价单价格表 - FsQuotationProduct *FsQuotationProductModel // fs_quotation_product 报价单产品表 - FsQuotationRemarkTemplate *FsQuotationRemarkTemplateModel // fs_quotation_remark_template 报价单备注模板 - FsQuotationSaler *FsQuotationSalerModel // fs_quotation_saler 报价单业务员表 - FsQuotationSizeLayout *FsQuotationSizeLayoutModel // fs_quotation_size_layout 产品尺寸排版表 - FsRefundReason *FsRefundReasonModel // fs_refund_reason - FsResource *FsResourceModel // fs_resource 资源表 - FsShoppingCart *FsShoppingCartModel // fs_shopping_cart 新版购物车表 - FsStandardLogo *FsStandardLogoModel // fs_standard_logo 标准logo - FsTags *FsTagsModel // fs_tags 产品分类表 - FsToolLogs *FsToolLogsModel // fs_tool_logs 3d设计工具日志表 - FsToolTemplate *FsToolTemplateModel // fs_tool_template 设计工具模板(废弃) - FsToolUser *FsToolUserModel // fs_tool_user 3d设计工具用户表 - FsTrade *FsTradeModel // fs_trade - FsUser *FsUserModel // fs_user 用户表 - FsUserDesign *FsUserDesignModel // fs_user_design 废弃表 - FsUserInfo *FsUserInfoModel // fs_user_info 用户信息表 - FsUserMaterial *FsUserMaterialModel // fs_user_material 用户素材表 - FsUserStock *FsUserStockModel // fs_user_stock 用户云仓库存 - FsWebSet *FsWebSetModel // fs_web_set 网站配置表 + CasbinRule *CasbinRuleModel // casbin_rule 后台--权限规则表 + FsAddress *FsAddressModel // fs_address 用户地址表 + FsAdminApi *FsAdminApiModel // fs_admin_api 后台--接口表 + FsAdminDepartment *FsAdminDepartmentModel // fs_admin_department 后台--部门表 + FsAdminMenu *FsAdminMenuModel // fs_admin_menu 后台--菜单表 + FsAdminRole *FsAdminRoleModel // fs_admin_role 后台--角色表 + FsAdminRoleApi *FsAdminRoleApiModel // fs_admin_role_api 后台--角色接口表 + FsAdminUser *FsAdminUserModel // fs_admin_user 后台--管理员表 + FsAuthAssignment *FsAuthAssignmentModel // fs_auth_assignment 用户角色和权限信息 + FsAuthItem *FsAuthItemModel // fs_auth_item 用户角色和权限信息 + FsAuthItemChild *FsAuthItemChildModel // fs_auth_item_child 角色和权限关系表 + FsAuthRule *FsAuthRuleModel // fs_auth_rule 规则表 + FsBackendUser *FsBackendUserModel // fs_backend_user 管理员表 + FsCanteenProduct *FsCanteenProductModel // fs_canteen_product 餐厅类别产品对应表 + FsCanteenType *FsCanteenTypeModel // fs_canteen_type 餐厅类型表 + FsCard *FsCardModel // fs_card 卡号表 + FsCardGroup *FsCardGroupModel // fs_card_group 卡号分组表 + FsCart *FsCartModel // fs_cart 购物车 + FsChangeCode *FsChangeCodeModel // fs_change_code 忘记密码code表 + FsCloudDeliverEveryTmpOld *FsCloudDeliverEveryTmpOldModel // fs_cloud_deliver_every_tmp_old + FsCloudDeliverTmpOld *FsCloudDeliverTmpOldModel // fs_cloud_deliver_tmp_old + FsCloudOld *FsCloudOldModel // fs_cloud_old 云仓表 + FsCloudPickUpDetailOld *FsCloudPickUpDetailOldModel // fs_cloud_pick_up_detail_old 云仓提货单-详情 + FsCloudPickUpOld *FsCloudPickUpOldModel // fs_cloud_pick_up_old 云仓提货单 + FsCloudReceiveEveryOld *FsCloudReceiveEveryOldModel // fs_cloud_receive_every_old + FsCloudReceiveOld *FsCloudReceiveOldModel // fs_cloud_receive_old 云仓接收工厂总单 + FsCloudRenderLogOld *FsCloudRenderLogOldModel // fs_cloud_render_log_old 云渲染日志表 + FsCloudStorage *FsCloudStorageModel // fs_cloud_storage 仓库的基本信息, 只做映射 + FsCloudStorageStock *FsCloudStorageStockModel // fs_cloud_storage_stock + FsCloudUserApplyBackOld *FsCloudUserApplyBackOldModel // fs_cloud_user_apply_back_old 该表废弃 + FsContact *FsContactModel // fs_contact 该表暂未使用 + FsContactService *FsContactServiceModel // fs_contact_service + FsCoupon *FsCouponModel // fs_coupon 代金券(暂未使用) + FsDeliver *FsDeliverModel // fs_deliver 发货表 云仓 直发 通用(已废弃) + FsDeliverEvery *FsDeliverEveryModel // fs_deliver_every 发货详细表(已废弃) + FsDepartment *FsDepartmentModel // fs_department 部门表 + FsEmailLogs *FsEmailLogsModel // fs_email_logs 邮件日志表 + FsEmailTemplate *FsEmailTemplateModel // fs_email_template 邮件模板表(暂未使用) + FsFactory *FsFactoryModel // fs_factory 该表废弃 + FsFactoryDeliver *FsFactoryDeliverModel // fs_factory_deliver 工厂发货主表(废弃) + FsFactoryDeliverEvery *FsFactoryDeliverEveryModel // fs_factory_deliver_every 该表废弃 + FsFactoryProduct *FsFactoryProductModel // fs_factory_product 工厂生产表(废弃) + FsFactoryShipTmp *FsFactoryShipTmpModel // fs_factory_ship_tmp + FsFaq *FsFaqModel // fs_faq 常见问题 + FsFont *FsFontModel // fs_font 字体配置 + FsGerent *FsGerentModel // fs_gerent 管理员表 + FsGuest *FsGuestModel // fs_guest 游客表 + FsLog *FsLogModel // fs_log 日志表 + FsLogoCartoon *FsLogoCartoonModel // fs_logo_cartoon logo底图表 + FsLogoPreprocess *FsLogoPreprocessModel // fs_logo_preprocess + FsMapLibrary *FsMapLibraryModel // fs_map_library 贴图库 + FsMenu *FsMenuModel // fs_menu 后台菜单 + FsMerchantCategory *FsMerchantCategoryModel // fs_merchant_category 商户类型表 + FsMigration *FsMigrationModel // fs_migration 版本库 + FsOrder *FsOrderModel // fs_order 订单表 + FsOrderAffiliateOld *FsOrderAffiliateOldModel // fs_order_affiliate_old 订单附属表-流程控制时间等 + FsOrderDetailOld *FsOrderDetailOldModel // fs_order_detail_old 订单详细表 + FsOrderDetailTemplateOld *FsOrderDetailTemplateOldModel // fs_order_detail_template_old 订单模板详细表 + FsOrderOld *FsOrderOldModel // fs_order_old + FsOrderRemarkOld *FsOrderRemarkOldModel // fs_order_remark_old 订单备注表 + FsOrderTrade *FsOrderTradeModel // fs_order_trade 订单交易表 + FsOrderTradeEvent *FsOrderTradeEventModel // fs_order_trade_event 订单交易事件表 + FsPay *FsPayModel // fs_pay 支付记录 + FsPayEvent *FsPayEventModel // fs_pay_event 支付回调事件日志 + FsProduct *FsProductModel // fs_product 产品表 + FsProductCollection *FsProductCollectionModel // fs_product_collection 产品收藏表 + FsProductCopy1 *FsProductCopy1Model // fs_product_copy1 产品表 + FsProductDesign *FsProductDesignModel // fs_product_design 产品设计表 + FsProductDesignGather *FsProductDesignGatherModel // fs_product_design_gather + FsProductHistoryTemplate *FsProductHistoryTemplateModel // fs_product_history_template 模板历史表 + FsProductModel3d *FsProductModel3dModel // fs_product_model3d 产品模型表 + FsProductModel3dLight *FsProductModel3dLightModel // fs_product_model3d_light 模型-灯光组表 + FsProductOption *FsProductOptionModel // fs_product_option 产品选项表(已废弃) + FsProductPrice *FsProductPriceModel // fs_product_price 阶梯价格表 + FsProductRenderDesign *FsProductRenderDesignModel // fs_product_render_design + FsProductScene *FsProductSceneModel // fs_product_scene 产品场景表 + FsProductSize *FsProductSizeModel // fs_product_size 产品尺寸表 + FsProductTagProp *FsProductTagPropModel // fs_product_tag_prop 产品标签相关属性表 + FsProductTemplate *FsProductTemplateModel // fs_product_template 产品模板表(已废弃) + FsProductTemplateBasemap *FsProductTemplateBasemapModel // fs_product_template_basemap 模板底图表 + FsProductTemplateElement *FsProductTemplateElementModel // fs_product_template_element 云渲染配置表 + FsProductTemplateTags *FsProductTemplateTagsModel // fs_product_template_tags 模板标签表 + FsProductTemplateV2 *FsProductTemplateV2Model // fs_product_template_v2 产品-模型-模板表 + FsProductV2Tmp *FsProductV2TmpModel // fs_product_v2_tmp 产品表 + FsQrcode *FsQrcodeModel // fs_qrcode + FsQrcodeLog *FsQrcodeLogModel // fs_qrcode_log 二维码扫描日志 + FsQrcodeSet *FsQrcodeSetModel // fs_qrcode_set 二维码边框配置表 + FsQrcodeUser *FsQrcodeUserModel // fs_qrcode_user 二维码-用户名表 + FsQuotation *FsQuotationModel // fs_quotation 报价单信息表 + FsQuotationPrice *FsQuotationPriceModel // fs_quotation_price 报价单价格表 + FsQuotationProduct *FsQuotationProductModel // fs_quotation_product 报价单产品表 + FsQuotationRemarkTemplate *FsQuotationRemarkTemplateModel // fs_quotation_remark_template 报价单备注模板 + FsQuotationSaler *FsQuotationSalerModel // fs_quotation_saler 报价单业务员表 + FsQuotationSizeLayout *FsQuotationSizeLayoutModel // fs_quotation_size_layout 产品尺寸排版表 + FsRefundReason *FsRefundReasonModel // fs_refund_reason + FsResource *FsResourceModel // fs_resource 资源表 + FsShoppingCart *FsShoppingCartModel // fs_shopping_cart 新版购物车表 + FsStandardLogo *FsStandardLogoModel // fs_standard_logo 标准logo + FsTags *FsTagsModel // fs_tags 产品分类表 + FsToolLogs *FsToolLogsModel // fs_tool_logs 3d设计工具日志表 + FsToolTemplate *FsToolTemplateModel // fs_tool_template 设计工具模板(废弃) + FsToolUser *FsToolUserModel // fs_tool_user 3d设计工具用户表 + FsTrade *FsTradeModel // fs_trade + FsUser *FsUserModel // fs_user 用户表 + FsUserDesign *FsUserDesignModel // fs_user_design 废弃表 + FsUserInfo *FsUserInfoModel // fs_user_info 用户信息表 + FsUserMaterial *FsUserMaterialModel // fs_user_material 用户素材表 + FsUserStock *FsUserStockModel // fs_user_stock 用户云仓库存 + FsWebSet *FsWebSetModel // fs_web_set 网站配置表 } func NewAllModels(gdb *gorm.DB) *AllModelsGen { models := &AllModelsGen{ - CasbinRule: NewCasbinRuleModel(gdb), - FsAddress: NewFsAddressModel(gdb), - FsAdminApi: NewFsAdminApiModel(gdb), - FsAdminDepartment: NewFsAdminDepartmentModel(gdb), - FsAdminMenu: NewFsAdminMenuModel(gdb), - FsAdminRole: NewFsAdminRoleModel(gdb), - FsAdminRoleApi: NewFsAdminRoleApiModel(gdb), - FsAdminUser: NewFsAdminUserModel(gdb), - FsAuthAssignment: NewFsAuthAssignmentModel(gdb), - FsAuthItem: NewFsAuthItemModel(gdb), - FsAuthItemChild: NewFsAuthItemChildModel(gdb), - FsAuthRule: NewFsAuthRuleModel(gdb), - FsBackendUser: NewFsBackendUserModel(gdb), - FsCanteenProduct: NewFsCanteenProductModel(gdb), - FsCanteenType: NewFsCanteenTypeModel(gdb), - FsCard: NewFsCardModel(gdb), - FsCardGroup: NewFsCardGroupModel(gdb), - FsCart: NewFsCartModel(gdb), - FsChangeCode: NewFsChangeCodeModel(gdb), - FsCloudDeliverEveryTmpOld: NewFsCloudDeliverEveryTmpOldModel(gdb), - FsCloudDeliverTmpOld: NewFsCloudDeliverTmpOldModel(gdb), - FsCloudOld: NewFsCloudOldModel(gdb), - FsCloudPickUpDetailOld: NewFsCloudPickUpDetailOldModel(gdb), - FsCloudPickUpOld: NewFsCloudPickUpOldModel(gdb), - FsCloudReceiveEveryOld: NewFsCloudReceiveEveryOldModel(gdb), - FsCloudReceiveOld: NewFsCloudReceiveOldModel(gdb), - FsCloudRenderLogOld: NewFsCloudRenderLogOldModel(gdb), - FsCloudStorage: NewFsCloudStorageModel(gdb), - FsCloudStorageStock: NewFsCloudStorageStockModel(gdb), - FsCloudUserApplyBackOld: NewFsCloudUserApplyBackOldModel(gdb), - FsContact: NewFsContactModel(gdb), - FsContactService: NewFsContactServiceModel(gdb), - FsCoupon: NewFsCouponModel(gdb), - FsDeliver: NewFsDeliverModel(gdb), - FsDeliverEvery: NewFsDeliverEveryModel(gdb), - FsDepartment: NewFsDepartmentModel(gdb), - FsEmailLogs: NewFsEmailLogsModel(gdb), - FsEmailTemplate: NewFsEmailTemplateModel(gdb), - FsFactory: NewFsFactoryModel(gdb), - FsFactoryDeliver: NewFsFactoryDeliverModel(gdb), - FsFactoryDeliverEvery: NewFsFactoryDeliverEveryModel(gdb), - FsFactoryProduct: NewFsFactoryProductModel(gdb), - FsFactoryShipTmp: NewFsFactoryShipTmpModel(gdb), - FsFaq: NewFsFaqModel(gdb), - FsFont: NewFsFontModel(gdb), - FsGerent: NewFsGerentModel(gdb), - FsGuest: NewFsGuestModel(gdb), - FsLog: NewFsLogModel(gdb), - FsLogoCartoon: NewFsLogoCartoonModel(gdb), - FsMapLibrary: NewFsMapLibraryModel(gdb), - FsMenu: NewFsMenuModel(gdb), - FsMerchantCategory: NewFsMerchantCategoryModel(gdb), - FsMigration: NewFsMigrationModel(gdb), - FsOrder: NewFsOrderModel(gdb), - FsOrderAffiliateOld: NewFsOrderAffiliateOldModel(gdb), - FsOrderDetailOld: NewFsOrderDetailOldModel(gdb), - FsOrderDetailTemplateOld: NewFsOrderDetailTemplateOldModel(gdb), - FsOrderOld: NewFsOrderOldModel(gdb), - FsOrderRemarkOld: NewFsOrderRemarkOldModel(gdb), - FsOrderTrade: NewFsOrderTradeModel(gdb), - FsOrderTradeEvent: NewFsOrderTradeEventModel(gdb), - FsPay: NewFsPayModel(gdb), - FsPayEvent: NewFsPayEventModel(gdb), - FsProduct: NewFsProductModel(gdb), - FsProductCollection: NewFsProductCollectionModel(gdb), - FsProductCopy1: NewFsProductCopy1Model(gdb), - FsProductDesign: NewFsProductDesignModel(gdb), - FsProductDesignGather: NewFsProductDesignGatherModel(gdb), - FsProductModel3d: NewFsProductModel3dModel(gdb), - FsProductModel3dLight: NewFsProductModel3dLightModel(gdb), - FsProductOption: NewFsProductOptionModel(gdb), - FsProductPrice: NewFsProductPriceModel(gdb), - FsProductRenderDesign: NewFsProductRenderDesignModel(gdb), - FsProductScene: NewFsProductSceneModel(gdb), - FsProductSize: NewFsProductSizeModel(gdb), - FsProductTagProp: NewFsProductTagPropModel(gdb), - FsProductTemplate: NewFsProductTemplateModel(gdb), - FsProductTemplateBasemap: NewFsProductTemplateBasemapModel(gdb), - FsProductTemplateElement: NewFsProductTemplateElementModel(gdb), - FsProductTemplateElement22: NewFsProductTemplateElement22Model(gdb), - FsProductTemplateTags: NewFsProductTemplateTagsModel(gdb), - FsProductTemplateV2: NewFsProductTemplateV2Model(gdb), - FsProductV2Tmp: NewFsProductV2TmpModel(gdb), - FsQrcode: NewFsQrcodeModel(gdb), - FsQrcodeLog: NewFsQrcodeLogModel(gdb), - FsQrcodeSet: NewFsQrcodeSetModel(gdb), - FsQrcodeUser: NewFsQrcodeUserModel(gdb), - FsQuotation: NewFsQuotationModel(gdb), - FsQuotationPrice: NewFsQuotationPriceModel(gdb), - FsQuotationProduct: NewFsQuotationProductModel(gdb), - FsQuotationRemarkTemplate: NewFsQuotationRemarkTemplateModel(gdb), - FsQuotationSaler: NewFsQuotationSalerModel(gdb), - FsQuotationSizeLayout: NewFsQuotationSizeLayoutModel(gdb), - FsRefundReason: NewFsRefundReasonModel(gdb), - FsResource: NewFsResourceModel(gdb), - FsShoppingCart: NewFsShoppingCartModel(gdb), - FsStandardLogo: NewFsStandardLogoModel(gdb), - FsTags: NewFsTagsModel(gdb), - FsToolLogs: NewFsToolLogsModel(gdb), - FsToolTemplate: NewFsToolTemplateModel(gdb), - FsToolUser: NewFsToolUserModel(gdb), - FsTrade: NewFsTradeModel(gdb), - FsUser: NewFsUserModel(gdb), - FsUserDesign: NewFsUserDesignModel(gdb), - FsUserInfo: NewFsUserInfoModel(gdb), - FsUserMaterial: NewFsUserMaterialModel(gdb), - FsUserStock: NewFsUserStockModel(gdb), - FsWebSet: NewFsWebSetModel(gdb), + CasbinRule: NewCasbinRuleModel(gdb), + FsAddress: NewFsAddressModel(gdb), + FsAdminApi: NewFsAdminApiModel(gdb), + FsAdminDepartment: NewFsAdminDepartmentModel(gdb), + FsAdminMenu: NewFsAdminMenuModel(gdb), + FsAdminRole: NewFsAdminRoleModel(gdb), + FsAdminRoleApi: NewFsAdminRoleApiModel(gdb), + FsAdminUser: NewFsAdminUserModel(gdb), + FsAuthAssignment: NewFsAuthAssignmentModel(gdb), + FsAuthItem: NewFsAuthItemModel(gdb), + FsAuthItemChild: NewFsAuthItemChildModel(gdb), + FsAuthRule: NewFsAuthRuleModel(gdb), + FsBackendUser: NewFsBackendUserModel(gdb), + FsCanteenProduct: NewFsCanteenProductModel(gdb), + FsCanteenType: NewFsCanteenTypeModel(gdb), + FsCard: NewFsCardModel(gdb), + FsCardGroup: NewFsCardGroupModel(gdb), + FsCart: NewFsCartModel(gdb), + FsChangeCode: NewFsChangeCodeModel(gdb), + FsCloudDeliverEveryTmpOld: NewFsCloudDeliverEveryTmpOldModel(gdb), + FsCloudDeliverTmpOld: NewFsCloudDeliverTmpOldModel(gdb), + FsCloudOld: NewFsCloudOldModel(gdb), + FsCloudPickUpDetailOld: NewFsCloudPickUpDetailOldModel(gdb), + FsCloudPickUpOld: NewFsCloudPickUpOldModel(gdb), + FsCloudReceiveEveryOld: NewFsCloudReceiveEveryOldModel(gdb), + FsCloudReceiveOld: NewFsCloudReceiveOldModel(gdb), + FsCloudRenderLogOld: NewFsCloudRenderLogOldModel(gdb), + FsCloudStorage: NewFsCloudStorageModel(gdb), + FsCloudStorageStock: NewFsCloudStorageStockModel(gdb), + FsCloudUserApplyBackOld: NewFsCloudUserApplyBackOldModel(gdb), + FsContact: NewFsContactModel(gdb), + FsContactService: NewFsContactServiceModel(gdb), + FsCoupon: NewFsCouponModel(gdb), + FsDeliver: NewFsDeliverModel(gdb), + FsDeliverEvery: NewFsDeliverEveryModel(gdb), + FsDepartment: NewFsDepartmentModel(gdb), + FsEmailLogs: NewFsEmailLogsModel(gdb), + FsEmailTemplate: NewFsEmailTemplateModel(gdb), + FsFactory: NewFsFactoryModel(gdb), + FsFactoryDeliver: NewFsFactoryDeliverModel(gdb), + FsFactoryDeliverEvery: NewFsFactoryDeliverEveryModel(gdb), + FsFactoryProduct: NewFsFactoryProductModel(gdb), + FsFactoryShipTmp: NewFsFactoryShipTmpModel(gdb), + FsFaq: NewFsFaqModel(gdb), + FsFont: NewFsFontModel(gdb), + FsGerent: NewFsGerentModel(gdb), + FsGuest: NewFsGuestModel(gdb), + FsLog: NewFsLogModel(gdb), + FsLogoCartoon: NewFsLogoCartoonModel(gdb), + FsLogoPreprocess: NewFsLogoPreprocessModel(gdb), + FsMapLibrary: NewFsMapLibraryModel(gdb), + FsMenu: NewFsMenuModel(gdb), + FsMerchantCategory: NewFsMerchantCategoryModel(gdb), + FsMigration: NewFsMigrationModel(gdb), + FsOrder: NewFsOrderModel(gdb), + FsOrderAffiliateOld: NewFsOrderAffiliateOldModel(gdb), + FsOrderDetailOld: NewFsOrderDetailOldModel(gdb), + FsOrderDetailTemplateOld: NewFsOrderDetailTemplateOldModel(gdb), + FsOrderOld: NewFsOrderOldModel(gdb), + FsOrderRemarkOld: NewFsOrderRemarkOldModel(gdb), + FsOrderTrade: NewFsOrderTradeModel(gdb), + FsOrderTradeEvent: NewFsOrderTradeEventModel(gdb), + FsPay: NewFsPayModel(gdb), + FsPayEvent: NewFsPayEventModel(gdb), + FsProduct: NewFsProductModel(gdb), + FsProductCollection: NewFsProductCollectionModel(gdb), + FsProductCopy1: NewFsProductCopy1Model(gdb), + FsProductDesign: NewFsProductDesignModel(gdb), + FsProductDesignGather: NewFsProductDesignGatherModel(gdb), + FsProductHistoryTemplate: NewFsProductHistoryTemplateModel(gdb), + FsProductModel3d: NewFsProductModel3dModel(gdb), + FsProductModel3dLight: NewFsProductModel3dLightModel(gdb), + FsProductOption: NewFsProductOptionModel(gdb), + FsProductPrice: NewFsProductPriceModel(gdb), + FsProductRenderDesign: NewFsProductRenderDesignModel(gdb), + FsProductScene: NewFsProductSceneModel(gdb), + FsProductSize: NewFsProductSizeModel(gdb), + FsProductTagProp: NewFsProductTagPropModel(gdb), + FsProductTemplate: NewFsProductTemplateModel(gdb), + FsProductTemplateBasemap: NewFsProductTemplateBasemapModel(gdb), + FsProductTemplateElement: NewFsProductTemplateElementModel(gdb), + FsProductTemplateTags: NewFsProductTemplateTagsModel(gdb), + FsProductTemplateV2: NewFsProductTemplateV2Model(gdb), + FsProductV2Tmp: NewFsProductV2TmpModel(gdb), + FsQrcode: NewFsQrcodeModel(gdb), + FsQrcodeLog: NewFsQrcodeLogModel(gdb), + FsQrcodeSet: NewFsQrcodeSetModel(gdb), + FsQrcodeUser: NewFsQrcodeUserModel(gdb), + FsQuotation: NewFsQuotationModel(gdb), + FsQuotationPrice: NewFsQuotationPriceModel(gdb), + FsQuotationProduct: NewFsQuotationProductModel(gdb), + FsQuotationRemarkTemplate: NewFsQuotationRemarkTemplateModel(gdb), + FsQuotationSaler: NewFsQuotationSalerModel(gdb), + FsQuotationSizeLayout: NewFsQuotationSizeLayoutModel(gdb), + FsRefundReason: NewFsRefundReasonModel(gdb), + FsResource: NewFsResourceModel(gdb), + FsShoppingCart: NewFsShoppingCartModel(gdb), + FsStandardLogo: NewFsStandardLogoModel(gdb), + FsTags: NewFsTagsModel(gdb), + FsToolLogs: NewFsToolLogsModel(gdb), + FsToolTemplate: NewFsToolTemplateModel(gdb), + FsToolUser: NewFsToolUserModel(gdb), + FsTrade: NewFsTradeModel(gdb), + FsUser: NewFsUserModel(gdb), + FsUserDesign: NewFsUserDesignModel(gdb), + FsUserInfo: NewFsUserInfoModel(gdb), + FsUserMaterial: NewFsUserMaterialModel(gdb), + FsUserStock: NewFsUserStockModel(gdb), + FsWebSet: NewFsWebSetModel(gdb), } return models } diff --git a/server/shopping-cart/internal/logic/addtocartlogic.go b/server/shopping-cart/internal/logic/addtocartlogic.go index 50bd9906..771deb56 100644 --- a/server/shopping-cart/internal/logic/addtocartlogic.go +++ b/server/shopping-cart/internal/logic/addtocartlogic.go @@ -12,6 +12,7 @@ import ( "fusenapi/utils/basic" "fusenapi/utils/file" "fusenapi/utils/hash" + "fusenapi/utils/s3url_to_s3id" "gorm.io/gorm" "strings" "time" @@ -54,6 +55,20 @@ func (l *AddToCartLogic) AddToCart(req *types.AddToCartReq, userinfo *auth.UserI if cartCount >= 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 if !strings.Contains(req.RenderImage, "https://") { //上传base64文件 @@ -206,9 +221,10 @@ func (l *AddToCartLogic) AddToCart(req *types.AddToCartReq, userinfo *auth.UserI sizeKeyInfo.Capacity = *sizeInfo.Capacity //快照数据 snapshot := gmodel.CartSnapshot{ - Logo: req.Logo, - CombineImage: req.CombineImage, - RenderImage: req.RenderImage, + Logo: req.Logo, + LogoMaterialMetadata: logoMaterialMetadata, + CombineImage: req.CombineImage, + RenderImage: req.RenderImage, TemplateInfo: gmodel.TemplateInfo{ TemplateJson: templateJson, TemplateTag: templateTag, @@ -268,7 +284,7 @@ func (l *AddToCartLogic) AddToCartParamVerify(req *types.AddToCartReq) error { return errors.New("product_id is required") } if req.SizeId <= 0 { - return errors.New("product size is required") + return errors.New("product size id is required") } if req.PurchaseQuantity <= 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 { return errors.New("invalid select color index") } + if req.Logo == "" { + return errors.New("logo is required") + } return nil }