Browse Source

no message

xingzai 3 years ago
parent
commit
0bccf06d27
3 changed files with 21 additions and 5 deletions
  1. 11 3
      controllers/activity.go
  2. 1 1
      models/activity.go
  3. 9 1
      models/activity_signup.go

+ 11 - 3
controllers/activity.go

@@ -494,6 +494,7 @@ func (this *ActivityCoAntroller) SignupAdd() {
 					br.Data = resp
 					return
 				}
+
 				//人数已满:FullStarffed、单机构超过两人:TwoPeople、爽约次数过多:BreakPromise、超时:Overtime 、成功:Success"`
 				//如果是下面几种情况则对报名信息做判断限制 (公司调研电话会(限制人数)、公司线下调研、专家/分析师线下沙龙)
 
@@ -505,6 +506,7 @@ func (this *ActivityCoAntroller) SignupAdd() {
 						br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
 						return
 					}
+					fmt.Println(totalRestrict)
 					if totalRestrict >= 1 {
 						signupStatus = "BreakPromise"
 						item.FailType = 3
@@ -529,7 +531,13 @@ func (this *ActivityCoAntroller) SignupAdd() {
 						signupStatus = "FullStarffed"
 						item.FailType = 1
 					}
-					if signupStatus != "Success" {
+					totalMy, err := models.GetActivitySignupByUserCount(uid, activityId)
+					if err != nil {
+						br.Msg = "获取失败"
+						br.ErrMsg = "获取失败,Err:" + err.Error()
+						return
+					}
+					if signupStatus != "Success" && totalMy == 0 {
 						item.UserId = uid
 						item.ActivityId = activityId
 						item.CreateTime = time.Now()
@@ -548,13 +556,13 @@ func (this *ActivityCoAntroller) SignupAdd() {
 						}
 					}
 				}
-				totalMy, err := models.GetActivitySignupCount(uid, activityId)
+				totalMySuccess, err := models.GetActivitySignupCount(uid, activityId)
 				if err != nil {
 					br.Msg = "获取失败"
 					br.ErrMsg = "获取失败,Err:" + err.Error()
 					return
 				}
-				if totalMy > 0 {
+				if totalMySuccess > 0 {
 					br.Msg = "您已报名这个活动"
 					return
 				}

+ 1 - 1
models/activity.go

@@ -200,7 +200,7 @@ func GetScheduleList(condition string, pars []interface{}, uid, startSize, pageS
 	if condition != "" {
 		sql += condition
 	}
-	sql += ` ORDER BY art.active_state,art.activity_time DESC  LIMIT ?,?`
+	sql += ` ORDER BY art.active_state DESC,art.activity_time ASC  LIMIT ?,?`
 	_, err = o.Raw(sql, pars, uid, uid, uid, startSize, pageSize).QueryRows(&items)
 	return
 }

+ 9 - 1
models/activity_signup.go

@@ -146,8 +146,16 @@ func AddActivitySignupNoSchedule(item *CygxActivitySignup) (lastId int64, err er
 	return
 }
 
-//获取用户报名数量
+//获取用户报名成功数量
 func GetActivitySignupCount(uid, activityId int) (count int, err error) {
+	sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE is_cancel=0  AND do_fail_type = 0 AND user_id=? AND activity_id=? `
+	o := orm.NewOrm()
+	err = o.Raw(sqlCount, uid, activityId).QueryRow(&count)
+	return
+}
+
+//获取用户报名数量
+func GetActivitySignupByUserCount(uid, activityId int) (count int, err error) {
 	sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE is_cancel=0 AND user_id=? AND activity_id=? `
 	o := orm.NewOrm()
 	err = o.Raw(sqlCount, uid, activityId).QueryRow(&count)