瀏覽代碼

进行我的日程添加

xingzai 2 年之前
父節點
當前提交
b624421028
共有 3 個文件被更改,包括 141 次插入69 次删除
  1. 92 37
      controllers/yidong.go
  2. 1 0
      models/db_init.go
  3. 48 32
      models/tables/cygx_activity/cygx_activity.go

+ 92 - 37
controllers/yidong.go

@@ -65,16 +65,10 @@ func (c *YiDongController) ActivityExamine() {
 		return
 	}
 	activityId := activityInfo.ActivityId
-	signupList, err := cygxActivity.GetActivitySignupListByActivity(activityId)
-	if err != nil {
-		c.FailWithMessage("会议id异常:" + activityIdYiDong)
-		return
-	}
-	mapSignUp := make(map[string]string)
-	for _, v := range signupList {
-		mapSignUp[v.Mobile] = v.Mobile
-	}
+
 	var examineMobile string
+	var delMyMobile string //审核不通过需要删除日程的手机号
+	var itemsLog []*cygxActivity.CygxYidongActivityExamineStatus
 	for _, v := range list {
 		var dateTxt = []byte(v.Mobile)
 		resultDe := utils.DesBase64Decrypt(dateTxt)
@@ -85,7 +79,49 @@ func (c *YiDongController) ActivityExamine() {
 			return
 		}
 		examineMobile += "'" + deMobile + "'" + ","
+		itemlog := new(cygxActivity.CygxYidongActivityExamineStatus)
+		//记录日志
+		itemlog.ActivityId = activityId
+		itemlog.YidongActivityId = activityIdYiDong
+		itemlog.CreateTime = time.Now()
+		itemlog.ExamineTime = v.CreateTime
+		itemlog.Mobile = deMobile
+		itemlog.YidongExamineStatus = v.ExamineStatus
+		itemsLog = append(itemsLog, itemlog)
 	}
