This commit is contained in:
li 2022-04-08 10:28:50 +08:00
parent a8fdb04881
commit a6689f2ad1
11 changed files with 3060 additions and 62 deletions

View File

@ -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)

View File

@ -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
}

View File

@ -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: "奖品已兑完",

View File

@ -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

View File

@ -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

View File

@ -114,6 +114,8 @@ func InitTestDB() {
&ShareCardVmRecord{},
&ShareCardRetrieve{},
&ShareCardRetrieveCard{},
&GameCardLabel{},
&CardIssueFeedback{},
//&GameShareCardVm{},
)

View File

@ -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 {

View File

@ -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)

View File

@ -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) //