fix:
This commit is contained in:
parent
a8fdb04881
commit
a6689f2ad1
|
@ -228,6 +228,8 @@ func RentCardOrderCreate(c *gin.Context) {
|
|||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
fmt.Println("Deposit:", user.Deposit)
|
||||
fmt.Println("MemberDeposit:", memberConfig.MemberDeposit)
|
||||
if user.Deposit != memberConfig.MemberDeposit {
|
||||
logger.Error(errors.New("user deposit 0"))
|
||||
RespJson(c, status.OrderUnpaidDeposit, nil)
|
||||
|
|
|
@ -33,6 +33,18 @@ func UserShareCardBillCreate(c *gin.Context) {
|
|||
RespJson(c, status.Unauthorized, nil)
|
||||
return
|
||||
}
|
||||
user := model.GetUserByUid(uc.Uid)
|
||||
if user == nil {
|
||||
logger.Error("parameter err")
|
||||
RespJson(c, status.BadRequest, 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
|
||||
}
|
||||
|
||||
billSn := model.GetShareCardBillSn()
|
||||
begin := model.DB.Begin()
|
||||
shareCardBill := &model.UserShareCardBill{
|
||||
|
@ -97,21 +109,22 @@ func ShareCardBillSendCard(c *gin.Context) {
|
|||
}
|
||||
begin := model.DB.Begin()
|
||||
_, err := model.NewUserShareCardBillQuerySet(begin).IDEq(req.UserShareCardBillId).GetUpdater().
|
||||
SetExpressCompany(req.ExpressCompany).SetExpressNo(req.ExpressNo).SetState(model.ShareCardBillStateSentCard).UpdateNum()
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("update user share card bill err:", err)
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
_, err = model.NewShareCardBillGameQuerySet(begin).UserShareCardBillIdEq(req.UserShareCardBillId).GetUpdater().
|
||||
SetState(model.ShareCardStateSentCard).UpdateNum()
|
||||
SetExpressCompany(req.ExpressCompany).SetExpressNo(req.ExpressNo).UpdateNum()
|
||||
//SetState(model.ShareCardBillStateSentCard).UpdateNum()
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("update user share card bill err:", err)
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
//_, err = model.NewShareCardBillGameQuerySet(begin).UserShareCardBillIdEq(req.UserShareCardBillId).GetUpdater().
|
||||
// SetState(model.ShareCardStateSentCard).UpdateNum()
|
||||
//if err != nil {
|
||||
// begin.Rollback()
|
||||
// logger.Error("update user share card bill err:", err)
|
||||
// RespJson(c, status.InternalServerError, nil)
|
||||
// return
|
||||
//}
|
||||
err = begin.Commit().Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
|
@ -123,6 +136,38 @@ func ShareCardBillSendCard(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
func UserShareCardGameList(c *gin.Context) {
|
||||
req := struct {
|
||||
Label string `json:"label"`
|
||||
Page int `json:"cur_page"`
|
||||
PageSize int `json:"page_size"`
|
||||
}{}
|
||||
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
|
||||
//}
|
||||
list, totalPage, err := model.GetUserShareCardGameList(0, req.Page, req.PageSize, req.Label)
|
||||
if err != nil {
|
||||
logger.Error("share card bill game create 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 UserShareCardBillList(c *gin.Context) {
|
||||
req := struct {
|
||||
State string `json:"state"`
|
||||
|
@ -189,8 +234,21 @@ func UserShareCardBillCancel(c *gin.Context) {
|
|||
RespJson(c, status.BadRequest, nil)
|
||||
return
|
||||
}
|
||||
var shareCardBill model.UserShareCardBill
|
||||
err := model.NewUserShareCardBillQuerySet(model.DB).IDEq(req.UserShareCardBillId).One(&shareCardBill)
|
||||
if err != nil {
|
||||
logger.Error("user share card bill err")
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
if shareCardBill.State != model.ShareCardBillStateInCheck &&
|
||||
shareCardBill.State != model.ShareCardBillStateInSendCard {
|
||||
logger.Error("user share card bill err")
|
||||
RespJson(c, status.ShareCardBillStateCancelError, nil)
|
||||
return
|
||||
}
|
||||
begin := model.DB.Begin()
|
||||
_, err := model.NewUserShareCardBillQuerySet(begin).IDEq(req.UserShareCardBillId).GetUpdater().
|
||||
_, err = model.NewUserShareCardBillQuerySet(begin).IDEq(req.UserShareCardBillId).GetUpdater().
|
||||
SetState(model.ShareCardBillStateCancel).UpdateNum()
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
|
@ -234,7 +292,7 @@ func UserShareCardMyCard(c *gin.Context) {
|
|||
RespJson(c, status.Unauthorized, nil)
|
||||
return
|
||||
}
|
||||
list, totalPage, err := model.GetUserShareCardMyCardList(uc.Uid, req.Page, req.PageSize, req.State)
|
||||
list, totalPage, cardCount, err := model.GetUserShareCardMyCardList(uc.Uid, req.Page, req.PageSize, req.State)
|
||||
if err != nil {
|
||||
logger.Error("share card bill game create err:", err)
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
|
@ -251,6 +309,7 @@ func UserShareCardMyCard(c *gin.Context) {
|
|||
ret := map[string]interface{}{
|
||||
"yesterday_vm": dateVm.Vm,
|
||||
"total_vm": dateVm.TotalVm,
|
||||
"card_count": cardCount,
|
||||
"list": list,
|
||||
"cur_page": req.Page,
|
||||
"total_page": totalPage,
|
||||
|
@ -309,12 +368,21 @@ func ShareCardRetrieveCreate(c *gin.Context) {
|
|||
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)
|
||||
|
||||
count, err := model.NewShareCardRetrieveCardQuerySet(model.DB).SerialNumberIn(req.SerialNumbers...).
|
||||
//StateIn(model.RetrieveStateInCheck).Count()
|
||||
StateNotIn(model.RetrieveStateCheckLose, model.RetrieveStateCancel).Count()
|
||||
if err != nil {
|
||||
logger.Error("share card retrieve card err:", err)
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
req.Amount = 10 // TODO
|
||||
if count > 0 {
|
||||
logger.Error("serial number has applied")
|
||||
RespJson(c, status.ShareCardRetrieveExistAppliedCard, nil)
|
||||
return
|
||||
}
|
||||
req.Amount = 40 // TODO
|
||||
retrieve, err := req.RetrieveCreate()
|
||||
if err != nil {
|
||||
logger.Error("share card retrieve create err:", err)
|
||||
|
@ -455,7 +523,7 @@ func ShareCardRetrieveCancel(c *gin.Context) {
|
|||
NotifyUrl: "",
|
||||
Amount: wxpay.OrderRefundAmount{
|
||||
Refund: retrieve.PayAmount,
|
||||
Total: retrieve.PayState,
|
||||
Total: retrieve.PayAmount,
|
||||
Currency: "CNY",
|
||||
},
|
||||
}
|
||||
|
@ -539,3 +607,141 @@ func ShareCardRetrieveConfirm(c *gin.Context) {
|
|||
RespOK(c, nil)
|
||||
return
|
||||
}
|
||||
|
||||
func CardIssueCreate(c *gin.Context) {
|
||||
req := struct {
|
||||
RelevanceId uint32 `json:"relevance_id"` // 关联id
|
||||
ObtainType string `json:"obtain_type"` // 卡类型
|
||||
Problem string `json:"problem"` // 问题
|
||||
Remark string `json:"remark"`
|
||||
}{}
|
||||
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
|
||||
}
|
||||
|
||||
var feedback *model.CardIssueFeedback
|
||||
if req.ObtainType == "retrieve_card" {
|
||||
var shareCardRetrieveCard model.ShareCardRetrieveCard
|
||||
err := model.NewShareCardRetrieveCardQuerySet(model.DB).IDEq(req.RelevanceId).One(&shareCardRetrieveCard)
|
||||
if err != nil {
|
||||
logger.Error("share card retrieve err:", err)
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
if shareCardRetrieveCard.Uid != uc.Uid {
|
||||
logger.Error("feedback uid err:")
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
feedback = &model.CardIssueFeedback{
|
||||
Uid: shareCardRetrieveCard.Uid,
|
||||
GameCardId: shareCardRetrieveCard.GameCardId,
|
||||
SerialNumber: shareCardRetrieveCard.RetrieveSerialNumber,
|
||||
GameCardGoodsId: shareCardRetrieveCard.GameCardGoodsId,
|
||||
StoreId: shareCardRetrieveCard.StoreId,
|
||||
RelevanceId: shareCardRetrieveCard.ID,
|
||||
ObtainType: req.ObtainType,
|
||||
Problem: req.Problem,
|
||||
Remark: req.Remark,
|
||||
}
|
||||
} else if req.ObtainType == "rent_card" {
|
||||
var order model.Order
|
||||
err := model.NewOrderQuerySet(model.DB).IDEq(req.RelevanceId).One(&order)
|
||||
if err != nil {
|
||||
logger.Error("order err:", err)
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
if uint32(order.Uid) != uc.Uid {
|
||||
logger.Error("order uid err:")
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
feedback = &model.CardIssueFeedback{
|
||||
Uid: uint32(order.Uid),
|
||||
GameCardId: uint32(order.GameCardId),
|
||||
SerialNumber: order.GameCardSerialNumber,
|
||||
GameCardGoodsId: uint32(order.GameCardGoodsId),
|
||||
StoreId: uint32(order.StoreId),
|
||||
RelevanceId: order.ID,
|
||||
ObtainType: req.ObtainType,
|
||||
Problem: req.Problem,
|
||||
Remark: req.Remark,
|
||||
}
|
||||
} else {
|
||||
logger.Error("obtain type err:")
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
err := model.DB.Create(feedback).Error
|
||||
if err != nil {
|
||||
logger.Error("create feedback err:")
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
|
||||
RespOK(c, nil)
|
||||
return
|
||||
}
|
||||
|
||||
func CardIssueList(c *gin.Context) {
|
||||
req := struct {
|
||||
Uid uint32 `json:"uid"`
|
||||
State string `json:"state"`
|
||||
Page int `json:"cur_page"`
|
||||
PageSize int `json:"page_size"`
|
||||
}{}
|
||||
if c.ShouldBindJSON(&req) != nil {
|
||||
logger.Error("parameter err")
|
||||
RespJson(c, status.BadRequest, nil)
|
||||
return
|
||||
}
|
||||
uc := auth.GetCurrentUser(c)
|
||||
if uc == nil {
|
||||
logger.Error("user err")
|
||||
RespJson(c, status.Unauthorized, nil)
|
||||
return
|
||||
}
|
||||
var issueFeedbacks []model.CardIssueFeedback
|
||||
qs := model.NewCardIssueFeedbackQuerySet(model.DB).UidEq(uc.Uid)
|
||||
if req.State != "" {
|
||||
qs = qs.StateEq(req.State)
|
||||
}
|
||||
|
||||
count, err := qs.Count()
|
||||
if err != nil {
|
||||
logger.Error("count card issue feedback err")
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
page := req.Page - 1
|
||||
if page < 0 {
|
||||
page = 0
|
||||
}
|
||||
if req.PageSize == 0 {
|
||||
req.PageSize = 10
|
||||
}
|
||||
totalPage := count / req.PageSize
|
||||
|
||||
err = qs.OrderDescByID().Offset(page * req.PageSize).Limit(req.PageSize).All(&issueFeedbacks)
|
||||
if err != nil {
|
||||
logger.Error("card issue feedback err")
|
||||
RespJson(c, status.InternalServerError, nil)
|
||||
return
|
||||
}
|
||||
issueFeedbacks = model.CardIssueFeedbackListSetGame(issueFeedbacks)
|
||||
ret := map[string]interface{}{
|
||||
"list": issueFeedbacks,
|
||||
"cur_page": req.Page,
|
||||
"total_page": totalPage,
|
||||
}
|
||||
RespOK(c, ret)
|
||||
return
|
||||
}
|
||||
|
|
|
@ -83,16 +83,18 @@ const (
|
|||
AwardOffShelves = 500407 //奖品下架
|
||||
AwardExchangeOut = 500408 //奖品已兑完
|
||||
|
||||
NotMember = 500501 //非会员
|
||||
HadReceiveReward = 500502 // 已经领取过奖励
|
||||
OrderDelivered = 500503 // 订单已发货
|
||||
OrderCompleted = 500504 // 订单已完成
|
||||
OrderStockOut = 500505 // 没有库存
|
||||
OrderUnpaidDeposit = 500506 // 未交押金
|
||||
RefundDepositSubmitted = 500507 // 已提交押金退款
|
||||
OrderMemberLevelLow = 500508 // 会员等级低
|
||||
OrderOutRentCount = 500509 // 会员超过可借卡数
|
||||
OrderStatusNotReturning = 500510 // 订单已完成
|
||||
NotMember = 500501 //非会员
|
||||
HadReceiveReward = 500502 // 已经领取过奖励
|
||||
OrderDelivered = 500503 // 订单已发货
|
||||
OrderCompleted = 500504 // 订单已完成
|
||||
OrderStockOut = 500505 // 没有库存
|
||||
OrderUnpaidDeposit = 500506 // 未交押金
|
||||
RefundDepositSubmitted = 500507 // 已提交押金退款
|
||||
OrderMemberLevelLow = 500508 // 会员等级低
|
||||
OrderOutRentCount = 500509 // 会员超过可借卡数
|
||||
OrderStatusNotReturning = 500510 // 订单已完成
|
||||
ShareCardBillStateCancelError = 500511 // 共享单状态不能取消
|
||||
ShareCardRetrieveExistAppliedCard = 500513 // 共享单状态不能取消
|
||||
|
||||
GoodsNotSale = 500508 // 商品已下架
|
||||
|
||||
|
@ -200,12 +202,10 @@ var statusMsg = map[int]string{
|
|||
CheckInAlready: "今日已签到",
|
||||
OpenChestTimeNot: "宝箱时间未到",
|
||||
|
||||
|
||||
NotExists: "请求的资源不存在",
|
||||
IsExists: "资源已经存在",
|
||||
OrderOutRentCount: "借卡数量超了",
|
||||
|
||||
|
||||
InternalServerError: "服务器开小差了,请稍后再试",
|
||||
SmsFail: "短信发送失败",
|
||||
JsonParseError: "服务器开小差了,请稍后再试",
|
||||
|
@ -215,15 +215,16 @@ var statusMsg = map[int]string{
|
|||
RequestTimeout: "服务器开小差了,请稍后再试",
|
||||
InviteUserFail: "邀请失败",
|
||||
|
||||
UserHasBeenInvited: "用户已被邀请过",
|
||||
UserSelfInviteSelf: "不允许自己邀请自己",
|
||||
OutOffWithdrawCountLimit: "超出每天提现次数",
|
||||
OutOffWithdrawAccountLimit: "超出提现金额范围",
|
||||
CaptchaDelivered: "验证码5分钟内有效",
|
||||
|
||||
PayStateIng: "支付中",
|
||||
PayStateFail: "支付失败",
|
||||
MoneySufficient: "余额不足",
|
||||
UserHasBeenInvited: "用户已被邀请过",
|
||||
UserSelfInviteSelf: "不允许自己邀请自己",
|
||||
OutOffWithdrawCountLimit: "超出每天提现次数",
|
||||
OutOffWithdrawAccountLimit: "超出提现金额范围",
|
||||
CaptchaDelivered: "验证码5分钟内有效",
|
||||
ShareCardBillStateCancelError: "当前状态不能取消",
|
||||
ShareCardRetrieveExistAppliedCard: "存在重复申请收回的卡",
|
||||
PayStateIng: "支付中",
|
||||
PayStateFail: "支付失败",
|
||||
MoneySufficient: "余额不足",
|
||||
|
||||
AwardOffShelves: "奖品已下架",
|
||||
AwardExchangeOut: "奖品已兑完",
|
||||
|
|
|
@ -3,7 +3,6 @@ package utils
|
|||
import (
|
||||
"fmt"
|
||||
"mh-server/lib/utils/crypt"
|
||||
"mh-server/model"
|
||||
"testing"
|
||||
)
|
||||
|
||||
|
@ -92,7 +91,7 @@ func TestUpload(t *testing.T) {
|
|||
*/
|
||||
|
||||
func TestGenSmallProceduresShareCode(t *testing.T) {
|
||||
model.InitDBTest()
|
||||
//model.InitDBTest()
|
||||
//appid := "wxff888972e97ff2ef"
|
||||
//secret := "3d7335cf0b9fa1d70aa7eb079526ebf0"
|
||||
|
||||
|
@ -102,13 +101,9 @@ func TestGenSmallProceduresShareCode(t *testing.T) {
|
|||
//}
|
||||
//fmt.Println("微信二维码rep:", rep)
|
||||
|
||||
|
||||
rep, err :=crypt.GenDrawShareCode("","","",156234)
|
||||
rep, err := crypt.GenDrawShareCode("", "", "", 156234)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
fmt.Println("微信二维码rep:", rep)
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -28,12 +28,25 @@ type GameCard struct {
|
|||
Likes uint32 `json:"likes"` // 点赞
|
||||
DetailInfo string `json:"detail_info" gorm:"type:text;comment:'详情描述'"` // 详情描述
|
||||
DetailImg string `json:"detail_img"` // 详情图片
|
||||
EstimateVm uint32 `json:"estimate_vm" gorm:"-"` // 预计积分
|
||||
}
|
||||
|
||||
func (*GameCard) TableName() string {
|
||||
return "game_card"
|
||||
}
|
||||
|
||||
// gen:qs
|
||||
type GameCardLabel struct {
|
||||
Model
|
||||
|
||||
GameCardId uint32 `json:"game_card_id" gorm:"index"`
|
||||
GameLabel string `json:"game_label" gorm:"index"`
|
||||
}
|
||||
|
||||
func (*GameCardLabel) TableName() string {
|
||||
return "game_card_label"
|
||||
}
|
||||
|
||||
// gen:qs
|
||||
type HomeCarousel struct {
|
||||
Model
|
||||
|
|
|
@ -114,6 +114,8 @@ func InitTestDB() {
|
|||
&ShareCardVmRecord{},
|
||||
&ShareCardRetrieve{},
|
||||
&ShareCardRetrieveCard{},
|
||||
&GameCardLabel{},
|
||||
&CardIssueFeedback{},
|
||||
|
||||
//&GameShareCardVm{},
|
||||
)
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package model
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/codinl/go-logger"
|
||||
"mh-server/lib/utils"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
|
@ -41,12 +43,14 @@ type ShareCardBillGame struct {
|
|||
}
|
||||
|
||||
const (
|
||||
ShareCardBillStateInCheck = "in_check" // 待审核
|
||||
ShareCardBillStateInSendCard = "in_send_card" // 待递送卡
|
||||
ShareCardBillStateSentCard = "sent_card" // 已递送卡
|
||||
ShareCardBillStateCompleted = "completed" // 完成
|
||||
ShareCardBillStateCancel = "cancel" // 取消
|
||||
ShareCardBillStateAuditLose = "check_lose" // 审核失败
|
||||
ShareCardBillStateInCheck = "in_check" // 待审核
|
||||
ShareCardBillStateInSendCard = "in_send_card" // 待递送卡
|
||||
ShareCardBillStateSentCard = "sent_card" // 已递送卡
|
||||
ShareCardBillStateCompleted = "completed" // 完成
|
||||
ShareCardBillStateCancel = "cancel" // 取消
|
||||
ShareCardBillStateAuditLose = "check_lose" // 审核失败
|
||||
ShareCardBillStateReceivingCard = "receiving_card" // 收回中
|
||||
ShareCardBillStateReceivedCard = "received_card" // 已收回
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -59,6 +63,10 @@ const (
|
|||
ShareCardStateRetrieve = "retrieve" // 收回
|
||||
)
|
||||
|
||||
const (
|
||||
CardProfitVm = 21
|
||||
)
|
||||
|
||||
// gen:qs
|
||||
type UserShareCard struct {
|
||||
Model
|
||||
|
@ -203,6 +211,30 @@ type ShareCardRetrieveCard struct {
|
|||
// share_card_retrieve_card
|
||||
}
|
||||
|
||||
const (
|
||||
CardIssueStateUnFollow = "unfollow" // 待处理
|
||||
CardIssueStateFollowing = "following" // 处理中
|
||||
CardIssueStateCompleted = "completed" // 已完成
|
||||
CardIssueStateCanceled = "canceled" // 已取消
|
||||
)
|
||||
|
||||
// gen:qs
|
||||
type CardIssueFeedback struct {
|
||||
Model
|
||||
Uid uint32 `json:"uid" gorm:"index"` // 反馈用户
|
||||
GameCardId uint32 `json:"game_card_id" gorm:"index"`
|
||||
SerialNumber string `json:"serial_number" gorm:"index"` // 编号
|
||||
GameCardGoodsId uint32 `json:"game_card_goods_id" gorm:"index"`
|
||||
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||
RelevanceId uint32 `json:"relevance_id" gorm:"index"` // 关联id
|
||||
ObtainType string `json:"obtain_type"` // 卡类型
|
||||
State string `json:"state" gorm:"index"` //
|
||||
Problem string `json:"problem"` // 问题
|
||||
Remark string `json:"remark"`
|
||||
|
||||
GameCard *GameCard `json:"game_card" gorm:"-"`
|
||||
}
|
||||
|
||||
func GetUserShareCardBillList(uid uint32, page, pageSize int, state string) ([]UserShareCardBill, int, error) {
|
||||
page = page - 1
|
||||
if page < 0 {
|
||||
|
@ -261,6 +293,7 @@ func GetUserShareCardBill(uid uint32, billId uint32) (UserShareCardBill, error)
|
|||
}
|
||||
return list[0], nil
|
||||
}
|
||||
|
||||
func UserShareCardBillListSetGame(list []UserShareCardBill) []UserShareCardBill {
|
||||
billIds := make([]uint32, 0, len(list))
|
||||
for i, _ := range list {
|
||||
|
@ -307,6 +340,108 @@ func UserShareCardBillListSetGame(list []UserShareCardBill) []UserShareCardBill
|
|||
return list
|
||||
}
|
||||
|
||||
func GetUserShareCardGameList(uid uint32, page, pageSize int, label string) ([]GameCard, int, error) {
|
||||
page = page - 1
|
||||
if page < 0 {
|
||||
page = 0
|
||||
}
|
||||
if pageSize == 0 {
|
||||
pageSize = 10
|
||||
}
|
||||
var games []GameCard
|
||||
//qs := NewGameCardQuerySet(DB)
|
||||
sql := fmt.Sprintf("SELECT * FROM game_card WHERE 1 ")
|
||||
if label != "" {
|
||||
var gameLabels []GameCardLabel
|
||||
labelSql := "SELECT * FROM game_card_label WHERE game_label LIKE '%" + label + "%';"
|
||||
err := DB.Raw(labelSql).Scan(&gameLabels).Error
|
||||
if err != nil {
|
||||
logger.Error("game card label err:", err)
|
||||
return games, 0, err
|
||||
}
|
||||
|
||||
if len(gameLabels) > 0 {
|
||||
idString := make([]string, 0, len(gameLabels))
|
||||
for i, _ := range gameLabels {
|
||||
//idString += fmt.Sprintf("%d", gameLabels[i].GameCardId)
|
||||
idString = append(idString, fmt.Sprintf("%d", gameLabels[i].GameCardId))
|
||||
}
|
||||
sql += " AND (`name` LIKE '%" + label + "%' " + fmt.Sprintf(" OR id IN (%s))",
|
||||
strings.Join(idString, ","))
|
||||
} else {
|
||||
sql += " AND `name` LIKE '%" + label + "%' "
|
||||
}
|
||||
//qs = qs.StateEq(state)
|
||||
}
|
||||
|
||||
type GameCount struct {
|
||||
Count int `json:"count"`
|
||||
}
|
||||
var count GameCount
|
||||
countSql := strings.Replace(sql, "SELECT *", "SELECT COUNT(*) ", -1)
|
||||
err := DB.Raw(countSql).Scan(&count).Error
|
||||
//count, err := qs.Count()
|
||||
if err != nil {
|
||||
logger.Error("user share card bill count err:", err)
|
||||
return games, 0, err
|
||||
}
|
||||
totalPage := count.Count/pageSize + 1
|
||||
sql += fmt.Sprintf("ORDER BY id DESC LIMIT %d OFFSET %d ;", pageSize, page*pageSize)
|
||||
err = DB.Raw(sql).Scan(&games).Error
|
||||
//err = qs.OrderDescByID().Offset(page * pageSize).Limit(pageSize).All(&games)
|
||||
fmt.Println("sql:", sql)
|
||||
if err != nil && err != RecordNotFound {
|
||||
logger.Error("user share card bill err:", err)
|
||||
return games, 0, err
|
||||
}
|
||||
if len(games) == 0 {
|
||||
return games, 0, nil
|
||||
}
|
||||
games = ShareCardGameListSetGameVm(games)
|
||||
//shareCardBills = UserShareCardBillListSetGame(shareCardBills)
|
||||
return games, totalPage, nil
|
||||
}
|
||||
|
||||
func ShareCardGameListSetGameVm(list []GameCard) []GameCard {
|
||||
if len(list) == 0 {
|
||||
return list
|
||||
}
|
||||
gameIds := make([]uint32, 0, len(list))
|
||||
for i, _ := range list {
|
||||
gameIds = append(gameIds, list[i].ID)
|
||||
}
|
||||
vmMap := GetShareCardGameVmMap(gameIds)
|
||||
for i, _ := range list {
|
||||
v, ok := vmMap[list[i].ID]
|
||||
if ok {
|
||||
list[i].EstimateVm = v.Vm
|
||||
}
|
||||
if list[i].EstimateVm == 0 {
|
||||
list[i].EstimateVm = CardProfitVm
|
||||
}
|
||||
}
|
||||
return list
|
||||
}
|
||||
|
||||
func GetShareCardGameVmMap(ids []uint32) map[uint32]ShareCardGameVm {
|
||||
shareCardGameVmMap := make(map[uint32]ShareCardGameVm, 0)
|
||||
if len(ids) == 0 {
|
||||
return shareCardGameVmMap
|
||||
}
|
||||
dateFormat := utils.ZeroDateFormat(-1)
|
||||
var shareGameVm []ShareCardGameVm
|
||||
err := NewShareCardGameVmQuerySet(DB).IDIn(ids...).ProvideDateEq(dateFormat).All(&shareGameVm)
|
||||
if err != nil && err != RecordNotFound {
|
||||
logger.Error("share card game vm err:", err)
|
||||
return shareCardGameVmMap
|
||||
}
|
||||
for i, _ := range shareGameVm {
|
||||
shareCardGameVmMap[shareGameVm[i].GameCardId] = shareGameVm[i]
|
||||
}
|
||||
|
||||
return shareCardGameVmMap
|
||||
}
|
||||
|
||||
func (m *UserShareCardBill) SetShareCard() error {
|
||||
var userShareCards []UserShareCard
|
||||
err := NewUserShareCardQuerySet(DB).UserShareCardBillIdEq(m.ID).All(&userShareCards)
|
||||
|
@ -332,7 +467,7 @@ func (m *UserShareCardBill) SetShareCard() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func GetUserShareCardMyCardList(uid uint32, page, pageSize int, state string) ([]UserShareCard, int, error) {
|
||||
func GetUserShareCardMyCardList(uid uint32, page, pageSize int, state string) ([]UserShareCard, int, int, error) {
|
||||
page = page - 1
|
||||
if page < 0 {
|
||||
page = 0
|
||||
|
@ -344,25 +479,32 @@ func GetUserShareCardMyCardList(uid uint32, page, pageSize int, state string) ([
|
|||
if state == "" {
|
||||
states = []string{ShareCardStateInCheck, ShareCardStateSharing, ShareCardStateRetrieve}
|
||||
}
|
||||
|
||||
var shareCards []UserShareCard
|
||||
shareCardCount, err := NewUserShareCardQuerySet(DB).UidEq(uid).StateEq(ShareCardStateSharing).Count()
|
||||
if err != nil {
|
||||
logger.Error("user share card count err:", err)
|
||||
return shareCards, 0, shareCardCount, err
|
||||
}
|
||||
|
||||
qs := NewUserShareCardQuerySet(DB).UidEq(uid).StateIn(states...)
|
||||
|
||||
count, err := qs.Count()
|
||||
if err != nil {
|
||||
logger.Error("user share card bill count err:", err)
|
||||
return shareCards, 0, err
|
||||
return shareCards, 0, shareCardCount, err
|
||||
}
|
||||
totalPage := count/pageSize + 1
|
||||
err = qs.OrderDescByID().Offset(page * pageSize).Limit(pageSize).All(&shareCards)
|
||||
if err != nil && err != RecordNotFound {
|
||||
logger.Error("user share card bill err:", err)
|
||||
return shareCards, 0, err
|
||||
return shareCards, 0, shareCardCount, err
|
||||
}
|
||||
if len(shareCards) == 0 {
|
||||
return shareCards, 0, nil
|
||||
return shareCards, 0, shareCardCount, nil
|
||||
}
|
||||
shareCards = UserShareCardListSetGame(shareCards)
|
||||
return shareCards, totalPage, nil
|
||||
return shareCards, totalPage, shareCardCount, nil
|
||||
}
|
||||
|
||||
func UserShareCardListSetGame(list []UserShareCard) []UserShareCard {
|
||||
|
@ -476,6 +618,7 @@ func (m *ShareCardRetrieveCreateReq) RetrieveCreate() (*ShareCardRetrieve, error
|
|||
}
|
||||
err = begin.Create(&retrieve).Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("create share card retrieve err:", err)
|
||||
return retrieve, err
|
||||
}
|
||||
|
@ -495,12 +638,14 @@ func (m *ShareCardRetrieveCreateReq) RetrieveCreate() (*ShareCardRetrieve, error
|
|||
}
|
||||
err = begin.Create(&card).Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("create share card retrieve card err:", err)
|
||||
return retrieve, err
|
||||
}
|
||||
}
|
||||
err = begin.Commit().Error
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
logger.Error("commit err:", err)
|
||||
return retrieve, err
|
||||
}
|
||||
|
@ -557,7 +702,7 @@ type ShareCardRetrieveListReq struct {
|
|||
|
||||
func (m *ShareCardRetrieveListReq) List() ([]ShareCardRetrieve, int, error) {
|
||||
var retrieveCards []ShareCardRetrieve
|
||||
qs := NewShareCardRetrieveQuerySet(DB).PayStateEq(2)
|
||||
qs := NewShareCardRetrieveQuerySet(DB).UidEq(m.Uid).PayStateEq(2)
|
||||
if m.State != "" {
|
||||
qs = qs.StateEq(m.State)
|
||||
}
|
||||
|
@ -735,6 +880,27 @@ func (m *ShareCardRetrieve) SetUserAddress() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func CardIssueFeedbackListSetGame(list []CardIssueFeedback) []CardIssueFeedback {
|
||||
ids := make([]uint32, 0, len(list))
|
||||
for i, _ := range list {
|
||||
ids = append(ids, list[i].GameCardId)
|
||||
}
|
||||
gameMap, err := GameCardMap(ids)
|
||||
if err != nil {
|
||||
logger.Error("set store err:", err)
|
||||
return list
|
||||
}
|
||||
|
||||
for i, _ := range list {
|
||||
v, ok := gameMap[list[i].GameCardId]
|
||||
if ok {
|
||||
list[i].GameCard = &v
|
||||
}
|
||||
}
|
||||
|
||||
return list
|
||||
}
|
||||
|
||||
// 用户收回卡
|
||||
//// gen:qs
|
||||
//type ShareCardRetrieve struct {
|
||||
|
|
|
@ -396,7 +396,8 @@ func (m *UserInviteListReq) InviteUserList() (*UserInviteListResp, error) {
|
|||
func GetOrderSn() string {
|
||||
var orderSn string
|
||||
for {
|
||||
orderSn = utils.GetSerialNo32HEXString()
|
||||
//orderSn = utils.GetSerialNo32HEXString()
|
||||
orderSn = utils.GenSerialNo()
|
||||
count, err := NewUserOpenMemberRecordQuerySet(DB).OpenNoEq(orderSn).Count()
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
|
@ -411,7 +412,8 @@ func GetOrderSn() string {
|
|||
func GetShareCardBillSn() string {
|
||||
var billSn string
|
||||
for {
|
||||
billSn = utils.GetSerialNo32HEXString()
|
||||
//billSn = utils.GetSerialNo32HEXString()
|
||||
billSn = utils.GenSerialNo()
|
||||
count, err := NewUserShareCardBillQuerySet(DB).BillSnEq(billSn).Count()
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
|
@ -426,7 +428,8 @@ func GetShareCardBillSn() string {
|
|||
func GetShareCardRetrieveOrderSn() string {
|
||||
var orderSn string
|
||||
for {
|
||||
orderSn = utils.GetSerialNo32HEXString()
|
||||
//orderSn = utils.GetSerialNo32HEXString()
|
||||
orderSn = utils.GenSerialNo()
|
||||
count, err := NewShareCardRetrieveQuerySet(DB).OrderSnEq(orderSn).Count()
|
||||
if err != nil {
|
||||
logger.Error("err:", err)
|
||||
|
|
|
@ -186,7 +186,9 @@ func ConfigAppRouter(r gin.IRouter) {
|
|||
}
|
||||
shareCard := api.Group("share_card")
|
||||
{
|
||||
shareCard.POST("game/list", controller.UserShareCardGameList) // 共享单游戏列表
|
||||
shareCard.Use(auth.UserAccessAuth)
|
||||
|
||||
shareCard.POST("bill/list", controller.UserShareCardBillList) // 共享单列表
|
||||
shareCard.POST("bill/add", controller.UserShareCardBillCreate) //
|
||||
shareCard.POST("bill/cancel", controller.UserShareCardBillCancel) //
|
||||
|
@ -197,9 +199,12 @@ func ConfigAppRouter(r gin.IRouter) {
|
|||
|
||||
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) // 我的共享卡收回审核
|
||||
shareCard.POST("retrieve_card/list", controller.ShareCardRetrieveList) // 我的共享卡收回列表
|
||||
shareCard.POST("retrieve_card/detail", controller.ShareCardRetrieveDetail) // 我的共享卡收回详情
|
||||
shareCard.POST("retrieve_card/confirm", controller.ShareCardRetrieveConfirm) // 我的共享卡收回确认
|
||||
|
||||
shareCard.POST("card_issue/add", controller.CardIssueCreate) // 我的共享卡问题反馈
|
||||
shareCard.POST("card_issue/list", controller.CardIssueList) // 我的共享卡问题反馈列表
|
||||
|
||||
//shoppingCart.POST("del", controller.ShoppingCartDel) //
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user