+	//记录日志
+	err = cygxActivity.AddActivityItemsLogNumMulti(itemsLog)
+	if err != nil {
+		c.FailWithMessage("修改活动审核状态失败:" + activityIdYiDong)
+		go alarm_msg.SendAlarmMsg("修改活动审核状态失败AddActivityItemsLogNumMulti:"+err.Error()+"活动ID"+activityIdYiDong, 3)
+		return
+	}
+
+	//以下处理传过来的逻辑
+	// 获取已经报名了的用户列表
+	signupList, err := cygxActivity.GetActivitySignupListByActivity(activityId)
+	if err != nil {
+		c.FailWithMessage("会议id异常:" + activityIdYiDong)
+		return
+	}
+
+	mapSignUp := make(map[string]string)
+	for _, v := range signupList {
+		mapSignUp[v.Mobile] = v.Mobile
+	}
+
+	// 获取我的日程列表
+	myScheduleList, err := cygxActivity.GetCygxMyScheduleList(activityId)
+	if err != nil {
+		c.FailWithMessage("会议id异常:" + activityIdYiDong)
+		return
+	}
+
+	mapMyScheduleList := make(map[string]string)
+	for _, v := range myScheduleList {
+		mapMyScheduleList[v.Mobile] = v.Mobile
+	}
+
 	examineMobile = strings.TrimRight(examineMobile, ",")
 	userList, err := cygxActivity.GetUserListByMobile(examineMobile)
 	if err != nil {
@@ -93,6 +129,7 @@ func (c *YiDongController) ActivityExamine() {
 		return
 	}
 	mapUserinfo := make(map[string]*cygxActivity.CygxActivitySignup)
+	mapMySchedule := make(map[string]*cygxActivity.CygxMySchedule)
 	for _, v := range userList {
 		item := new(cygxActivity.CygxActivitySignup)
 		item.UserId = v.UserId
@@ -123,26 +160,28 @@ func (c *YiDongController) ActivityExamine() {
 		}
 		item.SignupType = 1
 		mapUserinfo[v.Mobile] = item
+
+		//添加我的日程
+		itemMySchedule := new(cygxActivity.CygxMySchedule)
+		itemMySchedule.UserId = v.UserId
+		itemMySchedule.ActivityId = activityId
+		itemMySchedule.CreateTime = time.Now()
+		itemMySchedule.Mobile = v.Mobile
+		itemMySchedule.Email = v.Email
+		itemMySchedule.CompanyId = v.CompanyId
+		itemMySchedule.CompanyName = v.CompanyName
+		mapMySchedule[v.Mobile] = itemMySchedule
+
 	}
 	var items []*cygxActivity.ExamineStatusReq
 	var itemsAdd []*cygxActivity.CygxActivitySignup
-	var itemsLog []*cygxActivity.CygxYidongActivityExamineStatus
 
+	var itemsMyAdd []*cygxActivity.CygxMySchedule
 	for _, v := range list {
 		item := new(cygxActivity.ExamineStatusReq)
-		itemlog := new(cygxActivity.CygxYidongActivityExamineStatus)
-		//encryptMobile := string(utils.DesBase64Encrypt([]byte(v.Mobile)))
-		//fmt.Println(encryptMobile)
-		//continue
-		//encryptMobile := string(utils.DesBase64Encrypt([]byte(v.Mobile)))
 		var dateTxt = []byte(v.Mobile)
 		resultDe := utils.DesBase64Decrypt(dateTxt)
 		deMobile := string(resultDe)
-		if deMobile == "" {
-			c.FailWithMessage("加密手机号解密失败:" + v.Mobile)
-			go alarm_msg.SendAlarmMsg("加密手机号解密失败:"+v.Mobile, 3)
-			return
-		}
 		if mapSignUp[deMobile] != "" {
 			item.ActivityId = activityId
 			item.Mobile = deMobile
@@ -155,33 +194,49 @@ func (c *YiDongController) ActivityExamine() {
 			}
 		}
 
-		itemlog.ActivityId = activityId
-		itemlog.YidongActivityId = activityIdYiDong
-		itemlog.CreateTime = time.Now()
-		itemlog.ExamineTime = v.CreateTime
-		itemlog.Mobile = deMobile
-		itemlog.YidongExamineStatus = v.ExamineStatus
-		itemsLog = append(itemsLog, itemlog)
+		//处理我的日程
+		if mapMyScheduleList[deMobile] != "" {
+			if v.ExamineStatus != 1 {
+				delMyMobile += "'" + deMobile + "'" + ","
+			}
+		} else {
+			if mapMySchedule[deMobile] != nil {
+				itemsMyAdd = append(itemsMyAdd, mapMySchedule[deMobile])
+			}
+		}
 	}
+
+	//处理要删除的日程
+	delMyMobile = strings.TrimRight(delMyMobile, ",")
+	if delMyMobile != "" {
+		fmt.Println("删除日程")
+		err = cygxActivity.DelCygxMyScheduleList(delMyMobile, activityId)
+		if err != nil {
+			go alarm_msg.SendAlarmMsg("处理要删除的日程失败 DelCygxMyScheduleList:"+err.Error()+"活动ID"+activityIdYiDong, 3)
+		}
+	}
+
+	//修改审核状态
 	err = cygxActivity.UpdateActivitySignupNumMulti(items)
 	if err != nil {
-		c.FailWithMessage("修改活动审核状态失败:" + activityIdYiDong)
+		fmt.Println(err, "UpdateActivitySignupNumMulti")
 		go alarm_msg.SendAlarmMsg("修改活动审核状态失败:"+err.Error()+"活动ID"+activityIdYiDong, 3)
-		return
+
 	}
+
+	// 批量添加报名信息
 	err = cygxActivity.AddActivitySignupNumMulti(itemsAdd)
 	if err != nil {
-		c.FailWithMessage("修改活动审核状态失败:" + activityIdYiDong)
+		fmt.Println(err, "AddActivitySignupNumMulti")
 		go alarm_msg.SendAlarmMsg("修改活动审核状态失败:"+err.Error()+"活动ID"+activityIdYiDong, 3)
-		return
 	}
 
-	go cygxActivity.AddActivityItemsLogNumMulti(itemsLog)
-	//if err != nil {
-	//	c.FailWithMessage("修改活动审核状态失败:" + activityIdYiDong)
-	//	go alarm_msg.SendAlarmMsg("修改活动审核状态失败:"+err.Error()+"活动ID"+activityIdYiDong, 3)
-	//	return
-	//}
+	// 批量添加我的日程
+	err = cygxActivity.AddCygxMyScheduleLNumMulti(itemsMyAdd)
+	if err != nil {
+		fmt.Println(err, "AddCygxMyScheduleLNumMulti")
+		go alarm_msg.SendAlarmMsg("修改活动审核状态失败:"+err.Error()+"活动ID"+activityIdYiDong, 3)
+	}
 	c.OkWithMessage("操作成功")
 }
 

+ 1 - 0
models/db_init.go

@@ -41,6 +41,7 @@ func init() {
 		new(cygx_activity.CygxActivitySignup),              //易董报名审核
 		new(cygx_activity.CygxYidongActivitySignupLog),     //易董报名记录日志
 		new(cygx_activity.CygxYidongActivityExamineStatus), //易董审核记录日志
+		new(cygx_activity.CygxMySchedule),                  //易董审核通过之后添加我的日程
 	)
 	orm.Debug = true
 	orm.DebugLog = orm.NewLog(utils.Binlog)

+ 48 - 32
models/tables/cygx_activity/cygx_activity.go

@@ -1,7 +1,6 @@
 package cygx_activity
 
 import (
-	"fmt"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
@@ -126,26 +125,16 @@ func UpdateActivitySignupNumMulti(items []*ExamineStatusReq) (err error) {
 }
 
 // AddActivitySignupNumMulti 批量新增易董报名用户审核状态
-func AddActivitySignupNumMulti(itemsAdd []*CygxActivitySignup) (err error) {
+func AddActivitySignupNumMulti(items []*CygxActivitySignup) (err error) {
 	o := orm.NewOrm()
-	//to, err := o.Begin()
-	//if err != nil {
-	//	fmt.Print(err)
-	//	return
-	//}
-	fmt.Print()
-	if len(itemsAdd) > 0 {
-		for _, v := range itemsAdd {
-			_, err = o.Insert(v)
-			//_, err = to.Insert(v)
-			if err != nil {
-				return
-			}
-		}
+	if len(items) > 0 {
+		//批量新增易董报名用户审核状态
+		_, err = o.InsertMulti(len(items), items)
 	}
 	return
 }
 
+//GetActivitySignupListByActivity获取已经报名了的用户列表
 func GetActivitySignupListByActivity(activityId int) (items []*CygxActivitySignup, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_activity_signup WHERE activity_id = ?`
@@ -209,23 +198,50 @@ func GetAddActivityInfoByMobile(mobile string) (item *CygxYidongActivitySignupRe
 	return
 }
 
-// AddActivitySignupNumMulti 批量新增易董报名用户审核状态
-func AddActivityItemsLogNumMulti(itemsAdd []*CygxYidongActivityExamineStatus) (err error) {
+// AddActivityItemsLogNumMulti 记录审核日志
+func AddActivityItemsLogNumMulti(items []*CygxYidongActivityExamineStatus) (err error) {
 	o := orm.NewOrm()
-	//to, err := o.Begin()
-	//if err != nil {
-	//	fmt.Print(err)
-	//	return
-	//}
-	fmt.Print()
-	if len(itemsAdd) > 0 {
-		for _, v := range itemsAdd {
-			_, err = o.Insert(v)
-			//_, err = to.Insert(v)
-			if err != nil {
-				return
-			}
-		}
+	if len(items) > 0 {
+		//批量添加记录审核日志
+		_, err = o.InsertMulti(len(items), items)
+	}
+	return
+}
+
+//我的日程
+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:"公司名称"`
+}
+
+//GetCygxMyScheduleList 获取我的日程数据
+func GetCygxMyScheduleList(activityId int) (items []*CygxMySchedule, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_my_schedule WHERE activity_id = ?`
+	_, err = o.Raw(sql, activityId).QueryRows(&items)
+	return
+}
+
+// AddCygxMyScheduleLNumMulti 添加我的日程
+func AddCygxMyScheduleLNumMulti(items []*CygxMySchedule) (err error) {
+	o := orm.NewOrm()
+	if len(items) > 0 {
+		//添加我的日程
+		_, err = o.InsertMulti(len(items), items)
 	}
 	return
 }
+
+//DelCygxMyScheduleList 删除我的日程
+func DelCygxMyScheduleList(mobile string, activityId int) (err error) {
+	o := orm.NewOrm()
+	sql := ` DELETE  FROM cygx_my_schedule   WHERE mobile IN (` + mobile + `)  AND activity_id=?`
+	_, err = o.Raw(sql, activityId).Exec()
+	return
+}