xingzai 10 місяців тому
батько
коміт
53db59232c
3 змінених файлів з 146 додано та 4 видалено
  1. 1 1
      controllers/activity.go
  2. 12 3
      controllers/order.go
  3. 133 0
      services/order.go

+ 1 - 1
controllers/activity.go

@@ -599,6 +599,7 @@ func (this *ActivityCoAntroller) Detail() {
 	if collectCount1+collectCount2 > 0 {
 		resp.Detail.IsCollect = true
 	}
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"
@@ -1902,7 +1903,6 @@ func (this *ActivityCoAntroller) Check() {
 		//如果通过点数的校验,就来校验邮箱
 		resp.CheckEmail, resp.PopupMsg = services.CheckActivityUserEmail(activityInfo, user)
 	} else {
-		resp.IsShowWxPay = utils.IS_SHOW_WX_PAY
 		resp.GoodsList = services.GetGoodsInfoByActivity(activityInfo) //单场活动信息
 		for _, v := range resp.GoodsList {
 			resp.PopupPriceMsg += v.PopupPriceMsg //价格弹窗信息

+ 12 - 3
controllers/order.go

@@ -297,12 +297,21 @@ func (this *OrderController) UserOrderList() {
 		item.Source = v.Source
 		item.SourceTitle = v.SourceTitle
 		item.OrderStatus = v.OrderStatus
-		if v.OrderStatus == 0 {
+		switch item.OrderStatus {
+		case 0:
 			item.OrderStatusText = "已取消"
-		} else if v.OrderStatus == 1 {
+		case 1:
 			item.OrderStatusText = "待支付"
-		} else if v.OrderStatus == 2 {
+		case 2:
 			item.OrderStatusText = "已支付"
+		case 3:
+			item.OrderStatusText = "退款成功"
+		case 4:
+			item.OrderStatusText = "退款处理中"
+		case 5:
+			item.OrderStatusText = "退款异常"
+		case 6:
+			item.OrderStatusText = "退款关闭"
 		}
 		if orderType == 1 {
 			if v.GoodsId == 1 {

+ 133 - 0
services/order.go

@@ -223,6 +223,10 @@ func HandleOrderHandle(itemCallback *WechatPayCallback) {
 			return
 		}
 	}
+
+	if orderDetail.Source == utils.CYGX_OBJ_ACTIVITY {
+		go AddActivitySignupByWechatPay(orderDetail.SourceId, orderDetail.UserId) //微信退款成功自动取消报名
+	}
 	return
 }
 
@@ -328,5 +332,134 @@ func HandleOrderRefundHandle(itemCallback *WechatPayCallback) {
 			return
 		}
 	}
+
+	if orderDetail.Source == utils.CYGX_OBJ_ACTIVITY {
+		go CancelActivitySignupByWechatPay(orderDetail.SourceId, orderDetail.UserId) //微信退款成功自动取消报名
+	}
+	return
+}
+
+// 微信付款成功自动添加报名
+func AddActivitySignupByWechatPay(activityId, userId int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go utils.SendAlarmMsg(fmt.Sprint("微信付款成功自动添加报名失败 AddActivitySignupByWechatPay, err:", err.Error(), "activityId:", activityId, "userId:", userId), 2)
+		}
+	}()
+	activityInfo, e := models.GetAddActivityInfoById(activityId)
+	if e != nil {
+		err = errors.New("GetAddActivityInfoById, Err: " + e.Error())
+		return
+	}
+
+	//专家线下沙龙与买方线下交流自动报名
+	if activityInfo.ActivityTypeId != 5 && activityInfo.ActivityTypeId != 8 {
+		return
+	}
+	user, e := models.GetWxUserItemByUserId(userId)
+	if e != nil {
+		err = errors.New("GetWxUserItemByUserId, Err: " + e.Error())
+		return
+	}
+	var sellerName string
+	sellerName, e = models.GetCompanySellerName(user.CompanyId)
+	if e != nil {
+		err = errors.New("GetCompanySellerName, Err: " + e.Error())
+		return
+	}
+
+	item := new(models.CygxActivitySignup)
+	totalMySuccess, e := models.GetActivitySignupCount(userId, activityId)
+	if e != nil {
+		err = errors.New("AddActivitySignup, Err: " + e.Error())
+		return
+	}
+	if totalMySuccess > 0 { //已报名这个活动
+		return
+	}
+	item.UserId = userId
+	item.RealName = user.RealName
+	item.SellerName = sellerName
+	item.ActivityId = activityId
+	item.CreateTime = time.Now()
+	item.Mobile = user.Mobile
+	item.Email = user.Email
+	item.CompanyId = user.CompanyId
+	item.CompanyName = user.CompanyName
+	item.SignupType = 3
+	item.FailType = 0
+	item.DoFailType = 0
+	item.OutboundMobile = user.Mobile
+	if user.OutboundMobile != "" {
+		item.OutboundMobile = user.OutboundMobile
+		if user.OutboundCountryCode == "" {
+			item.CountryCode = "86"
+		} else {
+			item.CountryCode = user.OutboundCountryCode
+		}
+	} else {
+		item.OutboundMobile = user.Mobile
+		if user.CountryCode == "" {
+			item.CountryCode = "86"
+		} else {
+			item.CountryCode = user.CountryCode
+		}
+	}
+	_, e = models.AddActivitySignup(item)
+	if e != nil {
+		err = errors.New("AddActivitySignup, Err: " + e.Error())
+		return
+	}
+	fmt.Println("报名成功")
+	go ActivityUserRemind(user, activityInfo, 4)
+
+	return
+}
+
+// 微信退款成功自动取消报名
+func CancelActivitySignupByWechatPay(activityId, userId int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go utils.SendAlarmMsg(fmt.Sprint("微信退款成功自动取消报名失败 CancelActivitySignupByWechatPay, err:", err.Error(), "activityId:", activityId, "userId:", userId), 2)
+		}
+	}()
+	activityInfo, e := models.GetAddActivityInfoById(activityId)
+	if e != nil {
+		err = errors.New("GetAddActivityInfoById, Err: " + e.Error())
+		return
+	}
+
+	user, e := models.GetWxUserItemByUserId(userId)
+	if e != nil {
+		err = errors.New("GetWxUserItemByUserId, Err: " + e.Error())
+		return
+	}
+
+	item := new(models.CygxActivitySignup)
+	item.UserId = userId
+	item.ActivityId = activityId
+	item.CreateTime = time.Now()
+	item.Mobile = user.Mobile
+	item.Email = user.Email
+	item.CompanyId = user.CompanyId
+	item.CompanyName = user.CompanyName
+	resp := new(models.SignupStatus)
+	resp.ActivityId = activityId
+	_, e = models.CancelActivitySignup(item)
+	if e != nil {
+		err = errors.New("CancelActivitySignup, Err: " + e.Error())
+		return
+	}
+
+	// 如果是买方研选下的专家沙龙,同时推给内容组四人
+	if activityInfo.ActivityTypeId == 5 {
+		go SendActivitieCancelSignTemplateMsg(user, activityInfo)
+	}
+	go SendResearchActivitiesTemplateMsg(user, activityInfo, "取消报名") //公司线下调研活动客户报名后给建会人,所属销售推送模板信息
+
 	return
 }