This commit is contained in:
laodaming 2023-06-16 19:26:48 +08:00
commit 30ecb70cd7
108 changed files with 2608 additions and 0 deletions

28
model/gmodel/fs_address_gen.go Executable file
View File

@ -0,0 +1,28 @@
package gmodel
import "gorm.io/gorm"
type FsAddress struct {
Id int64 `gorm:"primary_key" json:"id"`
UserId *int64 `gorm:"default:0" json:"user_id"` // 用户ID
Name *string `gorm:"default:''" json:"name"` // 地址名称
FirstName *string `gorm:"default:''" json:"first_name"` // FirstName
LastName *string `gorm:"default:''" json:"last_name"` // LastName
Mobile *string `gorm:"default:''" json:"mobile"` // 手机号码
Street *string `gorm:"default:''" json:"street"` // 街道
Suite *string `gorm:"default:''" json:"suite"` // 房号
City *string `gorm:"default:''" json:"city"` // 城市
State *string `gorm:"default:''" json:"state"` // 州名
Country *string `gorm:"default:''" json:"country"` // 国家
ZipCode *string `gorm:"default:''" json:"zip_code"` // 邮编
Status *int64 `gorm:"default:1" json:"status"` // 1正常 0异常
IsDefault *int64 `gorm:"default:0" json:"is_default"` // 1默认地址0非默认地址
}
type FsAddressModel struct {
db *gorm.DB
}
func NewFsAddressModel(db *gorm.DB) *FsAddressModel {
return &FsAddressModel{db}
}

View File

@ -0,0 +1,23 @@
package gmodel
import (
"context"
"errors"
"gorm.io/gorm"
)
func (a *FsAddressModel) GetOne(ctx context.Context, id int64, userId int64) (resp FsAddress, err error) {
err = a.db.WithContext(ctx).Model(&FsAddress{}).Where("`id` = ? and `user_id` = ? and `status` = ? ", id, userId, 1).First(&resp).Error
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
return FsAddress{}, err
}
return resp, nil
}
func (a *FsAddressModel) GetUserAllAddress(ctx context.Context, userId int64) (resp []FsAddress, err error) {
err = a.db.WithContext(ctx).Model(&FsAddress{}).Where("`user_id` = ? and `status` = ?", userId, 1).Order("`id` DESC").Find(&resp).Error
if err != nil {
return nil, err
}
return
}

View File

@ -0,0 +1,16 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_auth_assignment 用户角色和权限信息
type FsAuthAssignment struct {
ItemName *string `gorm:"index;default:'';" json:"item_name"` // 角色或权限名称
UserId *string `gorm:"index;default:'';" json:"user_id"` // 用户ID
CreatedAt *int64 `gorm:"default:'0';" json:"created_at"` // 创建时间
// FsAuthAssignmentIbfk1 foreign `gorm:"" json:"fs_auth_assignment_ibfk_1"`//
}
type FsAuthAssignmentModel struct{ db *gorm.DB }
func NewFsAuthAssignmentModel(db *gorm.DB) *FsAuthAssignmentModel { return &FsAuthAssignmentModel{db} }

View File

@ -0,0 +1,16 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_auth_item_child 角色和权限关系表
type FsAuthItemChild struct {
Parent *string `gorm:"index;default:'';" json:"parent"` // 父角色或权限名称
Child *string `gorm:"index;default:'';" json:"child"` // 子角色或权限名称
// FsAuthItemChildIbfk1 foreign `gorm:"" json:"fs_auth_item_child_ibfk_1"`//
// FsAuthItemChildIbfk2 foreign `gorm:"" json:"fs_auth_item_child_ibfk_2"`//
}
type FsAuthItemChildModel struct{ db *gorm.DB }
func NewFsAuthItemChildModel(db *gorm.DB) *FsAuthItemChildModel { return &FsAuthItemChildModel{db} }

View File

@ -0,0 +1,20 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_auth_item 用户角色和权限信息
type FsAuthItem struct {
Name string `gorm:"primary_key;default:'';" json:"name"` // 角色或权限名称
Type *int64 `gorm:"index;default:'0';" json:"type"` // 权限类型1 表示角色2 表示权限
Description *string `gorm:"default:'';" json:"description"` // 角色或权限描述
RuleName *string `gorm:"index;default:'';" json:"rule_name"` //
Data *[]byte `gorm:"default:'';" json:"data"` // 角色或权限的额外数据
CreatedAt *int64 `gorm:"default:'0';" json:"created_at"` //
UpdatedAt *int64 `gorm:"default:'0';" json:"updated_at"` //
// FsAuthItemIbfk1 foreign `gorm:"" json:"fs_auth_item_ibfk_1"`//
}
type FsAuthItemModel struct{ db *gorm.DB }
func NewFsAuthItemModel(db *gorm.DB) *FsAuthItemModel { return &FsAuthItemModel{db} }

View File

@ -0,0 +1,16 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_auth_rule 规则表
type FsAuthRule struct {
Name string `gorm:"primary_key;default:'';" json:"name"` // 规则名称
Data *[]byte `gorm:"default:'';" json:"data"` // 规则的额外数据
CreatedAt *int64 `gorm:"default:'0';" json:"created_at"` //
UpdatedAt *int64 `gorm:"default:'0';" json:"updated_at"` //
}
type FsAuthRuleModel struct{ db *gorm.DB }
func NewFsAuthRuleModel(db *gorm.DB) *FsAuthRuleModel { return &FsAuthRuleModel{db} }

View File

@ -0,0 +1,24 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsCanteenProduct struct {
Id int64 `gorm:"primary_key" json:"id"` // ID
CanteenType *int64 `gorm:"default:0" json:"canteen_type"` // 餐厅类别id
ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品id
SizeId *int64 `gorm:"default:0" json:"size_id"` // 尺寸id
Sort *int64 `gorm:"default:0" json:"sort"` // 排序
Status *int64 `gorm:"default:1" json:"status"` // 状态位 1启用0停用
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
Sid *string `gorm:"default:''" json:"sid"` // 前端带入的id
}
type FsCanteenProductModel struct {
db *gorm.DB
}
func NewFsCanteenProductModel(db *gorm.DB) *FsCanteenProductModel {
return &FsCanteenProductModel{db}
}

View File

@ -0,0 +1,25 @@
package gmodel
import (
"context"
)
func (c *FsCanteenProductModel) GetAllByCanteenTypeId(ctx context.Context, typeId int64) (resp []FsCanteenProduct, err error) {
err = c.db.WithContext(ctx).Model(&FsCanteenProduct{}).Where("`canteen_type` = ? and `status` = ?", typeId, 1).Find(&resp).Error
if err != nil {
return nil, err
}
return
}
func (c *FsCanteenProductModel) UpdateById(ctx context.Context, id int64, data *FsCanteenProduct) error {
return c.db.WithContext(ctx).Model(&FsCanteenProduct{}).Where("`id` = ? ", id).Updates(&data).Error
}
func (c *FsCanteenProductModel) UpdateByIdArr(ctx context.Context, ids []int64, data *FsCanteenProduct) error {
if len(ids) == 0 {
return nil
}
return c.db.WithContext(ctx).Model(&FsCanteenProduct{}).Where("`id` in (?) ", ids).Updates(&data).Error
}
func (c *FsCanteenProductModel) Create(ctx context.Context, data *FsCanteenProduct) error {
return c.db.WithContext(ctx).Model(&FsCanteenProduct{}).Create(data).Error
}

View File

@ -0,0 +1,17 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsCanteenType struct {
Id int64 `gorm:"primary_key;" json:"id"` // ID
Name *string `gorm:"default:''" json:"name"` // 餐厅名字
Sort *int64 `gorm:"default:0" json:"sort"` // 排序
Status *int64 `gorm:"default:0" json:"status"` // 状态位 1启用0停用
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
}
type FsCanteenTypeModel struct{ db *gorm.DB }
func NewFsCanteenTypeModel(db *gorm.DB) *FsCanteenTypeModel { return &FsCanteenTypeModel{db} }

View File

@ -0,0 +1,31 @@
package gmodel
import (
"context"
"errors"
"gorm.io/gorm"
)
// FsGetTypeCanteenType GetType返回前端的结构
type FsGetTypeCanteenType struct {
Id int64 `gorm:"id" json:"key"` // ID
Name string `gorm:"name" json:"name"` // 餐厅名字
}
// TODO: 使用model的属性做你想做的
func (c *FsCanteenTypeModel) FindAllGetType(ctx context.Context) (resp []*FsGetTypeCanteenType, err error) {
err = c.db.WithContext(ctx).Model(&FsCanteenType{}).Select("id,name").Order("sort desc").Where("`status` = ?", 1).Find(&resp).Error
if err != nil {
return resp, err
}
return resp, nil
}
func (c *FsCanteenTypeModel) FindOne(ctx context.Context, id int64) (resp FsCanteenType, err error) {
err = c.db.WithContext(ctx).Model(&FsCanteenType{}).Where("`id` = ?", id).First(&resp).Error
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
return resp, err
}
return resp, nil
}

View File

@ -0,0 +1,17 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_card 卡号表
type FsCard struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // Id
CardNo *string `gorm:"default:'';" json:"card_no"` // 卡号
GroupId *int64 `gorm:"default:'0';" json:"group_id"` // 分组id
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 创建时间
CardNum *string `gorm:"default:'';" json:"card_num"` // 卡号 无空格
}
type FsCardModel struct{ db *gorm.DB }
func NewFsCardModel(db *gorm.DB) *FsCardModel { return &FsCardModel{db} }

View File

@ -0,0 +1,17 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_card_group 卡号分组表
type FsCardGroup struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // id
GroupName *string `gorm:"default:'';" json:"group_name"` // 分组名字
PreNo *string `gorm:"default:'';" json:"pre_no"` // 规则前几位数
Num *int64 `gorm:"default:'0';" json:"num"` // 生成数量
Ctime *int64 `gorm:"default:'0';" json:"ctime"` //
}
type FsCardGroupModel struct{ db *gorm.DB }
func NewFsCardGroupModel(db *gorm.DB) *FsCardGroupModel { return &FsCardGroupModel{db} }

34
model/gmodel/fs_cart_gen.go Executable file
View File

@ -0,0 +1,34 @@
// Code generated by goctl. DO NOT EDIT.
package gmodel
import (
"gorm.io/gorm"
"time"
)
type FsCart struct {
Id int64 `gorm:"primary_key" json:"id"` // id
UserId *int64 `gorm:"default:0" json:"user_id"` // 用户ID
ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品ID
TemplateId *int64 `gorm:"default:0" json:"template_id"` // 模板ID
PriceId *int64 `gorm:"default:0" json:"price_id"` // 价格ID
MaterialId *int64 `gorm:"default:0" json:"material_id"` // 材质ID
SizeId *int64 `gorm:"default:0" json:"size_id"` // 尺寸ID
BuyNum *int64 `gorm:"default:0" json:"buy_num"` // 购买数量
Cover *string `gorm:"default:''" json:"cover"` // 截图
DesignId *int64 `gorm:"default:0" json:"design_id"` // 设计ID
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
Status *int64 `gorm:"default:1" json:"status"` // 状态位
OptionalId *int64 `gorm:"default:0" json:"optional_id"` // 选项ID
IsCheck *int64 `gorm:"default:0" json:"is_check"` // 是否选中状态0未选中1选中
TsTime *time.Time `gorm:"-" json:"ts_time"`
IsEmail *int64 `gorm:"default:0" json:"is_email"` // 是否发送邮件
}
type FsCartModel struct {
db *gorm.DB
}
func NewFsCartModel(db *gorm.DB) *FsCartModel {
return &FsCartModel{db}
}

85
model/gmodel/fs_cart_logic.go Executable file
View File

