This commit is contained in:
li 2022-04-18 13:50:31 +08:00
parent ae7ef8980a
commit 73013ed758
6 changed files with 981 additions and 31 deletions

View File

@ -10,6 +10,7 @@ import (
"mh-server/lib/status"
"mh-server/lib/wxpay"
"mh-server/model"
"time"
)
func UserShareCardBillCreate(c *gin.Context) {
@ -382,10 +383,14 @@ func ShareCardRetrieveCreate(c *gin.Context) {
RespJson(c, status.ShareCardRetrieveExistAppliedCard, nil)
return
}
req.Amount = 40 // TODO
req.Amount = 40 // TODO 测试数据
retrieve, err := req.RetrieveCreate()
if err != nil {
logger.Error("share card retrieve create err:", err)
if err.Error() == "before_6_month" {
RespJson(c, status.CardRetrieveBefore6Month, nil)
return
}
RespJson(c, status.InternalServerError, nil)
return
}
@ -645,6 +650,12 @@ func CardIssueCreate(c *gin.Context) {
RespJson(c, status.InternalServerError, nil)
return
}
if !shareCardRetrieveCard.ReceiptTime.IsZero() && shareCardRetrieveCard.ReceiptTime.
AddDate(0, 0, 2).After(time.Now()) {
logger.Error("receipt time is over 48 hour:")
RespJson(c, status.IssueFeedbackReceiptTimeOver48Hour, nil)
return
}
feedback = &model.CardIssueFeedback{
Uid: shareCardRetrieveCard.Uid,
GameCardId: shareCardRetrieveCard.GameCardId,
@ -827,3 +838,42 @@ func CardIssueInfo(c *gin.Context) {
RespOK(c, issueFeedback)
return
}
func CardIssueDeliver(c *gin.Context) {
req := struct {
CardIssueFeedbackId uint32 `json:"card_issue_feedback_id"`
}{}
if c.ShouldBindJSON(&req) != nil {
logger.Error("parameter err")
RespJson(c, status.BadRequest, nil)
return
}
var issueFeedback model.CardIssueFeedback
err := model.NewCardIssueFeedbackQuerySet(model.DB).IDEq(req.CardIssueFeedbackId).One(&issueFeedback)
if err != nil {
logger.Error("card issue feedback err")
RespJson(c, status.InternalServerError, nil)
return
}
//model.GetImpo()
var store model.Store
err = model.NewStoreQuerySet(model.DB).IDEq(issueFeedback.StoreId).One(&store)
if err != nil && err != model.RecordNotFound {
logger.Error("store err")
RespJson(c, status.InternalServerError, nil)
return
}
var gameCard model.GameCard
err = model.NewGameCardQuerySet(model.DB).IDEq(issueFeedback.GameCardId).One(&gameCard)
if err != nil && err != model.RecordNotFound {
logger.Error("game card err")
RespJson(c, status.InternalServerError, nil)
return
}
issueFeedback.Store = &store
issueFeedback.GameCard = &gameCard
RespOK(c, issueFeedback)
return
}

View File

@ -83,18 +83,20 @@ 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 // 订单已完成
ShareCardBillStateCancelError = 500511 // 共享单状态不能取消
ShareCardRetrieveExistAppliedCard = 500513 // 共享单状态不能取消
NotMember = 500501 //非会员
HadReceiveReward = 500502 // 已经领取过奖励
OrderDelivered = 500503 // 订单已发货
OrderCompleted = 500504 // 订单已完成
OrderStockOut = 500505 // 没有库存
OrderUnpaidDeposit = 500506 // 未交押金
RefundDepositSubmitted = 500507 // 已提交押金退款
OrderMemberLevelLow = 500508 // 会员等级低
OrderOutRentCount = 500509 // 会员超过可借卡数
OrderStatusNotReturning = 500510 // 订单已完成
ShareCardBillStateCancelError = 500511 // 共享单状态不能取消
ShareCardRetrieveExistAppliedCard = 500513 // 共享单状态不能取消
IssueFeedbackReceiptTimeOver48Hour = 500514 // 问题反馈 超过 48小时
CardRetrieveBefore6Month = 500515 // 用户收回卡需要半年后
GoodsNotSale = 500508 // 商品已下架
@ -215,16 +217,18 @@ var statusMsg = map[int]string{
RequestTimeout: "服务器开小差了,请稍后再试",
InviteUserFail: "邀请失败",
UserHasBeenInvited: "用户已被邀请过",
UserSelfInviteSelf: "不允许自己邀请自己",
OutOffWithdrawCountLimit: "超出每天提现次数",
OutOffWithdrawAccountLimit: "超出提现金额范围",
CaptchaDelivered: "验证码5分钟内有效",
ShareCardBillStateCancelError: "当前状态不能取消",
ShareCardRetrieveExistAppliedCard: "存在重复申请收回的卡",
PayStateIng: "支付中",
PayStateFail: "支付失败",
MoneySufficient: "余额不足",
UserHasBeenInvited: "用户已被邀请过",
UserSelfInviteSelf: "不允许自己邀请自己",
OutOffWithdrawCountLimit: "超出每天提现次数",
OutOffWithdrawAccountLimit: "超出提现金额范围",
CaptchaDelivered: "验证码5分钟内有效",
ShareCardBillStateCancelError: "当前状态不能取消",
ShareCardRetrieveExistAppliedCard: "存在重复申请收回的卡",
IssueFeedbackReceiptTimeOver48Hour: "签收后已超过48小时",
CardRetrieveBefore6Month: "收回的卡需共享满半年",
PayStateIng: "支付中",
PayStateFail: "支付失败",
MoneySufficient: "余额不足",
AwardOffShelves: "奖品已下架",
AwardExchangeOut: "奖品已兑完",

File diff suppressed because it is too large Load Diff

View File

@ -44,7 +44,7 @@ type Order struct {
PickupCode string `json:"pickup_code"` // 取货码
CardStatus uint8 `json:"card_status"` // 1-待取货中 2-游玩中 3-归还中 4-已完成 5-已取消
DeliveryTime time.Time `json:"delivery_time"` // 发货时间
ReceiptTime time.Time `json:"receipt_time"` // 收货时间
ReceiptTime time.Time `json:"receipt_time"` // 收货时间 签收时间
PayTime time.Time `json:"pay_time"` // 支付时间
PayStatus uint8 `json:"pay_status"` // 支付状态 1-未支付 2-已支付
OrderSn string `json:"order_sn" gorm:"type:varchar(255);not null;COMMENT:'订单编号'"` // 订单编号

View File

@ -1,6 +1,7 @@
package model
import (
"errors"
"fmt"
"github.com/codinl/go-logger"
"mh-server/lib/utils"
@ -181,6 +182,7 @@ type ShareCardRetrieve struct {
AddressId uint32 `json:"address_id" gorm:"index"` // 收货地址
RefundOrderSn string `json:"refund_order_sn" gorm:"index"` // 订单编号退费
PickupCode string `json:"pickup_code"` // 取货码
ReceiptTime time.Time `json:"receipt_time"` // 签收时间
Store Store `json:"store" gorm:"-"`
UserAddress UserAddress `json:"user_address" gorm:"-"`
ShareCardRetrieveCards []ShareCardRetrieveCard `json:"share_card_retrieve_cards" gorm:"-"`
@ -240,12 +242,14 @@ type ShareCardRetrieveCard struct {
RetrieveGameCardGoodsId uint32 `json:"retrieve_game_card_goods_id" gorm:"index"` // 收回卡id
Remark string `json:"remark"`
OriginalCardType string `json:"retrieve_card_type" gorm:"index"` // -公共卡 -用户共享 回收前的卡类型 原卡类型
AllotUserShareCardId uint32 `json:"allot_user_share_card_id"` // 分配用户共享卡id
OriginalCardType string `json:"retrieve_card_type" gorm:"index"` // -公共卡 -用户共享 回收前的卡类型 原卡类型
AllotUserShareCardId uint32 `json:"allot_user_share_card_id"` // 分配用户共享卡id
ReceiptTime time.Time `json:"receipt_time"` // 签收时间
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
@ -663,7 +667,12 @@ func (m *ShareCardRetrieveCreateReq) RetrieveCreate() (*ShareCardRetrieve, error
//for i, _ := range userShareCards {
// gameIds = append(gameIds, uint64(userShareCards[i].GameCardId))
//}
for i, _ := range userShareCards {
if userShareCards[i].CreatedAt.AddDate(0, 6, 0).After(time.Now()) {
logger.Error("user share before 6 month")
return nil, errors.New("before_6_month")
}
}
//var gameCardGoodsStocks []GameCardGoodsStock
//err = NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(m.StoreId)).GameCardIdIn(gameIds...).All(&gameCardGoodsStocks)
//if err != nil {

View File

@ -203,10 +203,11 @@ func ConfigAppRouter(r gin.IRouter) {
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/cancel", controller.CardIssueCancel) // 我的共享卡问题反馈
shareCard.POST("card_issue/list", controller.CardIssueList) // 我的共享卡问题反馈列表
shareCard.POST("card_issue/info", controller.CardIssueInfo) // 我的共享卡问题反馈详情
shareCard.POST("card_issue/add", controller.CardIssueCreate) // 我的共享卡问题反馈
shareCard.POST("card_issue/cancel", controller.CardIssueCancel) // 我的共享卡问题反馈
shareCard.POST("card_issue/list", controller.CardIssueList) // 我的共享卡问题反馈列表
shareCard.POST("card_issue/info", controller.CardIssueInfo) // 我的共享卡问题反馈详情
shareCard.POST("card_issue/deliver", controller.CardIssueDeliver) // 我的共享卡问题反馈详情
//shoppingCart.POST("del", controller.ShoppingCartDel) //