models

package
v0.0.0-...-dc73cdc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 1, 2021 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CalcFundingStatus

func CalcFundingStatus(currentTime time.Time, endTime time.Time,
	currentPrice float64, targetPrice float64) enums.FundingStatus

计算众筹状态

func CancelOrderByOrderIds

func CancelOrderByOrderIds(orderIds []uint64) error

根据订单 ID 数组 取消订单

func CloseDB

func CloseDB()

func CloseFailureOrder

func CloseFailureOrder() error

关闭众筹失败的订单

func DeleteAddressById

func DeleteAddressById(id uint64) error

删除地址 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到

func DeleteAllCheckedCarts

func DeleteAllCheckedCarts(userId uint64) error

删除所有选中项

func DeleteCartById

func DeleteCartById(id uint64) error

删除购物车条目 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到

func DeleteCartByUserIdAndPkgId

func DeleteCartByUserIdAndPkgId(userId uint64, pkgId uint64) error

根据用户 id 和 套餐 id 来删除对应购物车信息

func DeleteCommentsInfoById

func DeleteCommentsInfoById(id uint64) error

删除主评论条目 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到

func DeleteCommentsReplyById

func DeleteCommentsReplyById(id uint64) error

删除回复条目 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到

func DeleteLicenseById

func DeleteLicenseById(id uint64) error

删除执照信息条目 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到

func DeleteOrderById

func DeleteOrderById(id uint64) error

删除订单 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到

func DeleteProductById

func DeleteProductById(id uint64) error

删除产品条目 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到

func DeleteProductPackageById

func DeleteProductPackageById(id uint64) error

删除产品套餐条目 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到

func GetAllProductCountInfo

func GetAllProductCountInfo() (resultModels.ProductCountInfo, error)

统计产品信息

func GetCartItemByUserIdAndPkgId

func GetCartItemByUserIdAndPkgId(userId uint64, pkgId uint64) (resultModels.CartItem, error)

返回购物车列表项目

func GetCartItems

func GetCartItems(userId uint64) ([]resultModels.CartItem, error)

返回购物车列表

func GetCheckoutPkgInfoFromPkgId

func GetCheckoutPkgInfoFromPkgId(pkgId uint64) (*resultModels.CheckoutPkgInfo, error)

从套餐 ID 获取所需的结算信息

func GetComplaintOrders

func GetComplaintOrders() ([]*resultModels.OrderListItem, error)

获取所有有投诉的订单

func GetOrderListByOrderIds

func GetOrderListByOrderIds(orderIds []uint64, userId uint64, roleId int) ([]*resultModels.OrderListItem, error)

根据订单id列表和用户 Id 查询订单信息

func GetOrderListByUserId

func GetOrderListByUserId(form *forms.SellerGetOrderListForm, userId uint64, roleId int) (*resultModels.OrderList, error)

根据页码和用户信息获取订单

func GetProductList

func GetProductList(form forms.ProductListForm, verifyStatus int) (*resultModels.ProductList, error)

根据页码等信息获取产品列表

func GetProductsRandByTypeAndNum

func GetProductsRandByTypeAndNum(productType int, num int) ([]resultModels.ProductContent, error)

根据类型随机获取指定数量的产品 ProductContent

func InitDB

func InitDB()

func InsertAddress

func InsertAddress(address *Address) error

新增地址

func InsertCart

func InsertCart(cart *Cart) error

新增购物车

func InsertCommentsInfo

func InsertCommentsInfo(commentsInfo *CommentsInfo) error

新增主评论

func InsertCommentsReply

func InsertCommentsReply(commentsReply *CommentsReply) error

新增回复

func InsertLicense

func InsertLicense(license *License) error

新增执照信息

func InsertOrder

func InsertOrder(order *Order) error

新增订单

func InsertProduct

func InsertProduct(product *Product) error

新增产品

func InsertProductPackage

func InsertProductPackage(productPackage *ProductPackage) error

新增产品套餐

func InsertUser

func InsertUser(user *User) error

插入一条新的用户信息

func NewOrderFromForm

func NewOrderFromForm(userId uint64, form *forms.NewOrderForm) ([]uint64, error)

从表单信息新增订单

func PayOrderByOrderIdList

func PayOrderByOrderIdList(orderIds []uint64) error

根据订单 ID 列表来支付 订单支付,支付后需要 更新订单状态、产品增加众筹金额和人数、相应套餐减少库存增加支持人数 需要在事务中处理,错了一步就全部回退并返回错误信息

func RecoverDeletedOrder

func RecoverDeletedOrder(orderId uint64) error

根据 order.ID 来更新其他相应的字段,包括软删除的

func SendOutOrderById

func SendOutOrderById(form *forms.OrderSendOutForm, sellerId uint64) error

发货

func UpdateAddress

func UpdateAddress(address *Address) error