@ -0,0 +1,85 @@
// Code generated by goctl. DO NOT EDIT.
package gmodel
import (
"context"
"errors"
"gorm.io/gorm"
)
type FindOneCartByParamsReq struct {
UserId *int64
ProductId *int64
TemplateId *int64
PriceId *int64
DesignId *int64
MaterialId *int64
Status *int64
}
func (c *FsCartModel) FindOne(ctx context.Context, id int64) (resp FsCart, err error) {
err = c.db.WithContext(ctx).Model(&FsCart{}).Where("`id` = ?", id).First(&resp).Error
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
return FsCart{}, err
}
return resp, nil
}
func (c *FsCartModel) FindOneCartByParams(ctx context.Context, req FindOneCartByParamsReq) (resp FsCart, err error) {
db := c.db.WithContext(ctx).Model(&FsCart{})
if req.UserId != nil {
db = db.Where("`user_id` = ?", req.UserId)
}
if req.ProductId != nil {
db = db.Where("`product_id` = ?", req.ProductId)
}
if req.TemplateId != nil {
db = db.Where("`template_id` = ?", req.TemplateId)
}
if req.PriceId != nil {
db = db.Where("`price_id` = ?", req.PriceId)
}
if req.DesignId != nil {
db = db.Where("`design_id` = ?", req.DesignId)
}
if req.MaterialId != nil {
db = db.Where("`material_id` = ?", req.MaterialId)
}
if req.Status != nil {
db = db.Where("`status` = ?", req.Status)
}
if err = db.First(&resp).Error; err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
return FsCart{}, err
}
return resp, nil
}
func (c *FsCartModel) Create(ctx context.Context, data FsCart) error {
return c.db.WithContext(ctx).Model(&FsCart{}).Create(&data).Error
}
func (c *FsCartModel) Update(ctx context.Context, id int64, data FsCart) error {
return c.db.WithContext(ctx).Model(&FsCart{}).Where("`id` = ?", id).Updates(data).Error
}
func (c *FsCartModel) UpdateByIdUserId(ctx context.Context, id int64, userId int64, data FsCart) error {
return c.db.WithContext(ctx).Model(&FsCart{}).Where("`id` = ? and `user_id` = ?", id, userId).Updates(data).Error
}
func (c *FsCartModel) CountUserCart(ctx context.Context, userId int64) (total int64, err error) {
err = c.db.WithContext(ctx).Model(&FsCart{}).Where("`user_id` = ? and `status` = ? limit 1", userId, 1).Count(&total).Error
if err != nil {
return 0, err
}
return
}
func (c *FsCartModel) GetAllByUserId(ctx context.Context, userId int64, sort string) (resp []FsCart, err error) {
db := c.db.WithContext(ctx).Model(&FsCart{}).Where("`user_id` = ? and `status` = ?", userId, 1)
switch sort {
case "ctime-desc":
db = db.Order("`ctime` DESC")
case "ctime-asc":
db = db.Order("`ctime` ASC")
}
err = db.Find(&resp).Error
if err != nil {
return nil, err
}
return
}

View File

@ -0,0 +1,17 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_change_code 忘记密码code表
type FsChangeCode struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // id
Email *string `gorm:"default:'';" json:"email"` //
Code *string `gorm:"default:'';" json:"code"` //
CreatedAt *int64 `gorm:"default:'0';" json:"created_at"` // 创建时间
IsUse *int64 `gorm:"default:'0';" json:"is_use"` // 是否使用 1已使用 0未使用
}
type FsChangeCodeModel struct{ db *gorm.DB }
func NewFsChangeCodeModel(db *gorm.DB) *FsChangeCodeModel { return &FsChangeCodeModel{db} }

View File

@ -0,0 +1,20 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_cloud_deliver_every_tmp
type FsCloudDeliverEveryTmp struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
AdminId *int64 `gorm:"default:'0';" json:"admin_id"` // 管理员
CloudId *int64 `gorm:"default:'0';" json:"cloud_id"` // 云仓ID 暂且只有一个默认为 1
OrderDetailTemplateSn *string `gorm:"default:'';" json:"order_detail_template_sn"` // 详情modelSn
Num *int64 `gorm:"default:'0';" json:"num"` // 发货数量
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
}
type FsCloudDeliverEveryTmpModel struct{ db *gorm.DB }
func NewFsCloudDeliverEveryTmpModel(db *gorm.DB) *FsCloudDeliverEveryTmpModel {
return &FsCloudDeliverEveryTmpModel{db}
}

View File

@ -0,0 +1,25 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_cloud_deliver_tmp
type FsCloudDeliverTmp struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // id
CloudId *int64 `gorm:"default:'0';" json:"cloud_id"` // 云仓id
UserId *int64 `gorm:"default:'0';" json:"user_id"` // 用户id
AdminId *int64 `gorm:"default:'0';" json:"admin_id"` // 操作员id
DeliveryType *int64 `gorm:"default:'1';" json:"delivery_type"` // 发货公司 之后配置默认1
Fee *int64 `gorm:"default:'0';" json:"fee"` // 价格
AddressId *int64 `gorm:"default:'0';" json:"address_id"` // 地址
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 创建时间
IsDeliver *int64 `gorm:"default:'0';" json:"is_deliver"` // 0未发货1已发货
IsEnd *int64 `gorm:"default:'0';" json:"is_end"` // 0未完成1已完成
DeliverId *int64 `gorm:"default:'0';" json:"deliver_id"` // 发货总表id
}
type FsCloudDeliverTmpModel struct{ db *gorm.DB }
func NewFsCloudDeliverTmpModel(db *gorm.DB) *FsCloudDeliverTmpModel {
return &FsCloudDeliverTmpModel{db}
}

View File

@ -0,0 +1,15 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_cloud 云仓表
type FsCloud struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // id
Address *string `gorm:"default:'';" json:"address"` // 云仓地址
Title *string `gorm:"default:'';" json:"title"` // 云仓名称
}
type FsCloudModel struct{ db *gorm.DB }
func NewFsCloudModel(db *gorm.DB) *FsCloudModel { return &FsCloudModel{db} }

View File

@ -0,0 +1,20 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_cloud_pick_up_detail 云仓提货单-详情
type FsCloudPickUpDetail struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` // Id
PickId *int64 `gorm:"index;default:'0';" json:"pick_id"` // 提货单id
StockId *int64 `gorm:"default:'0';" json:"stock_id"` // 用户云仓记录id
Num *int64 `gorm:"default:'0';" json:"num"` // 提取数量
Boxes *int64 `gorm:"default:'0';" json:"boxes"` // 提取箱数
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
}
type FsCloudPickUpDetailModel struct{ db *gorm.DB }
func NewFsCloudPickUpDetailModel(db *gorm.DB) *FsCloudPickUpDetailModel {
return &FsCloudPickUpDetailModel{db}
}

View File

@ -0,0 +1,23 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_cloud_pick_up 云仓提货单
type FsCloudPickUp struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` // Id
UserId *int64 `gorm:"index;default:'0';" json:"user_id"` // 用户id
TrackNum *string `gorm:"default:'';" json:"track_num"` // 运输号
AddressId *int64 `gorm:"default:'0';" json:"address_id"` // 地址id
AddressInfo *string `gorm:"default:'';" json:"address_info"` // 地址信息 json
Status *int64 `gorm:"default:'0';" json:"status"` // 运输状态 1 draw 2shipping 3ups 4arrival
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
ShippingTime *int64 `gorm:"default:'0';" json:"shipping_time"` // 发货时间
UpsTime *int64 `gorm:"default:'0';" json:"ups_time"` // 提货时间
ArrivalTime *int64 `gorm:"default:'0';" json:"arrival_time"` // 到达时间
UpsSn *string `gorm:"default:'';" json:"ups_sn"` // 运输单号
}
type FsCloudPickUpModel struct{ db *gorm.DB }
func NewFsCloudPickUpModel(db *gorm.DB) *FsCloudPickUpModel { return &FsCloudPickUpModel{db} }

View File

@ -0,0 +1,19 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_cloud_receive_every
type FsCloudReceiveEvery struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
DeliveryId *int64 `gorm:"index;default:'0';" json:"delivery_id"` // 云仓收货单id
OrderDetailTemplateSn *string `gorm:"index;default:'';" json:"order_detail_template_sn"` // 详情modelSn
Num *int64 `gorm:"default:'0';" json:"num"` // 收到的数量
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
}
type FsCloudReceiveEveryModel struct{ db *gorm.DB }
func NewFsCloudReceiveEveryModel(db *gorm.DB) *FsCloudReceiveEveryModel {
return &FsCloudReceiveEveryModel{db}
}

View File

@ -0,0 +1,21 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_cloud_receive 云仓接收工厂总单
type FsCloudReceive struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
CloudId *int64 `gorm:"index;default:'0';" json:"cloud_id"` // 入库云仓id
AdminId *int64 `gorm:"index;default:'0';" json:"admin_id"` // 操作员id
UserId *int64 `gorm:"index;default:'0';" json:"user_id"` // 用户id
OrderId *int64 `gorm:"index;default:'0';" json:"order_id"` // 入库云仓的订单
Fee *int64 `gorm:"default:'0';" json:"fee"` // 运费
Delivery *string `gorm:"default:'';" json:"delivery"` // 运单号
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 创建时间
Status *int64 `gorm:"default:'0';" json:"status"` // 0未收到 1收到
}
type FsCloudReceiveModel struct{ db *gorm.DB }
func NewFsCloudReceiveModel(db *gorm.DB) *FsCloudReceiveModel { return &FsCloudReceiveModel{db} }

View File

@ -0,0 +1,21 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_cloud_render_log 云渲染日志表
type FsCloudRenderLog struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // ID
UserId *int64 `gorm:"default:'0';" json:"user_id"` // 用户id
PostData *string `gorm:"default:'';" json:"post_data"` //
PostUrl *string `gorm:"default:'';" json:"post_url"` //
Title *string `gorm:"index;default:'';" json:"title"` //
Time *int64 `gorm:"default:'0';" json:"time"` // 所用时间
Result *string `gorm:"default:'';" json:"result"` // 返回结果
Tag *string `gorm:"index;default:'';" json:"tag"` // 标识
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
}
type FsCloudRenderLogModel struct{ db *gorm.DB }
func NewFsCloudRenderLogModel(db *gorm.DB) *FsCloudRenderLogModel { return &FsCloudRenderLogModel{db} }

View File

@ -0,0 +1,22 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_cloud_user_apply_back 该表废弃
type FsCloudUserApplyBack struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
UserHash *string `gorm:"default:'';" json:"user_hash"` //
OrderDetailTemplateId *int64 `gorm:"default:'0';" json:"order_detail_template_id"` // 详情modelID
Num *int64 `gorm:"default:'0';" json:"num"` // 发货数量
AddressTo *string `gorm:"default:'';" json:"address_to"` // 收获地址
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
StorageFee *int64 `gorm:"default:'0';" json:"storage_fee"` // 存储费用
Status *int64 `gorm:"default:'0';" json:"status"` // 状态位 是否已发货 是否处理 是否删除 是否推送
}
type FsCloudUserApplyBackModel struct{ db *gorm.DB }
func NewFsCloudUserApplyBackModel(db *gorm.DB) *FsCloudUserApplyBackModel {
return &FsCloudUserApplyBackModel{db}
}

View File

@ -0,0 +1,20 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_contact 该表暂未使用
type FsContact struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
Name *string `gorm:"default:'';" json:"name"` // 名字
Email *string `gorm:"index;default:'';" json:"email"` // 邮箱
Subject *int64 `gorm:"default:'0';" json:"subject"` // 主题
Message *string `gorm:"default:'';" json:"message"` // 消息
Ctime *int64 `gorm:"default:'0';" json:"ctime"` //
Status *int64 `gorm:"default:'0';" json:"status"` //
Mark *string `gorm:"default:'';" json:"mark"` // 后台订单备注
}
type FsContactModel struct{ db *gorm.DB }
func NewFsContactModel(db *gorm.DB) *FsContactModel { return &FsContactModel{db} }

View File

@ -0,0 +1,25 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_contact_service
type FsContactService struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` //
Type *string `gorm:"default:'';" json:"type"` // 类型
RelationId *int64 `gorm:"index;default:'0';" json:"relation_id"` // 关联id
UserId *int64 `gorm:"index;default:'0';" json:"user_id"` // 用户id
Name *string `gorm:"default:'';" json:"name"` // 联系人姓名
Email *string `gorm:"index;default:'';" json:"email"` // 联系人邮箱
Phone *string `gorm:"default:'';" json:"phone"` //
Remark *string `gorm:"default:'';" json:"remark"` // 备注内容
IsHandle *int64 `gorm:"default:'0';" json:"is_handle"` // 是否被处理0未处理1已处理
Ctime *int64 `gorm:"default:'0';" json:"ctime"` //
HandleRemark *string `gorm:"default:'';" json:"handle_remark"` // 处理备注
HandleUid *int64 `gorm:"default:'0';" json:"handle_uid"` // 处理人
HandleTime *int64 `gorm:"default:'0';" json:"handle_time"` // 处理时间
}
type FsContactServiceModel struct{ db *gorm.DB }
func NewFsContactServiceModel(db *gorm.DB) *FsContactServiceModel { return &FsContactServiceModel{db} }

View File

@ -0,0 +1,25 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_coupon 代金券(暂未使用)
type FsCoupon struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
UserId *int64 `gorm:"default:'0';" json:"user_id"` //
Sn *string `gorm:"default:'';" json:"sn"` // 优惠券码
Type *int64 `gorm:"default:'0';" json:"type"` // 类型 1代金券 2折扣券 3满减券
Amount *int64 `gorm:"default:'0';" json:"amount"` // 代金券金额、折扣比例、满减金额
MinAmount *int64 `gorm:"default:'0';" json:"min_amount"` // 满足条件的最小金额 0:不限制
MaxAmount *int64 `gorm:"default:'0';" json:"max_amount"` // 最多优惠的金额 0不限制
Stime *int64 `gorm:"default:'0';" json:"stime"` // 开始时间 0立即生效
Etime *int64 `gorm:"default:'0';" json:"etime"` // 结束时间 0永久有效
Exclude *int64 `gorm:"default:'2';" json:"exclude"` // 是否可以与其他优惠券同时使用 1可以 2不可以
Ctime *int64 `gorm:"default:'0';" json:"ctime"` //
GetTime *int64 `gorm:"default:'0';" json:"get_time"` //
Status *int64 `gorm:"default:'0';" json:"status"` // 状态 是否可用 是否已绑定到订单
}
type FsCouponModel struct{ db *gorm.DB }
func NewFsCouponModel(db *gorm.DB) *FsCouponModel { return &FsCouponModel{db} }

View File

@ -0,0 +1,16 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_deliver_every 发货详细表(已废弃)
type FsDeliverEvery struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` //
DeliverId *int64 `gorm:"index;default:'0';" json:"deliver_id"` // 发货ID
OrderDetailTemplateSn *string `gorm:"index;default:'';" json:"order_detail_template_sn"` // 订单详情模板sn
Num *int64 `gorm:"default:'0';" json:"num"` //
}
type FsDeliverEveryModel struct{ db *gorm.DB }
func NewFsDeliverEveryModel(db *gorm.DB) *FsDeliverEveryModel { return &FsDeliverEveryModel{db} }

