Browse Source

新增路演类型

longyu 3 years ago
parent
commit
820c24dc7b

+ 55 - 34
controllers/roadshow/calendar.go

@@ -8,7 +8,7 @@ import (
 	"hongze/hongze_mobile_admin/models/roadshow"
 	"hongze/hongze_mobile_admin/models/tables/admin"
 	"hongze/hongze_mobile_admin/services"
-	roadshowService "hongze/hongze_mobile_admin/services/roadshow"
+	"hongze/hongze_mobile_admin/services/rs"
 	"hongze/hongze_mobile_admin/utils"
 	"strconv"
 	"strings"
@@ -22,7 +22,7 @@ type CalendarController struct {
 
 // @Title 新增路演活动接口
 // @Description 新增路演活动接口
-// @Param	request	body roadshow.AddActivityReq true "type json string"
+// @Param	request	body rs.AddActivityReq true "type json string"
 // @Success Ret=200 保存成功
 // @router /add [post]
 func (this *CalendarController) Add() {
@@ -128,11 +128,11 @@ func (this *CalendarController) Add() {
 			this.FailWithMessage("研究员异常", "获取研究员异常,Err:"+err.Error())
 			return
 		}
-		_ = roadshowService.SyncCalendarFromShanghai(researcherInfo.Mobile, v.StartDate, v.EndDate)
+		_ = rs.SyncCalendarFromShanghai(researcherInfo.Mobile, v.StartDate, v.EndDate)
 
 		//校验事项时间冲突
 		{
-			matterCount, err := roadshowService.CheckMatters(startDateTime, endDateTime, v.ResearcherId, 0)
+			matterCount, err := rs.CheckMatters(startDateTime, endDateTime, v.ResearcherId, 0)
 			if err != nil {
 				this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckMattersCount!Err:"+err.Error())
 				return
@@ -144,7 +144,7 @@ func (this *CalendarController) Add() {
 
 		//校验活动时间冲突
 		{
-			calendarCount, err := roadshowService.CheckCalendar(startDateTime, endDateTime, "1,2", v.ResearcherId, 0)
+			calendarCount, err := rs.CheckCalendar(startDateTime, endDateTime, "1,2", v.ResearcherId, 0)
 			if err != nil {
 				this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckCalendar!Err:"+err.Error())
 				return
@@ -211,7 +211,7 @@ func (this *CalendarController) Add() {
 		}
 		rsCalendar.RsCalendarId = int(rsCalendarId)
 		researcher.RsCalendarResearcherId = int(rsCalendarResearcherId)
-		go roadshowService.CalendarToSH(*rsCalendar, *researcher)
+		go rs.CalendarToSH(*rsCalendar, *researcher)
 
 		//模板消息通知
 		{
@@ -249,7 +249,7 @@ func (this *CalendarController) Add() {
 // @Param   PageSize   query   int  true       "每页数据条数"
 // @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
 // @Param   Status   query   int  true       "1:待接受,2:包含,已接受,已拒绝,已删除"
-// @Success 200 {object} roadshow.CalendarListResp
+// @Success 200 {object} rs.CalendarListResp
 // @router /calendar/list [get]
 func (this *CalendarController) CalendarList() {
 	adminItem := this.AdminWx
@@ -305,7 +305,7 @@ func (this *CalendarController) CalendarList() {
 
 // Accept
 // @Description 接受路演活动接口
-// @Param	request	body roadshow.AcceptReq true "type json string"
+// @Param	request	body rs.AcceptReq true "type json string"
 // @Success Ret=200 保存成功
 // @router /accept [post]
 func (this *CalendarController) Accept() {
@@ -385,7 +385,7 @@ func (this *CalendarController) Accept() {
 
 // @Title 拒绝路演活动接口
 // @Description 拒绝路演活动接口
-// @Param	request	body roadshow.RefuseReq true "type json string"
+// @Param	request	body rs.RefuseReq true "type json string"
 // @Success Ret=200 保存成功
 // @router /refuse [post]
 func (this *CalendarController) Refuse() {
@@ -445,7 +445,7 @@ func (this *CalendarController) Refuse() {
 	}
 
 	// 拒绝后需要删除上海的日程
-	go roadshowService.DeleteSHCalendar(req.RsCalendarResearcherId)
+	go rs.DeleteSHCalendar(req.RsCalendarResearcherId)
 
 	//模板消息通知
 	{
@@ -473,7 +473,7 @@ func (this *CalendarController) Refuse() {
 // @Description 日历详情接口
 // @Param   RsCalendarId   query   int  true       "路演活动id"
 // @Param   RsCalendarResearcherId   query   int  true       "活动研究员id"
-// @Success 200 {object} roadshow.CalendarDetailResp
+// @Success 200 {object} rs.CalendarDetailResp
 // @router /calendar/detail [get]
 func (this *CalendarController) CalendarDetail() {
 	//adminItem:=this.AdminWx
@@ -538,7 +538,7 @@ func (this *CalendarController) CalendarDetail() {
 // @Description 事项列表接口
 // @Param   PageSize   query   int  true       "每页数据条数"
 // @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
-// @Success 200 {object} roadshow.MattersListResp
+// @Success 200 {object} rs.MattersListResp
 // @router /matters/list [get]
 func (this *CalendarController) MattersList() {
 	sysUser := this.AdminWx
@@ -587,7 +587,7 @@ func (this *CalendarController) MattersList() {
 
 // @Title 新增事项接口
 // @Description 新增事项接口
-// @Param	request	body roadshow.AddMattersReq true "type json string"
+// @Param	request	body rs.AddMattersReq true "type json string"
 // @Success Ret=200 保存成功
 // @router /matters/add [post]
 func (this *CalendarController) MattersAdd() {
@@ -649,7 +649,7 @@ func (this *CalendarController) MattersAdd() {
 	endDateTime := req.EndDate + " " + req.EndTime
 	//校验事项时间冲突
 	{
-		matterCount, err := roadshowService.CheckMatters(startDateTime, endDateTime, sysUser.AdminId, 0)
+		matterCount, err := rs.CheckMatters(startDateTime, endDateTime, sysUser.AdminId, 0)
 		if err != nil {
 			this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckMattersCount!Err:"+err.Error())
 			return
@@ -662,7 +662,7 @@ func (this *CalendarController) MattersAdd() {
 
 	//校验活动时间冲突--待接受
 	{
-		calendarCount, err := roadshowService.CheckCalendar(startDateTime, endDateTime, "1", sysUser.AdminId, 0)
+		calendarCount, err := rs.CheckCalendar(startDateTime, endDateTime, "1", sysUser.AdminId, 0)
 		if err != nil {
 			this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckCalendarResearcherCount!Err:"+err.Error())
 			return
@@ -675,7 +675,7 @@ func (this *CalendarController) MattersAdd() {
 
 	//校验活动时间冲突--已接受
 	{
-		calendarCount, err := roadshowService.CheckCalendar(startDateTime, endDateTime, "2", sysUser.AdminId, 0)
+		calendarCount, err := rs.CheckCalendar(startDateTime, endDateTime, "2", sysUser.AdminId, 0)
 		if err != nil {
 			this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckCalendarResearcherCount!Err:"+err.Error())
 			return
@@ -723,13 +723,13 @@ func (this *CalendarController) MattersAdd() {
 		return
 	}
 	item.RsMattersId = int(id)
-	go roadshowService.MatterToSH(*item)
+	go rs.MatterToSH(*item)
 	this.OkDetailed(nil, "保存成功")
 }
 
 // @Title 修改事项接口
 // @Description 修改事项接口
-// @Param	request	body roadshow.UpdateMattersReq true "type json string"
+// @Param	request	body rs.UpdateMattersReq true "type json string"
 // @Success Ret=200 保存成功
 // @router /matters/update [post]
 func (this *CalendarController) MattersUpdate() {
@@ -839,7 +839,7 @@ func (this *CalendarController) MattersUpdate() {
 			matterItem.EndDate != req.EndDate ||
 			matterItem.EndTime != req.EndTime) {
 
-			matterCount, err := roadshowService.CheckMatters(startDateTime, endDateTime, sysUser.AdminId, matterItem.RsMattersId)
+			matterCount, err := rs.CheckMatters(startDateTime, endDateTime, sysUser.AdminId, matterItem.RsMattersId)
 			if err != nil {
 				this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckMattersCount!Err:"+err.Error())
 				return
@@ -853,7 +853,7 @@ func (this *CalendarController) MattersUpdate() {
 
 	//校验活动时间冲突--待接受
 	{
-		calendarCount, err := roadshowService.CheckCalendar(startDateTime, endDateTime, "1", sysUser.AdminId, 0)
+		calendarCount, err := rs.CheckCalendar(startDateTime, endDateTime, "1", sysUser.AdminId, 0)
 		if err != nil {
 			this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckCalendarResearcherCount!Err:"+err.Error())
 			return
@@ -865,7 +865,7 @@ func (this *CalendarController) MattersUpdate() {
 	}
 	//校验活动时间冲突--待接受
 	{
-		calendarCount, err := roadshowService.CheckCalendar(startDateTime, endDateTime, "2", sysUser.AdminId, 0)
+		calendarCount, err := rs.CheckCalendar(startDateTime, endDateTime, "2", sysUser.AdminId, 0)
 		if err != nil {
 			this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckCalendarResearcherCount!Err:"+err.Error())
 			return
@@ -887,13 +887,13 @@ func (this *CalendarController) MattersUpdate() {
 		this.FailWithMessage("保存失败!", "保存失败!UpdateRsMatters:"+err.Error())
 		return
 	}
-	go roadshowService.UpdateSHCalendarByMatter(req)
+	go rs.UpdateSHCalendarByMatter(req)
 	this.OkDetailed(nil, "保存成功")
 }
 
 // @Title 删除事项接口
 // @Description 删除事项接口
-// @Param	request	body roadshow.DeleteMattersReq true "type json string"
+// @Param	request	body rs.DeleteMattersReq true "type json string"
 // @Success Ret=200 保存成功
 // @router /matters/delete [post]
 func (this *CalendarController) MattersDelete() {
@@ -920,7 +920,7 @@ func (this *CalendarController) MattersDelete() {
 		this.FailWithMessage("保存失败", "保存失败!DeleteRsMatters:"+err.Error())
 		return
 	}
-	go roadshowService.DeleteSHMatter(req.RsMattersId)
+	go rs.DeleteSHMatter(req.RsMattersId)
 	this.OkDetailed(nil, "删除成功")
 }
 
@@ -943,7 +943,7 @@ func getTitle(activityType, roadshowType, activityCategory, roadshowPlatform, pr
 
 // @Title 编辑路演活动接口
 // @Description编辑路演活动接口
-// @Param	request	body roadshow.EditActivityReq true "type json string"
+// @Param	request	body rs.EditActivityReq true "type json string"
 // @Success Ret=200 保存成功
 // @router /edit [post]
 func (this *CalendarController) Edit() {
@@ -1084,7 +1084,7 @@ func (this *CalendarController) Edit() {
 			this.FailWithMessage("研究员异常!", "研究员异常")
 			return
 		}
-		_ = roadshowService.SyncCalendarFromShanghai(researcherInfo.Mobile, v.StartDate, v.EndDate)
+		_ = rs.SyncCalendarFromShanghai(researcherInfo.Mobile, v.StartDate, v.EndDate)
 
 		//校验事项时间冲突
 		{
@@ -1093,7 +1093,7 @@ func (this *CalendarController) Edit() {
 				rsCalendarResearcherItem.EndDate != v.EndDate ||
 				rsCalendarResearcherItem.EndTime != v.EndTime)) {
 
-				matterCount, err := roadshowService.CheckMatters(startDateTime, endDateTime, v.ResearcherId, 0)
+				matterCount, err := rs.CheckMatters(startDateTime, endDateTime, v.ResearcherId, 0)
 				if err != nil {
 					this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckMattersCount!Err:"+err.Error())
 					return
@@ -1111,7 +1111,7 @@ func (this *CalendarController) Edit() {
 				rsCalendarResearcherItem.EndDate != v.EndDate ||
 				rsCalendarResearcherItem.EndTime != v.EndTime)) {
 
-				calendarCount, err := roadshowService.CheckCalendar(startDateTime, endDateTime, "1,2", v.ResearcherId, rsCalendarResearcherId)
+				calendarCount, err := rs.CheckCalendar(startDateTime, endDateTime, "1,2", v.ResearcherId, rsCalendarResearcherId)
 				if err != nil {
 					this.FailWithMessage("时间冲突检测失败!", "时间冲突检测失败-CheckCalendarResearcherCount!Err:"+err.Error())
 					return
@@ -1192,7 +1192,7 @@ func (this *CalendarController) Edit() {
 		return
 	}
 	//newResearcherMap := make(map[int]string)
-	go roadshowService.UpdateSHCalendar(req)
+	go rs.UpdateSHCalendar(req)
 
 	existList, err := roadshow.GetRsCalendarResearcherByCalendarId(req.RsCalendarId)
 	if err != nil {
@@ -1332,7 +1332,7 @@ func (this *CalendarController) Edit() {
 // ResearcherList
 // @Title 研究员列表
 // @Description 研究员列表接口
-// @Success 200 {object} roadshow.ResearcherGroup
+// @Success 200 {object} rs.ResearcherGroup
 // @router /researcher/list [get]
 func (this *CalendarController) ResearcherList() {
 	sysUser := this.AdminWx
@@ -1370,7 +1370,7 @@ func (this *CalendarController) ResearcherList() {
 
 // @Title 撤回路演活动接口
 // @Description 撤回路演活动接口
-// @Param	request	body roadshow.AcceptReq true "type json string"
+// @Param	request	body rs.AcceptReq true "type json string"
 // @Success Ret=200 保存成功
 // @router /back [post]
 func (this *CalendarController) Back() {
@@ -1428,7 +1428,7 @@ func (this *CalendarController) Back() {
 	err = roadshow.UpdateCalendarResearcher(whereParams, updateParams)
 
 	//撤回后,需要删除该日程
-	go roadshowService.DeleteSHCalendar(req.RsCalendarResearcherId)
+	go rs.DeleteSHCalendar(req.RsCalendarResearcherId)
 
 	if err != nil {
 		this.FailWithMessage("保存失败", "保存失败!UpdateCalendarResearcher:"+err.Error())
@@ -1439,7 +1439,7 @@ func (this *CalendarController) Back() {
 
 // @Title 删除路演活动接口
 // @Description 删除路演活动接口
-// @Param	request	body roadshow.DeleteReq true "type json string"
+// @Param	request	body rs.DeleteReq true "type json string"
 // @Success Ret=200 保存成功
 // @router /delete [post]
 func (this *CalendarController) Delete() {
@@ -1499,7 +1499,7 @@ func (this *CalendarController) Delete() {
 	//`status` int(11) DEFAULT '0' COMMENT '1:待接受,2:已接受,3:已拒绝,4:已删除,5:已撤回,6:已结束',
 	//待接受、已接受的情况,需要同步删除上海那边的日程
 	if rsCalendarResearcherItem.Status == 1 || rsCalendarResearcherItem.Status == 2 {
-		go roadshowService.DeleteSHCalendar(rsCalendarResearcherItem.RsCalendarResearcherId)
+		go rs.DeleteSHCalendar(rsCalendarResearcherItem.RsCalendarResearcherId)
 	}
 	//模板消息通知
 	{
@@ -1525,3 +1525,24 @@ func (this *CalendarController) Delete() {
 	}
 	this.OkDetailed(nil, "删除成功")
 }
+
+// ResearcherList
+// @Title 获取报告电话会类型
+// @Description 获取报告电话会类型接口
+// @Success 200 {object} rs.ResearcherGroup
+// @router /activity/type/list [get]
+func (this *CalendarController) ActivityTypeList() {
+	sysUser := this.AdminWx
+	if sysUser == nil {
+		this.FailWithMessage("请登录", "请登录,SysUser Is Empty")
+		return
+	}
+	// 获取所有的分类
+
+	list, err := rs.GetAllActivityType()
+	if err != nil {
+		this.FailWithMessage("获取活动类型列表失败", "获取活动类型列表失败,Err:"+err.Error())
+		return
+	}
+	this.OkDetailed(list, "获取成功")
+}

+ 89 - 0
controllers/roadshow/company.go

@@ -0,0 +1,89 @@
+package roadshow
+
+import (
+	"hongze/hongze_mobile_admin/models/roadshow"
+	"hongze/hongze_mobile_admin/services"
+	"hongze/hongze_mobile_admin/utils"
+	"strconv"
+	"strings"
+)
+
+// @Title 我的日历列表
+// @Description 我的日历列表接口
+// @Param   KeyWord   query   string  true       "搜索关键词"
+// @Success 200 {object} rs.CalendarListResp
+// @router /company/search [get]
+func (this *CalendarController) CompanySearch() {
+	sysUser := this.AdminWx
+	if sysUser == nil {
+		this.FailWithMessage("请登录", "请登录,SysUser Is Empty")
+		return
+	}
+
+	KeyWord := this.GetString("KeyWord")
+	if KeyWord == "" {
+		this.FailWithMessage("请输入搜索词!", "请输入搜索词!")
+		return
+	}
+	list, err := roadshow.CompanySearch(sysUser.AdminId, KeyWord)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		this.FailWithMessage("搜索客户失败!", "搜索客户失败!Err:"+err.Error())
+		return
+	}
+	if list == nil {
+		list = make([]*roadshow.CompanySearchView, 0)
+	}
+	this.OkDetailed(list, "获取成功")
+}
+
+// @Title 我的日历列表
+// @Description 我的日历列表接口
+// @Param   CompanyId   query   int  true       "公司id"
+// @Success 200 {object} rs.CompanyDetailView
+// @router /company/detail [get]
+func (this *CalendarController) CompanyDetail() {
+	sysUser := this.AdminWx
+	if sysUser == nil {
+		this.FailWithMessage("请登录", "请登录,SysUser Is Empty")
+		return
+	}
+	companyId, _ := this.GetInt("CompanyId")
+	if companyId <= 0 {
+		this.FailWithMessage("参数错误!", "参数错误!")
+		return
+	}
+	companyProductItem, err := roadshow.GetCompanyProductByCompanyIdAndProductId(companyId, 1)
+	if err != nil {
+		this.FailWithMessage("搜索客户失败!",  "搜索客户失败!Err:" + err.Error())
+		return
+	}
+	permissionList, err := roadshow.GetCompanyProductReportPermissionList(companyId, 1)
+	if err != nil {
+		this.FailWithMessage("搜索客户权限失败!",  "搜索客户权限失败!Err:" + err.Error())
+		return
+	}
+	var permissionArr []string
+	for _, v := range permissionList {
+		permissionArr = append(permissionArr, v.PermissionName)
+	}
+	readMap, err := services.GetFiccCountUserViewHistoryByCompanyIds(strconv.Itoa(companyId))
+	if err != nil {
+		this.FailWithMessage("获取阅读次数失败!",  "获取阅读次数失败!Err:" + err.Error())
+		return
+	}
+
+	readNum, ok := readMap[companyId]
+	if !ok {
+		readNum = 0
+	}
+
+	detailView := new(roadshow.CompanyDetailView)
+	detailView.CompanyId = companyProductItem.CompanyId
+	detailView.CompanyName = companyProductItem.CompanyName
+	detailView.Status = companyProductItem.Status
+	detailView.IndustryId = companyProductItem.IndustryId
+	detailView.IndustryName = companyProductItem.IndustryName
+	detailView.PermissionName = strings.Join(permissionArr, "/")
+	detailView.ReportReadTotal = readNum //ficc报告-累计阅读次数
+	this.OkDetailed(detailView, "获取成功")
+}

+ 19 - 11
models/roadshow/calendar.go

@@ -250,16 +250,6 @@ type UpdateMattersReq struct {
 	MatterContent string `description:"事项内容"`
 }
 
-type CompanyDetailView struct {
-	CompanyId       int    `orm:"column(company_id);pk"`
-	CompanyName     string `description:"客户名称"`
-	Status          string `description:"客户状态"`
-	IndustryId      int    `description:"行业id"`
-	IndustryName    string `description:"行业名称"`
-	PermissionName  string `description:"开通品种"`
-	ReportReadTotal int    `description:"累计阅读次数"`
-}
-
 type CalendarDetailResp struct {
 	RsCalendarItem           *RsCalendar
 	RsCalendarResearcherItem *RsCalendarResearcher
@@ -501,4 +491,22 @@ func DeleteCalendar(rsCalendarId, rsCalendarResearcherId int) (err error) {
 		}
 	}
 	return err
-}
+}
+
+type ActivityTypeList struct {
+	ActivityTypeId   int                 `description:"活动类型ID"`
+	ActivityTypeName string              `description:"活动类型名称"`
+	Pid              int                 `description:"父级id,默认是:0"`
+	Sort             int                 `description:"排序字段"`
+	FrontIsShow      int8                `description:"是否在前台展示,0:不展示,1:展示"`
+	CreateTime       time.Time           `description:"创建时间"`
+	ChildList        []*ActivityTypeList `description:"下级活动类型列表"`
+}
+
+// GetActivityTypeListByActivityTypePId 根据上级id获取活动分类列表
+func GetActivityTypeListByActivityTypePId(pid int) (list []*ActivityTypeList, err error) {
+	o := orm.NewOrm()
+	sql := `select * from yb_activity_type where pid=? order by sort asc ,activity_type_id asc`
+	_, err = o.Raw(sql, pid).QueryRows(&list)
+	return
+}

+ 113 - 0
models/roadshow/company.go

@@ -0,0 +1,113 @@
+package roadshow
+
+import (
+	"github.com/rdlucklib/rdluck_tools/orm"
+	"time"
+)
+
+type CompanySearchView struct {
+	CompanyId   int    `orm:"column(company_id);pk"`
+	CompanyName string `description:"客户名称"`
+	CreditCode  string `description:"社会统一信用码"`
+	CompanyCode string `description:"客户编码"`
+}
+
+func CompanySearch(sellerId int, keyWord string) (list []*CompanySearchView, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT b.company_id,b.company_name FROM company AS a
+			INNER JOIN company_product AS b ON a.company_id=b.company_id
+			WHERE b.seller_id=?
+			AND b.status IN('正式','试用')
+            AND b.company_name LIKE '%` + keyWord + `%'
+			`
+	sql += ` GROUP BY b.company_id  `
+	_, err = o.Raw(sql, sellerId).QueryRows(&list)
+	return
+}
+
+type CompanyDetailView struct {
+	CompanyId       int    `orm:"column(company_id);pk"`
+	CompanyName     string `description:"客户名称"`
+	Status          string `description:"客户状态"`
+	IndustryId      int    `description:"行业id"`
+	IndustryName    string `description:"行业名称"`
+	PermissionName  string `description:"开通品种"`
+	ReportReadTotal int    `description:"累计阅读次数"`
+}
+
+
+type CompanyProduct struct {
+	CompanyProductId    int       `orm:"column(company_product_id);pk" description:"客户产品id"`
+	CompanyId           int       `description:"客户id"`
+	ProductId           int       `description:"产品id"`
+	ProductName         string    `description:"产品名称"`
+	CompanyName         string    `description:"客户名称"`
+	Source              string    `description:"来源"`
+	Reasons             string    `description:"新增理由"`
+	Status              string    `description:"客户状态"`
+	IndustryId          int       `description:"行业id"`
+	IndustryName        string    `description:"行业名称"`
+	SellerId            int       `description:"销售id"`
+	SellerName          string    `description:"销售名称"`
+	GroupId             int       `description:"销售分组id"`
+	DepartmentId        int       `description:"销售部门id"`
+	IsSuspend           int       `description:"1:暂停,0:启用"`
+	SuspendTime         time.Time `description:"暂停启用时间"`
+	TryOutTime          time.Time `description:"正式转试用时间"`
+	RenewalReason       string    `description:"正式转试用后的续约情况说明"`
+	LastDescriptionTime time.Time `description:"上次添加说明时间"`
+	RenewalIntention    int       `description:"是否勾选无续约意向,1:确认,0:未确认"`
+	ApproveStatus       string    `description:"审批状态:'审批中','通过','驳回'"`
+	FreezeTime          time.Time `description:"冻结时间"`
+	FreezeReason        time.Time `description:"冻结理由"`
+	Remark              string    `description:"备注信息"`
+	CreateTime          time.Time `description:"创建时间"`
+	ModifyTime          time.Time `description:"修改时间"`
+	StartDate           string    `description:"开始日期"`
+	EndDate             string    `description:"结束日期"`
+	ContractEndDate     time.Time `description:"合同结束日期"`
+	LoseReason          string    `description:"流失原因"`
+	LossTime            time.Time `description:"流失时间"`
+	CompanyType         string    `description:"客户类型"`
+	OpenCode            string    `description:"开放给第三方的编码,不让第三方定位我们的客户信息"`
+	ViewTotal           int       `description:"总阅读次数"`
+	LastViewTime        time.Time `description:"最后一次阅读时间"`
+	PackageType         int       `description:"套餐类型"`
+	Scale               string    `description:"管理规模,空不填,1::50亿以下,2:50~100亿,3:100亿以上。"`
+}
+
+func GetCompanyProductByCompanyIdAndProductId(companyId, productId int) (item *CompanyProduct, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT b.* FROM company AS a
+			INNER JOIN company_product AS b ON a.company_id=b.company_id
+			WHERE a.company_id=? AND b.product_id=? LIMIT 1 `
+	err = o.Raw(sql, companyId, productId).QueryRow(&item)
+	return
+}
+
+//客户授权产品结构体(包含产品名称)
+type CompanyReportPermissionAndName struct {
+	CompanyReportPermissionId int `description:"客户授权产品id"`
+	CompanyId                 int
+	ReportPermissionId        int
+	CreatedTime               time.Time
+	LastUpdatedTime           time.Time
+	ChartPermissionId         int
+	StartDate                 string    `description:"权限开始日期"`
+	EndDate                   string    `description:"权限结束日期"`
+	ProductId                 int       `description:"产品id"`
+	ProductName               string    `description:"产品名称"`
+	CompanyContractId         int       `description:"合同id"`
+	PermissionName            string    `description:"客户授权产品的名称"`
+	ClassifyName              string    `description:"客户授权产品的分类名称"`
+	Status                    string    `description:"'正式','试用','关闭'"`
+	ModifyTime                time.Time `description:"修改时间"`
+}
+
+//根据企业用户id和产品id获取所有正式的权限
+func GetCompanyProductReportPermissionList(companyId, productId int) (items []*CompanyReportPermissionAndName, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT a.*,b.permission_name,b.classify_name FROM company_report_permission a left join chart_permission b on a.chart_permission_id=b.chart_permission_id WHERE a.company_id = ? and a.product_id=? `
+	_, err = o.Raw(sql, companyId, productId).QueryRows(&items)
+	return
+}

+ 27 - 0
routers/commentsRouter_controllers.go

@@ -16,6 +16,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: "ActivityTypeList",
+            Router: "/activity/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: "Add",
@@ -52,6 +61,24 @@ 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: "CompanyDetail",
+            Router: "/company/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: "CompanySearch",
+            Router: "/company/search",
+            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: "Delete",

+ 1 - 1
routers/router.go

@@ -76,7 +76,7 @@ func init() {
 				&controllers.ResourceCommon{},
 			),
 		),
-		web.NSNamespace("/roadshow",
+		web.NSNamespace("/rs",
 			web.NSInclude(
 				&roadshow.CalendarController{},
 			),

+ 20 - 2
services/roadshow/calendar.go → services/rs/calendar.go

@@ -1,4 +1,4 @@
-package roadshow
+package rs
 
 import (
 	"encoding/json"
@@ -208,7 +208,7 @@ func CreatSHCalendar(userPhone, toUserPhone, content, startTime, endTime string,
 	token, err := GetAccessToken()
 	finalUrl := utils.CRM_OPEN_API_URL + "/v1/Calendar/create?access_token=" + token
 
-	//creditCode, err := roadshow.GetCreditCodeFromCompany(rsCalendar.CompanyId)
+	//creditCode, err := rs.GetCreditCodeFromCompany(rsCalendar.CompanyId)
 	//if err != nil {
 	//	err = errors.New("GetCreditCodeFromCompany err:" + err.Error())
 	//	return
@@ -798,3 +798,21 @@ func getTitle(activityType, roadshowType, activityCategory, roadshowPlatform, pr
 	}
 	return title
 }
+
+// GetAllActivityType 获取全部的活动分类
+func GetAllActivityType() (list []*roadshow.ActivityTypeList, err error) {
+	list, err = roadshow.GetActivityTypeListByActivityTypePId(0)
+	if err != nil {
+		return
+	}
+
+	for _, v := range list {
+		tmpList, tmpErr := roadshow.GetActivityTypeListByActivityTypePId(v.ActivityTypeId)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		v.ChildList = tmpList
+	}
+	return
+}

+ 1 - 1
services/roadshow/calendar_check.go → services/rs/calendar_check.go

@@ -1,4 +1,4 @@
-package roadshow
+package rs
 
 import "hongze/hongze_mobile_admin/models/roadshow"
 

+ 25 - 25
swagger/swagger.yml

@@ -710,7 +710,7 @@ paths:
   /roadshow/accept:
     post:
       tags:
-      - roadshow
+      - rs
       description: 接受路演活动接口
       parameters:
       - in: body
@@ -718,14 +718,14 @@ paths:
         description: type json string
         required: true
         schema:
-          $ref: '#/definitions/roadshow.AcceptReq'
+          $ref: '#/definitions/rs.AcceptReq'
       responses:
         Ret=200:
           description: 保存成功
   /roadshow/add:
     post:
       tags:
-      - roadshow
+      - rs
       description: 新增路演活动接口
       operationId: CalendarController.新增路演活动接口
       parameters:
@@ -734,14 +734,14 @@ paths:
         description: type json string
         required: true
         schema:
-          $ref: '#/definitions/roadshow.AddActivityReq'
+          $ref: '#/definitions/rs.AddActivityReq'
       responses:
         Ret=200:
           description: 保存成功
   /roadshow/calendar/detail:
     get:
       tags:
-      - roadshow
+      - rs
       description: 日历详情接口
       operationId: CalendarController.日历详情
       parameters:
@@ -761,11 +761,11 @@ paths:
         "200":
           description: ""
           schema:
-            $ref: '#/definitions/roadshow.CalendarDetailResp'
+            $ref: '#/definitions/rs.CalendarDetailResp'
   /roadshow/calendar/list:
     get:
       tags:
-      - roadshow
+      - rs
       description: 我的日历列表接口
       operationId: CalendarController.我的日历列表
       parameters:
@@ -791,11 +791,11 @@ paths:
         "200":
           description: ""
           schema:
-            $ref: '#/definitions/roadshow.CalendarListResp'
+            $ref: '#/definitions/rs.CalendarListResp'
   /roadshow/matters/add:
     post:
       tags:
-      - roadshow
+      - rs
       description: 新增事项接口
       operationId: CalendarController.新增事项接口
       parameters:
@@ -804,14 +804,14 @@ paths:
         description: type json string
         required: true
         schema:
-          $ref: '#/definitions/roadshow.AddMattersReq'
+          $ref: '#/definitions/rs.AddMattersReq'
       responses:
         Ret=200:
           description: 保存成功
   /roadshow/matters/delete:
     post:
       tags:
-      - roadshow
+      - rs
       description: 删除事项接口
       operationId: CalendarController.删除事项接口
       parameters:
@@ -820,14 +820,14 @@ paths:
         description: type json string
         required: true
         schema:
-          $ref: '#/definitions/roadshow.DeleteMattersReq'
+          $ref: '#/definitions/rs.DeleteMattersReq'
       responses:
         Ret=200:
           description: 保存成功
   /roadshow/matters/list:
     get:
       tags:
-      - roadshow
+      - rs
       description: 事项列表接口
       operationId: CalendarController.事项列表
       parameters:
@@ -847,11 +847,11 @@ paths:
         "200":
           description: ""
           schema:
-            $ref: '#/definitions/roadshow.MattersListResp'
+            $ref: '#/definitions/rs.MattersListResp'
   /roadshow/matters/update:
     post:
       tags:
-      - roadshow
+      - rs
       description: 修改事项接口
       operationId: CalendarController.修改事项接口
       parameters:
@@ -860,14 +860,14 @@ paths:
         description: type json string
         required: true
         schema:
-          $ref: '#/definitions/roadshow.UpdateMattersReq'
+          $ref: '#/definitions/rs.UpdateMattersReq'
       responses:
         Ret=200:
           description: 保存成功
   /roadshow/refuse:
     post:
       tags:
-      - roadshow
+      - rs
       description: 拒绝路演活动接口
       operationId: CalendarController.拒绝路演活动接口
       parameters:
@@ -876,7 +876,7 @@ paths:
         description: type json string
         required: true
         schema:
-          $ref: '#/definitions/roadshow.RefuseReq'
+          $ref: '#/definitions/rs.RefuseReq'
       responses:
         Ret=200:
           description: 保存成功
@@ -2565,7 +2565,7 @@ definitions:
       ResearcherList:
         type: array
         items:
-          $ref: '#/definitions/roadshow.CalendarResearcher'
+          $ref: '#/definitions/rs.CalendarResearcher'
       RoadshowPlatform:
         description: 路演平台
         type: string
@@ -2605,11 +2605,11 @@ definitions:
     type: object
     properties:
       CompanyDetail:
-        $ref: '#/definitions/roadshow.CompanyDetailView'
+        $ref: '#/definitions/rs.CompanyDetailView'
       RsCalendarItem:
-        $ref: '#/definitions/roadshow.RsCalendar'
+        $ref: '#/definitions/rs.RsCalendar'
       RsCalendarResearcherItem:
-        $ref: '#/definitions/roadshow.RsCalendarResearcher'
+        $ref: '#/definitions/rs.RsCalendarResearcher'
   roadshow.CalendarListResp:
     title: CalendarListResp
     type: object
@@ -2617,7 +2617,7 @@ definitions:
       List:
         type: array
         items:
-          $ref: '#/definitions/roadshow.CalendarListView'
+          $ref: '#/definitions/rs.CalendarListView'
       Paging:
         $ref: '#/definitions/paging.PagingItem'
   roadshow.CalendarListView:
@@ -2791,7 +2791,7 @@ definitions:
       List:
         type: array
         items:
-          $ref: '#/definitions/roadshow.RsMattersView'
+          $ref: '#/definitions/rs.RsMattersView'
       Paging:
         $ref: '#/definitions/paging.PagingItem'
   roadshow.RefuseReq:
@@ -3354,6 +3354,6 @@ tags:
 - name: resource
   description: |
     资源管理-图片上传,合同上传等
-- name: roadshow
+- name: rs
   description: |
     日历