From a8fdb0488195a8af7f7fc88eb071996b4987a262 Mon Sep 17 00:00:00 2001 From: li Date: Mon, 4 Apr 2022 19:03:22 +0800 Subject: [PATCH] fix: --- controller/game_card.go | 20 +- controller/user_share_card.go | 232 ++++++- lib/wxpay/wx_pay.go | 1 + model/autogenerated_share_card.go | 1026 ++++++++++++++++++++++++++--- model/model_test.go | 3 + model/order.go | 17 + model/share_card.go | 399 ++++++++--- model/user.go | 17 +- router/router_app.go | 6 +- 9 files changed, 1543 insertions(+), 178 deletions(-) diff --git a/controller/game_card.go b/controller/game_card.go index 7e17690..c8a4464 100644 --- a/controller/game_card.go +++ b/controller/game_card.go @@ -518,7 +518,6 @@ func PushWXPayNotice(c *gin.Context) { logger.Error("err:", err) } } else if notify.Attach == wxpay.WxPayUpgradeMember { - record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo} err := record.GetByOpenNo() if err != nil { @@ -580,6 +579,25 @@ func PushWXPayNotice(c *gin.Context) { logger.Error("err:", err) return } + } else if notify.Attach == wxpay.WxPayShareCardRetrieve { + record := &model.UserOpenMemberRecord{OpenNo: notify.OutTradeNo} + err := record.GetByOpenNo() + if err != nil { + logger.Error("err:", err) + } + fmt.Println("UpgradeMember:", record.Uid) + //var user model.User + //err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).One(&user) + //if err != nil { + // logger.Error("err:", err) + // return + //} + + _, err = model.NewShareCardRetrieveQuerySet(model.DB).IDEq(record.OrderId). + GetUpdater().SetPayState(2).UpdateNum() + if err != nil { + logger.Error("update pay state err:", err) + } } logger.Debug("微信推动支付通知") diff --git a/controller/user_share_card.go b/controller/user_share_card.go index cc39a43..550876a 100644 --- a/controller/user_share_card.go +++ b/controller/user_share_card.go @@ -1,11 +1,14 @@ package controller import ( + "encoding/json" "errors" + "fmt" "github.com/codinl/go-logger" "github.com/gin-gonic/gin" "mh-server/lib/auth" "mh-server/lib/status" + "mh-server/lib/wxpay" "mh-server/model" ) @@ -300,18 +303,239 @@ func ShareCardRetrieveCreate(c *gin.Context) { RespJson(c, status.Unauthorized, nil) return } - err := req.RetrieveCreate() + req.Uid = uc.Uid + user := model.GetUserByUid(uc.Uid) + if user == nil { + RespJson(c, status.Unauthorized, nil) + return + } + if user.MemberLevel != 2 && user.MemberLevel != 4 && user.MemberLevel != 5 { + logger.Error("user not is member err:") + RespJson(c, status.NotMember, nil) + return + } + req.Amount = 10 // TODO + retrieve, err := req.RetrieveCreate() if err != nil { logger.Error("share card retrieve create err:", err) RespJson(c, status.InternalServerError, nil) return } + if req.RetrieveCardType == 1 { + RespOK(c, nil) + return + } + //user := model.GetUserByUid(uc.Uid) + //if user == nil { + // RespJson(c, status.Unauthorized, nil) + // return + //} + + webPay, err := wxpay.WebPay(retrieve.OrderSn, req.Amount, user.WxOpenID, "N", wxpay.WxPayShareCardRetrieve) + if err != nil { + logger.Error(errors.New("WebPay err")) + RespJson(c, status.InternalServerError, nil) + return + } + + err = model.UserOpenMemberRecord{Uid: uc.Uid, OpenNo: retrieve.OrderSn, OrderId: retrieve.ID, OrderType: 1}.Insert() + if err != nil { + logger.Error(errors.New("WebPay err")) + RespJson(c, status.InternalServerError, nil) + return + } + + ret := map[string]interface{}{ + "web_pay": webPay, + } + RespOK(c, ret) + return +} + +func ShareCardRetrieveList(c *gin.Context) { + req := model.ShareCardRetrieveListReq{} + if c.ShouldBindJSON(&req) != nil { + logger.Error("parameter err") + RespJson(c, status.BadRequest, nil) + return + } + uc := auth.GetCurrentUser(c) + if uc == nil { + RespJson(c, status.Unauthorized, nil) + return + } + req.Uid = uc.Uid + list, totalPage, err := req.List() + if err != nil { + logger.Error("share card retrieve list err:", err) + RespJson(c, status.InternalServerError, nil) + return + } + + ret := map[string]interface{}{ + "list": list, + "cur_page": req.Page, + "total_page": totalPage, + } + RespOK(c, ret) + return +} + +func ShareCardRetrieveDetail(c *gin.Context) { + req := struct { + ShareCardRetrieveId uint32 `json:"share_card_retrieve_id"` + }{} + if c.ShouldBindJSON(&req) != nil { + logger.Error("parameter err") + RespJson(c, status.BadRequest, nil) + return + } + //uc := auth.GetCurrentUser(c) + //if uc == nil { + // RespJson(c, status.Unauthorized, nil) + // return + //} + //req.Uid = uc.Uid + + info, err := model.GetShareCardRetrieveInfo(req.ShareCardRetrieveId) + if err != nil { + logger.Error("share card retrieve list err:", err) + RespJson(c, status.InternalServerError, nil) + return + } //ret := map[string]interface{}{ - // "list": list, - // "cur_page": req.Page, - // "total_page": totalPage, + //} + RespOK(c, info) + return +} + +func ShareCardRetrieveCancel(c *gin.Context) { + req := struct { + ShareCardRetrieveId uint32 `json:"share_card_retrieve_id"` + }{} + if c.ShouldBindJSON(&req) != nil { + logger.Error("parameter err") + RespJson(c, status.BadRequest, nil) + return + } + //uc := auth.GetCurrentUser(c) + //if uc == nil { + // RespJson(c, status.Unauthorized, nil) + // return + //} + //req.Uid = uc.Uid + + //info, err := model.GetShareCardRetrieveInfo(req.ShareCardRetrieveId) + //if err != nil { + // logger.Error("share card retrieve list err:", err) + // RespJson(c, status.InternalServerError, nil) + // return + //} + var retrieve model.ShareCardRetrieve + err := model.NewShareCardRetrieveQuerySet(model.DB).IDEq(req.ShareCardRetrieveId).One(&retrieve) + if err != nil { + logger.Error("share card retrieve err:", err) + RespJson(c, status.InternalServerError, nil) + return + } + var refundOrderSn string + if retrieve.RetrieveCardType == 2 { + refundOrderSn = model.GetShareCardRetrieveOrderSn() + err = model.UserOpenMemberRecord{Uid: uint32(retrieve.Uid), OpenNo: refundOrderSn, OrderId: retrieve.ID, OrderType: 2}.Insert() + if err != nil { + logger.Error(errors.New("WebPay err")) + RespJson(c, status.InternalServerError, nil) + return + } + + orderRefund := wxpay.OrderRefund{ + OutTradeNo: retrieve.OrderSn, + OutRefundNo: refundOrderSn, + NotifyUrl: "", + Amount: wxpay.OrderRefundAmount{ + Refund: retrieve.PayAmount, + Total: retrieve.PayState, + Currency: "CNY", + }, + } + //bytes, _ := json.Marshal(order) + //fmt.Println("订单取消:", string(bytes)) + orderRefundJson, _ := json.Marshal(&orderRefund) + fmt.Println("订单取消 orderRefundJson:", string(orderRefundJson)) + //err = wxpay.WxPayOrderRefund(orderRefund) + err = wxpay.TransactionOrderRefund(orderRefund) + if err != nil { + logger.Error("err:", err) + RespJson(c, status.InternalServerError, nil) + return + } + + } + + begin := model.DB.Begin() + qs := model.NewShareCardRetrieveQuerySet(begin).IDEq(req.ShareCardRetrieveId).GetUpdater(). + SetState(model.RetrieveStateCancel).SetPickupCode("已取消") + if refundOrderSn != "" { + qs = qs.SetRefundOrderSn(refundOrderSn) + } + _, err = qs.UpdateNum() + if err != nil { + logger.Error("update share card retrieve err:", err) + RespJson(c, status.InternalServerError, nil) + return + } + _, err = model.NewShareCardRetrieveCardQuerySet(begin).ShareCardRetrieveIdEq(req.ShareCardRetrieveId).GetUpdater(). + SetState(model.RetrieveStateCancel).UpdateNum() + if err != nil { + logger.Error("update share card retrieve card err:", err) + RespJson(c, status.InternalServerError, nil) + return + } + err = begin.Commit().Error + if err != nil { + logger.Error("commit err:", err) + RespJson(c, status.InternalServerError, nil) + return + } + //ret := map[string]interface{}{ //} RespOK(c, nil) return } + +func ShareCardRetrieveConfirm(c *gin.Context) { + req := struct { + ShareCardRetrieveId uint32 `json:"share_card_retrieve_id"` + }{} + if c.ShouldBindJSON(&req) != nil { + logger.Error("parameter err") + RespJson(c, status.BadRequest, nil) + return + } + + begin := model.DB.Begin() + _, err := model.NewShareCardRetrieveQuerySet(begin).IDEq(req.ShareCardRetrieveId).GetUpdater(). + SetState(model.RetrieveStateReceivedCard).UpdateNum() + if err != nil { + logger.Error("update share card retrieve err:", err) + RespJson(c, status.InternalServerError, nil) + return + } + _, err = model.NewShareCardRetrieveCardQuerySet(begin).ShareCardRetrieveIdEq(req.ShareCardRetrieveId).GetUpdater(). + SetState(model.RetrieveStateReceivedCard).UpdateNum() + if err != nil { + logger.Error("update share card retrieve card err:", err) + RespJson(c, status.InternalServerError, nil) + return + } + err = begin.Commit().Error + if err != nil { + logger.Error("commit err:", err) + RespJson(c, status.InternalServerError, nil) + return + } + + RespOK(c, nil) + return +} diff --git a/lib/wxpay/wx_pay.go b/lib/wxpay/wx_pay.go index 4b285d6..ec2fe0d 100644 --- a/lib/wxpay/wx_pay.go +++ b/lib/wxpay/wx_pay.go @@ -40,6 +40,7 @@ const ( WxPayExchangeGoods = "exchange_goods" // 兑换商品 WxPayUpgradeMember = "upgrade_member" // 多级会员 WxPayMemberExpireDelay = "member_expire_delay" // 会员过期滞纳金 + WxPayShareCardRetrieve = "share_card_retrieve" // 会员过期滞纳金 //NotifyUrl = "https://switch.deovo.com:8001/api/v1/wxpay/notice" // TODO 数据库配置 生产 //NotifyUrl = "https://dev.switch.deovo.com:8004/api/v1/wxpay/notice" // TODO 测试 diff --git a/model/autogenerated_share_card.go b/model/autogenerated_share_card.go index 511a026..6c22e52 100644 --- a/model/autogenerated_share_card.go +++ b/model/autogenerated_share_card.go @@ -3249,6 +3249,18 @@ func (qs ShareCardRetrieveCardQuerySet) OrderAscByRetrieveCardType() ShareCardRe return qs.w(qs.db.Order("retrieve_card_type ASC")) } +// OrderAscByRetrieveGameCardGoodsId is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) OrderAscByRetrieveGameCardGoodsId() ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Order("retrieve_game_card_goods_id ASC")) +} + +// OrderAscByRetrieveSerialNumber is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) OrderAscByRetrieveSerialNumber() ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Order("retrieve_serial_number ASC")) +} + // OrderAscBySerialNumber is an autogenerated method // nolint: dupl func (qs ShareCardRetrieveCardQuerySet) OrderAscBySerialNumber() ShareCardRetrieveCardQuerySet { @@ -3345,6 +3357,18 @@ func (qs ShareCardRetrieveCardQuerySet) OrderDescByRetrieveCardType() ShareCardR return qs.w(qs.db.Order("retrieve_card_type DESC")) } +// OrderDescByRetrieveGameCardGoodsId is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) OrderDescByRetrieveGameCardGoodsId() ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Order("retrieve_game_card_goods_id DESC")) +} + +// OrderDescByRetrieveSerialNumber is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) OrderDescByRetrieveSerialNumber() ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Order("retrieve_serial_number DESC")) +} + // OrderDescBySerialNumber is an autogenerated method // nolint: dupl func (qs ShareCardRetrieveCardQuerySet) OrderDescBySerialNumber() ShareCardRetrieveCardQuerySet { @@ -3517,6 +3541,130 @@ func (qs ShareCardRetrieveCardQuerySet) RetrieveCardTypeNotIn(retrieveCardType . return qs.w(qs.db.Where("retrieve_card_type NOT IN (?)", retrieveCardType)) } +// RetrieveGameCardGoodsIdEq is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveGameCardGoodsIdEq(retrieveGameCardGoodsId uint32) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_game_card_goods_id = ?", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdGt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveGameCardGoodsIdGt(retrieveGameCardGoodsId uint32) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_game_card_goods_id > ?", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdGte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveGameCardGoodsIdGte(retrieveGameCardGoodsId uint32) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_game_card_goods_id >= ?", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveGameCardGoodsIdIn(retrieveGameCardGoodsId ...uint32) ShareCardRetrieveCardQuerySet { + if len(retrieveGameCardGoodsId) == 0 { + qs.db.AddError(errors.New("must at least pass one retrieveGameCardGoodsId in RetrieveGameCardGoodsIdIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("retrieve_game_card_goods_id IN (?)", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdLt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveGameCardGoodsIdLt(retrieveGameCardGoodsId uint32) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_game_card_goods_id < ?", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdLte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveGameCardGoodsIdLte(retrieveGameCardGoodsId uint32) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_game_card_goods_id <= ?", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdNe is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveGameCardGoodsIdNe(retrieveGameCardGoodsId uint32) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_game_card_goods_id != ?", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdNotIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveGameCardGoodsIdNotIn(retrieveGameCardGoodsId ...uint32) ShareCardRetrieveCardQuerySet { + if len(retrieveGameCardGoodsId) == 0 { + qs.db.AddError(errors.New("must at least pass one retrieveGameCardGoodsId in RetrieveGameCardGoodsIdNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("retrieve_game_card_goods_id NOT IN (?)", retrieveGameCardGoodsId)) +} + +// RetrieveSerialNumberEq is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveSerialNumberEq(retrieveSerialNumber string) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number = ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberGt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveSerialNumberGt(retrieveSerialNumber string) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number > ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberGte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveSerialNumberGte(retrieveSerialNumber string) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number >= ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveSerialNumberIn(retrieveSerialNumber ...string) ShareCardRetrieveCardQuerySet { + if len(retrieveSerialNumber) == 0 { + qs.db.AddError(errors.New("must at least pass one retrieveSerialNumber in RetrieveSerialNumberIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("retrieve_serial_number IN (?)", retrieveSerialNumber)) +} + +// RetrieveSerialNumberLike is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveSerialNumberLike(retrieveSerialNumber string) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number LIKE ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberLt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveSerialNumberLt(retrieveSerialNumber string) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number < ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberLte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveSerialNumberLte(retrieveSerialNumber string) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number <= ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberNe is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveSerialNumberNe(retrieveSerialNumber string) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number != ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberNotIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveSerialNumberNotIn(retrieveSerialNumber ...string) ShareCardRetrieveCardQuerySet { + if len(retrieveSerialNumber) == 0 { + qs.db.AddError(errors.New("must at least pass one retrieveSerialNumber in RetrieveSerialNumberNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("retrieve_serial_number NOT IN (?)", retrieveSerialNumber)) +} + +// RetrieveSerialNumberNotlike is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveCardQuerySet) RetrieveSerialNumberNotlike(retrieveSerialNumber string) ShareCardRetrieveCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number NOT LIKE ?", retrieveSerialNumber)) +} + // SerialNumberEq is an autogenerated method // nolint: dupl func (qs ShareCardRetrieveCardQuerySet) SerialNumberEq(serialNumber string) ShareCardRetrieveCardQuerySet { @@ -4025,6 +4173,20 @@ func (u ShareCardRetrieveCardUpdater) SetRetrieveCardType(retrieveCardType uint3 return u } +// SetRetrieveGameCardGoodsId is an autogenerated method +// nolint: dupl +func (u ShareCardRetrieveCardUpdater) SetRetrieveGameCardGoodsId(retrieveGameCardGoodsId uint32) ShareCardRetrieveCardUpdater { + u.fields[string(ShareCardRetrieveCardDBSchema.RetrieveGameCardGoodsId)] = retrieveGameCardGoodsId + return u +} + +// SetRetrieveSerialNumber is an autogenerated method +// nolint: dupl +func (u ShareCardRetrieveCardUpdater) SetRetrieveSerialNumber(retrieveSerialNumber string) ShareCardRetrieveCardUpdater { + u.fields[string(ShareCardRetrieveCardDBSchema.RetrieveSerialNumber)] = retrieveSerialNumber + return u +} + // SetSerialNumber is an autogenerated method // nolint: dupl func (u ShareCardRetrieveCardUpdater) SetSerialNumber(serialNumber string) ShareCardRetrieveCardUpdater { @@ -4109,62 +4271,68 @@ func (f ShareCardRetrieveCardDBSchemaField) String() string { // ShareCardRetrieveCardDBSchema stores db field names of ShareCardRetrieveCard var ShareCardRetrieveCardDBSchema = struct { - ID ShareCardRetrieveCardDBSchemaField - CreatedAt ShareCardRetrieveCardDBSchemaField - UpdatedAt ShareCardRetrieveCardDBSchemaField - DeletedAt ShareCardRetrieveCardDBSchemaField - ShareCardRetrieveId ShareCardRetrieveCardDBSchemaField - UserShareCardId ShareCardRetrieveCardDBSchemaField - Uid ShareCardRetrieveCardDBSchemaField - SerialNumber ShareCardRetrieveCardDBSchemaField - State ShareCardRetrieveCardDBSchemaField - BillSn ShareCardRetrieveCardDBSchemaField - GameCardId ShareCardRetrieveCardDBSchemaField - RetrieveCardType ShareCardRetrieveCardDBSchemaField - GameCardGoodsId ShareCardRetrieveCardDBSchemaField - UserShareCardBillId ShareCardRetrieveCardDBSchemaField - StoreId ShareCardRetrieveCardDBSchemaField - Remark ShareCardRetrieveCardDBSchemaField + ID ShareCardRetrieveCardDBSchemaField + CreatedAt ShareCardRetrieveCardDBSchemaField + UpdatedAt ShareCardRetrieveCardDBSchemaField + DeletedAt ShareCardRetrieveCardDBSchemaField + ShareCardRetrieveId ShareCardRetrieveCardDBSchemaField + UserShareCardId ShareCardRetrieveCardDBSchemaField + Uid ShareCardRetrieveCardDBSchemaField + SerialNumber ShareCardRetrieveCardDBSchemaField + State ShareCardRetrieveCardDBSchemaField + BillSn ShareCardRetrieveCardDBSchemaField + GameCardId ShareCardRetrieveCardDBSchemaField + RetrieveCardType ShareCardRetrieveCardDBSchemaField + GameCardGoodsId ShareCardRetrieveCardDBSchemaField + UserShareCardBillId ShareCardRetrieveCardDBSchemaField + StoreId ShareCardRetrieveCardDBSchemaField + Remark ShareCardRetrieveCardDBSchemaField + RetrieveSerialNumber ShareCardRetrieveCardDBSchemaField + RetrieveGameCardGoodsId ShareCardRetrieveCardDBSchemaField }{ - ID: ShareCardRetrieveCardDBSchemaField("id"), - CreatedAt: ShareCardRetrieveCardDBSchemaField("created_at"), - UpdatedAt: ShareCardRetrieveCardDBSchemaField("updated_at"), - DeletedAt: ShareCardRetrieveCardDBSchemaField("deleted_at"), - ShareCardRetrieveId: ShareCardRetrieveCardDBSchemaField("share_card_retrieve_id"), - UserShareCardId: ShareCardRetrieveCardDBSchemaField("user_share_card_id"), - Uid: ShareCardRetrieveCardDBSchemaField("uid"), - SerialNumber: ShareCardRetrieveCardDBSchemaField("serial_number"), - State: ShareCardRetrieveCardDBSchemaField("state"), - BillSn: ShareCardRetrieveCardDBSchemaField("bill_sn"), - GameCardId: ShareCardRetrieveCardDBSchemaField("game_card_id"), - RetrieveCardType: ShareCardRetrieveCardDBSchemaField("retrieve_card_type"), - GameCardGoodsId: ShareCardRetrieveCardDBSchemaField("game_card_goods_id"), - UserShareCardBillId: ShareCardRetrieveCardDBSchemaField("user_share_card_bill_id"), - StoreId: ShareCardRetrieveCardDBSchemaField("store_id"), - Remark: ShareCardRetrieveCardDBSchemaField("remark"), + ID: ShareCardRetrieveCardDBSchemaField("id"), + CreatedAt: ShareCardRetrieveCardDBSchemaField("created_at"), + UpdatedAt: ShareCardRetrieveCardDBSchemaField("updated_at"), + DeletedAt: ShareCardRetrieveCardDBSchemaField("deleted_at"), + ShareCardRetrieveId: ShareCardRetrieveCardDBSchemaField("share_card_retrieve_id"), + UserShareCardId: ShareCardRetrieveCardDBSchemaField("user_share_card_id"), + Uid: ShareCardRetrieveCardDBSchemaField("uid"), + SerialNumber: ShareCardRetrieveCardDBSchemaField("serial_number"), + State: ShareCardRetrieveCardDBSchemaField("state"), + BillSn: ShareCardRetrieveCardDBSchemaField("bill_sn"), + GameCardId: ShareCardRetrieveCardDBSchemaField("game_card_id"), + RetrieveCardType: ShareCardRetrieveCardDBSchemaField("retrieve_card_type"), + GameCardGoodsId: ShareCardRetrieveCardDBSchemaField("game_card_goods_id"), + UserShareCardBillId: ShareCardRetrieveCardDBSchemaField("user_share_card_bill_id"), + StoreId: ShareCardRetrieveCardDBSchemaField("store_id"), + Remark: ShareCardRetrieveCardDBSchemaField("remark"), + RetrieveSerialNumber: ShareCardRetrieveCardDBSchemaField("retrieve_serial_number"), + RetrieveGameCardGoodsId: ShareCardRetrieveCardDBSchemaField("retrieve_game_card_goods_id"), } // Update updates ShareCardRetrieveCard fields by primary key // nolint: dupl func (o *ShareCardRetrieveCard) Update(db *gorm.DB, fields ...ShareCardRetrieveCardDBSchemaField) error { dbNameToFieldName := map[string]interface{}{ - "id": o.ID, - "created_at": o.CreatedAt, - "updated_at": o.UpdatedAt, - "deleted_at": o.DeletedAt, - "share_card_retrieve_id": o.ShareCardRetrieveId, - "user_share_card_id": o.UserShareCardId, - "uid": o.Uid, - "serial_number": o.SerialNumber, - "state": o.State, - "bill_sn": o.BillSn, - "game_card_id": o.GameCardId, - "retrieve_card_type": o.RetrieveCardType, - "game_card_goods_id": o.GameCardGoodsId, - "user_share_card_bill_id": o.UserShareCardBillId, - "store_id": o.StoreId, - "remark": o.Remark, + "id": o.ID, + "created_at": o.CreatedAt, + "updated_at": o.UpdatedAt, + "deleted_at": o.DeletedAt, + "share_card_retrieve_id": o.ShareCardRetrieveId, + "user_share_card_id": o.UserShareCardId, + "uid": o.Uid, + "serial_number": o.SerialNumber, + "state": o.State, + "bill_sn": o.BillSn, + "game_card_id": o.GameCardId, + "retrieve_card_type": o.RetrieveCardType, + "game_card_goods_id": o.GameCardGoodsId, + "user_share_card_bill_id": o.UserShareCardBillId, + "store_id": o.StoreId, + "remark": o.Remark, + "retrieve_serial_number": o.RetrieveSerialNumber, + "retrieve_game_card_goods_id": o.RetrieveGameCardGoodsId, } u := map[string]interface{}{} for _, f := range fields { @@ -4239,6 +4407,62 @@ func (o *ShareCardRetrieve) Delete(db *gorm.DB) error { return db.Delete(o).Error } +// AddressIdEq is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) AddressIdEq(addressId uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("address_id = ?", addressId)) +} + +// AddressIdGt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) AddressIdGt(addressId uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("address_id > ?", addressId)) +} + +// AddressIdGte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) AddressIdGte(addressId uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("address_id >= ?", addressId)) +} + +// AddressIdIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) AddressIdIn(addressId ...uint32) ShareCardRetrieveQuerySet { + if len(addressId) == 0 { + qs.db.AddError(errors.New("must at least pass one addressId in AddressIdIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("address_id IN (?)", addressId)) +} + +// AddressIdLt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) AddressIdLt(addressId uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("address_id < ?", addressId)) +} + +// AddressIdLte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) AddressIdLte(addressId uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("address_id <= ?", addressId)) +} + +// AddressIdNe is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) AddressIdNe(addressId uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("address_id != ?", addressId)) +} + +// AddressIdNotIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) AddressIdNotIn(addressId ...uint32) ShareCardRetrieveQuerySet { + if len(addressId) == 0 { + qs.db.AddError(errors.New("must at least pass one addressId in AddressIdNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("address_id NOT IN (?)", addressId)) +} + // All is an autogenerated method // nolint: dupl func (qs ShareCardRetrieveQuerySet) All(ret *[]ShareCardRetrieve) error { @@ -4647,6 +4871,12 @@ func (qs ShareCardRetrieveQuerySet) One(ret *ShareCardRetrieve) error { return qs.db.First(ret).Error } +// OrderAscByAddressId is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderAscByAddressId() ShareCardRetrieveQuerySet { + return qs.w(qs.db.Order("address_id ASC")) +} + // OrderAscByCreatedAt is an autogenerated method // nolint: dupl func (qs ShareCardRetrieveQuerySet) OrderAscByCreatedAt() ShareCardRetrieveQuerySet { @@ -4683,6 +4913,36 @@ func (qs ShareCardRetrieveQuerySet) OrderAscByID() ShareCardRetrieveQuerySet { return qs.w(qs.db.Order("id ASC")) } +// OrderAscByOrderSn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderAscByOrderSn() ShareCardRetrieveQuerySet { + return qs.w(qs.db.Order("order_sn ASC")) +} + +// OrderAscByPayAmount is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderAscByPayAmount() ShareCardRetrieveQuerySet { + return qs.w(qs.db.Order("pay_amount ASC")) +} + +// OrderAscByPayState is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderAscByPayState() ShareCardRetrieveQuerySet { + return qs.w(qs.db.Order("pay_state ASC")) +} + +// OrderAscByPickupCode is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderAscByPickupCode() ShareCardRetrieveQuerySet { + return qs.w(qs.db.Order("pickup_code ASC")) +} + +// OrderAscByRefundOrderSn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderAscByRefundOrderSn() ShareCardRetrieveQuerySet { + return qs.w(qs.db.Order("refund_order_sn ASC")) +} + // OrderAscByRemark is an autogenerated method // nolint: dupl func (qs ShareCardRetrieveQuerySet) OrderAscByRemark() ShareCardRetrieveQuerySet { @@ -4731,6 +4991,12 @@ func (qs ShareCardRetrieveQuerySet) OrderAscByUpdatedAt() ShareCardRetrieveQuery return qs.w(qs.db.Order("updated_at ASC")) } +// OrderDescByAddressId is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderDescByAddressId() ShareCardRetrieveQuerySet { + return qs.w(qs.db.Order("address_id DESC")) +} + // OrderDescByCreatedAt is an autogenerated method // nolint: dupl func (qs ShareCardRetrieveQuerySet) OrderDescByCreatedAt() ShareCardRetrieveQuerySet { @@ -4767,6 +5033,36 @@ func (qs ShareCardRetrieveQuerySet) OrderDescByID() ShareCardRetrieveQuerySet { return qs.w(qs.db.Order("id DESC")) } +// OrderDescByOrderSn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderDescByOrderSn() ShareCardRetrieveQuerySet { + return qs.w(qs.db.Order("order_sn DESC")) +} + +// OrderDescByPayAmount is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderDescByPayAmount() ShareCardRetrieveQuerySet { + return qs.w(qs.db.Order("pay_amount DESC")) +} + +// OrderDescByPayState is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderDescByPayState() ShareCardRetrieveQuerySet { + return qs.w(qs.db.Order("pay_state DESC")) +} + +// OrderDescByPickupCode is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderDescByPickupCode() ShareCardRetrieveQuerySet { + return qs.w(qs.db.Order("pickup_code DESC")) +} + +// OrderDescByRefundOrderSn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderDescByRefundOrderSn() ShareCardRetrieveQuerySet { + return qs.w(qs.db.Order("refund_order_sn DESC")) +} + // OrderDescByRemark is an autogenerated method // nolint: dupl func (qs ShareCardRetrieveQuerySet) OrderDescByRemark() ShareCardRetrieveQuerySet { @@ -4815,6 +5111,322 @@ func (qs ShareCardRetrieveQuerySet) OrderDescByUpdatedAt() ShareCardRetrieveQuer return qs.w(qs.db.Order("updated_at DESC")) } +// OrderSnEq is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderSnEq(orderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("order_sn = ?", orderSn)) +} + +// OrderSnGt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderSnGt(orderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("order_sn > ?", orderSn)) +} + +// OrderSnGte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderSnGte(orderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("order_sn >= ?", orderSn)) +} + +// OrderSnIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderSnIn(orderSn ...string) ShareCardRetrieveQuerySet { + if len(orderSn) == 0 { + qs.db.AddError(errors.New("must at least pass one orderSn in OrderSnIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("order_sn IN (?)", orderSn)) +} + +// OrderSnLike is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderSnLike(orderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("order_sn LIKE ?", orderSn)) +} + +// OrderSnLt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderSnLt(orderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("order_sn < ?", orderSn)) +} + +// OrderSnLte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderSnLte(orderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("order_sn <= ?", orderSn)) +} + +// OrderSnNe is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderSnNe(orderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("order_sn != ?", orderSn)) +} + +// OrderSnNotIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderSnNotIn(orderSn ...string) ShareCardRetrieveQuerySet { + if len(orderSn) == 0 { + qs.db.AddError(errors.New("must at least pass one orderSn in OrderSnNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("order_sn NOT IN (?)", orderSn)) +} + +// OrderSnNotlike is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) OrderSnNotlike(orderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("order_sn NOT LIKE ?", orderSn)) +} + +// PayAmountEq is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayAmountEq(payAmount uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pay_amount = ?", payAmount)) +} + +// PayAmountGt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayAmountGt(payAmount uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pay_amount > ?", payAmount)) +} + +// PayAmountGte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayAmountGte(payAmount uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pay_amount >= ?", payAmount)) +} + +// PayAmountIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayAmountIn(payAmount ...uint32) ShareCardRetrieveQuerySet { + if len(payAmount) == 0 { + qs.db.AddError(errors.New("must at least pass one payAmount in PayAmountIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("pay_amount IN (?)", payAmount)) +} + +// PayAmountLt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayAmountLt(payAmount uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pay_amount < ?", payAmount)) +} + +// PayAmountLte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayAmountLte(payAmount uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pay_amount <= ?", payAmount)) +} + +// PayAmountNe is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayAmountNe(payAmount uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pay_amount != ?", payAmount)) +} + +// PayAmountNotIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayAmountNotIn(payAmount ...uint32) ShareCardRetrieveQuerySet { + if len(payAmount) == 0 { + qs.db.AddError(errors.New("must at least pass one payAmount in PayAmountNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("pay_amount NOT IN (?)", payAmount)) +} + +// PayStateEq is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayStateEq(payState uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pay_state = ?", payState)) +} + +// PayStateGt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayStateGt(payState uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pay_state > ?", payState)) +} + +// PayStateGte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayStateGte(payState uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pay_state >= ?", payState)) +} + +// PayStateIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayStateIn(payState ...uint32) ShareCardRetrieveQuerySet { + if len(payState) == 0 { + qs.db.AddError(errors.New("must at least pass one payState in PayStateIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("pay_state IN (?)", payState)) +} + +// PayStateLt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayStateLt(payState uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pay_state < ?", payState)) +} + +// PayStateLte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayStateLte(payState uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pay_state <= ?", payState)) +} + +// PayStateNe is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayStateNe(payState uint32) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pay_state != ?", payState)) +} + +// PayStateNotIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PayStateNotIn(payState ...uint32) ShareCardRetrieveQuerySet { + if len(payState) == 0 { + qs.db.AddError(errors.New("must at least pass one payState in PayStateNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("pay_state NOT IN (?)", payState)) +} + +// PickupCodeEq is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PickupCodeEq(pickupCode string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pickup_code = ?", pickupCode)) +} + +// PickupCodeGt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PickupCodeGt(pickupCode string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pickup_code > ?", pickupCode)) +} + +// PickupCodeGte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PickupCodeGte(pickupCode string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pickup_code >= ?", pickupCode)) +} + +// PickupCodeIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PickupCodeIn(pickupCode ...string) ShareCardRetrieveQuerySet { + if len(pickupCode) == 0 { + qs.db.AddError(errors.New("must at least pass one pickupCode in PickupCodeIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("pickup_code IN (?)", pickupCode)) +} + +// PickupCodeLike is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PickupCodeLike(pickupCode string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pickup_code LIKE ?", pickupCode)) +} + +// PickupCodeLt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PickupCodeLt(pickupCode string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pickup_code < ?", pickupCode)) +} + +// PickupCodeLte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PickupCodeLte(pickupCode string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pickup_code <= ?", pickupCode)) +} + +// PickupCodeNe is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PickupCodeNe(pickupCode string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pickup_code != ?", pickupCode)) +} + +// PickupCodeNotIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PickupCodeNotIn(pickupCode ...string) ShareCardRetrieveQuerySet { + if len(pickupCode) == 0 { + qs.db.AddError(errors.New("must at least pass one pickupCode in PickupCodeNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("pickup_code NOT IN (?)", pickupCode)) +} + +// PickupCodeNotlike is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) PickupCodeNotlike(pickupCode string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("pickup_code NOT LIKE ?", pickupCode)) +} + +// RefundOrderSnEq is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) RefundOrderSnEq(refundOrderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("refund_order_sn = ?", refundOrderSn)) +} + +// RefundOrderSnGt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) RefundOrderSnGt(refundOrderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("refund_order_sn > ?", refundOrderSn)) +} + +// RefundOrderSnGte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) RefundOrderSnGte(refundOrderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("refund_order_sn >= ?", refundOrderSn)) +} + +// RefundOrderSnIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) RefundOrderSnIn(refundOrderSn ...string) ShareCardRetrieveQuerySet { + if len(refundOrderSn) == 0 { + qs.db.AddError(errors.New("must at least pass one refundOrderSn in RefundOrderSnIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("refund_order_sn IN (?)", refundOrderSn)) +} + +// RefundOrderSnLike is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) RefundOrderSnLike(refundOrderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("refund_order_sn LIKE ?", refundOrderSn)) +} + +// RefundOrderSnLt is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) RefundOrderSnLt(refundOrderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("refund_order_sn < ?", refundOrderSn)) +} + +// RefundOrderSnLte is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) RefundOrderSnLte(refundOrderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("refund_order_sn <= ?", refundOrderSn)) +} + +// RefundOrderSnNe is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) RefundOrderSnNe(refundOrderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("refund_order_sn != ?", refundOrderSn)) +} + +// RefundOrderSnNotIn is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) RefundOrderSnNotIn(refundOrderSn ...string) ShareCardRetrieveQuerySet { + if len(refundOrderSn) == 0 { + qs.db.AddError(errors.New("must at least pass one refundOrderSn in RefundOrderSnNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("refund_order_sn NOT IN (?)", refundOrderSn)) +} + +// RefundOrderSnNotlike is an autogenerated method +// nolint: dupl +func (qs ShareCardRetrieveQuerySet) RefundOrderSnNotlike(refundOrderSn string) ShareCardRetrieveQuerySet { + return qs.w(qs.db.Where("refund_order_sn NOT LIKE ?", refundOrderSn)) +} + // RemarkEq is an autogenerated method // nolint: dupl func (qs ShareCardRetrieveQuerySet) RemarkEq(remark string) ShareCardRetrieveQuerySet { @@ -5227,6 +5839,13 @@ func (qs ShareCardRetrieveQuerySet) UpdatedAtNe(updatedAt time.Time) ShareCardRe return qs.w(qs.db.Where("updated_at != ?", updatedAt)) } +// SetAddressId is an autogenerated method +// nolint: dupl +func (u ShareCardRetrieveUpdater) SetAddressId(addressId uint32) ShareCardRetrieveUpdater { + u.fields[string(ShareCardRetrieveDBSchema.AddressId)] = addressId + return u +} + // SetCreatedAt is an autogenerated method // nolint: dupl func (u ShareCardRetrieveUpdater) SetCreatedAt(createdAt time.Time) ShareCardRetrieveUpdater { @@ -5269,6 +5888,41 @@ func (u ShareCardRetrieveUpdater) SetID(ID uint32) ShareCardRetrieveUpdater { return u } +// SetOrderSn is an autogenerated method +// nolint: dupl +func (u ShareCardRetrieveUpdater) SetOrderSn(orderSn string) ShareCardRetrieveUpdater { + u.fields[string(ShareCardRetrieveDBSchema.OrderSn)] = orderSn + return u +} + +// SetPayAmount is an autogenerated method +// nolint: dupl +func (u ShareCardRetrieveUpdater) SetPayAmount(payAmount uint32) ShareCardRetrieveUpdater { + u.fields[string(ShareCardRetrieveDBSchema.PayAmount)] = payAmount + return u +} + +// SetPayState is an autogenerated method +// nolint: dupl +func (u ShareCardRetrieveUpdater) SetPayState(payState uint32) ShareCardRetrieveUpdater { + u.fields[string(ShareCardRetrieveDBSchema.PayState)] = payState + return u +} + +// SetPickupCode is an autogenerated method +// nolint: dupl +func (u ShareCardRetrieveUpdater) SetPickupCode(pickupCode string) ShareCardRetrieveUpdater { + u.fields[string(ShareCardRetrieveDBSchema.PickupCode)] = pickupCode + return u +} + +// SetRefundOrderSn is an autogenerated method +// nolint: dupl +func (u ShareCardRetrieveUpdater) SetRefundOrderSn(refundOrderSn string) ShareCardRetrieveUpdater { + u.fields[string(ShareCardRetrieveDBSchema.RefundOrderSn)] = refundOrderSn + return u +} + // SetRemark is an autogenerated method // nolint: dupl func (u ShareCardRetrieveUpdater) SetRemark(remark string) ShareCardRetrieveUpdater { @@ -5366,7 +6020,13 @@ var ShareCardRetrieveDBSchema = struct { ExpressNo ShareCardRetrieveDBSchemaField StockRemovalTime ShareCardRetrieveDBSchemaField StockTime ShareCardRetrieveDBSchemaField + PayState ShareCardRetrieveDBSchemaField + PayAmount ShareCardRetrieveDBSchemaField Remark ShareCardRetrieveDBSchemaField + OrderSn ShareCardRetrieveDBSchemaField + AddressId ShareCardRetrieveDBSchemaField + RefundOrderSn ShareCardRetrieveDBSchemaField + PickupCode ShareCardRetrieveDBSchemaField }{ ID: ShareCardRetrieveDBSchemaField("id"), @@ -5382,7 +6042,13 @@ var ShareCardRetrieveDBSchema = struct { ExpressNo: ShareCardRetrieveDBSchemaField("express_no"), StockRemovalTime: ShareCardRetrieveDBSchemaField("stock_removal_time"), StockTime: ShareCardRetrieveDBSchemaField("stock_time"), + PayState: ShareCardRetrieveDBSchemaField("pay_state"), + PayAmount: ShareCardRetrieveDBSchemaField("pay_amount"), Remark: ShareCardRetrieveDBSchemaField("remark"), + OrderSn: ShareCardRetrieveDBSchemaField("order_sn"), + AddressId: ShareCardRetrieveDBSchemaField("address_id"), + RefundOrderSn: ShareCardRetrieveDBSchemaField("refund_order_sn"), + PickupCode: ShareCardRetrieveDBSchemaField("pickup_code"), } // Update updates ShareCardRetrieve fields by primary key @@ -5402,7 +6068,13 @@ func (o *ShareCardRetrieve) Update(db *gorm.DB, fields ...ShareCardRetrieveDBSch "express_no": o.ExpressNo, "stock_removal_time": o.StockRemovalTime, "stock_time": o.StockTime, + "pay_state": o.PayState, + "pay_amount": o.PayAmount, "remark": o.Remark, + "order_sn": o.OrderSn, + "address_id": o.AddressId, + "refund_order_sn": o.RefundOrderSn, + "pickup_code": o.PickupCode, } u := map[string]interface{}{} for _, f := range fields { @@ -8031,6 +8703,18 @@ func (qs UserShareCardQuerySet) OrderAscByProfitState() UserShareCardQuerySet { return qs.w(qs.db.Order("profit_state ASC")) } +// OrderAscByRetrieveGameCardGoodsId is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) OrderAscByRetrieveGameCardGoodsId() UserShareCardQuerySet { + return qs.w(qs.db.Order("retrieve_game_card_goods_id ASC")) +} + +// OrderAscByRetrieveSerialNumber is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) OrderAscByRetrieveSerialNumber() UserShareCardQuerySet { + return qs.w(qs.db.Order("retrieve_serial_number ASC")) +} + // OrderAscBySerialNumber is an autogenerated method // nolint: dupl func (qs UserShareCardQuerySet) OrderAscBySerialNumber() UserShareCardQuerySet { @@ -8121,6 +8805,18 @@ func (qs UserShareCardQuerySet) OrderDescByProfitState() UserShareCardQuerySet { return qs.w(qs.db.Order("profit_state DESC")) } +// OrderDescByRetrieveGameCardGoodsId is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) OrderDescByRetrieveGameCardGoodsId() UserShareCardQuerySet { + return qs.w(qs.db.Order("retrieve_game_card_goods_id DESC")) +} + +// OrderDescByRetrieveSerialNumber is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) OrderDescByRetrieveSerialNumber() UserShareCardQuerySet { + return qs.w(qs.db.Order("retrieve_serial_number DESC")) +} + // OrderDescBySerialNumber is an autogenerated method // nolint: dupl func (qs UserShareCardQuerySet) OrderDescBySerialNumber() UserShareCardQuerySet { @@ -8225,6 +8921,130 @@ func (qs UserShareCardQuerySet) ProfitStateNotIn(profitState ...uint32) UserShar return qs.w(qs.db.Where("profit_state NOT IN (?)", profitState)) } +// RetrieveGameCardGoodsIdEq is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveGameCardGoodsIdEq(retrieveGameCardGoodsId uint32) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_game_card_goods_id = ?", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdGt is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveGameCardGoodsIdGt(retrieveGameCardGoodsId uint32) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_game_card_goods_id > ?", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdGte is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveGameCardGoodsIdGte(retrieveGameCardGoodsId uint32) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_game_card_goods_id >= ?", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdIn is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveGameCardGoodsIdIn(retrieveGameCardGoodsId ...uint32) UserShareCardQuerySet { + if len(retrieveGameCardGoodsId) == 0 { + qs.db.AddError(errors.New("must at least pass one retrieveGameCardGoodsId in RetrieveGameCardGoodsIdIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("retrieve_game_card_goods_id IN (?)", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdLt is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveGameCardGoodsIdLt(retrieveGameCardGoodsId uint32) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_game_card_goods_id < ?", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdLte is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveGameCardGoodsIdLte(retrieveGameCardGoodsId uint32) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_game_card_goods_id <= ?", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdNe is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveGameCardGoodsIdNe(retrieveGameCardGoodsId uint32) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_game_card_goods_id != ?", retrieveGameCardGoodsId)) +} + +// RetrieveGameCardGoodsIdNotIn is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveGameCardGoodsIdNotIn(retrieveGameCardGoodsId ...uint32) UserShareCardQuerySet { + if len(retrieveGameCardGoodsId) == 0 { + qs.db.AddError(errors.New("must at least pass one retrieveGameCardGoodsId in RetrieveGameCardGoodsIdNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("retrieve_game_card_goods_id NOT IN (?)", retrieveGameCardGoodsId)) +} + +// RetrieveSerialNumberEq is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveSerialNumberEq(retrieveSerialNumber string) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number = ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberGt is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveSerialNumberGt(retrieveSerialNumber string) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number > ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberGte is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveSerialNumberGte(retrieveSerialNumber string) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number >= ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberIn is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveSerialNumberIn(retrieveSerialNumber ...string) UserShareCardQuerySet { + if len(retrieveSerialNumber) == 0 { + qs.db.AddError(errors.New("must at least pass one retrieveSerialNumber in RetrieveSerialNumberIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("retrieve_serial_number IN (?)", retrieveSerialNumber)) +} + +// RetrieveSerialNumberLike is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveSerialNumberLike(retrieveSerialNumber string) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number LIKE ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberLt is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveSerialNumberLt(retrieveSerialNumber string) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number < ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberLte is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveSerialNumberLte(retrieveSerialNumber string) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number <= ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberNe is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveSerialNumberNe(retrieveSerialNumber string) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number != ?", retrieveSerialNumber)) +} + +// RetrieveSerialNumberNotIn is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveSerialNumberNotIn(retrieveSerialNumber ...string) UserShareCardQuerySet { + if len(retrieveSerialNumber) == 0 { + qs.db.AddError(errors.New("must at least pass one retrieveSerialNumber in RetrieveSerialNumberNotIn")) + return qs.w(qs.db) + } + return qs.w(qs.db.Where("retrieve_serial_number NOT IN (?)", retrieveSerialNumber)) +} + +// RetrieveSerialNumberNotlike is an autogenerated method +// nolint: dupl +func (qs UserShareCardQuerySet) RetrieveSerialNumberNotlike(retrieveSerialNumber string) UserShareCardQuerySet { + return qs.w(qs.db.Where("retrieve_serial_number NOT LIKE ?", retrieveSerialNumber)) +} + // SerialNumberEq is an autogenerated method // nolint: dupl func (qs UserShareCardQuerySet) SerialNumberEq(serialNumber string) UserShareCardQuerySet { @@ -8726,6 +9546,20 @@ func (u UserShareCardUpdater) SetProfitState(profitState uint32) UserShareCardUp return u } +// SetRetrieveGameCardGoodsId is an autogenerated method +// nolint: dupl +func (u UserShareCardUpdater) SetRetrieveGameCardGoodsId(retrieveGameCardGoodsId uint32) UserShareCardUpdater { + u.fields[string(UserShareCardDBSchema.RetrieveGameCardGoodsId)] = retrieveGameCardGoodsId + return u +} + +// SetRetrieveSerialNumber is an autogenerated method +// nolint: dupl +func (u UserShareCardUpdater) SetRetrieveSerialNumber(retrieveSerialNumber string) UserShareCardUpdater { + u.fields[string(UserShareCardDBSchema.RetrieveSerialNumber)] = retrieveSerialNumber + return u +} + // SetSerialNumber is an autogenerated method // nolint: dupl func (u UserShareCardUpdater) SetSerialNumber(serialNumber string) UserShareCardUpdater { @@ -8810,59 +9644,65 @@ func (f UserShareCardDBSchemaField) String() string { // UserShareCardDBSchema stores db field names of UserShareCard var UserShareCardDBSchema = struct { - ID UserShareCardDBSchemaField - CreatedAt UserShareCardDBSchemaField - UpdatedAt UserShareCardDBSchemaField - DeletedAt UserShareCardDBSchemaField - Uid UserShareCardDBSchemaField - SerialNumber UserShareCardDBSchemaField - BillSn UserShareCardDBSchemaField - GameCardId UserShareCardDBSchemaField - State UserShareCardDBSchemaField - GameCardGoodsId UserShareCardDBSchemaField - UserShareCardBillId UserShareCardDBSchemaField - ShareCardBillGameId UserShareCardDBSchemaField - StoreId UserShareCardDBSchemaField - ProfitState UserShareCardDBSchemaField - TotalVm UserShareCardDBSchemaField + ID UserShareCardDBSchemaField + CreatedAt UserShareCardDBSchemaField + UpdatedAt UserShareCardDBSchemaField + DeletedAt UserShareCardDBSchemaField + Uid UserShareCardDBSchemaField + SerialNumber UserShareCardDBSchemaField + BillSn UserShareCardDBSchemaField + GameCardId UserShareCardDBSchemaField + State UserShareCardDBSchemaField + GameCardGoodsId UserShareCardDBSchemaField + UserShareCardBillId UserShareCardDBSchemaField + ShareCardBillGameId UserShareCardDBSchemaField + StoreId UserShareCardDBSchemaField + ProfitState UserShareCardDBSchemaField + TotalVm UserShareCardDBSchemaField + RetrieveSerialNumber UserShareCardDBSchemaField + RetrieveGameCardGoodsId UserShareCardDBSchemaField }{ - ID: UserShareCardDBSchemaField("id"), - CreatedAt: UserShareCardDBSchemaField("created_at"), - UpdatedAt: UserShareCardDBSchemaField("updated_at"), - DeletedAt: UserShareCardDBSchemaField("deleted_at"), - Uid: UserShareCardDBSchemaField("uid"), - SerialNumber: UserShareCardDBSchemaField("serial_number"), - BillSn: UserShareCardDBSchemaField("bill_sn"), - GameCardId: UserShareCardDBSchemaField("game_card_id"), - State: UserShareCardDBSchemaField("state"), - GameCardGoodsId: UserShareCardDBSchemaField("game_card_goods_id"), - UserShareCardBillId: UserShareCardDBSchemaField("user_share_card_bill_id"), - ShareCardBillGameId: UserShareCardDBSchemaField("share_card_bill_game_id"), - StoreId: UserShareCardDBSchemaField("store_id"), - ProfitState: UserShareCardDBSchemaField("profit_state"), - TotalVm: UserShareCardDBSchemaField("total_vm"), + ID: UserShareCardDBSchemaField("id"), + CreatedAt: UserShareCardDBSchemaField("created_at"), + UpdatedAt: UserShareCardDBSchemaField("updated_at"), + DeletedAt: UserShareCardDBSchemaField("deleted_at"), + Uid: UserShareCardDBSchemaField("uid"), + SerialNumber: UserShareCardDBSchemaField("serial_number"), + BillSn: UserShareCardDBSchemaField("bill_sn"), + GameCardId: UserShareCardDBSchemaField("game_card_id"), + State: UserShareCardDBSchemaField("state"), + GameCardGoodsId: UserShareCardDBSchemaField("game_card_goods_id"), + UserShareCardBillId: UserShareCardDBSchemaField("user_share_card_bill_id"), + ShareCardBillGameId: UserShareCardDBSchemaField("share_card_bill_game_id"), + StoreId: UserShareCardDBSchemaField("store_id"), + ProfitState: UserShareCardDBSchemaField("profit_state"), + TotalVm: UserShareCardDBSchemaField("total_vm"), + RetrieveSerialNumber: UserShareCardDBSchemaField("retrieve_serial_number"), + RetrieveGameCardGoodsId: UserShareCardDBSchemaField("retrieve_game_card_goods_id"), } // Update updates UserShareCard fields by primary key // nolint: dupl func (o *UserShareCard) Update(db *gorm.DB, fields ...UserShareCardDBSchemaField) error { dbNameToFieldName := map[string]interface{}{ - "id": o.ID, - "created_at": o.CreatedAt, - "updated_at": o.UpdatedAt, - "deleted_at": o.DeletedAt, - "uid": o.Uid, - "serial_number": o.SerialNumber, - "bill_sn": o.BillSn, - "game_card_id": o.GameCardId, - "state": o.State, - "game_card_goods_id": o.GameCardGoodsId, - "user_share_card_bill_id": o.UserShareCardBillId, - "share_card_bill_game_id": o.ShareCardBillGameId, - "store_id": o.StoreId, - "profit_state": o.ProfitState, - "total_vm": o.TotalVm, + "id": o.ID, + "created_at": o.CreatedAt, + "updated_at": o.UpdatedAt, + "deleted_at": o.DeletedAt, + "uid": o.Uid, + "serial_number": o.SerialNumber, + "bill_sn": o.BillSn, + "game_card_id": o.GameCardId, + "state": o.State, + "game_card_goods_id": o.GameCardGoodsId, + "user_share_card_bill_id": o.UserShareCardBillId, + "share_card_bill_game_id": o.ShareCardBillGameId, + "store_id": o.StoreId, + "profit_state": o.ProfitState, + "total_vm": o.TotalVm, + "retrieve_serial_number": o.RetrieveSerialNumber, + "retrieve_game_card_goods_id": o.RetrieveGameCardGoodsId, } u := map[string]interface{}{} for _, f := range fields { diff --git a/model/model_test.go b/model/model_test.go index d4800a7..6bcc1c2 100644 --- a/model/model_test.go +++ b/model/model_test.go @@ -112,6 +112,9 @@ func InitTestDB() { &UserShareCardVm{}, &ShareCardDateVm{}, &ShareCardVmRecord{}, + &ShareCardRetrieve{}, + &ShareCardRetrieveCard{}, + //&GameShareCardVm{}, ) diff --git a/model/order.go b/model/order.go index 6aa8826..67be9ef 100644 --- a/model/order.go +++ b/model/order.go @@ -543,6 +543,23 @@ func GetPickupCode() string { } +func GetShareCardRetrievePickupCode() string { + for { + rand.Seed(time.Now().UnixNano()) + code := fmt.Sprintf("%d", rand.Intn(1000000)+100000) + //count, err := NewOrderQuerySet(DB).PickupCodeEq(code).Count() + count, err := NewShareCardRetrieveQuerySet(DB).PickupCodeEq(code).Count() + if err != nil { + logger.Error("err:", err) + } + if count == 0 { + return code + } + } + //将时间戳设置成种子数 + +} + func (m *Order) Cancel() (bool, Order, error) { var ( order Order diff --git a/model/share_card.go b/model/share_card.go index 7e6343c..d5b73bc 100644 --- a/model/share_card.go +++ b/model/share_card.go @@ -62,19 +62,20 @@ const ( // gen:qs type UserShareCard struct { Model - Uid uint32 `json:"uid" gorm:"index"` - SerialNumber string `json:"serial_number" gorm:"index"` // 编号 - BillSn string `json:"bill_sn" gorm:"index"` - GameCardId uint32 `json:"game_card_id" gorm:"index"` - State string `json:"state" gorm:"index"` - GameCardGoodsId uint32 `json:"game_card_goods_id" gorm:"index"` - UserShareCardBillId uint32 `json:"user_share_card_bill_id" gorm:"index"` - ShareCardBillGameId uint32 `json:"share_card_bill_game_id" gorm:"index"` - StoreId uint32 `json:"store_id" gorm:"index"` // 门店id - ProfitState uint32 `json:"profit_state"` // 1-未生效 2-生效 - TotalVm uint32 `json:"total_vm"` // 累计积分 - SerialNumberRetrieve string `json:"serial_number_retrieve" gorm:"index"` // 收卡编号 - GameCard GameCard `json:"game_card" gorm:"-"` + Uid uint32 `json:"uid" gorm:"index"` + SerialNumber string `json:"serial_number" gorm:"index"` // 编号 + BillSn string `json:"bill_sn" gorm:"index"` + GameCardId uint32 `json:"game_card_id" gorm:"index"` + State string `json:"state" gorm:"index"` + GameCardGoodsId uint32 `json:"game_card_goods_id" gorm:"index"` + UserShareCardBillId uint32 `json:"user_share_card_bill_id" gorm:"index"` + ShareCardBillGameId uint32 `json:"share_card_bill_game_id" gorm:"index"` + StoreId uint32 `json:"store_id" gorm:"index"` // 门店id + ProfitState uint32 `json:"profit_state"` // 1-未生效 2-生效 + TotalVm uint32 `json:"total_vm"` // 累计积分 + RetrieveSerialNumber string `json:"retrieve_serial_number" gorm:"index"` // 收卡编号 + RetrieveGameCardGoodsId uint32 `json:"retrieve_game_card_goods_id" gorm:"index"` // 收回卡id + GameCard GameCard `json:"game_card" gorm:"-"` } // gen:qs @@ -136,19 +137,25 @@ type ShareCardVmRecord struct { // gen:qs type ShareCardRetrieve struct { Model - Uid uint32 `json:"uid" gorm:"index"` - State string `json:"state" gorm:"index"` // 1-暂无库存 2-待发卡 3-待取卡 4-已发卡 5-已收卡 6-已取消 - RetrieveCardType uint32 `json:"retrieve_card_type" gorm:"index"` // 1-送卡 2-邮寄 - StoreId uint32 `json:"store_id" gorm:"index"` // 门店id - ExpressCompany string `json:"express_company"` // 物流公司 - ExpressCompanyNo string `json:"express_company_no"` // 物流公司编号 - ExpressNo string `json:"express_no"` // 物流单号 - StockRemovalTime time.Time `json:"stock_removal_time"` // 出库时间 - StockTime time.Time `json:"stock_time"` // 入库时间 - Remark string `json:"remark"` - - Store Store `json:"store" gorm:"-"` - + Uid uint32 `json:"uid" gorm:"index"` + State string `json:"state" gorm:"index"` // 1-暂无库存 2-待发卡 3-待取卡 4-已发卡 5-已收卡 6-已取消 + RetrieveCardType uint32 `json:"retrieve_card_type" gorm:"index"` // 1-送卡门店 2-邮寄 + StoreId uint32 `json:"store_id" gorm:"index"` // 门店id + ExpressCompany string `json:"express_company"` // 物流公司 + ExpressCompanyNo string `json:"express_company_no"` // 物流公司编号 + ExpressNo string `json:"express_no"` // 物流单号 + StockRemovalTime time.Time `json:"stock_removal_time"` // 出库时间 + StockTime time.Time `json:"stock_time"` // 入库时间 + PayState uint32 `json:"pay_state"` // 1-未支付 2-已支付 + PayAmount uint32 `json:"pay_amount"` // 支付金额 + Remark string `json:"remark"` + OrderSn string `json:"order_sn" gorm:"index"` // 订单编号 + AddressId uint32 `json:"address_id" gorm:"index"` // 收货地址 + RefundOrderSn string `json:"refund_order_sn" gorm:"index"` // 订单编号退费 + PickupCode string `json:"pickup_code"` // 取货码 + Store Store `json:"store" gorm:"-"` + UserAddress UserAddress `json:"user_address" gorm:"-"` + ShareCardRetrieveCards []ShareCardRetrieveCard `json:"share_card_retrieve_cards" gorm:"-"` //TotalVm uint32 `json:"total_vm"` // 累计积分 //ShareCardBillGameId uint32 `json:"share_card_bill_game_id" gorm:"index"` //GameCardGoodsId uint32 `json:"game_card_goods_id" gorm:"index"` @@ -160,6 +167,8 @@ type ShareCardRetrieve struct { } const ( + RetrieveStateInCheck = "in_check" // 待审核 + RetrieveStateCheckLose = "check_lose" // 审核失败 RetrieveStateOutStock = "out_stock" // 暂无库存 RetrieveStateInSendCard = "in_send_card" // 待发卡 RetrieveStateInPickCard = "in_pick_card" // 待取卡 @@ -171,23 +180,27 @@ const ( // gen:qs type ShareCardRetrieveCard struct { Model - ShareCardRetrieveId uint32 `json:"share_card_retrieve_id" gorm:"index"` - UserShareCardId uint32 `json:"user_share_card_id" gorm:"index"` // 用户共享卡收回 - Uid uint32 `json:"uid" gorm:"index"` - SerialNumber string `json:"serial_number" gorm:"index"` // 编号 - State string `json:"state" gorm:"index"` // 1-暂无库存 2-待发卡 3-待取卡 4-已发卡 5-已收卡 6-已取消 - BillSn string `json:"bill_sn" gorm:"index"` - GameCardId uint32 `json:"game_card_id" gorm:"index"` - RetrieveCardType uint32 `json:"retrieve_card_type" gorm:"index"` // 1-送卡 2-邮寄 - GameCardGoodsId uint32 `json:"game_card_goods_id" gorm:"index"` - UserShareCardBillId uint32 `json:"user_share_card_bill_id" gorm:"index"` - StoreId uint32 `json:"store_id" gorm:"index"` // 门店id - Remark string `json:"remark"` - GameCard GameCard `json:"game_card" gorm:"-"` - Store Store `json:"store" gorm:"-"` + ShareCardRetrieveId uint32 `json:"share_card_retrieve_id" gorm:"index"` + UserShareCardId uint32 `json:"user_share_card_id" gorm:"index"` // 用户共享卡收回 + Uid uint32 `json:"uid" gorm:"index"` + SerialNumber string `json:"serial_number" gorm:"index"` // 编号 + State string `json:"state" gorm:"index"` // 1-暂无库存 2-待发卡 3-待取卡 4-已发卡 5-已收卡 6-已取消 + BillSn string `json:"bill_sn" gorm:"index"` + GameCardId uint32 `json:"game_card_id" gorm:"index"` + RetrieveCardType uint32 `json:"retrieve_card_type" gorm:"index"` // 1-送卡 2-邮寄 + GameCardGoodsId uint32 `json:"game_card_goods_id" gorm:"index"` + UserShareCardBillId uint32 `json:"user_share_card_bill_id" gorm:"index"` + StoreId uint32 `json:"store_id" gorm:"index"` // 门店id + Remark string `json:"remark"` + RetrieveSerialNumber string `json:"retrieve_serial_number" gorm:"index"` // 收卡编号 + RetrieveGameCardGoodsId uint32 `json:"retrieve_game_card_goods_id" gorm:"index"` // 收回卡id + GameCard GameCard `json:"game_card" gorm:"-"` + Store Store `json:"store" gorm:"-"` + ShareCardRetrieve ShareCardRetrieve `json:"share_card_retrieve" gorm:"-"` //TotalVm uint32 `json:"total_vm"` // 累计积分 //ShareCardBillGameId uint32 `json:"share_card_bill_game_id" gorm:"index"` + // share_card_retrieve_card } func GetUserShareCardBillList(uid uint32, page, pageSize int, state string) ([]UserShareCardBill, int, error) { @@ -274,7 +287,7 @@ func UserShareCardBillListSetGame(list []UserShareCardBill) []UserShareCardBill games[i].GameCard = v } } - + for i, _ := range games { billMap[games[i].UserShareCardBillId] = append(billMap[games[i].UserShareCardBillId], games[i]) } @@ -416,80 +429,310 @@ type ShareCardRetrieveCreateReq struct { SerialNumbers []string `json:"serial_numbers"` StoreId uint32 `json:"store_id"` // 门店id RetrieveCardType uint32 `json:"retrieve_card_type"` + AddressId uint32 `json:"address_id"` // 收货地址 + Amount uint32 `json:"amount"` // 金额 Uid uint32 `json:"uid"` } -func (m *ShareCardRetrieveCreateReq) RetrieveCreate() error { +func (m *ShareCardRetrieveCreateReq) RetrieveCreate() (*ShareCardRetrieve, error) { var userShareCards []UserShareCard err := NewUserShareCardQuerySet(DB).SerialNumberIn(m.SerialNumbers...).All(&userShareCards) if err != nil { logger.Error("user share card err:", err) - return err - } - gameIds := make([]uint64, 0) - for i, _ := range userShareCards { - gameIds = append(gameIds, uint64(userShareCards[i].GameCardId)) + return nil, err } + //gameIds := make([]uint64, 0) + //for i, _ := range userShareCards { + // gameIds = append(gameIds, uint64(userShareCards[i].GameCardId)) + //} + //var gameCardGoodsStocks []GameCardGoodsStock //err = NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(m.StoreId)).GameCardIdIn(gameIds...).All(&gameCardGoodsStocks) //if err != nil { // logger.Error("game card goods stock err:", err) // return err //} - var gameGoods []GameCardGoods - err = NewGameCardGoodsQuerySet(DB).GameCardIdIn(gameIds...).StatusEq(1).OrderAscByID().All(&gameGoods) - if err != nil && err != RecordNotFound { - logger.Error("game card goods err:", err) - return err - } - - //state := RetrieveStateInSendCard - //for i, _ := range gameGoods { - // if gameGoods[i].Status == { - // } + //var gameGoods []GameCardGoods + //err = NewGameCardGoodsQuerySet(DB).GameCardIdIn(gameIds...).StatusEq(1).OrderAscByID().All(&gameGoods) + //if err != nil && err != RecordNotFound { + // logger.Error("game card goods err:", err) + // return err //} - + payState := uint32(1) + if m.RetrieveCardType == 1 { + payState = 2 + } begin := DB.Begin() retrieve := &ShareCardRetrieve{ Uid: m.Uid, RetrieveCardType: m.RetrieveCardType, StoreId: m.StoreId, + State: RetrieveStateInCheck, + OrderSn: GetShareCardRetrieveOrderSn(), + PayState: payState, + AddressId: m.AddressId, + PayAmount: m.Amount, + PickupCode: GetShareCardRetrievePickupCode(), } err = begin.Create(&retrieve).Error if err != nil { logger.Error("create share card retrieve err:", err) - return err + return retrieve, err } - for i, _ := range userShareCards { - ShareCardRetrieveCard{ + card := &ShareCardRetrieveCard{ ShareCardRetrieveId: retrieve.ID, UserShareCardId: userShareCards[i].ID, Uid: m.Uid, SerialNumber: userShareCards[i].SerialNumber, - State: "", - BillSn: "", - GameCardId: 0, - RetrieveCardType: 0, - GameCardGoodsId: 0, - UserShareCardBillId: 0, - StoreId: 0, - Remark: "", - GameCard: GameCard{}, - Store: Store{}, + State: RetrieveStateInCheck, + BillSn: userShareCards[i].BillSn, + GameCardId: userShareCards[i].GameCardId, + RetrieveCardType: m.RetrieveCardType, + GameCardGoodsId: userShareCards[i].GameCardGoodsId, + UserShareCardBillId: userShareCards[i].ShareCardBillGameId, + StoreId: m.StoreId, + } + err = begin.Create(&card).Error + if err != nil { + logger.Error("create share card retrieve card err:", err) + return retrieve, err } } - - return nil + err = begin.Commit().Error + if err != nil { + logger.Error("commit err:", err) + return retrieve, err + } + return retrieve, nil } -func GetUserCardBySerialNumber(serialNumber string, list []GameCardGoods) (*GameCardGoods, bool) { +//func GetUserCardBySerialNumber(serialNumber string, list []GameCardGoods) (*GameCardGoods, bool) { +// for i, _ := range list { +// if list[i].SerialNumber == serialNumber { +// return &list[i], true +// } +// } +// return nil, false +//} + +//func SetUserCardSerialNumber(storeId uint32, list []UserShareCard) ([]UserShareCard, error) { +// for i, _ := range list { +// var goods GameCardGoods +// err := NewGameCardGoodsQuerySet(DB).StoreIdEq(uint64(storeId)).SerialNumberEq(list[i].SerialNumber). +// StatusEq(1).One(&goods) +// if err != nil && err != RecordNotFound { +// logger.Error("game card goods err:", err) +// return list, err +// } +// if goods.ID == list[i].GameCardGoodsId { +// list[i].SerialNumber = goods.SerialNumber +// list[i].GameCardGoodsIdRetrieve = goods.ID +// } +// } +// return list, nil +//} +// +//func SetRandomCardSerialNumber(storeId uint32, list []UserShareCard) ([]UserShareCard, error) { +// for i, _ := range list { +// var goods GameCardGoods +// err := NewGameCardGoodsQuerySet(DB).StoreIdEq(uint64(storeId)).GameCardIdEq(uint64(list[i].GameCardId)). +// StatusEq(1).OrderAscByID().Limit(1).One(&goods) +// if err != nil && err != RecordNotFound { +// logger.Error("game card goods err:", err) +// return list, err +// } +// list[i].SerialNumber = goods.SerialNumber +// list[i].GameCardGoodsIdRetrieve = goods.ID +// } +// return list, nil +//} + +type ShareCardRetrieveListReq struct { + Uid uint32 `json:"uid"` + State string `json:"state"` + Page int `json:"cur_page"` + PageSize int `json:"page_size"` +} + +func (m *ShareCardRetrieveListReq) List() ([]ShareCardRetrieve, int, error) { + var retrieveCards []ShareCardRetrieve + qs := NewShareCardRetrieveQuerySet(DB).PayStateEq(2) + if m.State != "" { + qs = qs.StateEq(m.State) + } + page := m.Page - 1 + if page < 0 { + page = 0 + } + if m.PageSize == 0 { + m.PageSize = 10 + } + + count, err := qs.Count() + if err != nil { + logger.Error("user share card bill count err:", err) + return retrieveCards, 0, err + } + totalPage := count/m.PageSize + 1 + err = qs.OrderDescByID().Offset(page * m.PageSize).Limit(m.PageSize).All(&retrieveCards) + if err != nil && err != RecordNotFound { + logger.Error("user share card bill err:", err) + return retrieveCards, 0, err + } + if len(retrieveCards) == 0 { + return retrieveCards, totalPage, nil + } + retrieveCards = ShareCardRetrieveListSetGames(retrieveCards) + return retrieveCards, totalPage, nil +} + +func ShareCardRetrieveListSetGames(list []ShareCardRetrieve) []ShareCardRetrieve { + gameIds := make([]uint32, 0, len(list)) + retrieveIds := make([]uint32, 0, len(list)) for i, _ := range list { - if list[i].SerialNumber == serialNumber { - return &list[i], true + //gameIds = append(gameIds, list[i].GameCardId) + retrieveIds = append(retrieveIds, list[i].ID) + } + if len(retrieveIds) == 0 { + return list + } + var cards []ShareCardRetrieveCard + err := NewShareCardRetrieveCardQuerySet(DB).ShareCardRetrieveIdIn(retrieveIds...).All(&cards) + if err != nil { + logger.Error("share card retrieve card err:", err) + return list + } + for i, _ := range cards { + gameIds = append(gameIds, cards[i].GameCardId) + } + if len(gameIds) == 0 { + logger.Error("game ids err:", err) + return list + } + gameMap, err := GameCardMap(gameIds) + if err != nil { + logger.Error("game card map err:", err) + return list + } + for i, _ := range cards { + v, ok := gameMap[cards[i].GameCardId] + if ok { + cards[i].GameCard = v } } - return nil, false + + cardsMap := make(map[uint32][]ShareCardRetrieveCard, 0) + for i, _ := range cards { + cardsMap[cards[i].ShareCardRetrieveId] = append( + cardsMap[cards[i].ShareCardRetrieveId], cards[i]) + } + + //retrieveMap, err := GetShareCardRetrieveMap(retrieveIds) + //if err != nil { + // logger.Error("get share card retrieve map err:", err) + // return list + //} + for i, _ := range list { + v, ok1 := cardsMap[list[i].ID] + if ok1 { + list[i].ShareCardRetrieveCards = v + } + //retrieve, ok2 := retrieveMap[list[i].ShareCardRetrieveId] + //if ok2 { + // list[i].ShareCardRetrieve = retrieve + //} + } + + return list +} + +func ShareCardRetrieveCardListSetGame(list []ShareCardRetrieveCard) []ShareCardRetrieveCard { + gameIds := make([]uint32, 0, len(list)) + retrieveIds := make([]uint32, 0, len(list)) + for i, _ := range list { + gameIds = append(gameIds, list[i].GameCardId) + retrieveIds = append(retrieveIds, list[i].ShareCardRetrieveId) + } + + cardMap, err := GameCardMap(gameIds) + if err != nil { + logger.Error("game card map err:", err) + return list + } + + for i, _ := range list { + v, ok1 := cardMap[list[i].GameCardId] + if ok1 { + list[i].GameCard = v + } + } + + return list +} + +func GetShareCardRetrieveMap(ids []uint32) (map[uint32]ShareCardRetrieve, error) { + retrieveMap := make(map[uint32]ShareCardRetrieve, 0) + if len(ids) == 0 { + return retrieveMap, nil + } + var retrieves []ShareCardRetrieve + err := NewShareCardRetrieveQuerySet(DB).IDIn(ids...).All(&retrieves) + if err != nil { + logger.Error("share card retrieve err:", err) + return retrieveMap, err + } + for i, _ := range retrieves { + retrieveMap[retrieves[i].ID] = retrieves[i] + } + return retrieveMap, nil +} + +func GetShareCardRetrieveInfo(retrieveId uint32) (ShareCardRetrieve, error) { + var retrieve ShareCardRetrieve + err := NewShareCardRetrieveQuerySet(DB).IDEq(retrieveId).One(&retrieve) + if err != nil { + logger.Error("share card retrieve err:", err) + return retrieve, err + } + var cards []ShareCardRetrieveCard + err = NewShareCardRetrieveCardQuerySet(DB).ShareCardRetrieveIdEq(retrieveId).All(&cards) + if err != nil { + logger.Error("share card retrieve card err:", err) + return retrieve, err + } + + retrieve.ShareCardRetrieveCards = ShareCardRetrieveCardListSetGame(cards) + err = retrieve.SetStore() + if err != nil { + logger.Error("store err:", err) + return retrieve, err + } + + err = retrieve.SetUserAddress() + if err != nil { + logger.Error("user address err:", err) + return retrieve, err + } + + return retrieve, nil +} + +func (m *ShareCardRetrieve) SetStore() error { + err := NewStoreQuerySet(DB).IDEq(m.StoreId).One(&m.Store) + if err != nil && err != RecordNotFound { + logger.Error("set store err:", err) + return err + } + return nil +} +func (m *ShareCardRetrieve) SetUserAddress() error { + err := NewUserAddressQuerySet(DB).IDEq(m.AddressId).One(&m.UserAddress) + if err != nil && err != RecordNotFound { + logger.Error("set store err:", err) + return err + } + return nil } // 用户收回卡 diff --git a/model/user.go b/model/user.go index bdda573..4a0c0bb 100644 --- a/model/user.go +++ b/model/user.go @@ -204,7 +204,7 @@ type UserOpenMemberRecord struct { Uid uint32 `json:"uid"` OpenNo string `json:"open_no" gorm:"index"` OrderId uint32 `json:"order_id"` - OrderType uint32 `json:"order_type"` // 1-物流支付 2-取消物流租卡 3-滞纳金 + OrderType uint32 `json:"order_type"` // 1-物流支付 2-取消物流租卡 3-滞纳金 4-收回卡 MemberLevel uint32 `json:"member_level"` MemberExpire time.Time `json:"member_expire"` // 会员到期时间 } @@ -423,6 +423,21 @@ func GetShareCardBillSn() string { return billSn } +func GetShareCardRetrieveOrderSn() string { + var orderSn string + for { + orderSn = utils.GetSerialNo32HEXString() + count, err := NewShareCardRetrieveQuerySet(DB).OrderSnEq(orderSn).Count() + if err != nil { + logger.Error("err:", err) + } + if count == 0 { + break + } + } + return orderSn +} + func (m *User) Edit() { err := DB.Save(m).Error if err != nil { diff --git a/router/router_app.go b/router/router_app.go index 201c28b..8010ba2 100644 --- a/router/router_app.go +++ b/router/router_app.go @@ -195,7 +195,11 @@ func ConfigAppRouter(r gin.IRouter) { shareCard.POST("bill/my_card", controller.UserShareCardMyCard) // 我的共享卡 shareCard.POST("user_card_vm", controller.UserShareCardVmRecord) // 我的共享卡积分记录 - shareCard.POST("retrieve/add", controller.ShareCardRetrieveCreate) // 我的共享卡收回 + shareCard.POST("retrieve/add", controller.ShareCardRetrieveCreate) // 我的共享卡收回 + shareCard.POST("retrieve_card/cancel", controller.ShareCardRetrieveCancel) // 我的共享卡收回取消 + shareCard.POST("retrieve_card/list", controller.ShareCardRetrieveList) // 我的共享卡收回审核 + shareCard.POST("retrieve_card/detail", controller.ShareCardRetrieveDetail) // 我的共享卡收回审核 + shareCard.POST("retrieve_card/confirm", controller.ShareCardRetrieveConfirm) // 我的共享卡收回审核 //shoppingCart.POST("del", controller.ShoppingCartDel) //