فهرست منبع

新增日历面板详情接口

longyu 3 سال پیش
والد
کامیت
b427946a37
3فایلهای تغییر یافته به همراه302 افزوده شده و 2 حذف شده
  1. 246 2
      controllers/roadshow/calendar.go
  2. 29 0
      models/roadshow/calendar.go
  3. 27 0
      routers/commentsRouter_controllers.go

+ 246 - 2
controllers/roadshow/calendar.go

@@ -248,7 +248,7 @@ func (this *CalendarController) Add() {
 // @Description 我的日历列表接口
 // @Param   PageSize   query   int  true       "每页数据条数"
 // @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
-// @Param   Status   query   int  true       "1:待接受,2:包含,已接受,已拒绝,已删除"
+// @Param   Status   query   int  true       "1:待接受,2:包含,已接受,已拒绝,已删除,已撤回,已结束"
 // @Success 200 {object} rs.CalendarListResp
 // @router /calendar/list [get]
 func (this *CalendarController) CalendarList() {
@@ -277,13 +277,39 @@ func (this *CalendarController) CalendarList() {
 	condition += ` AND b.researcher_id=?`
 	pars = append(pars, adminItem.AdminId)
 
+	roleTypeCode := adminItem.RoleTypeCode
+	//销售
+	if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_FICC_GROUP ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP {
+		condition += ` AND a.sys_user_id=?`
+		pars = append(pars, adminItem.AdminId)
+	}
+
+	if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_RESEARCHR ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_RESEARCHR ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_RESEARCHR ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_FICC_DEPARTMENT ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_DEPARTMENT ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN {
+		condition += ` AND b.researcher_id=?`
+		pars = append(pars, adminItem.AdminId)
+	}
+
+	if roleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
+		condition += ` AND a.sys_user_id=?`
+		pars = append(pars, adminItem.AdminId)
+	}
+
 	condition += ` AND a.activity_type IN('路演','公开会议') `
 
 	if status == 1 {
 		condition += ` AND b.status=?`
 		pars = append(pars, 1)
 	} else {
-		condition += ` AND b.status IN(2,3,4)`
+		condition += ` AND b.status IN(2,3,4,5,6)`
 	}
 
 	resp := new(roadshow.CalendarListResp)
@@ -303,6 +329,69 @@ func (this *CalendarController) CalendarList() {
 	this.OkDetailed(resp, "获取成功")
 }
 
+
+// CalendarList
+// @Title 内部会议和报告电话会日历列表
+// @Description 内部会议和报告电话会日历列表
+// @Param   PageSize   query   int  true       "每页数据条数"
+// @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
+// @Param   CalendarType   query   int  true       "1:内部会议,2:报告电话会"
+// @Success 200 {object} rs.CalendarListResp
+// @router /calendar/type/list [get]
+func (this *CalendarController) CalendarTypeList() {
+	adminItem := this.AdminWx
+
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+
+	calendarType, _ := this.GetInt("CalendarType")
+
+	var total int
+	page := paging.GetPaging(currentIndex, pageSize, total)
+
+	var startSize int
+	if pageSize <= 0 {
+		pageSize = utils.PageSize10
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+	startSize = paging.StartIndex(currentIndex, pageSize)
+
+	var condition string
+	var pars []interface{}
+
+	condition += ` AND b.researcher_id=?`
+	pars = append(pars, adminItem.AdminId)
+
+
+	if calendarType == 1 {
+		condition += ` AND a.activity_type='内部会议' `
+		condition += ` AND a.sys_user_id=?`
+		pars = append(pars, adminItem.AdminId)
+	}
+
+	if calendarType == 2 {
+		condition += ` AND a.activity_type='报告电话会' `
+	}
+
+	resp := new(roadshow.CalendarListResp)
+	total, err := roadshow.GetCalendarListCount(condition, pars)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		this.FailWithMessage("获取信息失败!", "获取数据总数失败,GetCalendarListCount,Err:"+err.Error())
+		return
+	}
+	page = paging.GetPaging(currentIndex, pageSize, total)
+	dataList, err := roadshow.GetCalendarList(condition, pars, 0, startSize, pageSize)
+	if err != nil {
+		this.FailWithMessage("获取信息失败!", "获取数据失败,GetCalendarList,Err:"+err.Error())
+		return
+	}
+	resp.Paging = page
+	resp.List = dataList
+	this.OkDetailed(resp, "获取成功")
+}
+
 // Accept
 // @Description 接受路演活动接口
 // @Param	request	body rs.AcceptReq true "type json string"
@@ -1546,3 +1635,158 @@ func (this *CalendarController) ActivityTypeList() {
 	}
 	this.OkDetailed(list, "获取成功")
 }
+
+// @Title 路演-研究员日历详情
+// @Description 路演-研究员日历详情接口
+// @Param   StartDate   query   string  true       "开始日期"
+// @Param   EndDate   query   string  true       "结束日期日期"
+// @Param   ResearcherId   query   int  true       "研究员id"
+// @Success 200 {object} roadshow.CalendarDetailResp
+// @router /researcher/calendar/detail [get]
+func (this *CalendarController) ResearcherCalendarDetail() {
+	sysUser := this.AdminWx
+	if sysUser == nil {
+		this.FailWithMessage("请登录", "请登录,SysUser Is Empty")
+		return
+	}
+
+	startDate := this.GetString("StartDate")
+	endDate := this.GetString("EndDate")
+	researcherId, _ := this.GetInt("ResearcherId")
+	if startDate == "" || endDate == "" {
+		this.FailWithMessage("参数错误!", "参数错误 StartDate"+startDate+" EndDate:"+endDate)
+		return
+	}
+	var condition string
+	var pars []interface{}
+
+	if researcherId <= 0 {
+		calendarList := make([]*roadshow.CalendarListView, 0)
+		matterList := make([]*roadshow.RsMatters, 0)
+		resp := new(roadshow.CalendarPanelDetailResp)
+		resp.CalendarList = calendarList
+		resp.RsMattersList = matterList
+		this.OkDetailed(resp, "删除成功")
+		return
+	} else {
+		condition += ` AND b.researcher_id =? `
+		pars = append(pars, researcherId)
+	}
+
+	//同步上海数据
+	researcherInfo, err := admin.GetAdminById(researcherId)
+	if err != nil {
+		this.FailWithMessage("研究员异常!", "研究员异常"+err.Error())
+		return
+	}
+	_ = rs.SyncCalendarFromShanghai(researcherInfo.Mobile, startDate, endDate)
+
+	condition += ` AND b.start_date>=?`
+	pars = append(pars, startDate)
+	condition += ` AND b.end_date<=?`
+	pars = append(pars, endDate)
+
+	condition += ` AND b.status IN(2,6) `
+	//pars = append(pars, 2)
+
+	calendarList, err := roadshow.GetCalendarDetailList(condition, pars)
+	if err != nil {
+		this.FailWithMessage("获取数据失败!", "获取数据失败,GetCalendarDetailList Err:" + err.Error())
+		return
+	}
+
+	matterList, err := roadshow.GetRsMattersList(startDate, endDate, researcherId)
+	if err != nil {
+		this.FailWithMessage("获取数据失败!","获取数据失败,GetRsMattersList Err:" + err.Error())
+		return
+	}
+
+	if calendarList == nil {
+		calendarList = make([]*roadshow.CalendarListView, 0)
+	}
+
+	if matterList == nil {
+		matterList = make([]*roadshow.RsMatters, 0)
+	}
+
+	resp := new(roadshow.CalendarPanelDetailResp)
+	resp.CalendarList = calendarList
+	resp.RsMattersList = matterList
+	this.OkDetailed(resp, "删除成功")
+}
+
+// @Title 路演-我的日历详情
+// @Description 路演-我的日历详情接口
+// @Param   StartDate   query   string  true       "开始日期"
+// @Param   EndDate   query   string  true       "结束日期日期"
+// @Success 200 {object} roadshow.CalendarDetailResp
+// @router /my/calendar/detail [get]
+func (this *CalendarController) MyCalendarDetail() {
+	sysUser := this.AdminWx
+	if sysUser == nil {
+		this.FailWithMessage("请登录", "请登录,SysUser Is Empty")
+		return
+	}
+
+	startDate := this.GetString("StartDate")
+	endDate := this.GetString("EndDate")
+	if startDate == "" || endDate == "" {
+		this.FailWithMessage("参数错误!","参数错误 StartDate:"+startDate+" EndDate:"+endDate)
+		return
+	}
+	var condition string
+	var pars []interface{}
+
+	roleTypeCode := sysUser.RoleTypeCode
+	//销售
+	if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_FICC_GROUP ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP {
+		condition += ` AND a.sys_user_id=?`
+		pars = append(pars, sysUser.AdminId)
+
+		condition += ` AND a.activity_type IN('路演','公开会议') `
+	}
+
+	//研究员
+	if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_RESEARCHR ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_RESEARCHR ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_RESEARCHR ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN ||
+		roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER {
+		condition += ` AND b.researcher_id=?`
+		pars = append(pars, sysUser.AdminId)
+	}
+
+	//中级/普通/admin 管理员
+	if roleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
+		condition += ` AND a.sys_user_id=?`
+		pars = append(pars, sysUser.AdminId)
+	}
+
+	condition += ` AND b.start_date>=?`
+	pars = append(pars, startDate)
+	condition += ` AND b.end_date<=?`
+	pars = append(pars, endDate)
+
+	condition += ` AND b.status IN(2,6) `
+	//pars = append(pars, 2)
+
+	calendarList, err := roadshow.GetCalendarDetailList(condition, pars)
+	if err != nil {
+		this.FailWithMessage("获取数据失败!","获取数据失败,GetCalendarDetailList Err:" + err.Error())
+		return
+	}
+
+	matterList, err := roadshow.GetRsMattersList(startDate, endDate, sysUser.AdminId)
+	if err != nil {
+		this.FailWithMessage("获取数据失败!","获取数据失败,GetRsMattersList Err:" + err.Error())
+		return
+	}
+
+	resp := new(roadshow.CalendarPanelDetailResp)
+	resp.CalendarList = calendarList
+	resp.RsMattersList = matterList
+	this.OkDetailed(resp, "删除成功")
+}

