123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399 |
- package http
- import (
- "strconv"
- "go-common/app/service/main/usersuit/model"
- "go-common/library/ecode"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- "go-common/library/xstr"
- )
- const (
- _paySuccess = "1"
- )
- // groupInfo get group info
- func groupInfo(c *bm.Context) {
- c.JSON(usersuitSvc.GroupInfo(c))
- }
- // groupInfoByID get group info
- func groupInfoByID(c *bm.Context) {
- var (
- err error
- gid int64
- params = c.Request.Form
- gidstr = params.Get("gid")
- )
- if gidstr == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if gid, err = strconv.ParseInt(gidstr, 10, 64); err != nil || gid < 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- c.JSON(usersuitSvc.GroupInfoByID(c, gid))
- }
- // vipGroup return vip group info
- func vipGroup(c *bm.Context) {
- c.JSON(usersuitSvc.GroupInfoByID(c, 31))
- }
- // entryGroup return vip group info
- func entryGroup(c *bm.Context) {
- c.JSON(usersuitSvc.GroupInfoByID(c, 30))
- }
- // pointRecommend get pendant which has point pay type
- func pointRecommend(c *bm.Context) {
- var (
- err error
- mid int64
- params = c.Request.Form
- midstr = params.Get("mid")
- )
- if midstr == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if mid, err = strconv.ParseInt(midstr, 10, 64); err != nil || mid <= 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- c.JSON(usersuitSvc.PendantPoint(c, mid))
- }
- // pendantByID return pendant info
- func pendantByID(c *bm.Context) {
- var (
- err error
- pid int64
- params = c.Request.Form
- pidstr = params.Get("pid")
- )
- if pidstr == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if pid, err = strconv.ParseInt(pidstr, 10, 64); err != nil || pid <= 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- c.JSON(usersuitSvc.PendantInfo(c, pid))
- }
- // orderHistory query order history
- func orderHistory(c *bm.Context) {
- var (
- err error
- t int64
- history *model.ArgOrderHistory
- data []*model.PendantOrderInfo
- count map[string]int64
- req = c.Request
- params = req.Form
- midStr = params.Get("mid")
- pidStr = params.Get("pid")
- orderID = params.Get("orderID")
- payID = params.Get("payID")
- payType = params.Get("payType")
- status = params.Get("status")
- startTime = params.Get("start_time")
- endTime = params.Get("end_time")
- page = params.Get("page")
- )
- if midStr == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- history = new(model.ArgOrderHistory)
- if history.Mid, err = strconv.ParseInt(midStr, 10, 64); err != nil || history.Mid <= 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if pidStr != "" {
- if t, err = strconv.ParseInt(pidStr, 10, 64); err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- history.Pid = t
- }
- if orderID != "" {
- history.OrderID = orderID
- }
- if payID != "" {
- history.PayID = payID
- }
- if payType != "" {
- if t, err = strconv.ParseInt(payType, 10, 64); err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- history.PayType = int32(t)
- }
- if status != "" {
- if t, err = strconv.ParseInt(status, 10, 64); err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- history.Status = int32(t)
- }
- if startTime != "" {
- if t, err = strconv.ParseInt(startTime, 10, 64); err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- history.StartTime = t
- }
- if endTime != "" {
- if t, err = strconv.ParseInt(endTime, 10, 64); err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- history.EndTime = t
- }
- if page != "" {
- if t, err = strconv.ParseInt(page, 10, 64); err != nil {
- history.Page = 1
- }
- history.Page = t
- } else {
- history.Page = 1
- }
- if data, count, err = usersuitSvc.OrderHistory(c, history); err != nil {
- log.Error("usersuitSvc.History error(%v)", err)
- c.JSON(nil, err)
- return
- }
- c.JSONMap(map[string]interface{}{
- "data": data,
- "count": count,
- }, nil)
- }
- // packageInfo get user package
- func packageInfo(c *bm.Context) {
- var (
- err error
- mid int64
- req = c.Request
- midStr = req.Form.Get("mid")
- )
- if midStr == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if mid, err = strconv.ParseInt(midStr, 10, 64); err != nil || mid <= 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- c.JSON(usersuitSvc.PackageInfo(c, mid))
- }
- // equipment get current equipped pendant
- func equipment(c *bm.Context) {
- var (
- err error
- mid int64
- req = c.Request
- params = req.Form
- midStr = params.Get("mid")
- )
- if midStr == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if mid, err = strconv.ParseInt(midStr, 10, 64); err != nil || mid <= 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- c.JSON(usersuitSvc.Equipment(c, mid))
- }
- // order order pendant
- func order(c *bm.Context) {
- var (
- err error
- mid, pid, expires, tp int64
- orderData *model.PayInfo
- req = c.Request
- params = req.Form
- midStr = params.Get("mid")
- pidStr = params.Get("pid")
- expiresStr = params.Get("expires")
- typeStr = params.Get("moneytype")
- )
- if midStr == "" || pidStr == "" || expiresStr == "" || typeStr == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if mid, err = strconv.ParseInt(midStr, 10, 64); err != nil || mid <= 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if pid, err = strconv.ParseInt(pidStr, 10, 64); err != nil || pid <= 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if expires, err = strconv.ParseInt(expiresStr, 10, 64); err != nil || expires < 1 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if tp, err = strconv.ParseInt(typeStr, 10, 64); err != nil || tp < 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if orderData, err = usersuitSvc.OrderPendant(c, mid, pid, expires, tp); err != nil {
- c.JSON(nil, err)
- return
- }
- if orderData != nil && orderData.PayURL != "" {
- c.JSON(orderData, nil)
- }
- }
- // multiGrant batch grant pendant
- func multiGrantByMid(c *bm.Context) {
- var (
- err error
- pid, expire int64
- mids []int64
- req = c.Request
- params = req.Form
- midStr = params.Get("mids")
- pidStr = params.Get("pid")
- expireStr = params.Get("expire")
- )
- if midStr == "" || pidStr == "" || expireStr == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if mids, err = xstr.SplitInts(midStr); err != nil || len(mids) == 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if pid, err = strconv.ParseInt(pidStr, 10, 64); err != nil || pid <= 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if expire, err = strconv.ParseInt(expireStr, 10, 64); err != nil || expire <= 0 || expire > 3650 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- c.JSON(nil, usersuitSvc.BatchGrantPendantByMid(c, pid, expire, mids))
- }
- // multiGrant batch grant pendant
- func multiGrantByPid(c *bm.Context) {
- var (
- err error
- mid int64
- pids, expires []int64
- req = c.Request
- params = req.Form
- midStr = params.Get("mid")
- pidStr = params.Get("pids")
- expireStr = params.Get("expires")
- )
- if midStr == "" || pidStr == "" || expireStr == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if pids, err = xstr.SplitInts(pidStr); err != nil || len(pids) == 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if mid, err = strconv.ParseInt(midStr, 10, 64); err != nil || mid <= 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if expires, err = xstr.SplitInts(expireStr); err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- c.JSON(nil, usersuitSvc.BatchGrantPendantByPid(c, mid, expires, pids))
- }
- // equip euqip pendant
- func equip(c *bm.Context) {
- var (
- err error
- mid, pid, status, source int64
- req = c.Request
- params = req.Form
- midStr = params.Get("mid")
- pidStr = params.Get("pid")
- statusStr = params.Get("status")
- sourceStr = params.Get("source") // 挂件来源(可选):默认0,0 未知,1背包,2大会员
- )
- if midStr == "" || pidStr == "" || statusStr == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if mid, err = strconv.ParseInt(midStr, 10, 64); err != nil || mid <= 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if pid, err = strconv.ParseInt(pidStr, 10, 64); err != nil || pid <= 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if status, err = strconv.ParseInt(statusStr, 10, 64); err != nil || (status != 1 && status != 2) {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- source = model.ParseSource(sourceStr)
- c.JSON(nil, usersuitSvc.EquipPendant(c, mid, pid, int8(status), source))
- }
- // pendantCallback pay callback func
- func pendantCallback(c *bm.Context) {
- var (
- err error
- sFlag int64
- arg *model.PendantOrderInfo
- req = c.Request
- params = req.Form
- success = params.Get("isSuccess") // NOTE : how to fixed 1
- orderID = params.Get("out_trade_no")
- payID = params.Get("trade_no")
- status = params.Get("trade_status")
- )
- if success == "" || orderID == "" || payID == "" || status == "" {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if status != _paySuccess {
- c.JSON(nil, nil)
- return
- }
- arg = &model.PendantOrderInfo{OrderID: orderID, PayID: payID}
- if sFlag, err = strconv.ParseInt(status, 10, 64); err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- arg.Stauts = int32(sFlag)
- arg.IsCallback = 1
- c.JSON(nil, usersuitSvc.PendantCallback(c, arg))
- }
|