Bläddra i källkod

新增公开会议合并标识

longyu 3 år sedan
förälder
incheckning
bf4e6ac998
4 ändrade filer med 141 tillägg och 1 borttagningar
  1. 40 1
      models/roadshow/calendar.go
  2. 43 0
      models/roadshow/public_meeting.go
  3. 52 0
      services/roadshow/public_meeting.go
  4. 6 0
      services/task.go

+ 40 - 1
models/roadshow/calendar.go

@@ -1,8 +1,8 @@
 package roadshow
 
 import (
-	"time"
 	"github.com/rdlucklib/rdluck_tools/orm"
+	"time"
 )
 
 type RsCalendarResearcher struct {
@@ -22,6 +22,7 @@ type RsCalendarResearcher struct {
 	RefuseReason           string    `description:"拒绝理由"`
 	RefuseTime             time.Time `description:"拒绝时间"`
 	DeleteReason           string    `description:"删除理由"`
+	UnionCode              string    `description:"公开会议联合编码"`
 }
 
 func GetRsCalendarResearcher(endDate, endTime string) (list []*RsCalendarResearcher, err error) {
@@ -67,4 +68,42 @@ func ModifyRsMattersStatus(rsMattersId int) (err error) {
 	o := orm.NewOrm()
 	_, err = o.Raw(sql, rsMattersId).Exec()
 	return
+}
+
+type RsCalendar struct {
+	RsCalendarId     int    `orm:"column(rs_calendar_id);pk"`
+	SysUserId        int    `description:"创建人id"`
+	SysUserRealName  string `description:"创建人名称"`
+	ActivityType     string `description:"活动类型"`
+	RoadshowType     string `description:"路演形式"`
+	RoadshowPlatform string `description:"路演平台"`
+	CompanyId        int    `description:"客户id"`
+	CompanyName      string `description:"客户名称"`
+	Province         string `description:"省"`
+	ProvinceCode     string `description:"省编码"`
+	City             string `description:"市"`
+	CityCode         string `description:"市编码"`
+	Theme            string `description:"会议主题"`
+	CooperationName  string `description:"合作方名称"`
+	Title            string `description:"展示在日历的标题"`
+	Source           int8   `description:"来源,0:自系统,1:上海方的"`
+	CreateTime       time.Time
+	ModifyTime       time.Time
+	ActivityCategory string `description:"活动类别"`
+	IsSynced         int    `description:"是否与上海同步 0:未同步 1:已同步"`
+	UnionCode        string `description:"公开会议联合编码"`
+}
+
+func GetRsCalendarById(rsCalendarId int) (item *RsCalendar, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM rs_calendar WHERE rs_calendar_id=? `
+	err = o.Raw(sql, rsCalendarId).QueryRow(&item)
+	return
+}
+
+func GetRsCalendarResearcherById(rsCalendarId int) (item *RsCalendarResearcher, err error) {
+	sql := `SELECT * FROM rs_calendar_researcher WHERE rs_calendar_researcher_id=? `
+	o := orm.NewOrm()
+	err = o.Raw(sql, rsCalendarId).QueryRow(&item)
+	return
 }

+ 43 - 0
models/roadshow/public_meeting.go

@@ -0,0 +1,43 @@
+package roadshow
+
+import (
+	"github.com/rdlucklib/rdluck_tools/orm"
+)
+
+//公开会议总览
+
+//获取公开会议
+func GetPublicMeetingList() (list []*RsCalendarResearcher, err error) {
+	sql := ` SELECT b.* FROM rs_calendar AS a
+			INNER JOIN rs_calendar_researcher AS b ON a.rs_calendar_id=b.rs_calendar_id
+			WHERE activity_type='公开会议'
+			AND a.union_code=''
+			ORDER BY a.rs_calendar_id ASC  `
+	o := orm.NewOrm()
+	_, err = o.Raw(sql).QueryRows(&list)
+	return
+}
+
+func ModifyCalendarUnionCode(unionCode string, rsCalendarId int) (err error) {
+	sql := ` UPDATE rs_calendar SET union_code=? WHERE rs_calendar_id=? `
+	o := orm.NewOrm()
+	_, err = o.Raw(sql, unionCode, rsCalendarId).Exec()
+	if err != nil {
+		return err
+	}
+	sql = ` UPDATE rs_calendar_researcher SET union_code=? WHERE rs_calendar_id=? `
+	_, err = o.Raw(sql, unionCode, rsCalendarId).Exec()
+	if err != nil {
+		return err
+	}
+	return
+}
+
+func GetCoincideMeeting(startTime, endTime string) (list []*RsCalendarResearcher, err error) {
+	sql := ` SELECT * FROM rs_calendar_researcher AS a
+			WHERE ? >= DATE_FORMAT(CONCAT(a.start_date," ",a.start_time),'%Y-%m-%d %H:%i:%S')
+			AND ? <= DATE_FORMAT(CONCAT(a.end_date," ",a.end_time),'%Y-%m-%d %H:%i:%S') `
+	o := orm.NewOrm()
+	_, err = o.Raw(sql, startTime, endTime).QueryRows(&list)
+	return
+}

+ 52 - 0
services/roadshow/public_meeting.go

@@ -0,0 +1,52 @@
+package roadshow
+
+import (
+	"fmt"
+	"hongze/hongze_task/models/roadshow"
+	"hongze/hongze_task/utils"
+	"strconv"
+	"time"
+)
+
+func SetPublicMeetingUnionCode() {
+	var err error
+	list, err := roadshow.GetPublicMeetingList()
+	if err != nil {
+		return
+	}
+
+	for _, v := range list {
+		calendarResearchItem, err := roadshow.GetRsCalendarResearcherById(v.RsCalendarResearcherId)
+		if err != nil {
+			fmt.Println("GetRsCalendarById Err:" + err.Error())
+			return
+		}
+		if calendarResearchItem == nil {
+			continue
+		}
+		if calendarResearchItem.UnionCode != "" {
+			continue
+		}
+		//生成当前公开会议联合编码
+		unionCodeStr := strconv.Itoa(v.RsCalendarId) + "_" + strconv.Itoa(int(time.Now().Unix()))
+		unionCode := utils.MD5(unionCodeStr)
+		err = roadshow.ModifyCalendarUnionCode(unionCode, v.RsCalendarId)
+		if err != nil {
+			fmt.Println("ModifyCalendarUnionCode Err:" + err.Error())
+			return
+		}
+		startDateTime := v.StartDate + " " + v.StartTime
+		endDateTime := v.EndDate + " " + v.EndTime
+		coincideList, err := roadshow.GetCoincideMeeting(startDateTime, endDateTime)
+		if err != nil {
+			return
+		}
+		for _, cv := range coincideList {
+			err = roadshow.ModifyCalendarUnionCode(unionCode, cv.RsCalendarId)
+			if err != nil {
+				fmt.Println("ModifyCalendarUnionCode Err:" + err.Error())
+				return
+			}
+		}
+	}
+}

+ 6 - 0
services/task.go

@@ -162,6 +162,12 @@ func releaseTask() {
 	task.AddTask("resetEdbInfoIsUpdate", resetEdbInfoIsUpdate)
 }
 
+//func Task() {
+//	fmt.Println("start")
+//	roadshow.SetPublicMeetingUnionCode()
+//	fmt.Println("end")
+//}
+
 func TaskTest() {
 	fmt.Println("The task is start")
 	//companyReportPermissionClose := task.NewTask("companyTryOut", "0 5 0 * * *", CompanyReportPermissionClose)