@@ -0,0 +1,119 @@
|
||||
package customerCtrl
|
||||
|
||||
import (
|
||||
"91porn-server/app/appg"
|
||||
"91porn-server/app/service/customerser"
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/crypt"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/common/stderr"
|
||||
"encoding/hex"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/go-playground/form"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
// Url doc
|
||||
//
|
||||
// @Summary 获取客服链接
|
||||
// @Description 获取客服链接
|
||||
// @Tags 移动端-客服
|
||||
// @Accept mpfd,json
|
||||
// @Produce json
|
||||
// @Success 200 object string "成功"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/app/customer/url [get]
|
||||
func Url(ctx *gin.Context) {
|
||||
uid, err := common.GetUID(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrNoToken, nil)
|
||||
return
|
||||
}
|
||||
ua, _ := common.GetUA(ctx)
|
||||
resp, err := customerser.GetUrl(uid, ua)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.Failure, err)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, resp.Data.Url)
|
||||
}
|
||||
|
||||
func parseRequest(ctx *gin.Context, data interface{}) (err error) {
|
||||
// 获取请求参数sign
|
||||
sign := ctx.Query("sign")
|
||||
decodeByte, err := hex.DecodeString(sign)
|
||||
if err != nil {
|
||||
log.Warn("非法请求1", log.Any("sign", sign), log.E(err))
|
||||
return
|
||||
}
|
||||
str, err := crypt.AesDecrypt(string(decodeByte), appg.Conf.Customer.Secret)
|
||||
if err != nil {
|
||||
log.Warn("非法请求2", log.Any("sign", sign), log.E(err))
|
||||
return
|
||||
}
|
||||
values, err := url.ParseQuery(str)
|
||||
if err != nil {
|
||||
log.Warn("非法请求3", log.Any("sign", sign), log.Any("str", str), log.E(err))
|
||||
return
|
||||
}
|
||||
// 解码到结构体
|
||||
decoder := form.NewDecoder()
|
||||
err = decoder.Decode(data, values)
|
||||
if err != nil {
|
||||
log.Warn("参数解析错误", log.Any("values", values), log.E(err))
|
||||
return
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Backpack doc
|
||||
//
|
||||
// @Summary 获取背包
|
||||
// @Description 获取背包
|
||||
// @Tags 移动端-客服
|
||||
// @Accept mpfd,json
|
||||
// @Produce json
|
||||
// @Param q query customerser.BackpackReq false "请求参数"
|
||||
// @Success 200 object customerser.BackpackResp "成功"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /customer/user/backpack [get]
|
||||
func Backpack(ctx *gin.Context) {
|
||||
p := &customerser.BackpackReq{}
|
||||
if err := parseRequest(ctx, p); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, nil)
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := p.GetData(ctx, uint64(p.UserID), p.Account, p.Phone, p.InviteCode)
|
||||
if err != nil {
|
||||
common.ServeJSONNoEncrypt(ctx, stderr.Failure, err)
|
||||
return
|
||||
}
|
||||
common.ServeJSONNoEncrypt(ctx, stderr.Success, resp)
|
||||
}
|
||||
|
||||
// Recharge doc
|
||||
//
|
||||
// @Summary 获取充值订单
|
||||
// @Description 获取充值订单
|
||||
// @Tags 移动端-客服
|
||||
// @Accept mpfd,json
|
||||
// @Produce json
|
||||
// @Param q query customerser.RechargeReq false "请求参数"
|
||||
// @Success 200 object customerser.RechargeResp "成功"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /customer/user/recharge [get]
|
||||
func Recharge(ctx *gin.Context) {
|
||||
p := &customerser.RechargeReq{}
|
||||
if err := parseRequest(ctx, p); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, nil)
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := p.GetData(ctx, uint64(p.UserID))
|
||||
if err != nil {
|
||||
common.ServeJSONNoEncrypt(ctx, stderr.Failure, err)
|
||||
return
|
||||
}
|
||||
common.ServeJSONNoEncrypt(ctx, stderr.Success, resp)
|
||||
}
|
||||
Reference in New Issue
Block a user