View File

@ -0,0 +1,39 @@
package gmodel
import (
"gorm.io/gorm"
"time"
)
// fs_deliver 发货表 云仓 直发 通用(已废弃)
type FsDeliver struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
Type *int64 `gorm:"default:'0';" json:"type"` // 1直接发货2云仓发货
UserId *int64 `gorm:"index;default:'0';" json:"user_id"` // 用户ID
AdminId *int64 `gorm:"index;default:'0';" json:"admin_id"` // 操作人id
Fee *int64 `gorm:"default:'0';" json:"fee"` // 运费价格
Tel *string `gorm:"default:'';" json:"tel"` // 电话
DeliveryType *int64 `gorm:"default:'0';" json:"delivery_type"` // 发货公司
AddressId *int64 `gorm:"index;default:'0';" json:"address_id"` // 地址id
AddressInfo *string `gorm:"default:'';" json:"address_info"` // 地址信息
Ctime *int64 `gorm:"default:'0';" json:"ctime"` //
OrderId *int64 `gorm:"default:'0';" json:"order_id"` // 云仓发货order_id为0
WarehouseDeliverSn *string `gorm:"index;default:'';" json:"warehouse_deliver_sn"` //
IsConfirm *int64 `gorm:"default:'0';" json:"is_confirm"` // 0未确认 1已确认
IsDeliver *int64 `gorm:"default:'0';" json:"is_deliver"` // 0未发货 1已发货
IsPort *int64 `gorm:"default:'0';" json:"is_port"` // 是否到达港口 0未到达 1:已到达
IsPickUp *int64 `gorm:"default:'0';" json:"is_pick_up"` // 美国运输是否已收货 0未提货 1已提货
IsEnd *int64 `gorm:"default:'0';" json:"is_end"` // 0未收货 1已签收
Status *int64 `gorm:"default:'0';" json:"status"` // 状态值:(0默认未确认1已确认2已发货3到港口4运输中5已签收)
ConfirmAt *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"confirm_at"` //
DeliverAt *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"deliver_at"` //
PortAt *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"port_at"` //
PickUpAt *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"pick_up_at"` //
EndAt *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"end_at"` //
FirstDeliverSn *string `gorm:"index;default:'';" json:"first_deliver_sn"` //
TwoDeliverSn *string `gorm:"index;default:'';" json:"two_deliver_sn"` //
TsTime *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"ts_time"` //
}
type FsDeliverModel struct{ db *gorm.DB }
func NewFsDeliverModel(db *gorm.DB) *FsDeliverModel { return &FsDeliverModel{db} }

View File

@ -0,0 +1,17 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_department 部门表
type FsDepartment struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // id
Name *string `gorm:"default:'';" json:"name"` // 部门名称
Status *int64 `gorm:"default:'0';" json:"status"` // 状态 1正常0停用
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
ParentId *int64 `gorm:"default:'0';" json:"parent_id"` // 父级id
}
type FsDepartmentModel struct{ db *gorm.DB }
func NewFsDepartmentModel(db *gorm.DB) *FsDepartmentModel { return &FsDepartmentModel{db} }

View File

@ -0,0 +1,19 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_email_logs 邮件日志表
type FsEmailLogs struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // ID
Type *int64 `gorm:"default:'0';" json:"type"` // 邮件分类
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 发送时间
Email *string `gorm:"default:'';" json:"email"` // 发送邮箱
EmailSubject *string `gorm:"default:'';" json:"email_subject"` // 发送标题
Result *string `gorm:"default:'';" json:"result"` // 发送结果
Status *int64 `gorm:"default:'0';" json:"status"` // 状态 1成功0失败
}
type FsEmailLogsModel struct{ db *gorm.DB }
func NewFsEmailLogsModel(db *gorm.DB) *FsEmailLogsModel { return &FsEmailLogsModel{db} }

View File

@ -0,0 +1,20 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_email_template 邮件模板表(暂未使用)
type FsEmailTemplate struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` //
Type *int64 `gorm:"default:'0';" json:"type"` // 模板类型
Name *string `gorm:"default:'';" json:"name"` // 模板名称
Title *string `gorm:"default:'';" json:"title"` // 模板标题
ReplaceFields *string `gorm:"default:'';" json:"replace_fields"` //
Content *string `gorm:"default:'';" json:"content"` // 模板内容
Status *int64 `gorm:"default:'0';" json:"status"` // 状态值0:禁用1:启用)
Ctime *int64 `gorm:"default:'0';" json:"ctime"` //
}
type FsEmailTemplateModel struct{ db *gorm.DB }
func NewFsEmailTemplateModel(db *gorm.DB) *FsEmailTemplateModel { return &FsEmailTemplateModel{db} }

View File

@ -0,0 +1,19 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_factory_deliver_every 该表废弃
type FsFactoryDeliverEvery struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
FactoryDeliverId *int64 `gorm:"index;default:'0';" json:"factory_deliver_id"` // 工厂发货表ID
OrderDetailTemplateSn *string `gorm:"index;default:'';" json:"order_detail_template_sn"` // 订单产品模板sn
Num *int64 `gorm:"default:'0';" json:"num"` // 发货数量
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
}
type FsFactoryDeliverEveryModel struct{ db *gorm.DB }
func NewFsFactoryDeliverEveryModel(db *gorm.DB) *FsFactoryDeliverEveryModel {
return &FsFactoryDeliverEveryModel{db}
}

View File

@ -0,0 +1,19 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_factory_deliver 工厂发货主表(废弃)
type FsFactoryDeliver struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` //
Sn *string `gorm:"index;default:'';" json:"sn"` // 工厂发货编号sn
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 创建时间
DeliveryMethod *int64 `gorm:"default:'0';" json:"delivery_method"` // 发货方式( 1:直接发货到收获地址 2云仓
OrderId *int64 `gorm:"index;default:'0';" json:"order_id"` // 订单id
IsArriveCloud *int64 `gorm:"default:'0';" json:"is_arrive_cloud"` // 是否到达云仓 0未到达1已到达
IsArriveAgent *int64 `gorm:"default:'0';" json:"is_arrive_agent"` // 是否到达货代公司 0未到达1已到达
}
type FsFactoryDeliverModel struct{ db *gorm.DB }
func NewFsFactoryDeliverModel(db *gorm.DB) *FsFactoryDeliverModel { return &FsFactoryDeliverModel{db} }

View File

@ -0,0 +1,18 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_factory 该表废弃
type FsFactory struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
Name *string `gorm:"default:'';" json:"name"` // 名字
Addr *string `gorm:"default:'';" json:"addr"` // 地址
Contact *string `gorm:"default:'';" json:"contact"` // 联系人
Mobile *string `gorm:"default:'';" json:"mobile"` // 联系电话
Status *int64 `gorm:"default:'0';" json:"status"` // 状态位 是否禁用
}
type FsFactoryModel struct{ db *gorm.DB }
func NewFsFactoryModel(db *gorm.DB) *FsFactoryModel { return &FsFactoryModel{db} }

View File

@ -0,0 +1,21 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_factory_product 工厂生产表(废弃)
type FsFactoryProduct struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` //
FactoryId *int64 `gorm:"index;default:'0';" json:"factory_id"` // 工厂id
OrderId *int64 `gorm:"index;default:'0';" json:"order_id"` // 订单id
OrderDetailTemplateSn *string `gorm:"index;default:'';" json:"order_detail_template_sn"` // 产品模板sn
Num *int64 `gorm:"default:'0';" json:"num"` // 数量
IsProduct *int64 `gorm:"default:'0';" json:"is_product"` // 是否开始生产( 0未开始 1已开始
IsEnd *int64 `gorm:"default:'0';" json:"is_end"` // 是否完成0未完成1已完成
IsDeliver *int64 `gorm:"default:'0';" json:"is_deliver"` // 是否已发货0未发货1已发货
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 创建时间
}
type FsFactoryProductModel struct{ db *gorm.DB }
func NewFsFactoryProductModel(db *gorm.DB) *FsFactoryProductModel { return &FsFactoryProductModel{db} }

View File

@ -0,0 +1,23 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_factory_ship_tmp
type FsFactoryShipTmp struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
Sn *string `gorm:"default:'';" json:"sn"` // 运单号码
FactoryId *int64 `gorm:"default:'0';" json:"factory_id"` // 工厂ID
OrderDetailTemplateSn *string `gorm:"default:'';" json:"order_detail_template_sn"` // 详情modelSn
UserId *int64 `gorm:"default:'0';" json:"user_id"` //
AddressSent *string `gorm:"default:'';" json:"address_sent"` // 发货地址
AddressTo *string `gorm:"default:'';" json:"address_to"` // 收获地址 始终是货代公司
Num *int64 `gorm:"default:'0';" json:"num"` // 发货数量
Fee *int64 `gorm:"default:'0';" json:"fee"` // 运费
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
Status *int64 `gorm:"default:'0';" json:"status"` // 状态位 是否到达 是否通知货代公司 是否是发到云仓
}
type FsFactoryShipTmpModel struct{ db *gorm.DB }
func NewFsFactoryShipTmpModel(db *gorm.DB) *FsFactoryShipTmpModel { return &FsFactoryShipTmpModel{db} }

View File

@ -0,0 +1,20 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_faq 常见问题
type FsFaq struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
TagId *int64 `gorm:"default:'0';" json:"tag_id"` // 分类ID
TagName *string `gorm:"default:'';" json:"tag_name"` // 分类名称
Title *string `gorm:"default:'';" json:"title"` // 标题
Content *string `gorm:"default:'';" json:"content"` // 内容
Status *int64 `gorm:"default:'0';" json:"status"` // 状态(0:禁用1:启用)
Sort *int64 `gorm:"default:'1';" json:"sort"` // 排序
Ctime *int64 `gorm:"default:'0';" json:"ctime"` //
}
type FsFaqModel struct{ db *gorm.DB }
func NewFsFaqModel(db *gorm.DB) *FsFaqModel { return &FsFaqModel{db} }

1
model/gmodel/fs_faq_logic.go Executable file
View File

@ -0,0 +1 @@
package gmodel

View File

@ -0,0 +1,17 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsFont struct {
Id int64 `gorm:"primary_key;" json:"id"` // id
Title *string `gorm:"default:''" json:"title"` // 字体名字
LinuxFontname *string `gorm:"default:''" json:"linux_fontname"` // linux对应字体名
FilePath *string `gorm:"default:''" json:"file_path"` // 字体文件路径
Sort *int64 `gorm:"default:0" json:"sort"` // 排序
}
type FsFontModel struct{ db *gorm.DB }
func NewFsFontModel(db *gorm.DB) *FsFontModel { return &FsFontModel{db} }

View File

@ -0,0 +1,21 @@
package gmodel
import (
"context"
)
// TODO: 使用model的属性做你想做的
func (m *FsFontModel) FindAllOrderSortByDesc(ctx context.Context) ([]*FsFont, error) {
var fonts []*FsFont
err := m.db.Model(&FsFont{}).Order("sort desc").Find(&fonts).Error
switch err {
case nil:
return fonts, nil
case ErrRecordNotFound:
return nil, nil
default:
return nil, err
}
}

View File

@ -0,0 +1,23 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_gerent 管理员表
type FsGerent struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // ID
Username *string `gorm:"unique_key;default:'';" json:"username"` // 用户名
AuthKey *string `gorm:"default:'';" json:"auth_key"` // token
PasswordHash *string `gorm:"default:'';" json:"password_hash"` // 加密密码
PasswordResetToken *string `gorm:"unique_key;default:'';" json:"password_reset_token"` //
Email *string `gorm:"unique_key;default:'';" json:"email"` // 邮箱
Status *int64 `gorm:"default:'10';" json:"status"` // 状态
CreatedAt *int64 `gorm:"default:'0';" json:"created_at"` // 创建时间
UpdatedAt *int64 `gorm:"default:'0';" json:"updated_at"` // 更新时间
Icon *string `gorm:"default:'';" json:"icon"` //
DepartmentId *int64 `gorm:"default:'0';" json:"department_id"` // 部门id
}
type FsGerentModel struct{ db *gorm.DB }
func NewFsGerentModel(db *gorm.DB) *FsGerentModel { return &FsGerentModel{db} }

View File

@ -0,0 +1,22 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_guest 游客表
type FsGuest struct {
GuestId uint64 `gorm:"primary_key;default:'0';" json:"guest_id"` // ID
AuthKey *string `gorm:"default:'';" json:"auth_key"` // jwt token
Status *uint64 `gorm:"index;default:'1';" json:"status"` // 1正常 0不正常
IsDel *int64 `gorm:"index;default:'0';" json:"is_del"` // 是否删除 1删除
CreatedAt *int64 `gorm:"index;default:'0';" json:"created_at"` // 添加时间
UpdatedAt *int64 `gorm:"default:'0';" json:"updated_at"` // 更新时间
IsOpenRender *int64 `gorm:"default:'0';" json:"is_open_render"` // 是否打开个性化渲染1开启0关闭
IsThousandFace *int64 `gorm:"default:'0';" json:"is_thousand_face"` // 是否已经存在千人千面1存在0不存在
IsLowRendering *int64 `gorm:"default:'0';" json:"is_low_rendering"` // 是否开启低渲染模型渲染
IsRemoveBg *int64 `gorm:"default:'1';" json:"is_remove_bg"` // 用户上传logo是否去除背景
}
type FsGuestModel struct{ db *gorm.DB }
func NewFsGuestModel(db *gorm.DB) *FsGuestModel { return &FsGuestModel{db} }

43
model/gmodel/fs_guest_logic.go Executable file
View File

@ -0,0 +1,43 @@
package gmodel
import (
"context"
"fusenapi/utils/auth"
"github.com/zeromicro/go-zero/core/logx"
"gorm.io/gorm"
"time"
)
func (m *FsGuestModel) GenerateGuestID(ctx context.Context, AccessSecret *string) (authKey string, err error) {
var record = &FsGuest{}
err = m.db.Create(record).Error
if err != nil {
logx.Error(err)
}
err = m.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error {
now := time.Now().Unix()
var record = &FsGuest{}
tx.Create(record)
authKey, err = auth.GenerateJwtToken(AccessSecret, now, 31536000, 0, int64(record.GuestId))
if err != nil {
logx.Error(err)
err = tx.Rollback().Error
if err != nil {
logx.Error(err)
}
return err
}
record.AuthKey = &authKey
record.CreatedAt = &now
tx.Updates(record)
return nil
})
if err != nil {
return "", err
}
return authKey, nil
}

View File

@ -0,0 +1,20 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_log 日志表
type FsLog struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` // ID
Action *string `gorm:"default:'';" json:"action"` // 执行的动作
Table *string `gorm:"default:'';" json:"table"` // 表明
DataChanged *string `gorm:"default:'';" json:"data_changed"` // 修改后的数据
DataOld *string `gorm:"default:'';" json:"data_old"` // 变动的数据
Ctime *uint64 `gorm:"default:'0';" json:"ctime"` // 添加时间
Uid *uint64 `gorm:"default:'0';" json:"uid"` // 操作人ID
Uname *string `gorm:"default:'';" json:"uname"` // 操作人名字
}
type FsLogModel struct{ db *gorm.DB }
func NewFsLogModel(db *gorm.DB) *FsLogModel { return &FsLogModel{db} }

