Jelajahi Sumber

fix: 新增一级活动类型字段

hsun 3 tahun lalu
induk
melakukan
fa2e4f921e

+ 2 - 4
controller/activity/activity.go

@@ -82,10 +82,8 @@ func _handleListQuery(c *gin.Context) (string, []interface{}, string) {
 	reqType := c.DefaultQuery("activity_type", "0")
 	if reqType != "0" {
 		activityTypeId, _ := strconv.Atoi(reqType)
-		activityTypeIds, _ := activity.GetTypeIdsByPid(activityTypeId)
-		activityTypeIds = append(activityTypeIds, activityTypeId)
-		condition += ` AND activity_type_id IN (?)`
-		pars = append(pars, activityTypeIds)
+		condition += ` AND first_activity_type_id = ?`
+		pars = append(pars, activityTypeId)
 	}
 	return condition, pars, order
 }

+ 7 - 2
models/tables/yb_activity/query.go

@@ -7,6 +7,8 @@ import (
 
 type ActivityItem struct {
 	ActivityID          	int       	`json:"activityId"`
+	FirstActivityTypeID   	int       	`json:"firstActivityTypeId"`	// 第一级的活动类型ID
+	FirstActivityTypeName 	string    	`json:"firstActivityTypeName"`	// 第一级的活动类型名称
 	ActivityName        	string    	`json:"activityName"`			// 活动名称
 	ActivityTypeID			int			`json:"activityTypeId"`			// 活动类型ID
 	ActivityTypeName    	string    	`json:"activityTypeName"`		// 活动类型名称
@@ -41,7 +43,10 @@ type ActivityDetail struct {
 
 // GetPageListByWhere 分页获取活动列表
 func GetPageListByWhere(condition string, pars []interface{}, page, limit int, order string, userId int) (activities []ActivityItem, err error) {
-	fields := []string{"activity_id", "activity_name", "activity_type_id", "activity_type_name", "start_time", "end_time", "speaker", "city", "speaker_head_pic", "speaker_background_pic"}
+	fields := []string{
+		"activity_id", "activity_name", "activity_type_id", "activity_type_name", "start_time", "end_time", "speaker",
+		"city", "speaker_head_pic", "speaker_background_pic", "first_activity_type_id", "first_activity_type_name",
+	}
 	queryOrder := "start_time asc"
 	if order != "" {
 		queryOrder = order
@@ -55,7 +60,7 @@ func GetDetailById(activityId int) (activity *ActivityDetail, err error) {
 	fields := []string{
 		"activity_id", "activity_name", "activity_type_id", "activity_type_name", "start_time", "end_time", "speaker", "city", "speaker_head_pic", "speaker_background_pic",
 		"mainland_tel", "hong_kong_tel", "taiwan_tel", "america_tel", "singapore_tel", "participation_code",
-		"link_participants", "is_limit_people", "limit_people_num", "report_link", "address",
+		"link_participants", "is_limit_people", "limit_people_num", "report_link", "address", "first_activity_type_id", "first_activity_type_name",
 	}
 	err = global.DEFAULT_MYSQL.Model(YbActivity{}).Select(fields).Where("activity_id", activityId).Scan(&activity).Error
 	return

+ 1 - 11
services/activity/activity_register.go

@@ -85,17 +85,7 @@ func checkRegisterOk(userId, activityId int) (ok bool, msg string, registerCheck
 		msg = "请勿重复报名"
 		return
 	}
-	// 验证可报名类型
-	activityTypeIds, _ := GetTypeIdsByPid(3)
-	activityTypeIds = append(activityTypeIds, 3)
-	registerOk := false
-	for _, typeId := range activityTypeIds {
-		if activityInfo.ActivityTypeID == typeId {
-			registerOk = true
-			break
-		}
-	}
-	if !registerOk {
+	if activityInfo.FirstActivityTypeID != 3 {
 		msg = "仅线下沙龙可报名"
 		return
 	}