根据 address.ID 来更新其他相应的字段

func UpdateAllCheckedStatus

func UpdateAllCheckedStatus(userId uint64, checked bool) error

全选/全不选

func UpdateCart

func UpdateCart(cart *Cart) error

根据 cartID 来更新其他相应的字段

func UpdateCartByUserIdAndPkgId

func UpdateCartByUserIdAndPkgId(cart *Cart) error

根据用户 id 和 套餐 id 来更新对应的购物车条目信息

func UpdateCommentsInfo

func UpdateCommentsInfo(commentsInfo *CommentsInfo) error

根据 commentsInfoID 来更新其他相应的字段

func UpdateCommentsReply

func UpdateCommentsReply(commentsReply *CommentsReply) error

根据 commentsReplyID 来更新其他相应的字段

func UpdateLicense

func UpdateLicense(license *License) error

根据 licenseID 来更新其他相应的字段

func UpdateOrder

func UpdateOrder(order *Order) error

根据 order.ID 来更新其他相应的字段

func UpdateOrderIncludeDeleted

func UpdateOrderIncludeDeleted(order *Order) error

根据 order.ID 来更新其他相应的字段,包括软删除的

func UpdateProduct

func UpdateProduct(product *Product) error

根据 productID 来更新其他相应的字段

func UpdateProductPackage

func UpdateProductPackage(productPackage *ProductPackage) error

根据 productPackageID 来更新其他相应的字段

func UpdateUser

func UpdateUser(user *User) error

根据 User.ID 来更新其他相应的字段

Types

type Address

type Address struct {
	BaseModel
	UserId  uint64 `json:"user_id"`
	Name    string `json:"name"`
	Address string `json:"address"`
	Phone   string `json:"phone"`
}

func FindAddressById

func FindAddressById(addressId uint64) (*Address, error)

根据地址的 ID 来获取地址

func FindAddressesByUserId

func FindAddressesByUserId(userId uint64) ([]*Address, error)

根据用户 ID 来获取地址列表

type BaseModel

type BaseModel struct {
	ID        uint64     `json:"id" gorm:"primary_key"`
	CreatedAt time.Time  `json:"created_at"`
	UpdatedAt time.Time  `json:"updated_at"`
	DeletedAt *time.Time `sql:"index" json:"deleted_at"`
}

type Cart

type Cart struct {
	BaseModel
	UserId           uint64 `json:"user_id"`            // 用户ID
	ProductPackageId uint64 `json:"product_package_id"` // 套餐ID
	Nums             int    `json:"nums"`               // 购买数量
	Checked          bool   `json:"checked"`            // 是否勾选
}

购物车相关

func FindCartById

func FindCartById(cartId uint64) (*Cart, error)

根据购物车的 ID 来获取购物车条目

func FindCartByUserIdAndPkgId

func FindCartByUserIdAndPkgId(userId uint64, pkgId uint64) (*Cart, error)

根据用户 id 和 套餐 id 来获取对应的购物车条目信息(用于添加到购物差时检查是否已存在)

func FindCartsByUserId

func FindCartsByUserId(userId uint64) ([]*Cart, error)

根据用户 ID 来获取购物车列表

type CommentsInfo

type CommentsInfo struct {
	BaseModel
	ProductId uint64 `json:"product_id"` // 产品 ID
	UserId    uint64 `json:"user_id"`    // 用户 ID
	IsSeller  bool   `json:"is_seller"`  // 是否是对应卖家
	Content   string `json:"content"`    // 评论内容
}

主评论表

func FindCommentsInfoById

func FindCommentsInfoById(commentsInfoId uint64) (*CommentsInfo, error)

根据主评论的 ID 来获取主评论条目

func FindCommentsInfosByProductId

func FindCommentsInfosByProductId(productId uint64) ([]*CommentsInfo, error)

根据产品 ID 来获取主评论列表

func FindCommentsInfosByUserId

func FindCommentsInfosByUserId(userId uint64) ([]*CommentsInfo, error)

根据用户 ID 来获取主评论列表

type CommentsReply

type CommentsReply struct {
	BaseModel
	CommentId uint64 `json:"comment_id"` // 产品 ID
	UserId    uint64 `json:"user_id"`    // 用户 ID
	IsSeller  bool   `json:"is_seller"`  // 是否是对应卖家
	Content   string `json:"content"`    // 评论内容
}

评论回复表

func FindCommentsReplyById

func FindCommentsReplyById(commentsReplyId uint64) (*CommentsReply, error)

根据回复的 ID 来获取回复条目

func FindCommentsReplysByCommentId

func FindCommentsReplysByCommentId(commentId uint64) ([]*CommentsReply, error)

根据主评论 ID 来获取回复列表

func FindCommentsReplysByUserId

func FindCommentsReplysByUserId(userId uint64) ([]*CommentsReply, error)