View File

@ -0,0 +1,22 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsMapLibrary struct {
Id int64 `gorm:"primary_key" json:"id"` // Id
Title *string `gorm:"default:''" json:"title"` // 名称
Info *string `gorm:"default:''" json:"info"` // 贴图数据
Sort *int64 `gorm:"default:0" json:"sort"` // 排序
Status *int64 `gorm:"default:1" json:"status"` // 状态 1启用 0未启用
Ctime *int64 `gorm:"default:0" json:"ctime"` // 创建时间
TagId *int64 `gorm:"default:0" json:"tag_id"` // 模板标签id
}
type FsMapLibraryModel struct {
db *gorm.DB
}
func NewFsMapLibraryModel(db *gorm.DB) *FsMapLibraryModel {
return &FsMapLibraryModel{db}
}

View File

@ -0,0 +1,11 @@
package gmodel
import "context"
func (ml *FsMapLibraryModel) GetAllEnabledList(ctx context.Context) (resp []FsMapLibrary, err error) {
err = ml.db.WithContext(ctx).Model(&FsMapLibrary{}).Where("`status` = ?", 0).Find(&resp).Error
if err != nil {
return nil, err
}
return
}

View File

@ -0,0 +1,18 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_menu 后台菜单
type FsMenu struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // id
Name *string `gorm:"default:'';" json:"name"` // 菜单名
Parent *int64 `gorm:"index;default:'0';" json:"parent"` //
Route *string `gorm:"default:'';" json:"route"` //
Order *int64 `gorm:"default:'0';" json:"order"` //
Data *[]byte `gorm:"default:'';" json:"data"` // 其他信息(图标等)
}
type FsMenuModel struct{ db *gorm.DB }
func NewFsMenuModel(db *gorm.DB) *FsMenuModel { return &FsMenuModel{db} }

View File

@ -0,0 +1,14 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_migration 版本库
type FsMigration struct {
Version string `gorm:"primary_key;default:'';" json:"version"` // 版本信息
ApplyTime *int64 `gorm:"default:'0';" json:"apply_time"` //
}
type FsMigrationModel struct{ db *gorm.DB }
func NewFsMigrationModel(db *gorm.DB) *FsMigrationModel { return &FsMigrationModel{db} }

View File

