1.新增"首页分类"相关接口;

2.小程序商城订单支付改成门店号改为"200001";
This commit is contained in:
chenlin 2025-01-03 16:40:54 +08:00
parent b38b049e8d
commit ffed1465d3
10 changed files with 2196 additions and 8 deletions

View File

@ -29,11 +29,68 @@ import (
wechatpayutils "github.com/wechatpay-apiv3/wechatpay-go/utils"
)
// HomeCategoryList 首页分类列表
// @Summary 首页分类列表
// @Tags 首页分类, V1.4.5
// @Produce json
// @Accept json
// @Success 200 {object} model.HomeCategoryListResp
// @Router /api/v1/game_card/home/list [get]
func HomeCategoryList(c *gin.Context) {
categoryList, err := model.GetHomeGameCardList()
if err != nil {
logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
RespOK(c, categoryList)
}
func NewGameCardList(c *gin.Context) {
req := struct {
Page int `json:"cur_page"`
PageSize int `json:"page_size"`
SortType int `json:"sort_type"` // 首页排序类型对应首页分类ID
GameTypeIds []uint64 `json:"game_type_id"` // 游戏类型id
StoreId uint32 `json:"store_id"`
}{
Page: 1,
PageSize: 10,
}
if c.ShouldBindJSON(&req) != nil {
logger.Error("para err")
RespJson(c, status.BadRequest, nil)
return
}
uc := auth.GetCurrentUser(c)
if uc == nil {
uc = &auth.UserClaims{Uid: 0}
}
fmt.Println("游戏类型:GameTypeIds:", req.GameTypeIds)
cardList, totalPage, err := model.NewGetGameCardList(req.SortType, req.Page, req.PageSize,
req.GameTypeIds, req.StoreId, uc.Uid)
if err != nil {
logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
ret := map[string]interface{}{
"card_list": cardList,
"cur_page": req.Page,
"total_page": totalPage,
}
RespOK(c, ret)
}
func GameCardList(c *gin.Context) {
req := struct {
Page int `json:"cur_page"`
PageSize int `json:"page_size"`
SortType int `json:"sort_type"` // 排序类型 1-默认 2-新品 3-销量 4-价格 大到小 5-价格 小到大
SortType int `json:"sort_type"` // 排序类型 1-默认 2-新品 3-热门(销量 4-价格 大到小 5-价格 小到大
GameTypeIds []uint64 `json:"game_type_id"` // 游戏类型id
StoreId uint32 `json:"store_id"`
}{

View File

@ -450,7 +450,7 @@ func MallOrderCreate(c *gin.Context) {
return
}
webPay, err := wxpay.HmJsPayUnifiedOrder(order.SerialNo, order.Rm, user.WxOpenID, configInfo.NotifyUrl)
webPay, err := wxpay.HmJsPayUnifiedOrderForBuyGoods(order.SerialNo, order.Rm, user.WxOpenID, configInfo.NotifyUrl)
if err != nil {
logger.Error(errors.New("WebPay err"))
RespJson(c, status.InternalServerError, nil)

54
go.mod
View File

@ -1,6 +1,6 @@
module mh-server
go 1.16
go 1.19
require (
github.com/aliyun/aliyun-sts-go-sdk v0.0.0-20171106034748-98d3903a2309
@ -10,20 +10,66 @@ require (
github.com/gin-gonic/gin v1.7.1
github.com/holdno/snowFlakeByGo v0.0.0-20180510033652-d23f8a8cadd7
github.com/jinzhu/gorm v1.9.16
github.com/jinzhu/now v1.1.4 // indirect
github.com/medivhzhan/weapp v1.5.1
github.com/pkg/errors v0.9.1
github.com/qiniu/api.v7 v7.2.5+incompatible
github.com/qiniu/x v7.0.8+incompatible // indirect
github.com/rs/zerolog v1.23.0
github.com/satori/go.uuid v1.2.0 // indirect
github.com/spf13/cobra v1.1.3
github.com/spf13/viper v1.7.1
github.com/swaggo/swag v1.16.3
github.com/wechatpay-apiv3/wechatpay-go v0.2.6
github.com/xuri/excelize/v2 v2.6.0
golang.org/x/sync v0.6.0
)
require (
github.com/KyleBanks/depth v1.2.1 // indirect
github.com/PuerkitoBio/purell v1.1.1 // indirect
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
github.com/gin-contrib/sse v0.1.0 // indirect
github.com/go-openapi/jsonpointer v0.19.5 // indirect
github.com/go-openapi/jsonreference v0.19.6 // indirect
github.com/go-openapi/spec v0.20.4 // indirect
github.com/go-openapi/swag v0.19.15 // indirect
github.com/go-playground/locales v0.13.0 // indirect
github.com/go-playground/universal-translator v0.17.0 // indirect
github.com/go-playground/validator/v10 v10.4.1 // indirect
github.com/go-sql-driver/mysql v1.5.0 // indirect
github.com/golang/protobuf v1.3.3 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/inconshreveable/mousetrap v1.0.0 // indirect
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.4 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.9 // indirect
github.com/leodido/go-urn v1.2.0 // indirect
github.com/magiconair/properties v1.8.1 // indirect
github.com/mailru/easyjson v0.7.6 // indirect
github.com/mattn/go-isatty v0.0.12 // indirect
github.com/mitchellh/mapstructure v1.1.2 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.1 // indirect
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
github.com/pelletier/go-toml v1.2.0 // indirect
github.com/qiniu/x v7.0.8+incompatible // indirect
github.com/richardlehane/mscfb v1.0.4 // indirect
github.com/richardlehane/msoleps v1.0.1 // indirect
github.com/satori/go.uuid v1.2.0 // indirect
github.com/spf13/afero v1.1.2 // indirect
github.com/spf13/cast v1.3.0 // indirect
github.com/spf13/jwalterweatherman v1.0.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/subosito/gotenv v1.2.0 // indirect
github.com/ugorji/go/codec v1.1.7 // indirect
github.com/xuri/efp v0.0.0-20220407160117-ad0f7a785be8 // indirect
github.com/xuri/nfp v0.0.0-20220409054826-5e722a1d9e22 // indirect
golang.org/x/crypto v0.21.0 // indirect
golang.org/x/net v0.22.0 // indirect
golang.org/x/sys v0.18.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/tools v0.19.0 // indirect
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect
gopkg.in/ini.v1 v1.51.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
qiniupkg.com/x v7.0.8+incompatible // indirect
)

View File

@ -1468,6 +1468,118 @@ func HmJsPayUnifiedOrder(orderId string, totalFee uint32, openId, notifyUrl stri
return &hmPayData, nil
}
// HmJsPayUnifiedOrderForBuyGoods hm 微信支付(商城支付)
func HmJsPayUnifiedOrderForBuyGoods(orderId string, totalFee uint32, openId, notifyUrl string) (*HmPayUnifiedOrderPayData, error) {
now := time.Now().Local()
strTime := fmt.Sprintf("%04d%02d%02d%02d%02d%02d", now.Year(), now.Month(), now.Day(), now.Hour(),
now.Minute(), now.Second())
expireTime := now.Add(time.Hour * 3)
strExpireTime := fmt.Sprintf("%04d%02d%02d%02d%02d%02d", expireTime.Year(), expireTime.Month(),
expireTime.Day(), expireTime.Hour(), expireTime.Minute(), expireTime.Second())
nonce := utils.GenRandStr(NonceStringLength)
if notifyUrl == "" {
logger.Error("NotifyUrl is null")
return nil, errors.New("NotifyUrl is null")
}
//logger.Info("MchId:", config.AppConfig.WxMchID)
//logger.Info("AppId:", config.AppConfig.WxAppId)
//logger.Info("MchSecret:", config.AppConfig.WxMchSecret)
unifiedOrderReq := HmJsPayUnifiedOrderReq{}
publicPara := HmPayPublicPara{
AppId: HmPayMerchantId,
//SubAppId: HmWxSubMerchantId,
Method: "trade.create",
//Charset: "UTF-8",
SignType: "RSA",
Sign: "",
Timestamp: now.Format(TimeFormat),
Nonce: nonce,
//Nonce: fmt.Sprintf("%d", time.Now().UnixNano()),
//Version: "1.0.0",
//Format: "JSON",
}
biz := HmPayBizContent{
Body: "服务费",
MerAppId: WxAppId,
MerBuyerId: openId,
CreateIp: clientIp,
CreateTime: strTime,
ExpireTime: strExpireTime,
//LimitPay: "NO_CREDIT",
NotifyUrl: notifyUrl,
OutOrderNo: orderId,
PayType: "JSAPI",
PayWay: "WECHAT",
StoreId: "200001",
TotalAmount: float64(totalFee) / 100,
}
unifiedOrderReq.HmPayPublicPara = publicPara
bizString, err := json.Marshal(&biz)
if err != nil {
logger.Error("marshal biz err:", err)
return nil, err
}
unifiedOrderReq.HmPayPublicPara.BizContent = string(bizString)
m, err := struct2Map(unifiedOrderReq)
if err != nil {
logger.Error(err)
return nil, err
}
//mJson, _ := json.MarshalIndent(&m, "", " ")
//fmt.Println("mJson:", string(mJson))
sign, err := GenHmPaySign(m)
if err != nil {
logger.Error(err)
return nil, err
}
unifiedOrderReq.Sign = sign
//unifiedOrderReqJson, _ := json.Marshal(&unifiedOrderReq)
//fmt.Println("unifiedOrderReqJson:", string(unifiedOrderReqJson))
unifiedOrderResp, err := HmPayUnifiedOrder(unifiedOrderReq)
if err != nil {
logger.Errorf("WxUnifiedOrder unified order error %#v", err)
return nil, err
}
signContent, err := ToSignContent(unifiedOrderResp)
if err != nil {
logger.Error("ToSignContent err:", err)
return nil, err
}
err = HmVerifySha1Rsa(signContent, unifiedOrderResp.Sign)
if err != nil {
logger.Error("HmVerifySha1Rsa err:", err)
return nil, err
}
//fmt.Println("unifiedOrderResp:", unifiedOrderResp.Data)
var hmPayDetail HmPayUnifiedOrderDetail
err = json.Unmarshal([]byte(unifiedOrderResp.Data), &hmPayDetail)
if err != nil {
logger.Errorf("hm pay unified order pay data unmarshal error %#v", err)
return nil, err
}
//fmt.Println("hmPayDetail:", hmPayDetail)
var hmPayData HmPayUnifiedOrderPayData
err = json.Unmarshal([]byte(hmPayDetail.PayData), &hmPayData)
if err != nil {
logger.Errorf("hm pay unified order pay data unmarshal error %#v", err)
return nil, err
}
//fmt.Println("hmPayData:", hmPayData)
return &hmPayData, nil
}
func ToSignContent(s interface{}) (string, error) {
m, err := struct2Map(s)
if err != nil {

View File

@ -0,0 +1,855 @@
// Code generated by go-queryset. DO NOT EDIT.
package model
import (
"errors"
"fmt"
"strings"
"time"
"github.com/jinzhu/gorm"
)
// ===== BEGIN of all query sets
// ===== BEGIN of query set HomeCategoryQuerySet
// HomeCategoryQuerySet is an queryset type for HomeCategory
type HomeCategoryQuerySet struct {
db *gorm.DB
}
// NewHomeCategoryQuerySet constructs new HomeCategoryQuerySet
func NewHomeCategoryQuerySet(db *gorm.DB) HomeCategoryQuerySet {
return HomeCategoryQuerySet{
db: db.Model(&HomeCategory{}),
}
}
func (qs HomeCategoryQuerySet) w(db *gorm.DB) HomeCategoryQuerySet {
return NewHomeCategoryQuerySet(db)
}
func (qs HomeCategoryQuerySet) Select(fields ...HomeCategoryDBSchemaField) HomeCategoryQuerySet {
names := []string{}
for _, f := range fields {
names = append(names, f.String())
}
return qs.w(qs.db.Select(strings.Join(names, ",")))
}
// Create is an autogenerated method
// nolint: dupl
func (o *HomeCategory) Create(db *gorm.DB) error {
return db.Create(o).Error
}
// Delete is an autogenerated method
// nolint: dupl
func (o *HomeCategory) Delete(db *gorm.DB) error {
return db.Delete(o).Error
}
// All is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) All(ret *[]HomeCategory) error {
return qs.db.Find(ret).Error
}
// AllFlagEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) AllFlagEq(allFlag uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("all_flag = ?", allFlag))
}
// AllFlagGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) AllFlagGt(allFlag uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("all_flag > ?", allFlag))
}
// AllFlagGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) AllFlagGte(allFlag uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("all_flag >= ?", allFlag))
}
// AllFlagIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) AllFlagIn(allFlag ...uint32) HomeCategoryQuerySet {
if len(allFlag) == 0 {
qs.db.AddError(errors.New("must at least pass one allFlag in AllFlagIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("all_flag IN (?)", allFlag))
}
// AllFlagLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) AllFlagLt(allFlag uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("all_flag < ?", allFlag))
}
// AllFlagLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) AllFlagLte(allFlag uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("all_flag <= ?", allFlag))
}
// AllFlagNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) AllFlagNe(allFlag uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("all_flag != ?", allFlag))
}
// AllFlagNotIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) AllFlagNotIn(allFlag ...uint32) HomeCategoryQuerySet {
if len(allFlag) == 0 {
qs.db.AddError(errors.New("must at least pass one allFlag in AllFlagNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("all_flag NOT IN (?)", allFlag))
}
// Count is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) Count() (int, error) {
var count int
err := qs.db.Count(&count).Error
return count, err
}
// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) CreatedAtEq(createdAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("created_at = ?", createdAt))
}
// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) CreatedAtGt(createdAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("created_at > ?", createdAt))
}
// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) CreatedAtGte(createdAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("created_at >= ?", createdAt))
}
// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) CreatedAtLt(createdAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("created_at < ?", createdAt))
}
// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) CreatedAtLte(createdAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("created_at <= ?", createdAt))
}
// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) CreatedAtNe(createdAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("created_at != ?", createdAt))
}
// Delete is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) Delete() error {
return qs.db.Delete(HomeCategory{}).Error
}
// DeleteNum is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) DeleteNum() (int64, error) {
db := qs.db.Delete(HomeCategory{})
return db.RowsAffected, db.Error
}
// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) DeleteNumUnscoped() (int64, error) {
db := qs.db.Unscoped().Delete(HomeCategory{})
return db.RowsAffected, db.Error
}
// DeletedAtEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) DeletedAtEq(deletedAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("deleted_at = ?", deletedAt))
}
// DeletedAtGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) DeletedAtGt(deletedAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("deleted_at > ?", deletedAt))
}
// DeletedAtGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) DeletedAtGte(deletedAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("deleted_at >= ?", deletedAt))
}
// DeletedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) DeletedAtIsNotNull() HomeCategoryQuerySet {
return qs.w(qs.db.Where("deleted_at IS NOT NULL"))
}
// DeletedAtIsNull is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) DeletedAtIsNull() HomeCategoryQuerySet {
return qs.w(qs.db.Where("deleted_at IS NULL"))
}
// DeletedAtLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) DeletedAtLt(deletedAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("deleted_at < ?", deletedAt))
}
// DeletedAtLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) DeletedAtLte(deletedAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("deleted_at <= ?", deletedAt))
}
// DeletedAtNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) DeletedAtNe(deletedAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("deleted_at != ?", deletedAt))
}
// GetDB is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) GetDB() *gorm.DB {
return qs.db
}
// GetUpdater is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) GetUpdater() HomeCategoryUpdater {
return NewHomeCategoryUpdater(qs.db)
}
// IDEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) IDEq(ID uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("id = ?", ID))
}
// IDGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) IDGt(ID uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("id > ?", ID))
}
// IDGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) IDGte(ID uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("id >= ?", ID))
}
// IDIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) IDIn(ID ...uint32) HomeCategoryQuerySet {
if len(ID) == 0 {
qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("id IN (?)", ID))
}
// IDLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) IDLt(ID uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("id < ?", ID))
}
// IDLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) IDLte(ID uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("id <= ?", ID))
}
// IDNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) IDNe(ID uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("id != ?", ID))
}
// IDNotIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) IDNotIn(ID ...uint32) HomeCategoryQuerySet {
if len(ID) == 0 {
qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("id NOT IN (?)", ID))
}
// Limit is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) Limit(limit int) HomeCategoryQuerySet {
return qs.w(qs.db.Limit(limit))
}
// NameEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) NameEq(name string) HomeCategoryQuerySet {
return qs.w(qs.db.Where("name = ?", name))
}
// NameGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) NameGt(name string) HomeCategoryQuerySet {
return qs.w(qs.db.Where("name > ?", name))
}
// NameGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) NameGte(name string) HomeCategoryQuerySet {
return qs.w(qs.db.Where("name >= ?", name))
}
// NameIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) NameIn(name ...string) HomeCategoryQuerySet {
if len(name) == 0 {
qs.db.AddError(errors.New("must at least pass one name in NameIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("name IN (?)", name))
}
// NameLike is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) NameLike(name string) HomeCategoryQuerySet {
return qs.w(qs.db.Where("name LIKE ?", name))
}
// NameLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) NameLt(name string) HomeCategoryQuerySet {
return qs.w(qs.db.Where("name < ?", name))
}
// NameLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) NameLte(name string) HomeCategoryQuerySet {
return qs.w(qs.db.Where("name <= ?", name))
}
// NameNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) NameNe(name string) HomeCategoryQuerySet {
return qs.w(qs.db.Where("name != ?", name))
}
// NameNotIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) NameNotIn(name ...string) HomeCategoryQuerySet {
if len(name) == 0 {
qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("name NOT IN (?)", name))
}
// NameNotlike is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) NameNotlike(name string) HomeCategoryQuerySet {
return qs.w(qs.db.Where("name NOT LIKE ?", name))
}
// Offset is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) Offset(offset int) HomeCategoryQuerySet {
return qs.w(qs.db.Offset(offset))
}
// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs HomeCategoryQuerySet) One(ret *HomeCategory) error {
return qs.db.First(ret).Error
}
// OrderAscByAllFlag is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderAscByAllFlag() HomeCategoryQuerySet {
return qs.w(qs.db.Order("all_flag ASC"))
}
// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderAscByCreatedAt() HomeCategoryQuerySet {
return qs.w(qs.db.Order("created_at ASC"))
}
// OrderAscByDeletedAt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderAscByDeletedAt() HomeCategoryQuerySet {
return qs.w(qs.db.Order("deleted_at ASC"))
}
// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderAscByID() HomeCategoryQuerySet {
return qs.w(qs.db.Order("id ASC"))
}
// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderAscByName() HomeCategoryQuerySet {
return qs.w(qs.db.Order("name ASC"))
}
// OrderAscByOrderFlag is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderAscByOrderFlag() HomeCategoryQuerySet {
return qs.w(qs.db.Order("order_flag ASC"))
}
// OrderAscBySortOrder is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderAscBySortOrder() HomeCategoryQuerySet {
return qs.w(qs.db.Order("sort_order ASC"))
}
// OrderAscByState is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderAscByState() HomeCategoryQuerySet {
return qs.w(qs.db.Order("state ASC"))
}
// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderAscByUpdatedAt() HomeCategoryQuerySet {
return qs.w(qs.db.Order("updated_at ASC"))
}
// OrderDescByAllFlag is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderDescByAllFlag() HomeCategoryQuerySet {
return qs.w(qs.db.Order("all_flag DESC"))
}
// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderDescByCreatedAt() HomeCategoryQuerySet {
return qs.w(qs.db.Order("created_at DESC"))
}
// OrderDescByDeletedAt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderDescByDeletedAt() HomeCategoryQuerySet {
return qs.w(qs.db.Order("deleted_at DESC"))
}
// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderDescByID() HomeCategoryQuerySet {
return qs.w(qs.db.Order("id DESC"))
}
// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderDescByName() HomeCategoryQuerySet {
return qs.w(qs.db.Order("name DESC"))
}
// OrderDescByOrderFlag is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderDescByOrderFlag() HomeCategoryQuerySet {
return qs.w(qs.db.Order("order_flag DESC"))
}
// OrderDescBySortOrder is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderDescBySortOrder() HomeCategoryQuerySet {
return qs.w(qs.db.Order("sort_order DESC"))
}
// OrderDescByState is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderDescByState() HomeCategoryQuerySet {
return qs.w(qs.db.Order("state DESC"))
}
// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderDescByUpdatedAt() HomeCategoryQuerySet {
return qs.w(qs.db.Order("updated_at DESC"))
}
// OrderFlagEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderFlagEq(orderFlag uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("order_flag = ?", orderFlag))
}
// OrderFlagGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderFlagGt(orderFlag uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("order_flag > ?", orderFlag))
}
// OrderFlagGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderFlagGte(orderFlag uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("order_flag >= ?", orderFlag))
}
// OrderFlagIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderFlagIn(orderFlag ...uint32) HomeCategoryQuerySet {
if len(orderFlag) == 0 {
qs.db.AddError(errors.New("must at least pass one orderFlag in OrderFlagIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("order_flag IN (?)", orderFlag))
}
// OrderFlagLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderFlagLt(orderFlag uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("order_flag < ?", orderFlag))
}
// OrderFlagLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderFlagLte(orderFlag uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("order_flag <= ?", orderFlag))
}
// OrderFlagNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderFlagNe(orderFlag uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("order_flag != ?", orderFlag))
}
// OrderFlagNotIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) OrderFlagNotIn(orderFlag ...uint32) HomeCategoryQuerySet {
if len(orderFlag) == 0 {
qs.db.AddError(errors.New("must at least pass one orderFlag in OrderFlagNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("order_flag NOT IN (?)", orderFlag))
}
// SortOrderEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) SortOrderEq(sortOrder uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("sort_order = ?", sortOrder))
}
// SortOrderGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) SortOrderGt(sortOrder uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("sort_order > ?", sortOrder))
}
// SortOrderGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) SortOrderGte(sortOrder uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("sort_order >= ?", sortOrder))
}
// SortOrderIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) SortOrderIn(sortOrder ...uint32) HomeCategoryQuerySet {
if len(sortOrder) == 0 {
qs.db.AddError(errors.New("must at least pass one sortOrder in SortOrderIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("sort_order IN (?)", sortOrder))
}
// SortOrderLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) SortOrderLt(sortOrder uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("sort_order < ?", sortOrder))
}
// SortOrderLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) SortOrderLte(sortOrder uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("sort_order <= ?", sortOrder))
}
// SortOrderNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) SortOrderNe(sortOrder uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("sort_order != ?", sortOrder))
}
// SortOrderNotIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) SortOrderNotIn(sortOrder ...uint32) HomeCategoryQuerySet {
if len(sortOrder) == 0 {
qs.db.AddError(errors.New("must at least pass one sortOrder in SortOrderNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("sort_order NOT IN (?)", sortOrder))
}
// StateEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) StateEq(state uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("state = ?", state))
}
// StateGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) StateGt(state uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("state > ?", state))
}
// StateGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) StateGte(state uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("state >= ?", state))
}
// StateIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) StateIn(state ...uint32) HomeCategoryQuerySet {
if len(state) == 0 {
qs.db.AddError(errors.New("must at least pass one state in StateIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("state IN (?)", state))
}
// StateLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) StateLt(state uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("state < ?", state))
}
// StateLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) StateLte(state uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("state <= ?", state))
}
// StateNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) StateNe(state uint32) HomeCategoryQuerySet {
return qs.w(qs.db.Where("state != ?", state))
}
// StateNotIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) StateNotIn(state ...uint32) HomeCategoryQuerySet {
if len(state) == 0 {
qs.db.AddError(errors.New("must at least pass one state in StateNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("state NOT IN (?)", state))
}
// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) UpdatedAtEq(updatedAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}
// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) UpdatedAtGt(updatedAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}
// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) UpdatedAtGte(updatedAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}
// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) UpdatedAtLt(updatedAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}
// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) UpdatedAtLte(updatedAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}
// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryQuerySet) UpdatedAtNe(updatedAt time.Time) HomeCategoryQuerySet {
return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}
// SetAllFlag is an autogenerated method
// nolint: dupl
func (u HomeCategoryUpdater) SetAllFlag(allFlag uint32) HomeCategoryUpdater {
u.fields[string(HomeCategoryDBSchema.AllFlag)] = allFlag
return u
}
// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u HomeCategoryUpdater) SetCreatedAt(createdAt time.Time) HomeCategoryUpdater {
u.fields[string(HomeCategoryDBSchema.CreatedAt)] = createdAt
return u
}
// SetDeletedAt is an autogenerated method
// nolint: dupl
func (u HomeCategoryUpdater) SetDeletedAt(deletedAt *time.Time) HomeCategoryUpdater {
u.fields[string(HomeCategoryDBSchema.DeletedAt)] = deletedAt
return u
}
// SetID is an autogenerated method
// nolint: dupl
func (u HomeCategoryUpdater) SetID(ID uint32) HomeCategoryUpdater {
u.fields[string(HomeCategoryDBSchema.ID)] = ID
return u
}
// SetName is an autogenerated method
// nolint: dupl
func (u HomeCategoryUpdater) SetName(name string) HomeCategoryUpdater {
u.fields[string(HomeCategoryDBSchema.Name)] = name
return u
}
// SetOrderFlag is an autogenerated method
// nolint: dupl
func (u HomeCategoryUpdater) SetOrderFlag(orderFlag uint32) HomeCategoryUpdater {
u.fields[string(HomeCategoryDBSchema.OrderFlag)] = orderFlag
return u
}
// SetSortOrder is an autogenerated method
// nolint: dupl
func (u HomeCategoryUpdater) SetSortOrder(sortOrder uint32) HomeCategoryUpdater {
u.fields[string(HomeCategoryDBSchema.SortOrder)] = sortOrder
return u
}
// SetState is an autogenerated method
// nolint: dupl
func (u HomeCategoryUpdater) SetState(state uint32) HomeCategoryUpdater {
u.fields[string(HomeCategoryDBSchema.State)] = state
return u
}
// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u HomeCategoryUpdater) SetUpdatedAt(updatedAt time.Time) HomeCategoryUpdater {
u.fields[string(HomeCategoryDBSchema.UpdatedAt)] = updatedAt
return u
}
// Update is an autogenerated method
// nolint: dupl
func (u HomeCategoryUpdater) Update() error {
return u.db.Updates(u.fields).Error
}
// UpdateNum is an autogenerated method
// nolint: dupl
func (u HomeCategoryUpdater) UpdateNum() (int64, error) {
db := u.db.Updates(u.fields)
return db.RowsAffected, db.Error
}
// ===== END of query set HomeCategoryQuerySet
// ===== BEGIN of HomeCategory modifiers
// HomeCategoryDBSchemaField describes database schema field. It requires for method 'Update'
type HomeCategoryDBSchemaField string
// String method returns string representation of field.
// nolint: dupl
func (f HomeCategoryDBSchemaField) String() string {
return string(f)
}
// HomeCategoryDBSchema stores db field names of HomeCategory
var HomeCategoryDBSchema = struct {
ID HomeCategoryDBSchemaField
CreatedAt HomeCategoryDBSchemaField
UpdatedAt HomeCategoryDBSchemaField
DeletedAt HomeCategoryDBSchemaField
Name HomeCategoryDBSchemaField
SortOrder HomeCategoryDBSchemaField
State HomeCategoryDBSchemaField
AllFlag HomeCategoryDBSchemaField
OrderFlag HomeCategoryDBSchemaField
}{
ID: HomeCategoryDBSchemaField("id"),
CreatedAt: HomeCategoryDBSchemaField("created_at"),
UpdatedAt: HomeCategoryDBSchemaField("updated_at"),
DeletedAt: HomeCategoryDBSchemaField("deleted_at"),
Name: HomeCategoryDBSchemaField("name"),
SortOrder: HomeCategoryDBSchemaField("sort_order"),
State: HomeCategoryDBSchemaField("state"),
AllFlag: HomeCategoryDBSchemaField("all_flag"),
OrderFlag: HomeCategoryDBSchemaField("order_flag"),
}
// Update updates HomeCategory fields by primary key
// nolint: dupl
func (o *HomeCategory) Update(db *gorm.DB, fields ...HomeCategoryDBSchemaField) error {
dbNameToFieldName := map[string]interface{}{
"id": o.ID,
"created_at": o.CreatedAt,
"updated_at": o.UpdatedAt,
"deleted_at": o.DeletedAt,
"name": o.Name,
"sort_order": o.SortOrder,
"state": o.State,
"all_flag": o.AllFlag,
"order_flag": o.OrderFlag,
}
u := map[string]interface{}{}
for _, f := range fields {
fs := f.String()
u[fs] = dbNameToFieldName[fs]
}
if err := db.Model(o).Updates(u).Error; err != nil {
if err == gorm.ErrRecordNotFound {
return err
}
return fmt.Errorf("can't update HomeCategory %v fields %v: %s",
o, fields, err)
}
return nil
}
// HomeCategoryUpdater is an HomeCategory updates manager
type HomeCategoryUpdater struct {
fields map[string]interface{}
db *gorm.DB
}
// NewHomeCategoryUpdater creates new HomeCategory updater
// nolint: dupl
func NewHomeCategoryUpdater(db *gorm.DB) HomeCategoryUpdater {
return HomeCategoryUpdater{
fields: map[string]interface{}{},
db: db.Model(&HomeCategory{}),
}
}
// ===== END of HomeCategory modifiers
// ===== END of all query sets