根据用户 ID 来获取回复列表

func (CommentsReply) TableName

func (CommentsReply) TableName() string

由于 CommentsReply 对应的数据库表命名为 comments_replys 不是标准的英文复数形式,不符合 Gorm 的约定 所以这里要对 CommentsReply 对应的表名进行声明

type License

type License struct {
	BaseModel
	UserId          uint64 `json:"user_id"`                        // 用户ID
	CompanyName     string `json:"company_name"`                   // 公司名
	Description     string `json:"description"`                    // 公司描述
	Address         string `json:"address"`                        // 联系地址
	Phone           string `json:"phone"`                          // 联系电话
	LicenseImageUrl string `json:"license_image_url"`              // 营业执照照片地址
	VerifyStatus    int    `json:"verify_status" gorm:"default:3"` //审核状态(1:已通过 2:待审核 3:待提交(默认) 4:未通过 )
	VerifyMessage   string `json:"verify_message"`                 // 审核消息(审核不通过时显示)
}

执照信息 对应 licenses 表

func FindLicenseById

func FindLicenseById(licenseId uint64) (*License, error)

根据执照信息的 ID 来获取执照信息条目

func FindLicensesByUserId

func FindLicensesByUserId(userId uint64) (License, error)

根据用户 ID 来获取

func GetAllLicense

func GetAllLicense() ([]*License, error)

获取全部执照信息

func GetLicenseByVerifyStatus

func GetLicenseByVerifyStatus(verifyStatus int) ([]*License, error)

根据审核状态获取执照列表

type Order

type Order struct {
	BaseModel
	BuyerId          uint64            `json:"buyer_id"`           // 买家 Id
	Name             string            `json:"name"`               // 收件人姓名
	Address          string            `json:"address"`            // 收件人地址
	Phone            string            `json:"phone"`              // 收件人电话
	SellerId         uint64            `json:"seller_id"`          // 卖家 Id
	ProductId        uint64            `json:"product_id"`         // 产品 Id
	ProductPackageId uint64            `json:"product_package_id"` // 套餐 Id
	Nums             int               `json:"nums"`               // 购买数量
	UnitPrice        float64           `json:"unit_price"`         // 单价
	TotalPrice       float64           `json:"total_price"`        // 总价
	Status           enums.OrderStatus `json:"status"`             // 订单状态
	CheckingNumber   string            `json:"checking_number"`    // 物流单号
	RefundReason     string            `json:"refund_reason"`      // 申请退款原因
	ComplaintReason  string            `json:"complaint_reason"`   // 投诉原因
	LastStatus       enums.OrderStatus `json:"last_status"`        // 上次状态(申请退款之前的订单状态),用于拒绝退款后恢复
	PaidAt           *time.Time        `json:"paid_at"`            // 支付时间
	CloseAt          *time.Time        `json:"close_at"`           // 关闭时间
	FinishedAt       *time.Time        `json:"finished_at"`        // 交易成功时间
}

订单

func FindAllOrderIncludeDeleted

func FindAllOrderIncludeDeleted() ([]*Order, error)

获取所有订单,包括软删除的

func FindOrderById

func FindOrderById(orderId uint64) (*Order, error)

根据订单的 ID 来获取订单

func FindOrdersBySellerId

func FindOrdersBySellerId(seller uint64) ([]*Order, error)

根据卖家 ID 来获取订单列表

func FindOrdersByUserId

func FindOrdersByUserId(userId uint64) ([]*Order, error)

根据用户 ID 来获取订单列表

type Product

type Product struct {
	BaseModel
	Name            string              `json:"name"`                           //产品名
	BigImg          string              `json:"big_img"`                        //顶部大图
	SmallImg        string              `json:"small_img"`                      //列表小图
	UserId          uint64              `json:"user_id"`                        //发布者ID
	ProductType     int                 `json:"product_type"`                   //产品类型
	CurrentPrice    float64             `json:"current_price"`                  //当前筹集金额
	TargetPrice     float64             `json:"target_price"`                   //目标筹集金额
	VerifyStatus    int                 `json:"verify_status" gorm:"default:3"` //审核状态(1:已通过 2:待审核 3:待提交(默认) 4:未通过 )
	VerifyMessage   string              `json:"verify_message"`                 //审核消息(审核失败的原因)
	FundingStatus   enums.FundingStatus `json:"funding_status"  gorm:"-"`       //众筹状态 TODO:(现在这个字段数据库里还没有)
	Backers         int                 `json:"backers"`                        //支持人数
	EndTime         time.Time           `json:"end_time"`                       //截止时间
	DetailHtml      string              `json:"detail_html"`                    //介绍页详情 Html
	ProductPackages []ProductPackage    `json:"product_packages"`               //商品套餐
}

产品

func FindProductById

func FindProductById(productId uint64) (*Product, error)