@ -0,0 +1,22 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_order_affiliate 订单附属表-流程控制时间等
type FsOrderAffiliate struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` // id
OrderId *uint64 `gorm:"unique_key;default:'0';" json:"order_id"` // 订单id
SureTime *uint64 `gorm:"default:'0';" json:"sure_time"` // 确认时间
ProductTime *uint64 `gorm:"default:'0';" json:"product_time"` // 生产时间
ProductEndtime *uint64 `gorm:"default:'0';" json:"product_endtime"` // 生成完成时间
DeliverTime *uint64 `gorm:"default:'0';" json:"deliver_time"` // 发货时间
UpsDeliverTime *uint64 `gorm:"default:'0';" json:"ups_deliver_time"` // ups发货时间
UpsTime *uint64 `gorm:"default:'0';" json:"ups_time"` // UPS提货时间
ArrivalTime *uint64 `gorm:"default:'0';" json:"arrival_time"` // 到达云仓的时间
RecevieTime *uint64 `gorm:"default:'0';" json:"recevie_time"` // 云仓收货时间
}
type FsOrderAffiliateModel struct{ db *gorm.DB }
func NewFsOrderAffiliateModel(db *gorm.DB) *FsOrderAffiliateModel { return &FsOrderAffiliateModel{db} }

View File

@ -0,0 +1,39 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsOrderDetail struct {
Id int64 `gorm:"primary_key" json:"id"`
Sn *string `gorm:"default:''" json:"sn"` // 唯一编码
OrderId *int64 `gorm:"default:0" json:"order_id"` // 订单ID
UserId *int64 `gorm:"default:0" json:"user_id"` // 用户ID
FactoryId *int64 `gorm:"default:0" json:"factory_id"` // 工厂ID
OrderDetailTemplateId *int64 `gorm:"default:0" json:"order_detail_template_id"` // 详情templateID
ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品ID
BuyNum *int64 `gorm:"default:0" json:"buy_num"` // 购买数量
PushNum *int64 `gorm:"default:0" json:"push_num"` // 已发数量
Amount *int64 `gorm:"default:0" json:"amount"` // 单价
Cover *string `gorm:"default:''" json:"cover"` // 截图
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
Status *int64 `gorm:"default:0" json:"status"` // 状态位 是否推送到厂家 是否生产完成 是否发货完成
OptionalId *int64 `gorm:"default:0" json:"optional_id"` // 选项ID
OptionalTitle *string `gorm:"default:''" json:"optional_title"` // 选项名称
OptionPrice *int64 `gorm:"default:0" json:"option_price"` // 配件价格
IsTofactory *int64 `gorm:"default:0" json:"is_tofactory"` // 是否推送到工厂
IsProduct *int64 `gorm:"default:0" json:"is_product"` // 是否生产中
IsProductCompletion *int64 `gorm:"default:0" json:"is_product_completion"` // 是否生产完成
IsCloud *int64 `gorm:"default:0" json:"is_cloud"` // 是否是云仓订单
IsTocloud *int64 `gorm:"default:0" json:"is_tocloud"` // 是否已发云仓(云仓单要发货到云仓,直接发到用户的不需要发到云仓)
IsDeliver *int64 `gorm:"default:0" json:"is_deliver"` // 是否已发货
IsEnd *int64 `gorm:"default:0" json:"is_end"` // 是否完成订单(签收)
CartId *int64 `gorm:"default:0" json:"cart_id"` // 购物车编号
}
type FsOrderDetailModel struct {
db *gorm.DB
}
func NewFsOrderDetailModel(db *gorm.DB) *FsOrderDetailModel {
return &FsOrderDetailModel{db}
}

View File

@ -0,0 +1,13 @@
package gmodel
import (
"context"
)
func (od *FsOrderDetailModel) GetOrderDetailsByOrderId(ctx context.Context, orderId int64) (resp []FsOrderDetail, err error) {
err = od.db.WithContext(ctx).Model(&FsOrderDetail{}).Where("`order_id` = ?", orderId).Find(&resp).Error
if err != nil {
return nil, err
}
return
}

View File

@ -0,0 +1,26 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsOrderDetailTemplate struct {
Id int64 `gorm:"primary_key" json:"id"`
Sn *string `gorm:"default:''" json:"sn"` // 唯一编码
ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品ID
ModelId *int64 `gorm:"default:0" json:"model_id"` // 模型ID
TemplateId *int64 `gorm:"default:0" json:"template_id"` // 模板ID
MaterialId *int64 `gorm:"default:0" json:"material_id"` // 材质id
SizeId *int64 `gorm:"default:0" json:"size_id"` // 尺寸id
EachBoxNum *int64 `gorm:"default:0" json:"each_box_num"` // 每一箱的个数
EachBoxWeight *float64 `gorm:"default:0.00" json:"each_box_weight"` // 每一箱的重量 单位KG
DesignId *int64 `gorm:"default:0" json:"design_id"` // 设计ID
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
}
type FsOrderDetailTemplateModel struct {
db *gorm.DB
}
func NewFsOrderDetailTemplateModel(db *gorm.DB) *FsOrderDetailTemplateModel {
return &FsOrderDetailTemplateModel{db}
}

View File

@ -0,0 +1,16 @@
package gmodel
import (
"context"
)
func (dt *FsOrderDetailTemplateModel) GetListByIds(ctx context.Context, ids []int64) (resp []FsOrderDetailTemplate, err error) {
if len(ids) == 0 {
return
}
err = dt.db.WithContext(ctx).Model(&FsOrderDetailTemplate{}).Where("`id` in (?)", ids).Find(&resp).Error
if err != nil {
return nil, err
}
return
}

53
model/gmodel/fs_order_gen.go Executable file
View File

@ -0,0 +1,53 @@
package gmodel
import (
"time"
"gorm.io/gorm"
)
type FsOrder struct {
Id int64 `gorm:"primary_key" json:"id"`
Sn *string `gorm:"default:''" json:"sn"` // 订单编号 FS211224OL2XDKNP
UserId *int64 `gorm:"default:0" json:"user_id"` // 用户ID
SellerUserId *int64 `gorm:"default:0" json:"seller_user_id"` // 销售员ID 0:自主下单
TotalAmount *int64 `gorm:"default:0" json:"total_amount"` // 总价
PayedAmount *int64 `gorm:"default:0" json:"payed_amount"` // 已支付金额
PayMethod *int64 `gorm:"default:0" json:"pay_method"` // 支付方式 1paypal 2strip
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
Utime *int64 `gorm:"default:0" json:"utime"` // 更新时间
Ptime *int64 `gorm:"default:0" json:"ptime"` // 最后一次 支付时间(可能多次支付)
AddressId *int64 `gorm:"default:0" json:"address_id"` // 地址ID或者云仓ID
DeliveryMethod *int64 `gorm:"default:0" json:"delivery_method"` // 配送方式 1:直接发货到收获地址 2云仓
CustomerMark *string `gorm:"default:''" json:"customer_mark"` // 客户备注
Mark *string `gorm:"default:''" json:"mark"` // 后台订单备注
AddressInfo *string `gorm:"default:''" json:"address_info"` // 详细地址信息JSON
IsSup *int64 `gorm:"default:0" json:"is_sup"` // 0不是补货 1是补货
Status *int64 `gorm:"default:0" json:"status"` // 状态位0未支付1部分支付2支付完成3部分生产4部分生产完成5全部生产6全部生产完成7部分发货8发货完成9完成订单10取消订单11:退款中12退款完成13:订单已删除14:订单已关闭)
IsPartPay *int64 `gorm:"default:0" json:"is_part_pay"` // 是否部分支付01
IsPayCompleted *int64 `gorm:"default:0" json:"is_pay_completed"` // 是否支付完成01
IsPartProduct *int64 `gorm:"default:0" json:"is_part_product"` // 是否部分生产01
IsPartProductCompleted *int64 `gorm:"default:0" json:"is_part_product_completed"` // 是否部分生产完成01
IsAllProduct *int64 `gorm:"default:0" json:"is_all_product"` // 是否全部生产01
IsAllProductCompleted *int64 `gorm:"default:0" json:"is_all_product_completed"` // 是否全部生产完成01
IsPartDelivery *int64 `gorm:"default:0" json:"is_part_delivery"` // 是否部分发货01
IsDeliveryCompleted *int64 `gorm:"default:0" json:"is_delivery_completed"` // 是否发货完成01
IsComplated *int64 `gorm:"default:0" json:"is_complated"` // 是否完成订单01
IsCancel *int64 `gorm:"default:0" json:"is_cancel"` // 是否取消订单01
IsRefunding *int64 `gorm:"default:0" json:"is_refunding"` // 是否退款中01
IsRefunded *int64 `gorm:"default:0" json:"is_refunded"` // 是否退款完成01
IsDeleted *int64 `gorm:"default:0" json:"is_deleted"` // 是否删除01
RefundReasonId *int64 `gorm:"default:0" json:"refund_reason_id"` // 取消订单原因ID
RefundReason *string `gorm:"default:''" json:"refund_reason"` // 取消订单原因
TsTime *time.Time `gorm:"-" json:"ts_time"`
IsSure *int64 `gorm:"default:0" json:"is_sure"` // 是否确认订单 1确认0未确认
DeliverSn *string `gorm:"default:''" json:"deliver_sn"` // 发货单号
EmailTime *int64 `gorm:"default:0" json:"email_time"` // 邮件发送时间
}
type FsOrderModel struct {
db *gorm.DB
}
func NewFsOrderModel(db *gorm.DB) *FsOrderModel {
return &FsOrderModel{db}
}

18
model/gmodel/fs_order_logic.go Executable file
View File

@ -0,0 +1,18 @@
package gmodel
import (
"context"
"errors"
"gorm.io/gorm"
)
func (o *FsOrderModel) FindOneBySn(ctx context.Context, userId int64, sn string) (resp FsOrder, err error) {
err = o.db.WithContext(ctx).Model(&FsOrder{}).Where(" `user_id` = ? and `sn` = ? ", userId, sn).First(&resp).Error
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
return FsOrder{}, err
}
return resp, nil
}
func (o *FsOrderModel) Update(ctx context.Context, id int64, data FsOrder) error {
return o.db.WithContext(ctx).Model(&FsOrder{}).Where("`id` = ?", id).Updates(data).Error
}

View File

@ -0,0 +1,17 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_order_remark 订单备注表
type FsOrderRemark struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // id
OrderId *int64 `gorm:"index;default:'0';" json:"order_id"` // 订单id
Remark *string `gorm:"default:'';" json:"remark"` // 订单备注
AdminId *int64 `gorm:"default:'0';" json:"admin_id"` // 后台操作人员
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
}
type FsOrderRemarkModel struct{ db *gorm.DB }
func NewFsOrderRemarkModel(db *gorm.DB) *FsOrderRemarkModel { return &FsOrderRemarkModel{db} }

View File

@ -0,0 +1,27 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsPay struct {
Id int64 `gorm:"primary_key;" json:"id"`
UserId *int64 `gorm:"default:0" json:"user_id"` // 用户id
OrderNumber *string `gorm:"default:''" json:"order_number"` // 订单编号
TradeNo *string `gorm:"default:''" json:"trade_no"` // 第三方支付编号
PayAmount *int64 `gorm:"default:0" json:"pay_amount"` // 支付金额 (分)
PayStatus *int64 `gorm:"default:0" json:"pay_status"` // 支付状态 0 不成功 1 成功
IsRefund *int64 `gorm:"default:0" json:"is_refund"` // 是否退款 0 未退款 1退款
PaymentMethod *int64 `gorm:"default:0" json:"payment_method"` // 支付方式 1 stripe 2 paypal
PayStage *int64 `gorm:"default:0" json:"pay_stage"` // 支付阶段 1首付 2尾款
OrderSource *int64 `gorm:"default:1" json:"order_source"` // 订单来源 1pc
PayTime *int64 `gorm:"" json:"pay_time"` // 支付时间
CreatedAt *int64 `gorm:"default:0" json:"created_at"` // 创建时间
UpdatedAt *int64 `gorm:"default:0" json:"updated_at"` // 更新时间
CardNo *string `gorm:"default:''" json:"card_no"` // 卡后4位
Brand *string `gorm:"default:''" json:"brand"` // 银行品牌
}
type FsPayModel struct{ db *gorm.DB }
func NewFsPayModel(db *gorm.DB) *FsPayModel { return &FsPayModel{db} }

View File

@ -0,0 +1,18 @@
package gmodel
import "context"
func (p *FsPayModel) GetListByOrderNumber(ctx context.Context, sn string) (resp []FsPay, err error) {
err = p.db.WithContext(ctx).Model(&FsPay{}).Where("`order_number` = ? ", sn).Find(&resp).Error
if err != nil {
return nil, err
}
return resp, nil
}
func (p *FsPayModel) GetOrderPayList(ctx context.Context, sn string, payStatus int64, isRefund int64) (resp []FsPay, err error) {
err = p.db.WithContext(ctx).Model(&FsPay{}).Where("`order_number` = ? and `pay_status` = ? and `is_refund` = ?", sn, payStatus, isRefund).Find(&resp).Error
if err != nil {
return nil, err
}
return resp, nil
}

View File

@ -0,0 +1,38 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_product_copy1 产品表
type FsProductCopy1 struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` //
Sn *string `gorm:"unique_key;default:'';" json:"sn"` // 商品编号 P98f087j
Type *int64 `gorm:"default:'0';" json:"type"` // 分类ID
Title *string `gorm:"default:'';" json:"title"` // 名称
TitleCn *string `gorm:"default:'';" json:"title_cn"` // 中文名称
Cover *string `gorm:"default:'';" json:"cover"` // 封面图
Imgs *string `gorm:"default:'';" json:"imgs"` // 一个或多个介绍图或视频
Keywords *string `gorm:"default:'';" json:"keywords"` // 关键字
Intro *string `gorm:"default:'';" json:"intro"` // 简要描述
Sort *int64 `gorm:"default:'0';" json:"sort"` // 排序
SelledNum *int64 `gorm:"default:'0';" json:"selled_num"` // 已卖数量
Ctime *int64 `gorm:"default:'0';" json:"ctime"` //
View *int64 `gorm:"default:'0';" json:"view"` // 浏览量
SizeIds *string `gorm:"default:'';" json:"size_ids"` //
MaterialIds *string `gorm:"default:'';" json:"material_ids"` // 材质 1,2,3
TagIds *string `gorm:"default:'';" json:"tag_ids"` //
Status *int64 `gorm:"default:'0';" json:"status"` // 状态位 是否上架 是否推荐 是否热销 是否环保 是否可加入微波炉 是否刪除
ProduceDays *uint64 `gorm:"default:'0';" json:"produce_days"` // 生产天数
DeliveryDays *uint64 `gorm:"default:'0';" json:"delivery_days"` // 运送天数
CoverImg *string `gorm:"default:'';" json:"cover_img"` // 背景图
IsShelf *int64 `gorm:"default:'1';" json:"is_shelf"` // 是否上架
IsRecommend *int64 `gorm:"default:'1';" json:"is_recommend"` // 是否推荐
IsHot *int64 `gorm:"default:'1';" json:"is_hot"` // 是否热销
IsProtection *int64 `gorm:"default:'1';" json:"is_protection"` // 是否环保
IsMicrowave *int64 `gorm:"default:'1';" json:"is_microwave"` // 是否可微波炉
IsDel *int64 `gorm:"default:'0';" json:"is_del"` // 是否删除
}
type FsProductCopy1Model struct{ db *gorm.DB }
func NewFsProductCopy1Model(db *gorm.DB) *FsProductCopy1Model { return &FsProductCopy1Model{db} }

View File

@ -0,0 +1,28 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_product_design_gather
type FsProductDesignGather struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
Sn *string `gorm:"index;default:'';" json:"sn"` // 唯一标识
UserId *int64 `gorm:"index;default:'0';" json:"user_id"` //
ProductId *int64 `gorm:"index;default:'0';" json:"product_id"` // 产品ID
TemplateId *int64 `gorm:"index;default:'0';" json:"template_id"` // 模型ID
MaterialId *int64 `gorm:"index;default:'0';" json:"material_id"` // 材质ID
SizeId *int64 `gorm:"index;default:'0';" json:"size_id"` // 尺寸ID
OptionalId *int64 `gorm:"index;default:'0';" json:"optional_id"` // 选项ID
Cover *string `gorm:"default:'';" json:"cover"` //
Info *string `gorm:"default:'';" json:"info"` // 保留的设计信息
Utime *int64 `gorm:"default:'0';" json:"utime"` //
Status *int64 `gorm:"default:'1';" json:"status"` // 状态位1显示0删除
ClientIp *string `gorm:"default:'';" json:"client_ip"` // 客户端ip
ClientNo *string `gorm:"default:'';" json:"client_no"` // 客户端唯一标识
}
type FsProductDesignGatherModel struct{ db *gorm.DB }
func NewFsProductDesignGatherModel(db *gorm.DB) *FsProductDesignGatherModel {
return &FsProductDesignGatherModel{db}
}

View File

@ -0,0 +1,33 @@
package gmodel
import (
"time"
"gorm.io/gorm"
)
type FsProductDesign struct {
Id int64 `gorm:"primary_key" json:"id"`
Sn *string `gorm:"default:''" json:"sn"` // 唯一标识
UserId *int64 `gorm:"default:0" json:"user_id"` // 用户ID
ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品ID
TemplateId *int64 `gorm:"default:0" json:"template_id"` // 模型ID
MaterialId *int64 `gorm:"default:0" json:"material_id"` // 材质ID
SizeId *int64 `gorm:"default:0" json:"size_id"` // 尺寸ID
OptionalId *int64 `gorm:"default:0" json:"optional_id"` // 选项ID
Cover *string `gorm:"default:''" json:"cover"` // 封面图
Info *string `gorm:"default:''" json:"info"` // 保留的设计信息
Utime *time.Time `gorm:"-" json:"utime"` // 更新时间
Status *int64 `gorm:"default:1" json:"status"` // 状态
IsDel *int64 `gorm:"default:0" json:"is_del"` // 是否删除 0未删除 1删除
IsPay *int64 `gorm:"default:0" json:"is_pay"` // 是否已有支付 0 未 1 有
LogoColor *string `gorm:"default:''" json:"logo_color"` // logo图片备选项
PageGuid *string `gorm:"default:''" json:"page_guid"` // 页面识别id
}
type FsProductDesignModel struct {
db *gorm.DB
}
func NewFsProductDesignModel(db *gorm.DB) *FsProductDesignModel {
return &FsProductDesignModel{db}
}

View File

@ -0,0 +1,25 @@
package gmodel
import (
"context"
"errors"
"gorm.io/gorm"
)
func (d *FsProductDesignModel) FindOneBySn(ctx context.Context, sn string) (resp FsProductDesign, err error) {
err = d.db.WithContext(ctx).Model(&FsProductDesign{}).Where("`sn` = ? and `status` = ?", sn, 1).First(&resp).Error
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
return FsProductDesign{}, err
}
return resp, nil
}
func (d *FsProductDesignModel) GetAllByIds(ctx context.Context, ids []int64) (resp []FsProductDesign, err error) {
if len(ids) == 0 {
return
}
err = d.db.WithContext(ctx).Model(&FsProductDesign{}).Where("`id` in (?) and `status` = ?", ids, 1).Find(&resp).Error
if err != nil {
return nil, err
}
return
}

44
model/gmodel/fs_product_gen.go Executable file
View File

