Documentation ¶
Index ¶
- func CalcFundingStatus(currentTime time.Time, endTime time.Time, currentPrice float64, ...) enums.FundingStatus
- func CancelOrderByOrderIds(orderIds []uint64) error
- func CloseDB()
- func CloseFailureOrder() error
- func DeleteAddressById(id uint64) error
- func DeleteAllCheckedCarts(userId uint64) error
- func DeleteCartById(id uint64) error
- func DeleteCartByUserIdAndPkgId(userId uint64, pkgId uint64) error
- func DeleteCommentsInfoById(id uint64) error
- func DeleteCommentsReplyById(id uint64) error
- func DeleteLicenseById(id uint64) error
- func DeleteOrderById(id uint64) error
- func DeleteProductById(id uint64) error
- func DeleteProductPackageById(id uint64) error
- func GetAllProductCountInfo() (resultModels.ProductCountInfo, error)
- func GetCartItemByUserIdAndPkgId(userId uint64, pkgId uint64) (resultModels.CartItem, error)
- func GetCartItems(userId uint64) ([]resultModels.CartItem, error)
- func GetCheckoutPkgInfoFromPkgId(pkgId uint64) (*resultModels.CheckoutPkgInfo, error)
- func GetComplaintOrders() ([]*resultModels.OrderListItem, error)
- func GetOrderListByOrderIds(orderIds []uint64, userId uint64, roleId int) ([]*resultModels.OrderListItem, error)
- func GetOrderListByUserId(form *forms.SellerGetOrderListForm, userId uint64, roleId int) (*resultModels.OrderList, error)
- func GetProductList(form forms.ProductListForm, verifyStatus int) (*resultModels.ProductList, error)
- func GetProductsRandByTypeAndNum(productType int, num int) ([]resultModels.ProductContent, error)
- func InitDB()
- func InsertAddress(address *Address) error
- func InsertCart(cart *Cart) error
- func InsertCommentsInfo(commentsInfo *CommentsInfo) error
- func InsertCommentsReply(commentsReply *CommentsReply) error
- func InsertLicense(license *License) error
- func InsertOrder(order *Order) error
- func InsertProduct(product *Product) error
- func InsertProductPackage(productPackage *ProductPackage) error
- func InsertUser(user *User) error
- func NewOrderFromForm(userId uint64, form *forms.NewOrderForm) ([]uint64, error)
- func PayOrderByOrderIdList(orderIds []uint64) error
- func RecoverDeletedOrder(orderId uint64) error
- func SendOutOrderById(form *forms.OrderSendOutForm, sellerId uint64) error
- func UpdateAddress(address *Address) error
- func UpdateAllCheckedStatus(userId uint64, checked bool) error
- func UpdateCart(cart *Cart) error
- func UpdateCartByUserIdAndPkgId(cart *Cart) error
- func UpdateCommentsInfo(commentsInfo *CommentsInfo) error
- func UpdateCommentsReply(commentsReply *CommentsReply) error
- func UpdateLicense(license *License) error
- func UpdateOrder(order *Order) error
- func UpdateOrderIncludeDeleted(order *Order) error
- func UpdateProduct(product *Product) error
- func UpdateProductPackage(productPackage *ProductPackage) error
- func UpdateUser(user *User) error
- type Address
- type BaseModel
- type Cart
- type CommentsInfo
- type CommentsReply
- type License
- type Order
- type Product
- func FindProductById(productId uint64) (*Product, error)
- func FindProductsByUserId(userId uint64) ([]*Product, error)
- func GetAllProduct() ([]*Product, error)
- func GetProductWithPkg(productId uint64) (*Product, error)
- func GetProductsByPageAndType(page int, pageSize int, productType int) ([]*Product, error)
- type ProductPackage
- type ProductType
- type ResultCommentInfo
- type ResultCommentReply
- type User
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 DeleteAddressById ¶
删除地址 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到
func DeleteCartById ¶
删除购物车条目 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到
func DeleteCartByUserIdAndPkgId ¶
根据用户 id 和 套餐 id 来删除对应购物车信息
func DeleteCommentsInfoById ¶
删除主评论条目 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到
func DeleteCommentsReplyById ¶
删除回复条目 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到
func DeleteLicenseById ¶
删除执照信息条目 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到
func DeleteOrderById ¶
删除订单 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到
func DeleteProductById ¶
删除产品条目 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到
func DeleteProductPackageById ¶
删除产品套餐条目 由于这里是软删除,所以只是把 delete_at 设置了一个值,实际上还存在数据库中,但并不能用 gorm 查到
func GetAllProductCountInfo ¶
func GetAllProductCountInfo() (resultModels.ProductCountInfo, error)
统计产品信息
func GetCartItemByUserIdAndPkgId ¶
func GetCartItemByUserIdAndPkgId(userId uint64, pkgId 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 NewOrderFromForm ¶
func NewOrderFromForm(userId uint64, form *forms.NewOrderForm) ([]uint64, error)
从表单信息新增订单
func PayOrderByOrderIdList ¶
根据订单 ID 列表来支付 订单支付,支付后需要 更新订单状态、产品增加众筹金额和人数、相应套餐减少库存增加支持人数 需要在事务中处理,错了一步就全部回退并返回错误信息
func RecoverDeletedOrder ¶
根据 order.ID 来更新其他相应的字段,包括软删除的
func SendOutOrderById ¶
func SendOutOrderById(form *forms.OrderSendOutForm, sellerId uint64) error
发货
func UpdateCartByUserIdAndPkgId ¶
根据用户 id 和 套餐 id 来更新对应的购物车条目信息
func UpdateCommentsInfo ¶
func UpdateCommentsInfo(commentsInfo *CommentsInfo) error
根据 commentsInfoID 来更新其他相应的字段
func UpdateCommentsReply ¶
func UpdateCommentsReply(commentsReply *CommentsReply) error
根据 commentsReplyID 来更新其他相应的字段
func UpdateOrderIncludeDeleted ¶
根据 order.ID 来更新其他相应的字段,包括软删除的
func UpdateProductPackage ¶
func UpdateProductPackage(productPackage *ProductPackage) error
根据 productPackageID 来更新其他相应的字段
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 FindAddressesByUserId ¶
根据用户 ID 来获取地址列表
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 FindCartByUserIdAndPkgId ¶
根据用户 id 和 套餐 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 ¶
根据执照信息的 ID 来获取执照信息条目
func GetLicenseByVerifyStatus ¶
根据审核状态获取执照列表
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 FindOrdersBySellerId ¶
根据卖家 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 FindProductsByUserId ¶
根据用户 ID 来获取产品列表
func GetProductWithPkg ¶
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"` //类型名称 }
产品类型
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 }
用户表