+ 29 - 0
models/roadshow/calendar.go

@@ -176,6 +176,7 @@ func GetCalendarList(condition string, pars []interface{}, status int, pageLimit
 	return
 }
 
+
 type AcceptReq struct {
 	RsCalendarId           int `description:"日历活动id"`
 	RsCalendarResearcherId int `description:"活动研究员id"`
@@ -510,3 +511,31 @@ func GetActivityTypeListByActivityTypePId(pid int) (list []*ActivityTypeList, er
 	_, err = o.Raw(sql, pid).QueryRows(&list)
 	return
 }
+
+type CalendarPanelDetailResp struct {
+	CalendarList  []*CalendarListView
+	RsMattersList []*RsMatters
+}
+
+func GetCalendarDetailList(condition string, pars []interface{}) (list []*CalendarListView, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT a.*,b.*,c.status AS company_status FROM  rs_calendar AS a
+		INNER JOIN rs_calendar_researcher AS b ON a.rs_calendar_id=b.rs_calendar_id
+        LEFT JOIN company_product AS c ON a.company_id=c.company_id AND c.product_id=1
+		WHERE 1=1 `
+	if condition != "" {
+		sql += condition
+	}
+	sql += ` ORDER BY a.create_time DESC `
+	_, err = o.Raw(sql, pars).QueryRows(&list)
+	return
+}
+
+func GetRsMattersList(startDate, endDate string, researcherId int) (list []*RsMatters, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM  rs_matters AS a WHERE a.start_date>=? AND a.end_date<=? AND sys_user_id=? `
+
+	sql += ` ORDER BY a.create_time DESC `
+	_, err = o.Raw(sql, startDate, endDate, researcherId).QueryRows(&list)
+	return
+}

+ 27 - 0
routers/commentsRouter_controllers.go

@@ -61,6 +61,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_mobile_admin/controllers/roadshow:CalendarController"] = append(beego.GlobalControllerRouter["hongze/hongze_mobile_admin/controllers/roadshow:CalendarController"],
+        beego.ControllerComments{
+            Method: "CalendarTypeList",
+            Router: "/calendar/type/list",
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_mobile_admin/controllers/roadshow:CalendarController"] = append(beego.GlobalControllerRouter["hongze/hongze_mobile_admin/controllers/roadshow:CalendarController"],
         beego.ControllerComments{
             Method: "CompanyDetail",
@@ -133,6 +142,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_mobile_admin/controllers/roadshow:CalendarController"] = append(beego.GlobalControllerRouter["hongze/hongze_mobile_admin/controllers/roadshow:CalendarController"],
+        beego.ControllerComments{
+            Method: "MyCalendarDetail",
+            Router: "/my/calendar/detail",
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_mobile_admin/controllers/roadshow:CalendarController"] = append(beego.GlobalControllerRouter["hongze/hongze_mobile_admin/controllers/roadshow:CalendarController"],
         beego.ControllerComments{
             Method: "Refuse",
@@ -142,6 +160,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_mobile_admin/controllers/roadshow:CalendarController"] = append(beego.GlobalControllerRouter["hongze/hongze_mobile_admin/controllers/roadshow:CalendarController"],
+        beego.ControllerComments{
+            Method: "ResearcherCalendarDetail",
+            Router: "/researcher/calendar/detail",
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_mobile_admin/controllers/roadshow:CalendarController"] = append(beego.GlobalControllerRouter["hongze/hongze_mobile_admin/controllers/roadshow:CalendarController"],
         beego.ControllerComments{
             Method: "ResearcherList",