@ -0,0 +1,44 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsProduct struct {
Id int64 `gorm:"primary_key" json:"id"`
Sn *string `gorm:"default:''" json:"sn"` // 商品编号 P98f087j
Type *int64 `gorm:"default:0" json:"type"` // 分类ID
Title *string `gorm:"default:''" json:"title"` // 名称
TitleCn *string `gorm:"default:''" json:"title_cn"` // 中文名称
Cover *string `gorm:"default:''" json:"cover"` // 封面图
Imgs *string `gorm:"default:''" json:"imgs"` // 一个或多个介绍图或视频
Keywords *string `gorm:"default:''" json:"keywords"` // 关键字
Intro *string `gorm:"default:''" json:"intro"` // 简要描述
Sort *int64 `gorm:"default:0" json:"sort"` // 排序
SelledNum *int64 `gorm:"default:0" json:"selled_num"` // 已卖数量
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
View *int64 `gorm:"default:0" json:"view"` // 浏览量
SizeIds *string `gorm:"default:''" json:"size_ids"` // 尺寸 1,2,3,4
MaterialIds *string `gorm:"default:''" json:"material_ids"` // 材质 1,2,3
TagIds *string `gorm:"default:''" json:"tag_ids"` // 标签 逗号间隔
Status *int64 `gorm:"default:1" json:"status"` // 状态位 弃用
ProduceDays *int64 `gorm:"default:0" json:"produce_days"` // 生产天数
DeliveryDays *int64 `gorm:"default:0" json:"delivery_days"` // 运送天数
CoverImg *string `gorm:"default:''" json:"cover_img"` // 背景图
IsShelf *int64 `gorm:"default:1" json:"is_shelf"` // 是否上架
IsRecommend *int64 `gorm:"default:1" json:"is_recommend"` // 是否推荐
IsHot *int64 `gorm:"default:1" json:"is_hot"` // 是否热销
IsProtection *int64 `gorm:"default:1" json:"is_protection"` // 是否环保
IsMicrowave *int64 `gorm:"default:1" json:"is_microwave"` // 是否可微波炉
IsDel *int64 `gorm:"default:0" json:"is_del"` // 是否删除
RecommendProduct *string `gorm:"default:''" json:"recommend_product"` // 推荐产品id例如: 1,3,4,5
RecommendProductSort *string `gorm:"default:''" json:"recommend_product_sort"` // 推荐排序例如:1324
SceneIds *string `gorm:"default:''" json:"scene_ids"` // 关联的场景id
}
type FsProductModel struct {
db *gorm.DB
}
func NewFsProductModel(db *gorm.DB) *FsProductModel {
return &FsProductModel{db}
}

View File

@ -0,0 +1,47 @@
package gmodel
import "context"
func (p *FsProductModel) GetProductListByIds(ctx context.Context, productIds []int64, sort string) (resp []FsProduct, err error) {
if len(productIds) == 0 {
return
}
db := p.db.Model(&FsProduct{}).
Where("`id` in (?) and `is_del` =? and `is_shelf` = ? and `status` =?", productIds, 0, 1, 1)
switch sort {
case "sort-asc":
db = db.Order("`sort` ASC")
case "sort-desc":
db = db.Order("`sort` DESC")
}
if err = db.Find(&resp).Error; err != nil {
return nil, err
}
return
}
func (p *FsProductModel) GetProductListByTypeIds(ctx context.Context, productTypes []int64, sort string) (resp []FsProduct, err error) {
if len(productTypes) == 0 {
return
}
db := p.db.WithContext(ctx).Model(&FsProduct{}).Where("`type` in (?) and `is_del` =? and `is_shelf` = ? and `status` =?", productTypes, 0, 1, 1)
switch sort {
case "sort-asc":
db = db.Order("`sort` ASC")
case "sort-desc":
db = db.Order("`sort` DESC")
}
err = db.Find(&resp).Error
if err != nil {
return nil, err
}
return
}
func (p *FsProductModel) GetRandomProductList(ctx context.Context, limit int) (resp []FsProduct, err error) {
err = p.db.WithContext(ctx).Model(&FsProduct{}).
Where("`is_del` =? and `is_shelf` = ?", 0, 1).Order("RAND()").Limit(limit).Find(&resp).Error
if err != nil {
return nil, err
}
return
}

View File

@ -0,0 +1,33 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsProductModel3d struct {
Id int64 `gorm:"primary_key" json:"id"`
ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品ID
Tag *int64 `gorm:"default:1" json:"tag"` // 类别1模型2配件3场景
Title *string `gorm:"default:''" json:"title"` // 标题
Name *string `gorm:"default:''" json:"name"` // 详情页展示名称
ModelInfo *string `gorm:"default:''" json:"model_info"` // 模型详情
MaterialId *int64 `gorm:"default:0" json:"material_id"` // 材质ID
SizeId *int64 `gorm:"default:0" json:"size_id"` // 尺寸ID
Sort *int64 `gorm:"default:0" json:"sort"` // 排序
Light *int64 `gorm:"default:0" json:"light"` // 灯光组
LightList *string `gorm:"default:''" json:"light_list"` // 灯光备选项
PartId *int64 `gorm:"default:0" json:"part_id"` // 配件选项id配件就是模型的id
PartList *string `gorm:"default:''" json:"part_list"` // 配件备选项
Status *int64 `gorm:"default:1" json:"status"` // 状态位 1显示 0删除
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
OptionTemplate *int64 `gorm:"default:0" json:"option_template"` // 配件绑定的公共模板
Price *int64 `gorm:"default:0" json:"price"` // 仅配件用,配件的价格, 单位:美分
Sku *string `gorm:"default:''" json:"sku"` // sku
}
type FsProductModel3dModel struct {
db *gorm.DB
}
func NewFsProductModel3dModel(db *gorm.DB) *FsProductModel3dModel {
return &FsProductModel3dModel{db}
}

View File

@ -0,0 +1,18 @@
package gmodel
import "gorm.io/gorm"
type FsProductModel3dLight struct {
Id int64 `gorm:"primary_key" json:"id"`
Name *string `gorm:"default:''" json:"name"` // 灯光名称
Info *string `gorm:"default:''" json:"info"` // 灯光数据json格式
Status *int64 `gorm:"default:1" json:"status"` // 状态值1显示0删除
Ctime *int64 `gorm:"default:0" json:"ctime"` // 创建时间
}
type FsProductModel3dLightModel struct {
db *gorm.DB
}
func NewFsProductModel3dLightModel(db *gorm.DB) *FsProductModel3dLightModel {
return &FsProductModel3dLightModel{db}
}

View File

@ -0,0 +1 @@
package gmodel

View File

@ -0,0 +1,26 @@
package gmodel
import (
"context"
)
func (d *FsProductModel3dModel) GetAllByIds(ctx context.Context, ids []int64) (resp []FsProductModel3d, err error) {
if len(ids) == 0 {
return
}
err = d.db.WithContext(ctx).Model(&FsProductModel3d{}).Where("`id` in (?) and `status` = ?", ids, 1).Find(&resp).Error
if err != nil {
return nil, err
}
return
}
func (d *FsProductModel3dModel) GetAllByIdsTag(ctx context.Context, ids []int64, tag int64) (resp []FsProductModel3d, err error) {
if len(ids) == 0 {
return
}
err = d.db.WithContext(ctx).Model(&FsProductModel3d{}).Where("`id` in (?) and `status` = ? and `tag` = ?", ids, 1, tag).Find(&resp).Error
if err != nil {
return nil, err
}
return
}

View File

@ -0,0 +1,19 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_product_option 产品选项表(已废弃)
type FsProductOption struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` //
Title *string `gorm:"default:'';" json:"title"` // 名称
ProductId *int64 `gorm:"index;default:'0';" json:"product_id"` // 产品id
Price *int64 `gorm:"default:'0';" json:"price"` // 产品单价
SizeId *int64 `gorm:"index;default:'0';" json:"size_id"` // 尺寸id
Status *int64 `gorm:"default:'0';" json:"status"` // 状态值0:禁用1:启用)
Ctime *int64 `gorm:"default:'0';" json:"ctime"` //
}
type FsProductOptionModel struct{ db *gorm.DB }
func NewFsProductOptionModel(db *gorm.DB) *FsProductOptionModel { return &FsProductOptionModel{db} }

View File

@ -0,0 +1,28 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsProductPrice struct {
Id int64 `gorm:"primary_key" json:"id"`
Sn *string `gorm:"default:''" json:"sn"` // 唯一编码
Title *string `gorm:"default:''" json:"title"` // 标题描述
ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品ID
MaterialId *int64 `gorm:"default:0" json:"material_id"` // 材质ID
SizeId *int64 `gorm:"default:0" json:"size_id"` // 尺寸ID
EachBoxNum *int64 `gorm:"default:0" json:"each_box_num"` // 每一箱的个数
EachBoxWeight *float64 `gorm:"default:0" json:"each_box_weight"` // 每一箱的重量 单位KG
MinBuyNum *int64 `gorm:"default:0" json:"min_buy_num"` // 最少购买量
StepNum *string `gorm:"default:''" json:"step_num"` // 数量阶梯 eg:10,20,30
StepPrice *string `gorm:"default:''" json:"step_price"` // 价格阶梯 eg:100,50,25
Status *int64 `gorm:"default:1" json:"status"` // 是否可用
IsDefault *int64 `gorm:"default:0" json:"is_default"` // 是否默认
}
type FsProductPriceModel struct {
db *gorm.DB
}
func NewFsProductPriceModel(db *gorm.DB) *FsProductPriceModel {
return &FsProductPriceModel{db}
}

View File

@ -0,0 +1,72 @@
package gmodel
import (
"context"
"errors"
"gorm.io/gorm"
)
type GetPriceListByProductIdsRsp struct {
ProductId int64 `json:"product_id"`
Price string `json:"price"`
}
func (p *FsProductPriceModel) GetSimplePriceListByProductIds(ctx context.Context, productIds []int64) (resp []GetPriceListByProductIdsRsp, err error) {
if len(productIds) == 0 {
return nil, nil
}
db := p.db.WithContext(ctx).Model(&FsProductPrice{}).Select("product_id,group_concat(step_price) as price").
Where("`product_id` in (?) and `status` = ? group by product_id", productIds, 1)
if err = db.Find(&resp).Error; err != nil {
return nil, err
}
return
}
func (p *FsProductPriceModel) GetPriceListBySizeIds(ctx context.Context, sizeIds []int64) (resp []FsProductPrice, err error) {
if len(sizeIds) == 0 {
return
}
err = p.db.WithContext(ctx).Model(&FsProductPrice{}).Where("`size_id` in (?) and `status` = ? ", sizeIds, 1).Find(&resp).Error
if err != nil {
return nil, err
}
return
}
type FindOneProductPriceByParamsReq struct {
ProductId *int64
MaterialId *int64
SizeId *int64
Status *int64
}
func (p *FsProductPriceModel) FindOneProductPriceByParams(ctx context.Context, req FindOneProductPriceByParamsReq) (resp FsProductPrice, err error) {
db := p.db.WithContext(ctx).Model(&FsProductPrice{})
if req.ProductId != nil {
db = db.Where("`product_id` = ?", *req.ProductId)
}
if req.MaterialId != nil {
db = db.Where("`material_id` = ?", *req.MaterialId)
}
if req.SizeId != nil {
db = db.Where("`size_id` = ?", *req.SizeId)
}
if req.Status != nil {
db = db.Where("`status` = ?", *req.Status)
}
if err = db.First(&resp).Error; err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
return FsProductPrice{}, err
}
return resp, nil
}
func (p *FsProductPriceModel) GetPriceListByProductIds(ctx context.Context, productIds []int64) (resp []FsProductPrice, err error) {
if len(productIds) == 0 {
return nil, nil
}
db := p.db.WithContext(ctx).Model(&FsProductPrice{}).
Where("`product_id` in (?) and `status` = ?", productIds, 1)
if err = db.Find(&resp).Error; err != nil {
return nil, err
}
return
}

View File

@ -0,0 +1,29 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_product_render_design
type FsProductRenderDesign struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
Sn *string `gorm:"index;default:'';" json:"sn"` // 唯一标识
UserId *int64 `gorm:"index;default:'0';" json:"user_id"` //
ProductId *int64 `gorm:"index;default:'0';" json:"product_id"` // 产品ID
TemplateId *int64 `gorm:"index;default:'0';" json:"template_id"` // 模型ID
MaterialId *int64 `gorm:"index;default:'0';" json:"material_id"` // 材质ID
SizeId *int64 `gorm:"index;default:'0';" json:"size_id"` // 尺寸ID
OptionalId *int64 `gorm:"index;default:'0';" json:"optional_id"` // 选项ID
Cover *string `gorm:"default:'';" json:"cover"` //
Info *string `gorm:"default:'';" json:"info"` // 保留的设计信息
Utime *int64 `gorm:"default:'0';" json:"utime"` //
Status *int64 `gorm:"default:'1';" json:"status"` // 状态位1显示0删除
ClientIp *string `gorm:"default:'';" json:"client_ip"` // 客户端ip
ClientNo *string `gorm:"default:'';" json:"client_no"` // 客户端唯一标识
LogoColor *string `gorm:"default:'';" json:"logo_color"` // logo图片备选颜色
}
type FsProductRenderDesignModel struct{ db *gorm.DB }
func NewFsProductRenderDesignModel(db *gorm.DB) *FsProductRenderDesignModel {
return &FsProductRenderDesignModel{db}
}

View File

@ -0,0 +1,18 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_product_scene 产品场景表
type FsProductScene struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` // ID
Name *string `gorm:"default:'';" json:"name"` // 场景名
Info *string `gorm:"default:'';" json:"info"` // 场景详情
ModelIds *string `gorm:"default:'';" json:"model_ids"` // 该场景涉及的模型id
Status *int64 `gorm:"default:'0';" json:"status"` // 状态1正常
Ctime *uint64 `gorm:"default:'0';" json:"ctime"` // 添加时间
}
type FsProductSceneModel struct{ db *gorm.DB }
func NewFsProductSceneModel(db *gorm.DB) *FsProductSceneModel { return &FsProductSceneModel{db} }