根据产品的 ID 来获取产品条目

func FindProductsByUserId

func FindProductsByUserId(userId uint64) ([]*Product, error)

根据用户 ID 来获取产品列表

func GetAllProduct

func GetAllProduct() ([]*Product, error)

获取全部产品

func GetProductWithPkg

func GetProductWithPkg(productId uint64) (*Product, error)

func GetProductsByPageAndType

func GetProductsByPageAndType(page int, pageSize int, productType int) ([]*Product, error)

根据 分页 和 产品类型(0 为全部) 获取产品

type ProductPackage

type ProductPackage struct {
	BaseModel
	ProductId   uint64  `json:"product_id"`   //对应产品 Id
	Description string  `json:"description"`  //套餐描述
	ImageUrl    string  `json:"image_url"`    //图片链接
	Price       float64 `json:"price"`        //套餐价格
	Stock       int64   `json:"stock"`        //剩余库存
	Total       int64   `json:"total"`        //套餐总数
	Backers     int     `json:"backers"`      //支持人数
	Freight     float64 `json:"freight"`      //运费
	DeliveryDay int64   `json:"delivery_day"` //发货时间 (众筹成功后多少天内)
}

产品套餐

func FindProductPackageById

func FindProductPackageById(productPackageId uint64) (*ProductPackage, error)

根据产品套餐的 ID 来获取产品套餐条目

func FindProductPackagesByProductId

func FindProductPackagesByProductId(productId uint64) ([]*ProductPackage, error)

根据产品 ID 来获取产品套餐列表

func FindProductPackagesByUserId

func FindProductPackagesByUserId(userId uint64) ([]*ProductPackage, error)

根据用户 ID 来获取产品套餐列表

type ProductType

type ProductType struct {
	ID   int    `json:"id" gorm:"primary_key"` //类型 id
	Name string `json:"name"`                  //类型名称
}

产品类型

func GetProductTypeList

func GetProductTypeList() ([]ProductType, error)

获取产品类型列表

type ResultCommentInfo

type ResultCommentInfo struct {
	ID        uint64               `json:"id" gorm:"primary_key"`
	ProductId uint64               `json:"product_id"` // 产品 ID
	UserId    uint64               `json:"user_id"`    // 用户 ID
	IsSeller  bool                 `json:"is_seller"`  // 是否是对应卖家
	Content   string               `json:"content"`    // 评论内容
	CreatedAt time.Time            `json:"created_at"` // 创建时间
	Username  string               `json:"username"`   // 账号
	Nickname  string               `json:"nickname"`   // 昵称
	IconUrl   string               `json:"icon_url"`   // 用户头像
	Replys    []ResultCommentReply `json:"replys"`     // 回复信息
}

返回给前端的评论信息

func GetResultCommentInfosByProductId

func GetResultCommentInfosByProductId(form *forms.CommentListByProductForm) ([]ResultCommentInfo, error)

获取回复列表

type ResultCommentReply

type ResultCommentReply struct {
	ID        uint64    `json:"id" gorm:"primary_key"`
	CommentId uint64    `json:"comment_id"` // 产品 ID
	UserId    uint64    `json:"user_id"`    // 用户 ID
	IsSeller  bool      `json:"is_seller"`  // 是否是对应卖家
	Content   string    `json:"content"`    // 评论内容
	CreatedAt time.Time `json:"created_at"` // 创建时间
	Username  string    `json:"username"`   // 账号
	Nickname  string    `json:"nickname"`   // 昵称
	IconUrl   string    `json:"icon_url"`   // 用户头像
}

返回给前端的回复信息

func GetResultCommentReplaysByCommentId

func GetResultCommentReplaysByCommentId(commentId uint64) ([]ResultCommentReply, error)

type User

type User struct {
	BaseModel
	Username         string `json:"username"`                  //账号
	Password         string `json:"-"`                         //密码 这里 tag 设置为 - ,保证其永远不会被解析为 Json
	Nickname         string `json:"nickname"`                  //昵称
	Email            string `json:"email"`                     //邮箱
	Phone            string `json:"phone"`                     //手机号
	RoleId           int    `json:"role_id"  gorm:"default:0"` //角色  ( 0:普通用户(默认) )
	PersonId         int    `json:"person_id"`                 //身份证
	IconUrl          string `json:"icon_url"`                  //头像
	DefaultAddressId uint64 `json:"default_address_id"`        //默认地址
	LicenseId        string `json:"license_id"`                //执照信息 id
}

用户表

func FindUserById

func FindUserById(id uint64) (*User, error)

查找用户信息

func FindUserByUsername

func FindUserByUsername(username string) (*User, error)

根据账号查找用户信息

func GetUsersByRoleId

func GetUsersByRoleId(roleId int) ([]User, error)

根据角色类型获取角色信息列表

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL