Browse Source

fix:修复上海路演不同步的bug

Roc 2 years ago
parent
commit
cdb94b87b6
3 changed files with 69 additions and 41 deletions
  1. 29 30
      controllers/roadshow/calendar.go
  2. 32 2
      models/tables/admin/admin.go
  3. 8 9
      services/rs/calendar.go

+ 29 - 30
controllers/roadshow/calendar.go

@@ -327,7 +327,6 @@ func (this *CalendarController) CalendarList() {
 	this.OkDetailed(resp, "获取成功")
 }
 
-
 // CalendarList
 // @Title 内部会议和报告电话会日历列表
 // @Description 内部会议和报告电话会日历列表
@@ -1045,7 +1044,7 @@ func (this *CalendarController) Edit() {
 	}()
 	if !utils.Rc.SetNX(cacheKey, 1, 3*time.Second) {
 		deleteCache = false
-		this.FailWithMessage("系统处理中,请稍后重试!", "系统处理中,请稍后重试!" + sysUser.RealName + ";data:" + string(this.Ctx.Input.RequestBody))
+		this.FailWithMessage("系统处理中,请稍后重试!", "系统处理中,请稍后重试!"+sysUser.RealName+";data:"+string(this.Ctx.Input.RequestBody))
 		return
 	}
 
@@ -1113,7 +1112,7 @@ func (this *CalendarController) Edit() {
 		}
 
 		if realName, ok := researcherMap[v.ResearcherId]; ok {
-			this.FailWithMessage("研究员:" + realName + " 被重复选择", "研究员:" + realName + " 被重复选择")
+			this.FailWithMessage("研究员:"+realName+" 被重复选择", "研究员:"+realName+" 被重复选择")
 			return
 		}
 		researcherMap[v.ResearcherId] = v.ResearcherName
@@ -1150,7 +1149,7 @@ func (this *CalendarController) Edit() {
 			if err.Error() == utils.ErrNoRow() {
 				isAdd = true
 			} else {
-				this.FailWithMessage("获取数据失败!", "获取数据失败!GetRsCalendarResearcherByRsCalendarIdAndResearcherId:" + err.Error())
+				this.FailWithMessage("获取数据失败!", "获取数据失败!GetRsCalendarResearcherByRsCalendarIdAndResearcherId:"+err.Error())
 				return
 			}
 		}