View File

@ -0,0 +1,777 @@
// Code generated by go-queryset. DO NOT EDIT.
package model
import (
"errors"
"fmt"
"strings"
"time"
"github.com/jinzhu/gorm"
)
// ===== BEGIN of all query sets
// ===== BEGIN of query set HomeCategoryGameQuerySet
// HomeCategoryGameQuerySet is an queryset type for HomeCategoryGame
type HomeCategoryGameQuerySet struct {
db *gorm.DB
}
// NewHomeCategoryGameQuerySet constructs new HomeCategoryGameQuerySet
func NewHomeCategoryGameQuerySet(db *gorm.DB) HomeCategoryGameQuerySet {
return HomeCategoryGameQuerySet{
db: db.Model(&HomeCategoryGame{}),
}
}
func (qs HomeCategoryGameQuerySet) w(db *gorm.DB) HomeCategoryGameQuerySet {
return NewHomeCategoryGameQuerySet(db)
}
func (qs HomeCategoryGameQuerySet) Select(fields ...HomeCategoryGameDBSchemaField) HomeCategoryGameQuerySet {
names := []string{}
for _, f := range fields {
names = append(names, f.String())
}
return qs.w(qs.db.Select(strings.Join(names, ",")))
}
// Create is an autogenerated method
// nolint: dupl
func (o *HomeCategoryGame) Create(db *gorm.DB) error {
return db.Create(o).Error
}
// Delete is an autogenerated method
// nolint: dupl
func (o *HomeCategoryGame) Delete(db *gorm.DB) error {
return db.Delete(o).Error
}
// All is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) All(ret *[]HomeCategoryGame) error {
return qs.db.Find(ret).Error
}
// Count is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) Count() (int, error) {
var count int
err := qs.db.Count(&count).Error
return count, err
}
// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) CreatedAtEq(createdAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("created_at = ?", createdAt))
}
// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) CreatedAtGt(createdAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("created_at > ?", createdAt))
}
// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) CreatedAtGte(createdAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("created_at >= ?", createdAt))
}
// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) CreatedAtLt(createdAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("created_at < ?", createdAt))
}
// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) CreatedAtLte(createdAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("created_at <= ?", createdAt))
}
// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) CreatedAtNe(createdAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("created_at != ?", createdAt))
}
// Delete is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) Delete() error {
return qs.db.Delete(HomeCategoryGame{}).Error
}
// DeleteNum is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) DeleteNum() (int64, error) {
db := qs.db.Delete(HomeCategoryGame{})
return db.RowsAffected, db.Error
}
// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) DeleteNumUnscoped() (int64, error) {
db := qs.db.Unscoped().Delete(HomeCategoryGame{})
return db.RowsAffected, db.Error
}
// DeletedAtEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) DeletedAtEq(deletedAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("deleted_at = ?", deletedAt))
}
// DeletedAtGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) DeletedAtGt(deletedAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("deleted_at > ?", deletedAt))
}
// DeletedAtGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) DeletedAtGte(deletedAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("deleted_at >= ?", deletedAt))
}
// DeletedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) DeletedAtIsNotNull() HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("deleted_at IS NOT NULL"))
}
// DeletedAtIsNull is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) DeletedAtIsNull() HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("deleted_at IS NULL"))
}
// DeletedAtLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) DeletedAtLt(deletedAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("deleted_at < ?", deletedAt))
}
// DeletedAtLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) DeletedAtLte(deletedAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("deleted_at <= ?", deletedAt))
}
// DeletedAtNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) DeletedAtNe(deletedAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("deleted_at != ?", deletedAt))
}
// GameIDEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameIDEq(gameID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_id = ?", gameID))
}
// GameIDGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameIDGt(gameID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_id > ?", gameID))
}
// GameIDGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameIDGte(gameID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_id >= ?", gameID))
}
// GameIDIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameIDIn(gameID ...uint32) HomeCategoryGameQuerySet {
if len(gameID) == 0 {
qs.db.AddError(errors.New("must at least pass one gameID in GameIDIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("game_id IN (?)", gameID))
}
// GameIDLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameIDLt(gameID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_id < ?", gameID))
}
// GameIDLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameIDLte(gameID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_id <= ?", gameID))
}
// GameIDNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameIDNe(gameID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_id != ?", gameID))
}
// GameIDNotIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameIDNotIn(gameID ...uint32) HomeCategoryGameQuerySet {
if len(gameID) == 0 {
qs.db.AddError(errors.New("must at least pass one gameID in GameIDNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("game_id NOT IN (?)", gameID))
}
// GameNameEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameNameEq(gameName string) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_name = ?", gameName))
}
// GameNameGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameNameGt(gameName string) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_name > ?", gameName))
}
// GameNameGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameNameGte(gameName string) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_name >= ?", gameName))
}
// GameNameIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameNameIn(gameName ...string) HomeCategoryGameQuerySet {
if len(gameName) == 0 {
qs.db.AddError(errors.New("must at least pass one gameName in GameNameIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("game_name IN (?)", gameName))
}
// GameNameLike is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameNameLike(gameName string) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_name LIKE ?", gameName))
}
// GameNameLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameNameLt(gameName string) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_name < ?", gameName))
}
// GameNameLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameNameLte(gameName string) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_name <= ?", gameName))
}
// GameNameNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameNameNe(gameName string) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_name != ?", gameName))
}
// GameNameNotIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameNameNotIn(gameName ...string) HomeCategoryGameQuerySet {
if len(gameName) == 0 {
qs.db.AddError(errors.New("must at least pass one gameName in GameNameNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("game_name NOT IN (?)", gameName))
}
// GameNameNotlike is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GameNameNotlike(gameName string) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("game_name NOT LIKE ?", gameName))
}
// GetDB is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GetDB() *gorm.DB {
return qs.db
}
// GetUpdater is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) GetUpdater() HomeCategoryGameUpdater {
return NewHomeCategoryGameUpdater(qs.db)
}
// HomeCategoryIDEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) HomeCategoryIDEq(homeCategoryID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("home_category_id = ?", homeCategoryID))
}
// HomeCategoryIDGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) HomeCategoryIDGt(homeCategoryID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("home_category_id > ?", homeCategoryID))
}
// HomeCategoryIDGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) HomeCategoryIDGte(homeCategoryID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("home_category_id >= ?", homeCategoryID))
}
// HomeCategoryIDIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) HomeCategoryIDIn(homeCategoryID ...uint32) HomeCategoryGameQuerySet {
if len(homeCategoryID) == 0 {
qs.db.AddError(errors.New("must at least pass one homeCategoryID in HomeCategoryIDIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("home_category_id IN (?)", homeCategoryID))
}
// HomeCategoryIDLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) HomeCategoryIDLt(homeCategoryID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("home_category_id < ?", homeCategoryID))
}
// HomeCategoryIDLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) HomeCategoryIDLte(homeCategoryID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("home_category_id <= ?", homeCategoryID))
}
// HomeCategoryIDNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) HomeCategoryIDNe(homeCategoryID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("home_category_id != ?", homeCategoryID))
}
// HomeCategoryIDNotIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) HomeCategoryIDNotIn(homeCategoryID ...uint32) HomeCategoryGameQuerySet {
if len(homeCategoryID) == 0 {
qs.db.AddError(errors.New("must at least pass one homeCategoryID in HomeCategoryIDNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("home_category_id NOT IN (?)", homeCategoryID))
}
// IDEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) IDEq(ID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("id = ?", ID))
}
// IDGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) IDGt(ID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("id > ?", ID))
}
// IDGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) IDGte(ID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("id >= ?", ID))
}
// IDIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) IDIn(ID ...uint32) HomeCategoryGameQuerySet {
if len(ID) == 0 {
qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("id IN (?)", ID))
}
// IDLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) IDLt(ID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("id < ?", ID))
}
// IDLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) IDLte(ID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("id <= ?", ID))
}
// IDNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) IDNe(ID uint32) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("id != ?", ID))
}
// IDNotIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) IDNotIn(ID ...uint32) HomeCategoryGameQuerySet {
if len(ID) == 0 {
qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("id NOT IN (?)", ID))
}
// Limit is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) Limit(limit int) HomeCategoryGameQuerySet {
return qs.w(qs.db.Limit(limit))
}
// Offset is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) Offset(offset int) HomeCategoryGameQuerySet {
return qs.w(qs.db.Offset(offset))
}
// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs HomeCategoryGameQuerySet) One(ret *HomeCategoryGame) error {
return qs.db.First(ret).Error
}
// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderAscByCreatedAt() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("created_at ASC"))
}
// OrderAscByDeletedAt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderAscByDeletedAt() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("deleted_at ASC"))
}
// OrderAscByGameID is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderAscByGameID() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("game_id ASC"))
}
// OrderAscByGameName is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderAscByGameName() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("game_name ASC"))
}
// OrderAscByHomeCategoryID is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderAscByHomeCategoryID() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("home_category_id ASC"))
}
// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderAscByID() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("id ASC"))
}
// OrderAscBySortOrder is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderAscBySortOrder() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("sort_order ASC"))
}
// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderAscByUpdatedAt() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("updated_at ASC"))
}
// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderDescByCreatedAt() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("created_at DESC"))
}
// OrderDescByDeletedAt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderDescByDeletedAt() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("deleted_at DESC"))
}
// OrderDescByGameID is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderDescByGameID() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("game_id DESC"))
}
// OrderDescByGameName is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderDescByGameName() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("game_name DESC"))
}
// OrderDescByHomeCategoryID is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderDescByHomeCategoryID() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("home_category_id DESC"))
}
// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderDescByID() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("id DESC"))
}
// OrderDescBySortOrder is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderDescBySortOrder() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("sort_order DESC"))
}
// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) OrderDescByUpdatedAt() HomeCategoryGameQuerySet {
return qs.w(qs.db.Order("updated_at DESC"))
}
// SortOrderEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) SortOrderEq(sortOrder int) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("sort_order = ?", sortOrder))
}
// SortOrderGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) SortOrderGt(sortOrder int) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("sort_order > ?", sortOrder))
}
// SortOrderGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) SortOrderGte(sortOrder int) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("sort_order >= ?", sortOrder))
}
// SortOrderIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) SortOrderIn(sortOrder ...int) HomeCategoryGameQuerySet {
if len(sortOrder) == 0 {
qs.db.AddError(errors.New("must at least pass one sortOrder in SortOrderIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("sort_order IN (?)", sortOrder))
}
// SortOrderLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) SortOrderLt(sortOrder int) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("sort_order < ?", sortOrder))
}
// SortOrderLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) SortOrderLte(sortOrder int) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("sort_order <= ?", sortOrder))
}
// SortOrderNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) SortOrderNe(sortOrder int) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("sort_order != ?", sortOrder))
}
// SortOrderNotIn is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) SortOrderNotIn(sortOrder ...int) HomeCategoryGameQuerySet {
if len(sortOrder) == 0 {
qs.db.AddError(errors.New("must at least pass one sortOrder in SortOrderNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("sort_order NOT IN (?)", sortOrder))
}
// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) UpdatedAtEq(updatedAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}
// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) UpdatedAtGt(updatedAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}
// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) UpdatedAtGte(updatedAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}
// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) UpdatedAtLt(updatedAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}
// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) UpdatedAtLte(updatedAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}
// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs HomeCategoryGameQuerySet) UpdatedAtNe(updatedAt time.Time) HomeCategoryGameQuerySet {
return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}
// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u HomeCategoryGameUpdater) SetCreatedAt(createdAt time.Time) HomeCategoryGameUpdater {
u.fields[string(HomeCategoryGameDBSchema.CreatedAt)] = createdAt
return u
}
// SetDeletedAt is an autogenerated method
// nolint: dupl
func (u HomeCategoryGameUpdater) SetDeletedAt(deletedAt *time.Time) HomeCategoryGameUpdater {
u.fields[string(HomeCategoryGameDBSchema.DeletedAt)] = deletedAt
return u
}
// SetGameID is an autogenerated method
// nolint: dupl
func (u HomeCategoryGameUpdater) SetGameID(gameID uint32) HomeCategoryGameUpdater {
u.fields[string(HomeCategoryGameDBSchema.GameID)] = gameID
return u
}
// SetGameName is an autogenerated method
// nolint: dupl
func (u HomeCategoryGameUpdater) SetGameName(gameName string) HomeCategoryGameUpdater {
u.fields[string(HomeCategoryGameDBSchema.GameName)] = gameName
return u
}
// SetHomeCategoryID is an autogenerated method
// nolint: dupl
func (u HomeCategoryGameUpdater) SetHomeCategoryID(homeCategoryID uint32) HomeCategoryGameUpdater {
u.fields[string(HomeCategoryGameDBSchema.HomeCategoryID)] = homeCategoryID
return u
}
// SetID is an autogenerated method
// nolint: dupl
func (u HomeCategoryGameUpdater) SetID(ID uint32) HomeCategoryGameUpdater {
u.fields[string(HomeCategoryGameDBSchema.ID)] = ID
return u
}
// SetSortOrder is an autogenerated method
// nolint: dupl
func (u HomeCategoryGameUpdater) SetSortOrder(sortOrder int) HomeCategoryGameUpdater {
u.fields[string(HomeCategoryGameDBSchema.SortOrder)] = sortOrder
return u
}
// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u HomeCategoryGameUpdater) SetUpdatedAt(updatedAt time.Time) HomeCategoryGameUpdater {
u.fields[string(HomeCategoryGameDBSchema.UpdatedAt)] = updatedAt
return u
}
// Update is an autogenerated method
// nolint: dupl
func (u HomeCategoryGameUpdater) Update() error {
return u.db.Updates(u.fields).Error
}
// UpdateNum is an autogenerated method
// nolint: dupl
func (u HomeCategoryGameUpdater) UpdateNum() (int64, error) {
db := u.db.Updates(u.fields)
return db.RowsAffected, db.Error
}
// ===== END of query set HomeCategoryGameQuerySet
// ===== BEGIN of HomeCategoryGame modifiers
// HomeCategoryGameDBSchemaField describes database schema field. It requires for method 'Update'
type HomeCategoryGameDBSchemaField string
// String method returns string representation of field.
// nolint: dupl
func (f HomeCategoryGameDBSchemaField) String() string {
return string(f)
}
// HomeCategoryGameDBSchema stores db field names of HomeCategoryGame
var HomeCategoryGameDBSchema = struct {
ID HomeCategoryGameDBSchemaField
CreatedAt HomeCategoryGameDBSchemaField
UpdatedAt HomeCategoryGameDBSchemaField
DeletedAt HomeCategoryGameDBSchemaField
HomeCategoryID HomeCategoryGameDBSchemaField
GameID HomeCategoryGameDBSchemaField
GameName HomeCategoryGameDBSchemaField
SortOrder HomeCategoryGameDBSchemaField
}{
ID: HomeCategoryGameDBSchemaField("id"),
CreatedAt: HomeCategoryGameDBSchemaField("created_at"),
UpdatedAt: HomeCategoryGameDBSchemaField("updated_at"),
DeletedAt: HomeCategoryGameDBSchemaField("deleted_at"),
HomeCategoryID: HomeCategoryGameDBSchemaField("home_category_id"),
GameID: HomeCategoryGameDBSchemaField("game_id"),
GameName: HomeCategoryGameDBSchemaField("game_name"),
SortOrder: HomeCategoryGameDBSchemaField("sort_order"),
}
// Update updates HomeCategoryGame fields by primary key
// nolint: dupl
func (o *HomeCategoryGame) Update(db *gorm.DB, fields ...HomeCategoryGameDBSchemaField) error {
dbNameToFieldName := map[string]interface{}{
"id": o.ID,
"created_at": o.CreatedAt,
"updated_at": o.UpdatedAt,
"deleted_at": o.DeletedAt,
"home_category_id": o.HomeCategoryID,
"game_id": o.GameID,
"game_name": o.GameName,
"sort_order": o.SortOrder,
}
u := map[string]interface{}{}
for _, f := range fields {
fs := f.String()
u[fs] = dbNameToFieldName[fs]
}
if err := db.Model(o).Updates(u).Error; err != nil {
if err == gorm.ErrRecordNotFound {
return err
}
return fmt.Errorf("can't update HomeCategoryGame %v fields %v: %s",
o, fields, err)
}
return nil
}
// HomeCategoryGameUpdater is an HomeCategoryGame updates manager
type HomeCategoryGameUpdater struct {
fields map[string]interface{}
db *gorm.DB
}
// NewHomeCategoryGameUpdater creates new HomeCategoryGame updater
// nolint: dupl
func NewHomeCategoryGameUpdater(db *gorm.DB) HomeCategoryGameUpdater {
return HomeCategoryGameUpdater{
fields: map[string]interface{}{},
db: db.Model(&HomeCategoryGame{}),
}
}
// ===== END of HomeCategoryGame modifiers
// ===== END of all query sets

View File

@ -1904,3 +1904,311 @@ func InviteMemberReportListSetUser(list []InviteMemberReport) []InviteMemberRepo
}
return list
}
type HomeCategoryListResp struct {
List []HomeCategory `json:"list"`
Total int `json:"total"` // 总条数
}
func GetHomeGameCardList() (*HomeCategoryListResp, error) {
resp := &HomeCategoryListResp{}
var orders []HomeCategory
err := NewHomeCategoryQuerySet(DB).StateEq(1).OrderAscBySortOrder().All(&orders)
if err != nil && err != RecordNotFound {
logger.Error("home_category list err:", err)
return nil, err
}
resp.List = orders
resp.Total = len(orders)
return resp, nil
}
func NewGetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId, uid uint32) ([]GameCard, uint32, error) {
var (
cards = make([]GameCard, 0)
totalPage uint32
count int
err error
)
page = page - 1
if page < 0 {
page = 0
}
if pageSize == 0 {
pageSize = 10
}
// 通过sortType查询首页分类信息
var homeCategoryInfo HomeCategory
err = NewHomeCategoryQuerySet(DB).IDEq(uint32(sortType)).One(&homeCategoryInfo)
if err != nil && err != RecordNotFound {
return nil, 0, err
}
if err == RecordNotFound {
return nil, 0, errors.New("分类ID有误")
}
qs := NewGameCardQuerySet(DB).IDNe(914).StatusEq(1)
// 判断是否是全部,或者热门分类
if homeCategoryInfo.AllFlag == 1 { // 全部分类、热门分类
if homeCategoryInfo.OrderFlag == 1 { // 热门分类
qs = qs.OrderDescByOrderCount()
} else { // 全部分类
qs = qs.OrderAscByID()
}
} else { // 新品、经典等类型
var homeCategoryGameList []HomeCategoryGame
err = NewHomeCategoryGameQuerySet(DB).HomeCategoryIDEq(homeCategoryInfo.ID).All(&homeCategoryGameList)
if err != nil {
return nil, 0, err
}
if len(homeCategoryGameList) == 0 {
return cards, 0, nil
}
var gameIdList []uint32
for _, item := range homeCategoryGameList {
gameIdList = append(gameIdList, item.GameID)
}
qs = qs.IDIn(gameIdList...)
}
if len(gameTypeIds) > 0 {
gameIdByType, err := GetGameIdByType(gameTypeIds)
if err != nil {
logger.Error("GetGameIdByType err:", err)
return cards, 0, err
}
if len(gameIdByType) != 0 {
//qs = qs.GameTypeIdIn(gameIdByType...)
qs = qs.IDIn(gameIdByType...)
} else {
return cards, 0, err
}
}
hideGamePrice := uint32(30000)
var user *User
if uid != 0 {
user = GetUserByUid(uid)
if user == nil {
logger.Error("get user err:", err)
return cards, 0, err
}
if user.MemberExpire.After(time.Now()) &&
user.MemberExpire.AddDate(0, 0, -14).Before(time.Now()) {
qs = qs.RealPriceLte(hideGamePrice)
}
}
gameIds := make([]uint32, 0)
gameIdMap := make(map[uint32]uint32)
effectiveStoreList := GetAllEffectiveStoreMap()
if len(effectiveStoreList) == 0 {
logger.Error("effectiveStoreList is null")
return nil, 0, errors.New("无有效门店")
}
effectiveStoreListStr := fmt.Sprintf("(%s)", strings.Trim(strings.Join(strings.Fields(fmt.Sprint(effectiveStoreList)), ","), "[]"))
if sortType == 1 {
if storeId != 0 {
//gameIds := make([]uint32, 0)
////gameIdMap := make(map[uint32]int)
//var cardStocks []GameCardGoodsStock
//err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).RentStockGt(0).OrderDescByRentStock().All(&cardStocks)
//if err != nil {
// logger.Error("GetGameIdByType err:", err)
// return cards, 0, err
//}
//for i, _ := range cardStocks {
// gameIds = append(gameIds, uint32(cardStocks[i].GameCardId))
//}
//if len(gameIds) <= 0 {
// return cards, 0, nil
//}
//qs = qs.IDIn(gameIds...)
var cardStocks []GameCardGoodsStock
//err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).RentStockGt(0).
// OrderDescByRentStock().All(&cardStocks)
//DB.Table("game_card_goods_stock").Joins("")
cardStockSql1 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.store_id=%d AND a.store_id IN %s AND a.rent_stock>0 ORDER BY b.id ASC;", storeId, effectiveStoreListStr)
err = DB.Raw(cardStockSql1).Scan(&cardStocks).Error
if err != nil {
logger.Error("GetGameIdByType err:", err)
return cards, 0, err
}
for i, _ := range cardStocks {
_, ok := gameIdMap[uint32(cardStocks[i].GameCardId)]
if !ok {
gameIds = append(gameIds, uint32(cardStocks[i].GameCardId))
gameIdMap[uint32(cardStocks[i].GameCardId)] = 1
}
}
cardStocks = []GameCardGoodsStock{}
//err = NewGameCardGoodsStockQuerySet(DB).StoreIdNe(uint64(storeId)).RentStockGt(0).
// OrderDescByRentStock().All(&cardStocks)
cardStockSql2 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.store_id!=%d AND a.store_id IN %s AND a.rent_stock>0 ORDER BY b.id ASC;", storeId, effectiveStoreListStr)
err = DB.Raw(cardStockSql2).Scan(&cardStocks).Error
if err != nil {
logger.Error("GetGameIdByType err:", err)
return cards, 0, err
}
for i, _ := range cardStocks {
_, ok := gameIdMap[uint32(cardStocks[i].GameCardId)]
if !ok {
gameIds = append(gameIds, uint32(cardStocks[i].GameCardId))
gameIdMap[uint32(cardStocks[i].GameCardId)] = 2
}
}
cardStocks = []GameCardGoodsStock{}
//err = NewGameCardGoodsStockQuerySet(DB).RentStockEq(0).All(&cardStocks)
cardStockSql3 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.rent_stock=0 AND a.store_id IN %s ORDER BY b.id ASC;", effectiveStoreListStr)
err = DB.Raw(cardStockSql3).Scan(&cardStocks).Error
if err != nil {
logger.Error("GetGameIdByType err:", err)
return cards, 0, err
}
for i, _ := range cardStocks {
_, ok := gameIdMap[uint32(cardStocks[i].GameCardId)]
if !ok {
gameIds = append(gameIds, uint32(cardStocks[i].GameCardId))
gameIdMap[uint32(cardStocks[i].GameCardId)] = 3
}
}
// 有可能添加了游戏但没添加库存,添加这段代码后不会展示
//if len(gameIds) > 0 {
// qs = qs.IDIn(gameIds...)
//}
} else {
var cardStocks []GameCardGoodsStock
//err := NewGameCardGoodsStockQuerySet(DB).RentStockGt(0).
// OrderDescByRentStock().All(&cardStocks)
cardStockSql1 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.rent_stock>0 AND a.store_id IN %s ORDER BY b.id ASC;", effectiveStoreListStr)
err = DB.Raw(cardStockSql1).Scan(&cardStocks).Error
if err != nil {
logger.Error("GetGameIdByType err:", err)
return cards, 0, err
}
for i, _ := range cardStocks {
_, ok := gameIdMap[uint32(cardStocks[i].GameCardId)]
if !ok {
gameIds = append(gameIds, uint32(cardStocks[i].GameCardId))
gameIdMap[uint32(cardStocks[i].GameCardId)] = 1
}
}
cardStocks = []GameCardGoodsStock{}
//err = NewGameCardGoodsStockQuerySet(DB).RentStockEq(0).All(&cardStocks)
cardStockSql2 := fmt.Sprintf("SELECT a.* FROM game_card_goods_stock a LEFT JOIN game_card b ON a.game_card_id=b.id WHERE a.rent_stock=0 AND a.store_id IN %s ORDER BY b.id ASC;", effectiveStoreListStr)
err = DB.Raw(cardStockSql2).Scan(&cardStocks).Error
if err != nil {
logger.Error("GetGameIdByType err:", err)
return cards, 0, err
}
for i, _ := range cardStocks {
_, ok := gameIdMap[uint32(cardStocks[i].GameCardId)]
if !ok {
gameIds = append(gameIds, uint32(cardStocks[i].GameCardId))
gameIdMap[uint32(cardStocks[i].GameCardId)] = 3
}
}
//if len(gameIds) > 0 {
// qs = qs.IDIn(gameIds...)
//}
}
}
count, err = qs.Count()
if err != nil {
logger.Error("count err:", err)
}
totalPage = uint32(count/pageSize + 1)
if count%pageSize == 0 {
totalPage = uint32(count / pageSize)
}
//err = qs.OrderDescByCreatedAt().Offset(page * pageSize).Limit(pageSize).All(&cards)
if sortType != 1 {
err = qs.Offset(page * pageSize).Limit(pageSize).All(&cards)
if err != nil && err != RecordNotFound {
logger.Error("err:", err)
return cards, 0, err
}
GameCardListSetStockState(cards, storeId, effectiveStoreList)
} else {
err = qs.OrderDescByID().All(&cards)
//err = qs.OrderAscByID().All(&cards)
if err != nil && err != RecordNotFound {
logger.Error("list err:", err)
return cards, 0, err
}
//fmt.Println("page:", page, totalPage)
list := make([]GameCard, 0, len(cards))
cardMap := make(map[uint32]GameCard, 0)
for i, _ := range cards {
cardMap[cards[i].ID] = cards[i]
// 如果游戏列表有记录但游戏库存列表无记录则也添加到gameIds库存记录为3无库存
_, ok := gameIdMap[cards[i].ID]
if !ok {
gameIds = append(gameIds, uint32(cards[i].ID))
gameIdMap[cards[i].ID] = 3
}
}
for i, _ := range gameIds {
v, ok1 := cardMap[gameIds[i]]
v2, _ := gameIdMap[gameIds[i]]
v.StockState = v2
if ok1 {
list = append(list, v)
}
}
count = len(list)
totalPage = uint32(count/pageSize + 1)
if count%pageSize == 0 {
totalPage = uint32(count / pageSize)
}
if uint32(page) < totalPage-1 && totalPage != 1 {
cards = list[page*pageSize : (page+1)*pageSize]
} else {
cards = list[page*pageSize:]
}
}
//cardIds := make([]uint64, 0)
//for i, _ := range cards {
// cardIds = append(cardIds, uint64(cards[i].ID))
//}
//var cardStocks []GameCardGoodsStock
//err = NewGameCardGoodsStockQuerySet(DB).GameCardIdIn(cardIds...).All(&cardStocks)
//if err != nil {
// logger.Error("err:", err)
// return cards, totalPage, nil
//}
//cardStockMap := make(map[uint64]uint32, 0)
//for i, _ := range cardStocks {
// cardStockMap[cardStocks[i].GameCardId] += cardStocks[i].RentStock
//}
for i, _ := range cards {
//stock, ok := cardStockMap[uint64(cards[i].ID)]
//if ok {
// cards[i].StockCount = stock
//}
if user != nil && user.IsMember() {
cards[i].RealPrice = 0
}
}
return cards, totalPage, nil
}

15
model/home_category.go Normal file
View File

@ -0,0 +1,15 @@
package model
//go:generate goqueryset -in home_category.go
// HomeCategory 首页分类表
// gen:qs
type HomeCategory struct {
Model
Name string `json:"name" gorm:"index"` // 分类名称
SortOrder uint32 `json:"sort_order" gorm:"index"` // 排序序号
State uint32 `json:"state" gorm:"index"` // 状态1-启用2-隐藏
AllFlag uint32 `json:"all_flag"` // 是否包含所有游戏0-不包含1-包含
OrderFlag uint32 `json:"order_flag"` // 是否根据销量排序0-不选择1-根据租赁数量排序
}

View File

@ -0,0 +1,14 @@
package model
//go:generate goqueryset -in home_category_game.go
// HomeCategoryGame 分类与游戏关联表结构体
// gen:qs
type HomeCategoryGame struct {
Model
HomeCategoryID uint32 `json:"home_category_id" gorm:"index"` // 首页分类ID外键关联 HomeCategory
GameID uint32 `json:"game_id" gorm:"index"` // 游戏ID外键关联 GameCard
GameName string `json:"game_name"` // 游戏名称
SortOrder int `json:"sort_order" gorm:"index"` // 归属游戏中排序序号
}

View File

@ -59,9 +59,13 @@ func ConfigAppRouter(r gin.IRouter) {
gameCard.POST("type/list", controller.GameCardTypeList) // 游戏类型列表
//gameCard.Use(auth.UserAccessAuth)
gameCard.POST("info", controller.GameCardInfo) // 游戏卡详情
gameCard.POST("list", controller.GameCardList) // 游戏卡列表
gameCard.POST("info", controller.GameCardInfo) // 游戏卡详情
//gameCard.POST("list", controller.GameCardList) // 游戏卡列表
gameCard.POST("banner", controller.HomeCarouselList) // 轮播图
// add 2025-1-1
gameCard.GET("home/list", controller.HomeCategoryList) // 首页分类列表
gameCard.POST("list", controller.NewGameCardList) // 游戏卡列表
}
search := gameCard.Group("search")