Forráskód Böngészése

48小时之内取消会议又空降的人扣除两次

xingzai 2 éve
szülő
commit
5276ff9869

+ 2 - 0
controllers/activity.go

@@ -3724,6 +3724,8 @@ func (this *ActivityCoAntroller) SpecialSignupAdd() {
 				return
 			}
 			resp.Status = 1
+			resp.PopupMsg = "感谢反馈"
+			resp.PopupMsg2 = "此调研具体行程尚未确认,待预报名人数满10人后弘则会确定行程并推送给您活动日期,只有在确认行程中再次报名才完成占位。"
 			//给所属销售发送消息
 			if sellerItem.Mobile != "" {
 				openIpItem, _ := models.GetUserRecordByMobile(4, sellerItem.Mobile)

+ 7 - 6
controllers/activity_special.go

@@ -219,16 +219,17 @@ func (this *ActivitySpecialCoAntroller) SpecialTripAdd() {
 			br.ErrMsg = "SpecialTripPopupMsg,Err:" + err.Error()
 			return
 		}
-		total, err := models.GetUserActivitySpecialTripCount(user.UserId, activityId)
-		if err != nil {
-			br.Msg = "获取信息失败"
-			br.ErrMsg = "获取日程数量信息失败,Err:" + err.Error()
-			return
-		}
 		resp.PopupMsg = popupMsg
 		resp.PopupMsg2 = popupMsg2
 		resp.SignupStatus = signupStatus
+
 		if signupStatus == 1 {
+			total, err := models.GetUserActivitySpecialTripCount(user.UserId, activityId)
+			if err != nil {
+				br.Msg = "获取信息失败"
+				br.ErrMsg = "获取日程数量信息失败,Err:" + err.Error()
+				return
+			}
 			//判断是删除还是添加
 			if total == 0 {
 				//获取销售信息

+ 13 - 0
models/activity_special_trip.go

@@ -79,6 +79,19 @@ func GetActivitySpecialTripCountByActivitySpecial(condition string, pars []inter
 	return
 }
 
+//获取空降的公司报名的记录
+func GetActivitySpecialTripAirborneCountByActivitySpecial(condition string, pars []interface{}) (count int, err error) {
+	sqlCount := ` SELECT COUNT(1) AS count
+		FROM
+			cygx_activity_special_meeting_detail AS t
+			INNER JOIN cygx_activity_special AS a ON a.activity_id = t.activity_id 
+		WHERE
+			 1= 1 ` + condition
+	o := orm.NewOrm()
+	err = o.Raw(sqlCount, pars).QueryRow(&count)
+	return
+}
+
 //添加
 func AddCygxActivitySpecialTrip(item *CygxActivitySpecialTrip) (err error) {
 	o := orm.NewOrm()

+ 14 - 0
services/activity_special_trip.go

@@ -55,6 +55,7 @@ func GetTripRemainingtimesBycompany(user *models.WxUserItem, activityInfo *model
 	//获取 专项调研客户类型   //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //3、分行业套餐客户(开通对应行业的正式客户) //4、仅开通专家套餐的正式客户 //5、开通对应行业套餐或专家套餐的试用客户;6、冻结客户;7、流失客户 8:行业升级套餐客户
 	msgTemplate := "您的专项调研次数已用完,如仍想参加,请与您的对口销售商议"
 	var tripTota int
+	var airborneTota int
 	userType, _, e := GetActivitySpecialUserType(user.CompanyId)
 	if e != nil {
 		err = errors.New("获取客户身份信息失败 GetActivitySpecialUserType, Err: " + e.Error())
@@ -73,6 +74,12 @@ func GetTripRemainingtimesBycompany(user *models.WxUserItem, activityInfo *model
 		condition += ` AND company_id = ? `
 		pars = append(pars, user.CompanyId)
 
+		airborneTota, e = models.GetActivitySpecialTripAirborneCountByActivitySpecial(condition, pars)
+		if e != nil {
+			err = errors.New("GetActivitySpecialTripAirborneCountByActivitySpecial, Err: " + e.Error())
+			return
+		}
+
 		condition += ` AND is_valid = 1 `
 
 		tripTota, e = models.GetActivitySpecialTripCountByActivitySpecial(condition, pars)
@@ -80,6 +87,7 @@ func GetTripRemainingtimesBycompany(user *models.WxUserItem, activityInfo *model
 			err = errors.New("GetActivitySpecialTripCountByActivitySpecial, Err: " + e.Error())
 			return
 		}
+		tripTota += airborneTota
 		if tripTota >= 12 {
 			errMsg = msgTemplate
 			return
@@ -95,6 +103,12 @@ func GetTripRemainingtimesBycompany(user *models.WxUserItem, activityInfo *model
 		condition += ` AND chart_permission_id = ? `
 		pars = append(pars, activityInfo.ChartPermissionId)
 
+		airborneTota, e = models.GetActivitySpecialTripAirborneCountByActivitySpecial(condition, pars)
+		if e != nil {
+			err = errors.New("GetActivitySpecialTripAirborneCountByActivitySpecial, Err: " + e.Error())
+			return
+		}
+
 		condition += ` AND is_valid = 1 `
 
 		tripTota, e = models.GetActivitySpecialTripCountByActivitySpecial(condition, pars)