View File

@ -0,0 +1,25 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsProductSize struct {
Id int64 `gorm:"primary_key" json:"id"`
ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品ID
Title *string `gorm:"default:''" json:"title"` // 标题 10*10*20
Cover *string `gorm:"default:''" json:"cover"` // 封面图
CoverImg *string `gorm:"default:''" json:"cover_img"` // 背景图
Capacity *string `gorm:"default:''" json:"capacity"` // 自己填的尺寸名称
Status *int64 `gorm:"default:1" json:"status"` // 状态位 1显示 0删除
Sort *int64 `gorm:"default:50" json:"sort"` // 排序
Remark *string `gorm:"default:''" json:"remark"` // 备注信息
PartsCanDeleted *int64 `gorm:"default:1" json:"parts_can_deleted"` // 配件是否可移除 1是0否
}
type FsProductSizeModel struct {
db *gorm.DB
}
func NewFsProductSizeModel(db *gorm.DB) *FsProductSizeModel {
return &FsProductSizeModel{db}
}

View File

@ -0,0 +1,43 @@
package gmodel
import (
"context"
)
func (s *FsProductSizeModel) GetAllByIds(ctx context.Context, ids []int64, sort string) (resp []FsProductSize, err error) {
if len(ids) == 0 {
return
}
db := s.db.Model(&FsProductSize{}).Where("`id` in (?) and `status` = ?", ids, 1)
switch sort {
case "sort-asc":
db = db.Order("`sort` ASC")
case "sort-desc":
db = db.Order("`sort` DESC")
}
if err = db.Find(&resp).Error; err != nil {
return nil, err
}
return
}
func (s *FsProductSizeModel) CountByStatus(ctx context.Context, status int) (total int64, err error) {
err = s.db.WithContext(ctx).Model(&FsProductSize{}).Where("`status` = ? limit 1", status).Count(&total).Error
if err != nil {
return 0, err
}
return
}
func (s *FsProductSizeModel) GetAllByProductIds(ctx context.Context, productIds []int64, sort string) (resp []FsProductSize, err error) {
db := s.db.WithContext(ctx).Model(&FsProductSize{}).Where("`product_id` in(?) and `status` = ?", productIds, 1)
switch sort {
case "sort-asc":
db = db.Order("`sort` ASC")
case "sort-desc":
db = db.Order("`sort` DESC")
}
err = db.Find(&resp).Error
if err != nil {
return nil, err
}
return
}

View File

@ -0,0 +1,19 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_product_template_basemap 模板底图表
type FsProductTemplateBasemap struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` // Id
Name *string `gorm:"default:'';" json:"name"` // 底图名称
Url *string `gorm:"default:'';" json:"url"` // 底图地址
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
Status *int64 `gorm:"default:'1';" json:"status"` // 状态值,1正常0删除
}
type FsProductTemplateBasemapModel struct{ db *gorm.DB }
func NewFsProductTemplateBasemapModel(db *gorm.DB) *FsProductTemplateBasemapModel {
return &FsProductTemplateBasemapModel{db}
}

View File

@ -0,0 +1,34 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_product_template_element 云渲染配置表
type FsProductTemplateElement struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` // id
Title *string `gorm:"default:'';" json:"title"` // 产品模板名称
ProductTemplateId *int64 `gorm:"index;default:'0';" json:"product_template_id"` // 产品模板id
Main *string `gorm:"default:'';" json:"main"` //
Second *string `gorm:"default:'';" json:"second"` //
Base *string `gorm:"default:'';" json:"base"` //
Paper *string `gorm:"default:'';" json:"paper"` //
Spoon *string `gorm:"default:'';" json:"spoon"` //
Fork *string `gorm:"default:'';" json:"fork"` //
Toothpick *string `gorm:"default:'';" json:"toothpick"` //
Chopsticks *string `gorm:"default:'';" json:"chopsticks"` //
Shadow *string `gorm:"default:'';" json:"shadow"` //
Cover *string `gorm:"default:'';" json:"cover"` //
Cover1 *string `gorm:"default:'';" json:"cover1"` //
Mode *string `gorm:"default:'';" json:"mode"` //
Light *int64 `gorm:"default:'0';" json:"light"` //
Rotation *string `gorm:"default:'';" json:"rotation"` //
Scale *string `gorm:"default:'';" json:"scale"` //
ModelP *string `gorm:"default:'';" json:"model_p"` // 配件对应的云渲染贴图数据
Refletion *string `gorm:"default:'';" json:"refletion"` // 反射探头组
}
type FsProductTemplateElementModel struct{ db *gorm.DB }
func NewFsProductTemplateElementModel(db *gorm.DB) *FsProductTemplateElementModel {
return &FsProductTemplateElementModel{db}
}

View File

@ -0,0 +1,25 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_product_template 产品模板表(已废弃)
type FsProductTemplate struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` //
ProductId *uint64 `gorm:"index;default:'0';" json:"product_id"` // 产品ID
Title *string `gorm:"default:'';" json:"title"` // 标题描述
Sort *uint64 `gorm:"default:'0';" json:"sort"` // 排序
Ctime *uint64 `gorm:"default:'0';" json:"ctime"` // 添加时间
ModelInfo *string `gorm:"default:'';" json:"model_info"` // 模型详情
MaterialId *uint64 `gorm:"default:'0';" json:"material_id"` // 材质ID
SizeId *uint64 `gorm:"default:'0';" json:"size_id"` // 尺寸ID
Status *uint64 `gorm:"default:'0';" json:"status"` // 状态位 显示 删除
LogoWidth *int64 `gorm:"default:'0';" json:"logo_width"` // logo图最大宽度
LogoHeight *int64 `gorm:"default:'0';" json:"logo_height"` // logo图最大高度
}
type FsProductTemplateModel struct{ db *gorm.DB }
func NewFsProductTemplateModel(db *gorm.DB) *FsProductTemplateModel {
return &FsProductTemplateModel{db}
}

View File

@ -0,0 +1,19 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsProductTemplateTags struct {
Id int64 `gorm:"primary_key" json:"id"` // ID
Title *string `gorm:"default:''" json:"title"` // 标题
Status *int64 `gorm:"default:1" json:"status"` // 状态 1可用 0不可用
CreateAt *int64 `gorm:"default:0" json:"create_at"` // 创建时间
}
type FsProductTemplateTagsModel struct {
db *gorm.DB
}
func NewFsProductTemplateTagsModel(db *gorm.DB) *FsProductTemplateTagsModel {
return &FsProductTemplateTagsModel{db}
}

View File

@ -0,0 +1,16 @@
package gmodel
import (
"context"
)
func (pt *FsProductTemplateTagsModel) GetListByIds(ctx context.Context, ids []int64) (resp []FsProductTemplateTags, err error) {
if len(ids) == 0 {
return
}
err = pt.db.WithContext(ctx).Model(&FsProductTemplateTags{}).Where("`id` in (?)", ids).Find(&resp).Error
if err != nil {
return nil, err
}
return
}

View File

@ -0,0 +1,31 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsProductTemplateV2 struct {
Id int64 `gorm:"primary_key" json:"id"`
ProductId *int64 `gorm:"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:1" json:"status"` // 状态1正常 2异常
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
Tag *string `gorm:"default:''" json:"tag"` // 标签(用户自填)
IsDel *int64 `gorm:"default:0" json:"is_del"` // 是否删除 1删除
}
type FsProductTemplateV2Model struct {
db *gorm.DB
}
func NewFsProductTemplateV2Model(db *gorm.DB) *FsProductTemplateV2Model {
return &FsProductTemplateV2Model{db}
}

View File

@ -0,0 +1,16 @@
package gmodel
import (
"context"
)
func (t *FsProductTemplateV2Model) FindAllByProductIds(ctx context.Context, productIds []int64) (resp []FsProductTemplateV2, err error) {
if len(productIds) == 0 {
return
}
err = t.db.WithContext(ctx).Model(&FsProductTemplateV2{}).Where("`id` in (?) and `is_del` = ? and `status` = ?", productIds, 0, 1).Find(&resp).Error
if err != nil {
return nil, err
}
return
}

View File

@ -0,0 +1,38 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_product_v2_tmp 产品表
type FsProductV2Tmp struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` //
Sn *string `gorm:"unique_key;default:'';" json:"sn"` // 商品编号 P98f087j
Type *int64 `gorm:"default:'0';" json:"type"` // 分类ID
Title *string `gorm:"default:'';" json:"title"` // 名称
TitleCn *string `gorm:"default:'';" json:"title_cn"` // 中文名称
Imgs *string `gorm:"default:'';" json:"imgs"` // 一个或多个介绍图或视频
Keywords *string `gorm:"default:'';" json:"keywords"` // 关键字
Intro *string `gorm:"default:'';" json:"intro"` // 简要描述
Sort *int64 `gorm:"default:'0';" json:"sort"` // 排序
SelledNum *int64 `gorm:"default:'0';" json:"selled_num"` // 已卖数量
Ctime *int64 `gorm:"default:'0';" json:"ctime"` //
View *int64 `gorm:"default:'0';" json:"view"` // 浏览量
SizeIds *string `gorm:"default:'';" json:"size_ids"` //
MaterialIds *string `gorm:"default:'';" json:"material_ids"` // 材质 1,2,3
TagIds *string `gorm:"default:'';" json:"tag_ids"` //
Status *int64 `gorm:"default:'0';" json:"status"` // 状态位 弃用
ProduceDays *uint64 `gorm:"default:'0';" json:"produce_days"` // 生产天数
DeliveryDays *uint64 `gorm:"default:'0';" json:"delivery_days"` // 运送天数
IsShelf *int64 `gorm:"default:'1';" json:"is_shelf"` // 是否上架
IsRecommend *int64 `gorm:"default:'1';" json:"is_recommend"` // 是否推荐
IsHot *int64 `gorm:"default:'1';" json:"is_hot"` // 是否热销
IsProtection *int64 `gorm:"default:'1';" json:"is_protection"` // 是否环保
IsMicrowave *int64 `gorm:"default:'1';" json:"is_microwave"` // 是否可微波炉
IsDel *int64 `gorm:"default:'0';" json:"is_del"` // 是否删除
RecommendProduct *string `gorm:"default:'';" json:"recommend_product"` //
RecommendProductSort *string `gorm:"default:'';" json:"recommend_product_sort"` //
}
type FsProductV2TmpModel struct{ db *gorm.DB }
func NewFsProductV2TmpModel(db *gorm.DB) *FsProductV2TmpModel { return &FsProductV2TmpModel{db} }

View File

@ -0,0 +1,21 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_qrcode
type FsQrcode struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` //
Title *string `gorm:"default:'';" json:"title"` // 名称
TagId *uint64 `gorm:"index;default:'0';" json:"tag_id"` // 用户id
ScanTimes *uint64 `gorm:"default:'0';" json:"scan_times"` // 扫码次数
CreateAt *uint64 `gorm:"default:'0';" json:"create_at"` // 添加时间
Link *string `gorm:"index;default:'';" json:"link"` // 跳转链接
SvgPath *string `gorm:"default:'';" json:"svg_path"` // svg地址
Status *uint64 `gorm:"default:'1';" json:"status"` // 状态1:正常 0下架
ProductId *int64 `gorm:"default:'0';" json:"product_id"` // 0
}
type FsQrcodeModel struct{ db *gorm.DB }
func NewFsQrcodeModel(db *gorm.DB) *FsQrcodeModel { return &FsQrcodeModel{db} }

View File

@ -0,0 +1,19 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_qrcode_log 二维码扫描日志
type FsQrcodeLog struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` // ID
Title *string `gorm:"default:'';" json:"title"` // 二维码名称
QrcodeId *uint64 `gorm:"default:'0';" json:"qrcode_id"` // 二维码ID
TagId *uint64 `gorm:"default:'0';" json:"tag_id"` // 分组ID
CreateAt *uint64 `gorm:"default:'0';" json:"create_at"` // 创建时间
Platform *string `gorm:"default:'';" json:"platform"` //
UserAgent *string `gorm:"default:'';" json:"user_agent"` //
}
type FsQrcodeLogModel struct{ db *gorm.DB }
func NewFsQrcodeLogModel(db *gorm.DB) *FsQrcodeLogModel { return &FsQrcodeLogModel{db} }

View File

@ -0,0 +1,27 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsQrcodeSet struct {
Id int64 `gorm:"primary_key" json:"id"` // id
Name *string `gorm:"default:''" json:"name"` // 二维码组件名称
Size *int64 `gorm:"default:0" json:"size"` // 二维码内容尺寸
IndexX *int64 `gorm:"default:0" json:"index_x"` // x偏移量
IndexY *int64 `gorm:"default:0" json:"index_y"` // y偏移量
SvgWebsite *string `gorm:"default:''" json:"svg_website"` // website d数据
SvgInstagram *string `gorm:"default:''" json:"svg_instagram"` // svg instagram d数据
SvgFacebook *string `gorm:"default:''" json:"svg_facebook"` // svg facebook d数据
Status *int64 `gorm:"default:1" json:"status"` // 状态 1正常 1删除
AdminId *int64 `gorm:"default:0" json:"admin_id"` // 操作人
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
Utime *int64 `gorm:"default:0" json:"utime"` // 更新时间
}
type FsQrcodeSetModel struct {
db *gorm.DB
}
func NewFsQrcodeSetModel(db *gorm.DB) *FsQrcodeSetModel {
return &FsQrcodeSetModel{db}
}

View File

@ -0,0 +1,22 @@
package gmodel
import (
"context"
"errors"
"gorm.io/gorm"
)
func (q *FsQrcodeSetModel) GetAll(ctx context.Context) (resp []FsQrcodeSet, err error) {
err = q.db.WithContext(ctx).Model(&FsQrcodeSet{}).Where("`status` = ?", 1).Find(&resp).Error
if err != nil {
return nil, err
}
return
}
func (q *FsQrcodeSetModel) FindOne(ctx context.Context, id int64) (resp FsQrcodeSet, err error) {
err = q.db.WithContext(ctx).Model(&FsQrcodeSet{}).Where("`id` = ?", id).First(&resp).Error
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
return FsQrcodeSet{}, err
}
return resp, nil
}

View File

@ -0,0 +1,16 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_qrcode_user 二维码-用户名表
type FsQrcodeUser struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // id
Name *string `gorm:"index;default:'';" json:"name"` // 用户名
Status *int64 `gorm:"default:'0';" json:"status"` // 状态 1正常0删除
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
}
type FsQrcodeUserModel struct{ db *gorm.DB }
func NewFsQrcodeUserModel(db *gorm.DB) *FsQrcodeUserModel { return &FsQrcodeUserModel{db} }

View File

@ -0,0 +1,26 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_quotation 报价单信息表
type FsQuotation struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // ID
CanteenName *string `gorm:"index;default:'';" json:"canteen_name"` // 餐厅名
CanteenType *int64 `gorm:"index;default:'0';" json:"canteen_type"` // 餐厅类别id
SalerId *int64 `gorm:"index;default:'0';" json:"saler_id"` // 业务员id
Cover *string `gorm:"default:'';" json:"cover"` // 合集图
PageNum *int64 `gorm:"default:'0';" json:"page_num"` // 页数
ProductNum *int64 `gorm:"default:'0';" json:"product_num"` // 产品数量
GiftNum *int64 `gorm:"default:'0';" json:"gift_num"` // 赠品数
Status *int64 `gorm:"default:'0';" json:"status"` // 状态位 0停用 1待设计 2设计中 3待报价 4报价中 5完成
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
DesignId *int64 `gorm:"default:'0';" json:"design_id"` // 设计人员
QuotationId *int64 `gorm:"default:'0';" json:"quotation_id"` // 报价人员
IsMark *int64 `gorm:"default:'0';" json:"is_mark"` // 星标
Qid *int64 `gorm:"default:'0';" json:"qid"` //
}
type FsQuotationModel struct{ db *gorm.DB }
func NewFsQuotationModel(db *gorm.DB) *FsQuotationModel { return &FsQuotationModel{db} }

View File

@ -0,0 +1,28 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_quotation_product 报价单产品表
type FsQuotationProduct struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // ID
QuotationId *int64 `gorm:"index;default:'0';" json:"quotation_id"` // 报价单id
Name *string `gorm:"default:'';" json:"name"` // 产品名
Size *string `gorm:"default:'';" json:"size"` // 产品规格
Cycle *int64 `gorm:"default:'0';" json:"cycle"` // 交付周期
IsGift *int64 `gorm:"default:'0';" json:"is_gift"` // 是否赠品
Img *string `gorm:"default:'';" json:"img"` // 效果图
Status *int64 `gorm:"default:'0';" json:"status"` // 状态位 1启用0停用
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
Sort *int64 `gorm:"default:'0';" json:"sort"` // 排序
Sid *string `gorm:"default:'';" json:"sid"` // 前端sid
PriceInfo *string `gorm:"default:'';" json:"price_info"` // 价格信息
Remark *string `gorm:"default:'';" json:"remark"` // 备注
Num *int64 `gorm:"default:'0';" json:"num"` // 产品数量
}
type FsQuotationProductModel struct{ db *gorm.DB }
func NewFsQuotationProductModel(db *gorm.DB) *FsQuotationProductModel {
return &FsQuotationProductModel{db}
}

View File

@ -0,0 +1,18 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_quotation_remark_template 报价单备注模板
type FsQuotationRemarkTemplate struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // ID
Content *string `gorm:"default:'';" json:"content"` //
Status *int64 `gorm:"default:'1';" json:"status"` // 状态 1启用0停用
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
}
type FsQuotationRemarkTemplateModel struct{ db *gorm.DB }
func NewFsQuotationRemarkTemplateModel(db *gorm.DB) *FsQuotationRemarkTemplateModel {
return &FsQuotationRemarkTemplateModel{db}
}

View File

@ -0,0 +1,18 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_quotation_saler 报价单业务员表
type FsQuotationSaler struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // ID
Name *string `gorm:"default:'';" json:"name"` // 业务员姓名
Phone *string `gorm:"default:'';" json:"phone"` // 联系电话
Email *string `gorm:"default:'';" json:"email"` // 联系邮箱
Status *int64 `gorm:"default:'0';" json:"status"` // 状态位 1启用0停用
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
}
type FsQuotationSalerModel struct{ db *gorm.DB }
func NewFsQuotationSalerModel(db *gorm.DB) *FsQuotationSalerModel { return &FsQuotationSalerModel{db} }

View File

@ -0,0 +1,22 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_refund_reason
type FsRefundReason struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` //
RefundReasonId *int64 `gorm:"index;default:'0';" json:"refund_reason_id"` // 退款原因id
RefundReason *string `gorm:"default:'';" json:"refund_reason"` // 退款原因
OrderId *int64 `gorm:"default:'0';" json:"order_id"` // 订单id
IsRefund *int64 `gorm:"default:'0';" json:"is_refund"` // 0未退款 1已退款
CreatedAt *int64 `gorm:"default:'0';" json:"created_at"` // 创建时间
IsHandle *int64 `gorm:"default:'0';" json:"is_handle"` // 是否处理(后台)
HandleRemark *string `gorm:"default:'';" json:"handle_remark"` // 处理结果
HandleUid *int64 `gorm:"default:'0';" json:"handle_uid"` // 处理人
HandleTime *int64 `gorm:"default:'0';" json:"handle_time"` // 处理时间
}
type FsRefundReasonModel struct{ db *gorm.DB }
func NewFsRefundReasonModel(db *gorm.DB) *FsRefundReasonModel { return &FsRefundReasonModel{db} }

View File

@ -0,0 +1,20 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsStandardLogo struct {
Id int64 `gorm:"primary_key" json:"id"` // ID
Name *string `gorm:"default:''" json:"name"` // logo名称
Image *string `gorm:"default:''" json:"image"` // 图片地址
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
Status *int64 `gorm:"default:1" json:"status"` // 状态 1正常 0删除
}
type FsStandardLogoModel struct {
db *gorm.DB
}
func NewFsStandardLogoModel(db *gorm.DB) *FsStandardLogoModel {
return &FsStandardLogoModel{db}
}

View File

@ -0,0 +1,13 @@
package gmodel
import (
"context"
)
func (l *FsStandardLogoModel) GetAll(ctx context.Context) (resp []FsStandardLogo, err error) {
err = l.db.WithContext(ctx).Model(&FsStandardLogo{}).Where("`status` = ? ", 1).Find(&resp).Error
if err != nil {
return nil, err
}
return
}

26
model/gmodel/fs_tags_gen.go Executable file
View File

@ -0,0 +1,26 @@
package gmodel
import (
"gorm.io/gorm"
)
type FsTags struct {
Id int64 `gorm:"primary_key" json:"id"` // ID
Title *string `gorm:"default:''" json:"title"` // 标题
Level *int64 `gorm:"default:0" json:"level"` // 层级、分类 1 => 二维码分类
ClickNum *int64 `gorm:"default:0" json:"click_num"` // 点击次数
Sort *int64 `gorm:"default:0" json:"sort"` // 排序(从大到小)
CreateAt *int64 `gorm:"default:0" json:"create_at"` // 创建时间
Icon *string `gorm:"default:''" json:"icon"` // 标签图标
Status *int64 `gorm:"default:1" json:"status"` // 状态 1可用
Description *string `gorm:"default:''" json:"description"` // 介绍 Seo
RecommendProduct *string `gorm:"default:''" json:"recommend_product"` // 推荐产品id例如: 1,3,4,5
RecommendProductSort *string `gorm:"default:''" json:"recommend_product_sort"` // 推荐排序例如:1324
}
type FsTagsModel struct {
db *gorm.DB
}
func NewFsTagsModel(db *gorm.DB) *FsTagsModel {
return &FsTagsModel{db}
}

32
model/gmodel/fs_tags_logic.go Executable file
View File

@ -0,0 +1,32 @@
package gmodel
import (
"context"
"errors"
"gorm.io/gorm"
)
func (t *FsTagsModel) FindOne(ctx context.Context, id int64) (resp FsTags, err error) {
err = t.db.WithContext(ctx).Model(&FsTags{}).Where("`id` = ? and `status` = ?", id, 1).First(&resp).Error
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
return FsTags{}, err
}
return resp, nil
}
func (t *FsTagsModel) GetAllByIds(ctx context.Context, ids []int64) (resp []FsTags, err error) {
if len(ids) == 0 {
return
}
err = t.db.WithContext(ctx).Model(&FsTags{}).Where("`id` in(?) and `status` = ?", ids, 1).Find(&resp).Error
if err != nil {
return nil, err
}
return
}
func (t *FsTagsModel) GetAllByLevel(ctx context.Context, level int) (resp []FsTags, err error) {
err = t.db.Model(&FsTags{}).Where("`level` = ? and `status` = ?", level, 1).Find(&resp).Error
if err != nil {
return nil, err
}
return
}

View File

@ -0,0 +1,21 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_tool_logs 3d设计工具日志表
type FsToolLogs struct {
Id int64 `gorm:"primary_key;default:'0';" json:"id"` // ID
ProductId *int64 `gorm:"default:'0';" json:"product_id"` // 产品id
Cover *string `gorm:"default:'';" json:"cover"` //
Img *string `gorm:"default:'';" json:"img"` //
ModelId *int64 `gorm:"default:'0';" json:"model_id"` // 模型id
PartId *int64 `gorm:"default:'0';" json:"part_id"` // 配件id
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
Uid *int64 `gorm:"index;default:'0';" json:"uid"` // 3d设计用户
Name *string `gorm:"default:'';" json:"name"` // 产品名称
}
type FsToolLogsModel struct{ db *gorm.DB }
func NewFsToolLogsModel(db *gorm.DB) *FsToolLogsModel { return &FsToolLogsModel{db} }

View File

@ -0,0 +1,22 @@
package gmodel
import (
"gorm.io/gorm"
)
// fs_tool_template 设计工具模板(废弃)
type FsToolTemplate struct {
Id uint64 `gorm:"primary_key;default:'0';" json:"id"` // ID
Tid *uint64 `gorm:"default:'0';" json:"tid"` // 类别ID
Name *string `gorm:"unique_key;default:'';" json:"name"` // 名称
Model *string `gorm:"default:'';" json:"model"` // 模板
Material *string `gorm:"default:'';" json:"material"` // 材质图
Aomap *string `gorm:"default:'';" json:"aoMap"` // ao材质图
Normalmap *string `gorm:"default:'';" json:"normalMap"` // 法线材质图
Roughnessmap *string `gorm:"default:'';" json:"roughnessMap"` // 粗糙材质图
Ctime *int64 `gorm:"default:'0';" json:"ctime"` // 添加时间
Status *int64 `gorm:"default:'0';" json:"status"` // 1正常 0禁用
}
type FsToolTemplateModel struct{ db *gorm.DB }
func NewFsToolTemplateModel(db *gorm.DB) *FsToolTemplateModel { return &FsToolTemplateModel{db} }

Some files were not shown because too many files have changed in this diff Show More