|
@@ -68,7 +68,7 @@ func GetQueryOrderByOutTradeNoTask(cont context.Context) (err error) {
|
|
|
err = errors.New("GetCygxOrderList, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
- fmt.Println(len(orderList))
|
|
|
+
|
|
|
if len(orderList) == 0 {
|
|
|
return
|
|
|
}
|
|
@@ -173,6 +173,8 @@ func HandleOrderHandle(itemCallback *Transaction) {
|
|
|
if orderDetail.Source == utils.CYGX_OBJ_ACTIVITY {
|
|
|
go AddActivitySignupByWechatPay(orderDetail.SourceId, orderDetail.UserId) //微信付款成功自动添加报名
|
|
|
}
|
|
|
+ go CancelOtherOrder(orderDetail) //付款成功之后自动取消其他相同的订单
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -331,11 +333,21 @@ func AddActivitySignupByWechatPay(activityId, userId int) {
|
|
|
err = errors.New("GetAddActivityInfoById, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
+ var userPointsNum float64
|
|
|
+ if activityInfo.IsResearchPoints {
|
|
|
+ //获取活动对用户要扣的点
|
|
|
+ userPointsNum, e = models.GetCygxActivityPointsSetUserNum(activityInfo.ActivityId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxActivityPointsSetUserNum, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- //专家线下沙龙与买方线下交流自动报名
|
|
|
- if activityInfo.ActivityTypeId != 5 && activityInfo.ActivityTypeId != 8 {
|
|
|
+ //专家线下沙龙与买方线下交流、扣点的公司调研电话会自动报名
|
|
|
+ if activityInfo.ActivityTypeId != 5 && activityInfo.ActivityTypeId != 8 && userPointsNum == 0 {
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
user, e := models.GetWxUserItemByUserId(userId)
|
|
|
if e != nil {
|
|
|
err = errors.New("GetWxUserItemByUserId, Err: " + e.Error())
|
|
@@ -441,3 +453,44 @@ func CancelActivitySignupByWechatPay(activityId, userId int) {
|
|
|
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// 付款成功之后自动取消其他相同的订单
|
|
|
+func CancelOtherOrder(item *order.CygxOrder) {
|
|
|
+ var err error
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("付款成功之后自动取消其他相同的订单失败 CancelOtherOrder, err:", err.Error(), "order_id:", item.OrderId), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ userId := item.UserId
|
|
|
+
|
|
|
+ //判断是日卡月卡还是单场付费活动
|
|
|
+ if item.GoodsId == 1 || item.GoodsId == 2 {
|
|
|
+ condition += ` AND user_id = ? AND goods_id IN (1,2) AND order_id != ? AND order_status = 1 `
|
|
|
+ pars = append(pars, userId, item.OrderId)
|
|
|
+ } else {
|
|
|
+ condition += ` AND user_id = ? AND source_id = ? AND source = ? AND order_id != ? AND order_status = 1 `
|
|
|
+ pars = append(pars, userId, item.SourceId, item.Source, item.OrderId)
|
|
|
+ }
|
|
|
+
|
|
|
+ listOrder, e := order.GetCygxOrderDetailList(condition, pars) // 这里就一条数据
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCygxOrderDetailList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(listOrder) == 0 {
|
|
|
+ err = nil
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listOrder {
|
|
|
+ e = order.CancelCygxOrder(v)
|
|
|
+ if e != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|