Explorar o código

我的日程优化

xingzai %!s(int64=3) %!d(string=hai) anos
pai
achega
84fd88fa4c
Modificáronse 5 ficheiros con 102 adicións e 20 borrados
  1. 7 6
      controllers/activity.go
  2. 10 8
      models/activity.go
  3. 36 2
      models/activity_meeting_reminder.go
  4. 48 4
      models/activity_signup.go
  5. 1 0
      models/db.go

+ 7 - 6
controllers/activity.go

@@ -193,8 +193,9 @@ func (this *ActivityCoAntroller) ScheduleList() {
 	startSize = utils.StartIndex(currentIndex, pageSize)
 	var condition string
 	var pars []interface{}
-	condition += ` AND art.publish_status = 1  AND art.active_state IN(1,2)	 AND s.is_cancel = 0  AND s.fail_type = 0  `
-	total, err := models.GetScheduleCount(condition, uid)
+	//condition += ` AND art.publish_status = 1  AND art.active_state IN(1,2)	 AND s.is_cancel = 0  AND s.fail_type = 0  `
+	condition += ` AND art.publish_status = 1  AND art.active_state IN(1,2)	  `
+	total, err := models.GetScheduleCount(uid)
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
@@ -304,7 +305,7 @@ func (this *ActivityCoAntroller) Detail() {
 				resp.PopupMsg = "您暂无权限参加【" + activityInfo.ChartPermissionName + "】行业活动,若想参加请联系对口销售--" + companyItem.SellerName + ":" + companyItem.Mobile
 				resp.SellerMobile = companyItem.Mobile
 				resp.OperationMode = "Call"
-				resp.HasPermission = 2
+				hasPermission = 2
 			}
 		}
 	} else { //潜在客户
@@ -445,7 +446,7 @@ func (this *ActivityCoAntroller) SignupAdd() {
 				resp.PopupMsg = "您暂无权限参加【" + activityInfo.ChartPermissionName + "】行业活动,若想参加请联系对口销售--" + companyItem.SellerName + ":" + companyItem.Mobile
 				resp.SellerMobile = companyItem.Mobile
 				resp.OperationMode = "Call"
-				resp.HasPermission = 2
+				hasPermission = 2
 			}
 		}
 	} else { //潜在客户
@@ -784,7 +785,7 @@ func (this *ActivityCoAntroller) MeetingReminderAdd() {
 				resp.PopupMsg = "您暂无权限参加【" + activityInfo.ChartPermissionName + "】行业活动,若想参加请联系对口销售--" + companyItem.SellerName + ":" + companyItem.Mobile
 				resp.SellerMobile = companyItem.Mobile
 				resp.OperationMode = "Call"
-				resp.HasPermission = 2
+				hasPermission = 2
 			}
 		}
 	} else { //潜在客户
@@ -886,6 +887,6 @@ func (this *ActivityCoAntroller) MeetingReminderCancel() {
 	resp.ActivityId = activityId
 	br.Ret = 200
 	br.Success = true
-	br.Msg = "操作成功"
+	br.Msg = "会议提醒已取消"
 	br.Data = resp
 }

+ 10 - 8
models/activity.go

@@ -174,13 +174,14 @@ func GetActivityCount(condition string, pars []interface{}) (count int, err erro
 }
 
 //获取我的日程数量
-func GetScheduleCount(condition string, uid int) (count int, err error) {
+func GetScheduleCount(uid int) (count int, err error) {
 	o := orm.NewOrm()
-	sqlCount := ` SELECT COUNT( 1 ) AS count  FROM cygx_activity AS art  INNER JOIN cygx_activity_signup as s ON s.activity_id = art.activity_id
-					WHERE  	s.user_id = ?  AND s.is_cancel = 0 `
-	if condition != "" {
-		sqlCount += condition
-	}
+	//sqlCount := ` SELECT COUNT( 1 ) AS count  FROM cygx_activity AS art  INNER JOIN cygx_activity_signup as s ON s.activity_id = art.activity_id
+	//				WHERE  	s.user_id = ?  AND s.is_cancel = 0 `
+	//if condition != "" {
+	//	sqlCount += condition
+	//}
+	sqlCount := ` SELECT COUNT( 1 ) AS count  FROM cygx_my_schedule WHERE user_id = ?`
 	err = o.Raw(sqlCount, uid).QueryRow(&count)
 	return
 }
@@ -193,12 +194,13 @@ func GetScheduleList(condition string, pars []interface{}, uid, startSize, pageS
 					 ( SELECT COUNT( 1 ) FROM cygx_activity_meeting_reminder AS m WHERE m.activity_id = art.activity_id AND m.user_id = ? ) AS is_cancel_meeting_reminder
             FROM cygx_activity AS art
 	        INNER JOIN cygx_activity_signup AS s ON s.activity_id = art.activity_id 
-            WHERE s.user_id = ? `
+			INNER JOIN cygx_my_schedule as my ON my.activity_id = art.activity_id 
+            WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` LIMIT ?,?`
-	_, err = o.Raw(sql, pars, uid, uid, uid, startSize, pageSize).QueryRows(&items)
+	_, err = o.Raw(sql, pars, uid, uid, startSize, pageSize).QueryRows(&items)
 	return
 }
 

+ 36 - 2
models/activity_meeting_reminder.go

@@ -43,7 +43,27 @@ func AddActivityMeetingReminder(item *CygxActivityMeetingReminder) (lastId int64
 		}
 	}()
 	var count int
-	sql := `SELECT COUNT(1) AS count FROM cygx_activity_meeting_reminder WHERE user_id=? AND activity_id=? `
+	var countMySchedule int
+	sql := `SELECT COUNT(1) AS count FROM cygx_my_schedule WHERE user_id=? AND activity_id=? `
+	err = o.Raw(sql, item.UserId, item.ActivityId).QueryRow(&countMySchedule)
+	if err != nil {
+		return
+	}
+	if countMySchedule == 0 {
+		itemMy := new(CygxMySchedule)
+		itemMy.UserId = item.UserId
+		itemMy.ActivityId = item.ActivityId
+		itemMy.CreateTime = time.Now()
+		itemMy.Mobile = item.Mobile
+		itemMy.Email = item.Email
+		itemMy.CompanyId = item.CompanyId
+		itemMy.CompanyName = item.CompanyName
+		lastId, err = o.Insert(itemMy)
+		if err != nil {
+			return
+		}
+	}
+	sql = `SELECT COUNT(1) AS count FROM cygx_activity_meeting_reminder WHERE user_id=? AND activity_id=? `
 	err = o.Raw(sql, item.UserId, item.ActivityId).QueryRow(&count)
 	if err != nil {
 		return
@@ -87,7 +107,21 @@ func CancelActivityMeetingReminder(item *CygxActivityMeetingReminder) (lastId in
 			o.Rollback()
 		}
 	}()
-	sql := `UPDATE cygx_activity_meeting_reminder SET is_cancel = 1  WHERE user_id=?  AND activity_id=? `
+	//判断是否删除我的日程
+	var count int
+	sql := `SELECT COUNT(1) AS count FROM cygx_activity_meeting_reminder WHERE user_id=? AND activity_id=? `
+	err = o.Raw(sql, item.UserId, item.ActivityId).QueryRow(&count)
+	if err != nil {
+		return
+	}
+	if count == 0 {
+		sql = `DELETE  FROM cygx_my_schedule   WHERE user_id=?  AND activity_id=? `
+		_, err = o.Raw(sql, item.UserId, item.ActivityId).Exec()
+		if err != nil {
+			return
+		}
+	}
+	sql = `UPDATE cygx_activity_meeting_reminder SET is_cancel = 1  WHERE user_id=?  AND activity_id=? `
 	_, err = o.Raw(sql, item.UserId, item.ActivityId).Exec()
 	if err != nil {
 		return

+ 48 - 4
models/activity_signup.go

@@ -31,6 +31,18 @@ type SignupStatus struct {
 	SellerMobile      string `description:"销售电话"`
 }
 
+//我的日程
+type CygxMySchedule struct {
+	Id          int       `orm:"column(id);pk"`
+	ActivityId  int       `description:"活动ID"`
+	UserId      int       `description:"用户ID"`
+	CreateTime  time.Time `description:"创建时间"`
+	Mobile      string    `description:"手机号"`
+	Email       string    `description:"邮箱"`
+	CompanyId   int       `description:"公司id"`
+	CompanyName string    `description:"公司名称"`
+}
+
 //报名记录日志
 type CygxActivitySignupLog struct {
 	Id          int       `orm:"column(id);pk"`
@@ -57,7 +69,27 @@ func AddActivitySignup(item *CygxActivitySignup) (lastId int64, err error) {
 		}
 	}()
 	var count int
-	sql := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE user_id=? AND activity_id=? `
+	var countMySchedule int
+	sql := `SELECT COUNT(1) AS count FROM cygx_my_schedule WHERE user_id=? AND activity_id=? `
+	err = o.Raw(sql, item.UserId, item.ActivityId).QueryRow(&countMySchedule)
+	if err != nil {
+		return
+	}
+	if countMySchedule == 0 {
+		itemMy := new(CygxMySchedule)
+		itemMy.UserId = item.UserId
+		itemMy.ActivityId = item.ActivityId
+		itemMy.CreateTime = time.Now()
+		itemMy.Mobile = item.Mobile
+		itemMy.Email = item.Email
+		itemMy.CompanyId = item.CompanyId
+		itemMy.CompanyName = item.CompanyName
+		lastId, err = o.Insert(itemMy)
+		if err != nil {
+			return
+		}
+	}
+	sql = `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE user_id=? AND activity_id=? `
 	err = o.Raw(sql, item.UserId, item.ActivityId).QueryRow(&count)
 	if err != nil {
 		return
@@ -68,8 +100,6 @@ func AddActivitySignup(item *CygxActivitySignup) (lastId int64, err error) {
 	} else {
 		lastId, err = o.Insert(item)
 	}
-	//lastId, err = o.Insert(item)
-	//fmt.Println(lastId)
 	if err != nil {
 		return
 	}
@@ -106,7 +136,21 @@ func CancelActivitySignup(item *CygxActivitySignup) (lastId int64, err error) {
 			o.Rollback()
 		}
 	}()
-	sql := `UPDATE cygx_activity_signup SET is_cancel = 1  WHERE user_id=?  AND activity_id=? `
+	//判断是否删除我的日程
+	var count int
+	sql := `SELECT COUNT(1) AS count FROM cygx_activity_meeting_reminder WHERE user_id=? AND activity_id=? `
+	err = o.Raw(sql, item.UserId, item.ActivityId).QueryRow(&count)
+	if err != nil {
+		return
+	}
+	if count == 0 {
+		sql = `DELETE  FROM cygx_my_schedule   WHERE user_id=?  AND activity_id=? `
+		_, err = o.Raw(sql, item.UserId, item.ActivityId).Exec()
+		if err != nil {
+			return
+		}
+	}
+	sql = `UPDATE cygx_activity_signup SET is_cancel = 1  WHERE user_id=?  AND activity_id=? `
 	_, err = o.Raw(sql, item.UserId, item.ActivityId).Exec()
 	if err != nil {
 		return

+ 1 - 0
models/db.go

@@ -54,5 +54,6 @@ func init() {
 		new(CygxActivityUserSearchContent),
 		new(CygxActivityMeetingReminder),
 		new(CygxActivityMeetingReminderLog),
+		new(CygxMySchedule),
 	)
 }