@@ -1164,7 +1163,7 @@ func (this *CalendarController) Edit() {
 		//同步上海数据
 		researcherInfo, err := admin.GetAdminById(v.ResearcherId)
 		if err != nil {
-			this.FailWithMessage("研究员异常!", "研究员异常,Err:" + err.Error())
+			this.FailWithMessage("研究员异常!", "研究员异常,Err:"+err.Error())
 			return
 		}
 		_ = rs.SyncCalendarFromShanghai(researcherInfo.Mobile, v.StartDate, v.EndDate)
@@ -1178,7 +1177,7 @@ func (this *CalendarController) Edit() {
 
 				matterCount, err := rs.CheckMatters(startDateTime, endDateTime, v.ResearcherId, 0)
 				if err != nil {
-					this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckMattersCount!Err:" + err.Error())
+					this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckMattersCount!Err:"+err.Error())
 					return
 				}
 				if matterCount > 0 {
@@ -1189,7 +1188,7 @@ func (this *CalendarController) Edit() {
 
 		calendarCount, err := rs.CheckCalendar(startDateTime, endDateTime, "1,2", v.ResearcherId, rsCalendarResearcherId)
 		if err != nil {
-			this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckCalendarResearcherCount!Err:" + err.Error())
+			this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckCalendarResearcherCount!Err:"+err.Error())
 			return
 		}
 		if calendarCount > 0 {
@@ -1198,18 +1197,18 @@ func (this *CalendarController) Edit() {
 	}
 
 	if len(checkIsAdd) > 0 {
-		this.FailWithMessage(strings.Join(checkIsAdd, ",") + "时间已被占用!", "时间冲突检测失败-CheckMattersCount!")
+		this.FailWithMessage(strings.Join(checkIsAdd, ",")+"时间已被占用!", "时间冲突检测失败-CheckMattersCount!")
 		return
 	}
 
 	rsCalendarItem, err := roadshow.GetRsCalendarById(req.RsCalendarId)
 	if err != nil {
-		this.FailWithMessage("获取数据失败!", "获取数据失败!GetRsCalendarById:" + err.Error())
+		this.FailWithMessage("获取数据失败!", "获取数据失败!GetRsCalendarById:"+err.Error())
 		return
 	}
 
 	if rsCalendarItem == nil {
-		this.FailWithMessage("保存失败!","获取数据失败!GetRsCalendarById:" + err.Error())
+		this.FailWithMessage("保存失败!", "获取数据失败!GetRsCalendarById:"+err.Error())
 		return
 	}
 
@@ -1262,12 +1261,12 @@ func (this *CalendarController) Edit() {
 	calendarUpdateParams["title"] = getTitle(req.ActivityType, req.RoadshowType, req.ActivityCategory, req.RoadshowPlatform, req.Province, req.City)
 	err = roadshow.UpdateRsCalendar(calendarWhereParams, calendarUpdateParams)
 	if err != nil {
-		this.FailWithMessage("保存失败!","保存失败!UpdateRsCalendar:" + err.Error())
+		this.FailWithMessage("保存失败!", "保存失败!UpdateRsCalendar:"+err.Error())
 		return
 	}
 	existList, err := roadshow.GetRsCalendarResearcherByCalendarId(req.RsCalendarId)
 	if err != nil {
-		this.FailWithMessage("保存失败!","保存失败!GetRsCalendarResearcherByCalendarId:" + err.Error())
+		this.FailWithMessage("保存失败!", "保存失败!GetRsCalendarResearcherByCalendarId:"+err.Error())
 		return
 	}
 	existResearcherMap := make(map[int]string)
@@ -1282,7 +1281,7 @@ func (this *CalendarController) Edit() {
 		for k, v := range req.ResearcherList {
 			rsCalendarResearcherItem, err := roadshow.GetRsCalendarResearcherById(req.RsCalendarResearcherId)
 			if err != nil {
-				this.FailWithMessage("获取数据失败!","获取数据失败!GetRsCalendarResearcherById:" + err.Error())
+				this.FailWithMessage("获取数据失败!", "获取数据失败!GetRsCalendarResearcherById:"+err.Error())
 				return
 			}
 
@@ -1313,7 +1312,7 @@ func (this *CalendarController) Edit() {
 
 			err = roadshow.UpdateCalendarResearcher(calendarResearcherWhereParams, calendarResearcherUpdateParams)
 			if err != nil {
-				this.FailWithMessage("保存失败!","保存失败!UpdateCalendarResearcher:" + err.Error())
+				this.FailWithMessage("保存失败!", "保存失败!UpdateCalendarResearcher:"+err.Error())
 				return
 			}
 			//上海新增(因为在驳回的时候,就把上海该时间段的日程给删除了,所以修改的时候,需要重新调用新增接口)
@@ -1364,13 +1363,13 @@ func (this *CalendarController) Edit() {
 		if err != nil {
 			utils.FileLog.Info("GetRsCalendarResearcherByCalendarId err: ", err)
 			fmt.Println(err)
-			this.FailWithMessage("保存失败!","获取数据失败,GetRsCalendarResearcherByCalendarId:" + err.Error())
+			this.FailWithMessage("保存失败!", "获取数据失败,GetRsCalendarResearcherByCalendarId:"+err.Error())
 			return
 		}
 		//先删后增
 		err = roadshow.DeleteRsCalendarResearcher(req.RsCalendarId)
 		if err != nil {
-			this.FailWithMessage("保存失败!","保存失败!DeleteRsCalendarResearcher:" + err.Error())
+			this.FailWithMessage("保存失败!", "保存失败!DeleteRsCalendarResearcher:"+err.Error())
 			return
 		}
 
@@ -1399,7 +1398,7 @@ func (this *CalendarController) Edit() {
 			}
 			rsCalendarResearcherId, err := roadshow.AddRsCalendarResearcher(researcher)
 			if err != nil {
-				this.FailWithMessage("保存失败!","保存日历活动-研究员信息失败!Err:" + err.Error())
+				this.FailWithMessage("保存失败!", "保存日历活动-研究员信息失败!Err:"+err.Error())
 				return
 			}
 
@@ -1564,34 +1563,34 @@ func (this *CalendarController) Delete() {
 	var req roadshow.DeleteReq
 	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
 	if err != nil {
-		this.FailWithMessage("参数解析异常!", "参数解析失败,Err:" + err.Error())
+		this.FailWithMessage("参数解析异常!", "参数解析失败,Err:"+err.Error())
 		return
 	}
 
 	if req.RsCalendarId <= 0 || req.RsCalendarResearcherId <= 0 {
-		this.FailWithMessage("参数错误!", "参数错误!RsCalendarId:" + strconv.Itoa(req.RsCalendarId) + ";RsCalendarResearcherId:" + strconv.Itoa(req.RsCalendarResearcherId))
+		this.FailWithMessage("参数错误!", "参数错误!RsCalendarId:"+strconv.Itoa(req.RsCalendarId)+";RsCalendarResearcherId:"+strconv.Itoa(req.RsCalendarResearcherId))
 		return
 	}
 	rsCalendarItem, err := roadshow.GetRsCalendarById(req.RsCalendarId)
 	if err != nil {
-		this.FailWithMessage("获取数据失败!", "获取数据失败!GetRsCalendarById:" + err.Error())
+		this.FailWithMessage("获取数据失败!", "获取数据失败!GetRsCalendarById:"+err.Error())
 		return
 	}
 
 	rsCalendarResearcherItem, err := roadshow.GetRsCalendarResearcherById(req.RsCalendarResearcherId)
 	if err != nil {
-		this.FailWithMessage("获取数据失败!", "获取数据失败!GetRsCalendarResearcherById:" + err.Error())
+		this.FailWithMessage("获取数据失败!", "获取数据失败!GetRsCalendarResearcherById:"+err.Error())
 		return
 	}
 
 	if rsCalendarItem.ActivityType == "报告电话会" || rsCalendarItem.ActivityType == "内部会议" {
 		err = roadshow.DeleteCalendar(req.RsCalendarId, req.RsCalendarResearcherId)
 		if err != nil {
-			this.FailWithMessage("删除失败!", "删除失败!DeleteCalendar:" + err.Error())
+			this.FailWithMessage("删除失败!", "删除失败!DeleteCalendar:"+err.Error())
 			return
 		}
 	} else {
-		if req.DeleteReason=="" {
+		if req.DeleteReason == "" {
 			this.FailWithMessage("删除失败,请输入删除理由!", "删除失败!请输入删除理由")
 			return
 		}
@@ -1608,7 +1607,7 @@ func (this *CalendarController) Delete() {
 
 		err = roadshow.UpdateCalendarResearcher(whereParams, updateParams)
 		if err != nil {
-			this.FailWithMessage("删除失败!", "删除失败!UpdateCalendarResearcher:" + err.Error())
+			this.FailWithMessage("删除失败!", "删除失败!UpdateCalendarResearcher:"+err.Error())
 			return
 		}
 	}
@@ -1717,13 +1716,13 @@ func (this *CalendarController) ResearcherCalendarDetail() {
 
 	calendarList, err := roadshow.GetCalendarDetailList(condition, pars)
 	if err != nil {
-		this.FailWithMessage("获取数据失败!", "获取数据失败,GetCalendarDetailList Err:" + err.Error())
+		this.FailWithMessage("获取数据失败!", "获取数据失败,GetCalendarDetailList Err:"+err.Error())
 		return
 	}
 
 	matterList, err := roadshow.GetRsMattersList(startDate, endDate, researcherId)
 	if err != nil {
-		this.FailWithMessage("获取数据失败!","获取数据失败,GetRsMattersList Err:" + err.Error())
+		this.FailWithMessage("获取数据失败!", "获取数据失败,GetRsMattersList Err:"+err.Error())
 		return
 	}
 
@@ -1757,7 +1756,7 @@ func (this *CalendarController) MyCalendarDetail() {
 	startDate := this.GetString("StartDate")
 	endDate := this.GetString("EndDate")
 	if startDate == "" || endDate == "" {
-		this.FailWithMessage("参数错误!","参数错误 StartDate:"+startDate+" EndDate:"+endDate)
+		this.FailWithMessage("参数错误!", "参数错误 StartDate:"+startDate+" EndDate:"+endDate)
 		return
 	}
 	var condition string
@@ -1801,13 +1800,13 @@ func (this *CalendarController) MyCalendarDetail() {
 
 	calendarList, err := roadshow.GetCalendarDetailList(condition, pars)
 	if err != nil {
-		this.FailWithMessage("获取数据失败!","获取数据失败,GetCalendarDetailList Err:" + err.Error())
+		this.FailWithMessage("获取数据失败!", "获取数据失败,GetCalendarDetailList Err:"+err.Error())
 		return
 	}
 
 	matterList, err := roadshow.GetRsMattersList(startDate, endDate, sysUser.AdminId)
 	if err != nil {
-		this.FailWithMessage("获取数据失败!","获取数据失败,GetRsMattersList Err:" + err.Error())
+		this.FailWithMessage("获取数据失败!", "获取数据失败,GetRsMattersList Err:"+err.Error())
 		return
 	}
 
@@ -1815,4 +1814,4 @@ func (this *CalendarController) MyCalendarDetail() {
 	resp.CalendarList = calendarList
 	resp.RsMattersList = matterList
 	this.OkDetailed(resp, "删除成功")
-}
+}

+ 32 - 2
models/tables/admin/admin.go

@@ -4,6 +4,7 @@ import (
 	//_ "github.com/go-sql-driver/mysql"
 	"github.com/rdlucklib/rdluck_tools/orm"
 	"hongze/hongze_mobile_admin/models/custom"
+	"time"
 )
 
 type Admin struct {
@@ -80,7 +81,7 @@ func GetAdminWxById(adminId int) (item *custom.AdminWx, err error) {
 	return
 }
 
-func GetSysuserList(condition string, pars []interface{}, startSize, pageSize int) (items []*Admin, err error) {
+func GetSysuserList(condition string, pars []interface{}, startSize, pageSize int) (items []*AdminItem, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM admin WHERE 1=1 `
 	if condition != "" {
@@ -89,4 +90,33 @@ func GetSysuserList(condition string, pars []interface{}, startSize, pageSize in
 	sql += `ORDER BY created_time DESC LIMIT ?,?`
 	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
 	return
-}
+}
+
+// AdminItem 管理后台的adminInfo,没有使用json格式化,路演这边需要用到,没办法
+type AdminItem struct {
+	AdminId                 int    `description:"系统用户id"`
+	AdminName               string `description:"系统用户名称"`
+	RealName                string `description:"系统用户姓名"`
+	Password                string
+	LastUpdatedPasswordTime string `json:"-"`
+	Enabled                 int    `description:"1:有效,0:禁用"`
+	Email                   string `description:"系统用户邮箱"`
+	LastLoginTime           string
+	CreatedTime             time.Time
+	LastUpdatedTime         string
+	Role                    string `description:"系统用户角色"`
+	Mobile                  string `description:"手机号"`
+	RoleType                int    `description:"角色类型:1需要录入指标,0:不需要"`
+	RoleId                  int    `description:"角色id"`
+	RoleName                string `description:"角色名称"`
+	RoleTypeCode            string `description:"角色编码"`
+	DepartmentId            int    `description:"部门id"`
+	DepartmentName          string `json:"-" description:"部门名称"`
+	TeamId                  int    `description:"三级id"`
+	GroupId                 int    `description:"分组id"`
+	GroupName               string `json:"-" description:"分组名称"`
+	Authority               int    `description:"管理权限,0:无,1:部门负责人,2:小组负责人,或者ficc销售主管,4:ficc销售组长"`
+	Position                string `description:"职位"`
+	DepartmentGroup         string `description:"部门分组"`
+	LabelVal                int    `description:"标签:1:超级管理员,2:管理员,3:部门经理,4:组长,5:ficc销售主管"`
+}

+ 8 - 9
services/rs/calendar.go

@@ -631,7 +631,6 @@ func SyncCalendarFromShanghai(userPhone, startDate, endDate string) (err error)
 	}
 	//往后延迟一天,避免截止到当天
 	endDate = endDateTime.AddDate(0, 0, 1).Format(utils.FormatDate)
-
 	currDay := time.Now().Format(utils.FormatDate)
 	nowDateTime, _ := time.ParseInLocation(utils.FormatDate, currDay, time.Local)
 	//如果传入的结束日期早于当前日期,那么就不去查询了
@@ -723,10 +722,10 @@ func SyncCalendarFromShanghai(userPhone, startDate, endDate string) (err error)
 						isUpdate = true
 					}
 
-					researcherList := make([]admin.Admin, 0)
-					researcherMap := make(map[int]admin.Admin)
+					researcherList := make([]admin.AdminItem, 0)
+					researcherMap := make(map[int]admin.AdminItem)
 
-					addResearcherList := make([]admin.Admin, 0)                       // 需要新增的研究员
+					addResearcherList := make([]admin.AdminItem, 0)                   // 需要新增的研究员
 					delResearcherIdList := make([]int, 0)                             //需要删除的路演活动与研究员的关系id
 					updateResearcherList := make([]*roadshow.RsCalendarResearcher, 0) //待更新的路演活动中研究员信息
 
@@ -821,7 +820,7 @@ func SyncCalendarFromShanghai(userPhone, startDate, endDate string) (err error)
 				}
 
 				//研究员列表
-				researcherList := make([]admin.Admin, 0)
+				researcherList := make([]admin.AdminItem, 0)
 				researcherMobileList := strings.Split(v.ResearcherMobile, ",")
 				if len(researcherMobileList) > 0 {
 					for _, mobile := range researcherMobileList {
@@ -910,8 +909,8 @@ func CreateOaUser(mobile, username string, groupId int) (err error) {
 }
 
 // getAdminInfo 通过手机号获取用户信息
-func getAdminInfo(mobile string) (adminInfo admin.Admin, err error) {
-	adminMap := make(map[string]admin.Admin)
+func getAdminInfo(mobile string) (adminInfo admin.AdminItem, err error) {
+	adminMap := make(map[string]admin.AdminItem)
 	redisAdminData, redisErr := utils.Rc.RedisString(utils.CACHE_KEY_ADMIN)
 	if redisErr != nil {
 		list, err := admin.GetSysuserList("", []interface{}{}, 0, 1000)
@@ -940,8 +939,8 @@ func getAdminInfo(mobile string) (adminInfo admin.Admin, err error) {
 }
 
 // getAdminInfoById 通过用户id获取用户信息
-func getAdminInfoById(sysId int) (adminInfo admin.Admin, err error) {
-	adminMap := make(map[int]admin.Admin)
+func getAdminInfoById(sysId int) (adminInfo admin.AdminItem, err error) {
+	adminMap := make(map[int]admin.AdminItem)
 	redisAdminData, redisErr := utils.Rc.RedisString(utils.CACHE_KEY_ADMIN_ID)
 	if redisErr != nil {
 		list, err := admin.GetSysuserList("", []interface{}{}, 0, 1000)