diff --git a/controllers/client/good.go b/controllers/client/good.go index f50f3c7..dfc6bfe 100644 --- a/controllers/client/good.go +++ b/controllers/client/good.go @@ -17,6 +17,15 @@ type GoodCtl struct { controllers.AuthorCtl } +func (t *GoodCtl) GoodDetail() { + goodsId := t.MustGetInt64("customer_goods_id") + good := new(models.CustomerGoods) + exist, err := models.Get(good, goodsId) + t.CheckErr(err) + t.Assert(exist, code.MSG_CUSTOMER_GOOD_NOT_EXIST, "商品详情不存在") + t.JSON(good) +} + func (t *GoodCtl) GoodOption() { activityId := t.MustGetInt64("activity_id") //areaId := t.MustGetInt64("area_id") diff --git a/models/order_gift.go b/models/order_gift.go index 1f159e4..e05d1f9 100644 --- a/models/order_gift.go +++ b/models/order_gift.go @@ -25,5 +25,6 @@ func (t *OrderGift) TableName() string { } func (t *OrderGift) GetByActivityId(aid int64) (bool, error) { - return core.GetXormAuto().Where("is_delete=0 and order_gift_switch=? and activity_id=?", define.StatusOpen, aid).Get(t) + return core.GetXormAuto().Where("is_delete=0 and order_gift_switch=? "+ + "and activity_id=?", define.StatusOpen, aid).Get(t) } diff --git a/services/pay/handle.go b/services/pay/handle.go index 6d7201d..078cbdf 100644 --- a/services/pay/handle.go +++ b/services/pay/handle.go @@ -7,15 +7,13 @@ import ( "hudongzhuanjia/logger" "hudongzhuanjia/models" im_service "hudongzhuanjia/services/im" - "hudongzhuanjia/utils/define" "time" ) //处理支付成功之后的回调问题 // 直播红包 -func HandleSuccess(param *OrderDelayQueueParam) (err error) { - var exist bool +func HandleSuccess(param *OrderDelayQueueParam) error { if param.Order.GoodType == 4 { // 直播商品 customerOrder := new(models.CustomerOrder) _, err := customerOrder.UpdateStatusBy(param.Order.OutTradeNo, 0, 1) @@ -48,7 +46,7 @@ func HandleSuccess(param *OrderDelayQueueParam) (err error) { } activity := new(models.Activity) - exist, err = models.Get(activity, param.Order.ActivityId) + exist, err := models.Get(activity, param.Order.ActivityId) if err != nil || !exist { return errors.New("互动信息异常") } @@ -56,10 +54,13 @@ func HandleSuccess(param *OrderDelayQueueParam) (err error) { gift := new(models.OrderGift) exist, err = gift.GetByActivityId(param.Order.ActivityId) if err != nil { + err = fmt.Errorf("获取订单送礼错误: err-> %v, activity_id-> %v", err, activity.Id) + logger.Error(err) return err } - if !exist || gift.OrderGiftSwitch == define.StatusClose { - return + + if !exist { + return nil } prize := new(models.UserPrize) @@ -84,7 +85,7 @@ func HandleSuccess(param *OrderDelayQueueParam) (err error) { } if gift.Num <= int(count) { // 人数足够 - return + return nil } } _, err = prize.Add() @@ -103,18 +104,18 @@ func HandleSuccess(param *OrderDelayQueueParam) (err error) { } } else if param.Order.GoodType == 3 { // 直播红包 info := new(models.LiveRedEnvelopeRule) - _, err = info.UpdateStatusByOutTradeNo(param.Order.OutTradeNo, 1) + _, err := info.UpdateStatusByOutTradeNo(param.Order.OutTradeNo, 1) if err != nil { err = fmt.Errorf("状态改变出现错误: err->%v, out_trade_no->%v", err, param.Order.OutTradeNo) logger.Error(err.Error()) - return + return err } - exist, err = info.GetByOutTradeNo(param.Order.OutTradeNo) + exist, err := info.GetByOutTradeNo(param.Order.OutTradeNo) if err != nil || !exist || info.Status != 1 { err = fmt.Errorf("直播红包信息异常: err-> %v, exist->%v, status->%v, out_trade_no->%v", err, exist, info.Status, param.Order.OutTradeNo) logger.Error(err.Error()) - return + return err } err = im_service.SendGroupCustomMessage(info.UserId, param.Order.ActivityId, im_service.NoticeLiveRedPackStart, @@ -127,27 +128,29 @@ func HandleSuccess(param *OrderDelayQueueParam) (err error) { err = fmt.Errorf("发送腾讯im信息出现错误: err->%v, info_id->%v, out_trade_no->%v", err, info.Id, param.Order.OutTradeNo) logger.Error(err.Error()) + return err } } else if param.Order.GoodType == 2 { // 打赏 history := new(models.RewardHistory) - exist, err = history.GetByOutTradeNo(param.Order.OutTradeNo) + exist, err := history.GetByOutTradeNo(param.Order.OutTradeNo) if err != nil || !exist || history.Status != -1 { err = fmt.Errorf("打赏历史异常: err->%v, out_trade_no %v", err, param.Order.OutTradeNo) logger.Error(err.Error()) - return + return err } _, err = history.UpdateStatus(history.Id, 0) if err != nil { err = fmt.Errorf("打赏状态发送变化: err->%v, out_trade_no %v", err, param.Order.OutTradeNo) logger.Error(err.Error()) + return err } } else if param.Order.GoodType == 1 { // 霸屏 history := new(models.BullyScreenHistory) - exist, err = history.GetByOutTradeNo(param.Order.OutTradeNo) + exist, err := history.GetByOutTradeNo(param.Order.OutTradeNo) if err != nil || !exist || history.Status != -1 { err = fmt.Errorf("打赏历史异常: err->%v, out_trade_no %v", err, param.Order.OutTradeNo) logger.Error(err.Error()) - return + return err } _, err = history.UpdateStatus(history.Id, 0) @@ -156,7 +159,7 @@ func HandleSuccess(param *OrderDelayQueueParam) (err error) { logger.Error(err.Error()) } } - return + return nil } func HandleFailed(param *OrderDelayQueueParam) (err error) { diff --git a/utils/code/code.go b/utils/code/code.go index d2f33e7..5000227 100644 --- a/utils/code/code.go +++ b/utils/code/code.go @@ -36,6 +36,7 @@ const ( MSG_LOTTERY_DRAW_NOT_HIT = 4010 // 没有抽中奖 MSG_LOTTERY_DRAW_LADDER_NOT_EXIST = 4011 // 中奖阶梯规则不存在 MSG_LOTTERY_DRAW_RECORD_NOT_EXIST = 4012 // 中奖记录不存在 + MSG_CUSTOMER_GOOD_NOT_EXIST = 4013 // 商品不存在 MSG_ORDER_NOT_EXIST = 5000 // 订单活动不存在 MSG_CUSTOMER_ORDER_ERROR = 5001 // 订单已完成 MSG_SIGN_UP_NOT_EXIST = 5000 // 签到规则不存在