You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
2.8 KiB
122 lines
2.8 KiB
package http |
|
|
|
import ( |
|
"go-common/app/service/main/coupon/model" |
|
"go-common/library/log" |
|
bm "go-common/library/net/http/blademaster" |
|
) |
|
|
|
func userCoupon(c *bm.Context) { |
|
var ( |
|
err error |
|
count int |
|
) |
|
arg := new(model.ArgMid) |
|
if err = c.Bind(arg); err != nil { |
|
log.Error("user coupon bind %+v", err) |
|
return |
|
} |
|
switch arg.Type { |
|
case model.CouponVideo: |
|
if count, err = svc.VideoCouponCount(c, arg.Mid, arg.Type); err != nil { |
|
log.Error("user coupon(%d) %+v", arg.Mid, err) |
|
} |
|
case model.CouponCartoon: |
|
if count, err = svc.CarToonCouponCount(c, arg.Mid, arg.Type); err != nil { |
|
log.Error("user coupon(%d) %+v", arg.Mid, err) |
|
} |
|
} |
|
c.JSON(map[string]interface{}{ |
|
"count": count, |
|
"mid": arg.Mid, |
|
}, nil) |
|
} |
|
|
|
func useCoupon(c *bm.Context) { |
|
var ( |
|
err error |
|
state int8 |
|
token string |
|
) |
|
arg := new(model.ArgUseCoupon) |
|
if err = c.Bind(arg); err != nil { |
|
log.Error("use coupon bind %+v", err) |
|
return |
|
} |
|
if state, token, err = svc.UseCoupon(c, arg.Mid, arg.Oid, arg.Remark, arg.OrderNO, arg.Type, arg.Ver); err != nil { |
|
log.Error("use coupon(%d) %+v", arg.Mid, err) |
|
} |
|
log.Info("use coupon ret(%d,%s)", state, token) |
|
c.JSON(map[string]interface{}{ |
|
"state": state, |
|
"coupon_token": token, |
|
}, nil) |
|
} |
|
|
|
func useCartoonCoupon(c *bm.Context) { |
|
var ( |
|
err error |
|
state int8 |
|
token string |
|
) |
|
arg := new(model.ArgUseCartoonCoupon) |
|
if err = c.Bind(arg); err != nil { |
|
log.Error("use coupon bind %+v", err) |
|
return |
|
} |
|
if state, token, err = svc.CartoonUse(c, arg.Mid, arg.OrderNO, arg.Type, arg.Ver, arg.Remark, arg.Tips, arg.Count); err != nil { |
|
log.Error("use coupon(%d) %+v", arg.Mid, err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(map[string]interface{}{ |
|
"state": state, |
|
"coupon_token": token, |
|
}, nil) |
|
} |
|
|
|
func couponInfo(c *bm.Context) { |
|
var err error |
|
arg := new(model.ArgCoupon) |
|
if err = c.Bind(arg); err != nil { |
|
log.Error("coupon info bind %+v", err) |
|
return |
|
} |
|
c.JSON(svc.CouponInfo(c, arg.Mid, arg.CouponToken)) |
|
} |
|
|
|
func addCoupon(c *bm.Context) { |
|
var err error |
|
arg := new(model.ArgAdd) |
|
if err = c.Bind(arg); err != nil { |
|
log.Error("add coupon bind %+v", err) |
|
return |
|
} |
|
c.JSON(nil, svc.AddCoupon(c, arg.Mid, arg.StartTime, arg.ExpireTime, arg.Type, arg.Origin)) |
|
} |
|
|
|
func changeCoupon(c *bm.Context) { |
|
var err error |
|
arg := new(model.ChangeCoupon) |
|
if err = c.Bind(arg); err != nil { |
|
log.Error("coupon info bind %+v", err) |
|
return |
|
} |
|
c.JSON(nil, svc.ChangeState(c, arg.Mid, arg.UseVer, arg.Ver, arg.CouponToken)) |
|
} |
|
|
|
func salaryCoupon(c *bm.Context) { |
|
var err error |
|
arg := new(model.ArgSalaryCoupon) |
|
if err = c.Bind(arg); err != nil { |
|
log.Error("coupon info bind %+v", err) |
|
return |
|
} |
|
arg.Origin = int64(model.VipSalary) |
|
if err = svc.SalaryCoupon(c, arg); err != nil { |
|
log.Error("svc.SalaryCoupon(%d) %+v", arg.Mid, err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
}
|
|
|