263 lines
5.6 KiB
Go
263 lines
5.6 KiB
Go
|
package controller
|
||
|
|
||
|
import (
|
||
|
"errors"
|
||
|
"github.com/codinl/go-logger"
|
||
|
"github.com/gin-gonic/gin"
|
||
|
"mh-server/lib/auth"
|
||
|
"mh-server/lib/status"
|
||
|
"mh-server/lib/utils"
|
||
|
"mh-server/lib/wxpay"
|
||
|
"mh-server/model"
|
||
|
"qiniupkg.com/x/log.v7"
|
||
|
)
|
||
|
|
||
|
func HistoryBrowsingList(c *gin.Context) {
|
||
|
req := struct {
|
||
|
Page int `json:"page"`
|
||
|
PageSize int `json:"page_size"`
|
||
|
}{
|
||
|
Page: 1,
|
||
|
PageSize: 10,
|
||
|
}
|
||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||
|
logger.Error(err)
|
||
|
RespJson(c, status.BadRequest, nil)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
uc := auth.GetCurrentUser(c)
|
||
|
if uc == nil {
|
||
|
RespJson(c, status.Unauthorized, nil)
|
||
|
return
|
||
|
}
|
||
|
gameCardList, totalPage, err := model.GetHistoryBrowsingList(uc.Uid, req.Page, req.PageSize)
|
||
|
if err != nil {
|
||
|
logger.Error("err:", err)
|
||
|
RespJson(c, status.InternalServerError, nil)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
ret := map[string]interface{}{
|
||
|
"game_card_list": gameCardList,
|
||
|
"cur_page": req.Page,
|
||
|
"total_page": totalPage,
|
||
|
}
|
||
|
|
||
|
RespOK(c, ret)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func HistoryBrowsingDel(c *gin.Context) {
|
||
|
req := struct {
|
||
|
GameCardIds []uint64 `json:"game_card_id" binding:"required"`
|
||
|
}{}
|
||
|
if c.ShouldBindJSON(&req) != nil {
|
||
|
RespJson(c, status.BadRequest, nil)
|
||
|
return
|
||
|
}
|
||
|
uc := auth.GetCurrentUser(c)
|
||
|
if uc == nil {
|
||
|
RespJson(c, status.Unauthorized, nil)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
if len(req.GameCardIds) > 0 {
|
||
|
err := model.NewHistoryBrowsingQuerySet(model.DB.Unscoped()).UidEq(uint64(uc.Uid)).GameCardIdIn(req.GameCardIds...).Delete()
|
||
|
if err != nil {
|
||
|
log.Error("err:", err)
|
||
|
RespJson(c, status.InternalServerError, nil)
|
||
|
return
|
||
|
}
|
||
|
}
|
||
|
|
||
|
RespOK(c, nil)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func CollectionList(c *gin.Context) {
|
||
|
req := struct {
|
||
|
Page int `json:"page"`
|
||
|
PageSize int `json:"page_size"`
|
||
|
}{
|
||
|
Page: 1,
|
||
|
PageSize: 10,
|
||
|
}
|
||
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||
|
logger.Error(err)
|
||
|
RespJson(c, status.BadRequest, nil)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
uc := auth.GetCurrentUser(c)
|
||
|
if uc == nil {
|
||
|
RespJson(c, status.Unauthorized, nil)
|
||
|
return
|
||
|
}
|
||
|
gameCardList, totalPage, err := model.GetGameCardCollectionList(uc.Uid, req.Page, req.PageSize)
|
||
|
if err != nil {
|
||
|
logger.Error("err:", err)
|
||
|
RespJson(c, status.InternalServerError, nil)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
ret := map[string]interface{}{
|
||
|
"game_card_list": gameCardList,
|
||
|
"cur_page": req.Page,
|
||
|
"total_page": totalPage,
|
||
|
}
|
||
|
|
||
|
RespOK(c, ret)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func CollectionAdd(c *gin.Context) {
|
||
|
req := struct {
|
||
|
GameCardId uint64 `json:"game_card_id" binding:"required"`
|
||
|
}{}
|
||
|
if c.ShouldBindJSON(&req) != nil {
|
||
|
RespJson(c, status.BadRequest, nil)
|
||
|
return
|
||
|
}
|
||
|
uc := auth.GetCurrentUser(c)
|
||
|
if uc == nil {
|
||
|
RespJson(c, status.Unauthorized, nil)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
collection := model.Collection{
|
||
|
Uid: uint64(uc.Uid),
|
||
|
GameCardId: req.GameCardId,
|
||
|
}
|
||
|
err := collection.Create(model.DB)
|
||
|
if err != nil {
|
||
|
log.Error("err:", err)
|
||
|
RespJson(c, status.InternalServerError, nil)
|
||
|
return
|
||
|
}
|
||
|
RespOK(c, nil)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func CollectionCancel(c *gin.Context) {
|
||
|
req := struct {
|
||
|
GameCardIds []uint64 `json:"game_card_id" binding:"required"`
|
||
|
}{}
|
||
|
if c.ShouldBindJSON(&req) != nil {
|
||
|
logger.Error("para err")
|
||
|
RespJson(c, status.BadRequest, nil)
|
||
|
return
|
||
|
}
|
||
|
uc := auth.GetCurrentUser(c)
|
||
|
if uc == nil {
|
||
|
RespJson(c, status.Unauthorized, nil)
|
||
|
return
|
||
|
}
|
||
|
if len(req.GameCardIds) > 0 {
|
||
|
err := model.NewCollectionQuerySet(model.DB.Unscoped()).UidEq(uint64(uc.Uid)).GameCardIdIn(req.GameCardIds...).Delete()
|
||
|
if err != nil {
|
||
|
log.Error("err:", err)
|
||
|
RespJson(c, status.InternalServerError, nil)
|
||
|
return
|
||
|
}
|
||
|
}
|
||
|
|
||
|
RespOK(c, nil)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func UserInfoUpdate(c *gin.Context) {
|
||
|
req := struct {
|
||
|
WxName string `json:"wx_name"` // 昵称
|
||
|
WxAvatar string `json:"wx_avatar"` // 头像
|
||
|
Tel string `json:"tel"` // 电话
|
||
|
}{}
|
||
|
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
|
||
|
}
|
||
|
|
||
|
user := &model.User{
|
||
|
Uid: uc.Uid,
|
||
|
WxName: req.WxName,
|
||
|
WxAvatar: req.WxAvatar,
|
||
|
Tel: req.Tel,
|
||
|
}
|
||
|
err := model.UserUpdate(user)
|
||
|
if err != nil {
|
||
|
logger.Error("err:", err)
|
||
|
RespJson(c, status.InternalServerError, nil)
|
||
|
return
|
||
|
}
|
||
|
RespOK(c, nil)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
const (
|
||
|
MemberFee = 300 * 100 // 会员费
|
||
|
DepositFee = 300 * 100 // 押金费
|
||
|
)
|
||
|
|
||
|
func OpenMember(c *gin.Context) {
|
||
|
//req := struct {
|
||
|
// GameCardId uint64 `json:"game_card_id" binding:"required"`
|
||
|
//}{}
|
||
|
//if c.ShouldBindJSON(&req) != nil {
|
||
|
// RespJson(c, status.BadRequest, nil)
|
||
|
// return
|
||
|
//}
|
||
|
|
||
|
uc := auth.GetCurrentUser(c)
|
||
|
if uc == nil {
|
||
|
RespJson(c, status.Unauthorized, nil)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
user := model.GetUserByUid(uc.Uid)
|
||
|
//uid := fmt.Sprintf("%d", uc.Uid)
|
||
|
//totalFee := MemberFee + DepositFee
|
||
|
//uid := "623892011"
|
||
|
//user := model.GetUserByUid(62389201)
|
||
|
totalFee := uint32(1)
|
||
|
//webPay, err := wxpay.WebPay(uid, totalFee, user.WxOpenID, "N", wxpay.WxPayMember)
|
||
|
//if err != nil {
|
||
|
// logger.Error(errors.New("WebPay err"))
|
||
|
// RespJson(c, status.InternalServerError, nil)
|
||
|
// return
|
||
|
//}
|
||
|
orderSn := utils.GetSerialNo32HEXString()
|
||
|
err := model.UserOpenMemberRecord{Uid: uc.Uid, OpenNo: orderSn}.Insert()
|
||
|
if err != nil {
|
||
|
logger.Error(errors.New("WebPay err"))
|
||
|
RespJson(c, status.InternalServerError, nil)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
webPay, err := wxpay.WebPay(orderSn, totalFee, user.WxOpenID, "N", wxpay.WxPayMember)
|
||
|
if err != nil {
|
||
|
logger.Error(errors.New("WebPay err"))
|
||
|
RespJson(c, status.InternalServerError, nil)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
RespOK(c, webPay)
|
||
|
}
|
||
|
|
||
|
func CommonProblemList(c *gin.Context) {
|
||
|
common := &model.CommonProblem{}
|
||
|
list, err := common.List()
|
||
|
if err != nil {
|
||
|
logger.Error("err:", err)
|
||
|
RespJson(c, status.InternalServerError, nil)
|
||
|
return
|
||
|
}
|
||
|
RespOK(c, list)
|
||
|
return
|
||
|
}
|