Browse Source

no message

xingzai 8 months ago
parent
commit
eda2d9a813

+ 39 - 7
controllers/cygx/rai_serve.go

@@ -7,6 +7,7 @@ import (
 	"hongze/hz_crm_api/models"
 	"hongze/hz_crm_api/models/cygx"
 	"hongze/hz_crm_api/utils"
+	"strconv"
 	"strings"
 )
 
@@ -138,21 +139,29 @@ func (this *RaiServeCoAntroller) SearchTagCalendar() {
 		return
 	}
 	researcherId := this.GetString("ResearcherId")
-	resp := new(cygx.RaiServeTagListResp)
-	list, err := cygx.GetRaiServeSearchTagRespList(keyWord)
+	askEmailList, err := cygx.GetAskEmailListByAdminIds(researcherId)
 	if err != nil {
 		br.Msg = "获取失败"
-		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		br.ErrMsg = "GetAskEmailCountByCelue,Err:" + err.Error()
 		return
 	}
-	//如果有固收或者策略就去查询行业表
-	if strings.Contains("固收", keyWord) || strings.Contains("策略", keyWord) {
+
+	var hasCelue bool
+	var permissionName []string
+	for _, v := range askEmailList {
+		permissionName = append(permissionName, v.ChartPermissionName)
+		if v.ChartPermissionName == "策略" {
+			hasCelue = true
+		}
+	}
+	var list []*cygx.RaiServeTagResp
+	resp := new(cygx.RaiServeTagListResp)
+	if hasCelue {
 		var condition string
 		var pars []interface{}
 		keyWord = "%" + keyWord + "%"
-		condition = ` AND  product_id  = 2 AND  permission_name  IN ('策略','固收')   AND permission_name LIKE ?  `
+		condition = ` AND  product_id  = 2 AND  permission_name  IN ('策略')   AND permission_name LIKE ?  `
 		pars = append(pars, keyWord)
-
 		listChartPermission, err := models.GetChartPermissionListByCondition(condition, pars)
 		if err != nil {
 			br.Msg = "获取失败"
@@ -166,7 +175,30 @@ func (this *RaiServeCoAntroller) SearchTagCalendar() {
 			item.TagName = v.PermissionName
 			list = append(list, item)
 		}
+	} else {
+		var permissionNameSql []string
+		for _, v := range permissionName {
+			permissionNameSql = append(permissionNameSql, "'"+v+"'")
+		}
+		chartList, err := models.GetChartPermissionByNames(permissionNameSql)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取数据失败,GetChartPermissionByNames Err:" + err.Error()
+			return
+		}
+
+		var permissionId []string
+		for _, v := range chartList {
+			permissionId = append(permissionId, strconv.Itoa(v.ChartPermissionId))
+		}
+		list, err = cygx.GetRaiServeSearchTagRespListBycharId(keyWord, strings.Join(permissionId, ","))
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取数据失败,GetRaiServeSearchTagRespListBycharId Err:" + err.Error()
+			return
+		}
 	}
+
 	if len(list) == 0 {
 		list = make([]*cygx.RaiServeTagResp, 0)
 	} else {

+ 75 - 0
controllers/roadshow/calendar_meeting_user.go

@@ -4,6 +4,7 @@ import (
 	"encoding/json"
 	"hongze/hz_crm_api/controllers"
 	"hongze/hz_crm_api/models"
+	"hongze/hz_crm_api/models/cygx"
 	"hongze/hz_crm_api/models/roadshow"
 	"strconv"
 	"strings"
@@ -45,6 +46,38 @@ func (this *CalendarMeetingUserController) Add() {
 
 	rsCalendarId := req.RsCalendarId
 	userIds := req.UserId
+	tagId := req.TagId
+	tagType := req.TagType
+
+	totalGroup, err := roadshow.GetRsCalendarMeetingLabelGroupByRsCalendarId(rsCalendarId)
+	if err != nil {
+		br.Msg = "获取信息失败!"
+		br.ErrMsg = "获取用户信息失败-GetRsCalendarMeetingLabelGroupByRsCalendarId!Err:" + err.Error()
+		return
+	}
+	itemGroup := new(roadshow.RsCalendarMeetingLabelGroup)
+	itemGroup.RsCalendarId = rsCalendarId
+	itemGroup.TagType = tagType
+	itemGroup.TagId = tagId
+	itemGroup.AdminId = sysUser.AdminId
+	itemGroup.AdminName = sysUser.RealName
+	itemGroup.CreateTime = time.Now()
+	itemGroup.ModifyTime = time.Now()
+	if totalGroup == 0 {
+		err = roadshow.AddRsCalendarMeetingLabelGroup(itemGroup)
+		if err != nil {
+			br.Msg = "获取信息失败!"
+			br.ErrMsg = "获取信息失败-AddRsCalendarMeetingLabelGroup!Err:" + err.Error()
+			return
+		}
+	} else {
+		err = roadshow.UpdateProductInterior(itemGroup)
+		if err != nil {
+			br.Msg = "获取信息失败!"
+			br.ErrMsg = "获取信息失败-UpdateProductInterior!Err:" + err.Error()
+			return
+		}
+	}
 
 	if rsCalendarId == 0 {
 		br.Msg = "路演信息错误!"
@@ -123,10 +156,52 @@ func (this *CalendarMeetingUserController) List() {
 		br.ErrMsg = "操作失败-GetRsCalendarMeetingUserListByRsCalendarId!Err:" + err.Error()
 		return
 	}
+	totalGroup, err := roadshow.GetRsCalendarMeetingLabelGroupByRsCalendarId(rsCalendarId)
+	if err != nil {
+		br.Msg = "获取信息失败!"
+		br.ErrMsg = "获取用户信息失败-GetRsCalendarMeetingLabelGroupByRsCalendarId!Err:" + err.Error()
+		return
+	}
+
+	var lebelDetail cygx.RaiServeTagResp
+	if totalGroup > 0 {
+		groupDetail, err := roadshow.GetRsCalendarMeetingLabelGroupDetailByRsCalendarId(rsCalendarId)
+		if err != nil {
+			br.Msg = "获取信息失败!"
+			br.ErrMsg = "获取用户信息失败-GetRsCalendarMeetingLabelGroupByRsCalendarId!Err:" + err.Error()
+			return
+		}
+		tagId := groupDetail.TagId
+		tagType := groupDetail.TagType
+		lebelDetail.TagId = tagId
+		lebelDetail.TagType = tagType
+		switch tagType {
+		case 1:
+			detail, err := cygx.GetIndustrialManagemenDetailById(tagId)
+			if err != nil {
+				br.Msg = "获取信息失败"
+				br.ErrMsg = "获取品种信息失败,GetIndustrialManagemenDetailById Err:" + err.Error()
+				return
+			}
+			lebelDetail.TagName = detail.IndustryName
+		case 2:
+			detail, err := cygx.GetIndustrialSubjectDetailById(tagId)
+			if err != nil {
+				br.Msg = "获取信息失败"
+				br.ErrMsg = "获取品种信息失败,GetIndustrialSubjectDetailById Err:" + err.Error()
+				return
+			}
+			lebelDetail.TagName = detail.SubjectName
+		default:
+			lebelDetail.TagName = "策略" // 默认策略
+		}
+
+	}
 	if len(list) == 0 {
 		list = make([]*roadshow.RsCalendarMeetingUserResp, 0)
 	}
 	resp.List = list
+	resp.LebelDetail = lebelDetail
 	br.Ret = 200
 	br.Success = true
 	br.Data = resp

+ 8 - 1
models/cygx/activity_ask_email.go

@@ -24,7 +24,14 @@ func GetAskEmail() (item []*AskEmailRep, err error) {
 func GetAskEmailCountByCelue(adminId string) (count int, err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")
 	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_activity_ask_email  WHERE chart_permission_name  = '策略'  AND admin_id IN (` + adminId + `)  `
-	err = o.Raw(sqlCount, adminId).QueryRow(&count)
+	err = o.Raw(sqlCount).QueryRow(&count)
+	return
+}
+
+func GetAskEmailListByAdminIds(adminId string) (item []*AskEmailRep, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := `SELECT * FROM cygx_activity_ask_email WHERE    chart_permission_name != ''  AND admin_id IN (` + adminId + `)  `
+	_, err = o.Raw(sql).QueryRows(&item)
 	return
 }
 

+ 31 - 0
models/cygx/rai_serve_bill.go

@@ -77,6 +77,37 @@ func GetRaiServeSearchTagRespList(keywords string) (items []*RaiServeTagResp, er
 	return
 }
 
+func GetRaiServeSearchTagRespListBycharId(keywords, charIds string) (items []*RaiServeTagResp, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := `SELECT
+			1 AS tag_type,
+			i.industrial_management_id AS tag_id,
+			i.industry_name AS tag_name,
+			i.create_time 
+		FROM
+			cygx_industrial_management AS i 
+		WHERE
+			1 = 1 
+			AND i.chart_permission_id IN ( 19, 20, 21, 22 ) 
+			AND i.industry_name LIKE '%` + keywords + `%' UNION ALL
+		SELECT
+			2 AS tag_type,
+			s.industrial_subject_id AS tag_id,
+			s.subject_name AS tag_name,
+			s.create_time 
+		FROM
+			cygx_industrial_subject AS s
+			INNER JOIN cygx_industrial_management AS i ON i.industrial_management_id = s.industrial_management_id 
+		WHERE
+			1 = 1 
+			AND i.chart_permission_id IN ( 19, 20, 21, 22 ) 
+			AND s.subject_name LIKE  '%` + keywords + `%'
+		ORDER BY
+			create_time ASC `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
 // 权益服务明细表
 type CygxRaiServeBillResp struct {
 	Content       string  `comment:"服务内容说明"`

+ 7 - 6
models/db.go

@@ -378,12 +378,13 @@ func initYb() {
 func initRoadShow() {
 	//注册对象
 	orm.RegisterModel(
-		new(roadshow.RsCalendar),            //路演主表
-		new(roadshow.RsCalendarResearcher),  //路演研究员信息表
-		new(roadshow.RsMatters),             //公开会议表
-		new(roadshow.RsCalendarRelation),    //路演关系表(与上海的路演日历关系)
-		new(roadshow.RsReportRecord),        //路演统计表
-		new(roadshow.RsCalendarMeetingUser), //路演参会名单表
+		new(roadshow.RsCalendar),                  //路演主表
+		new(roadshow.RsCalendarResearcher),        //路演研究员信息表
+		new(roadshow.RsMatters),                   //公开会议表
+		new(roadshow.RsCalendarRelation),          //路演关系表(与上海的路演日历关系)
+		new(roadshow.RsReportRecord),              //路演统计表
+		new(roadshow.RsCalendarMeetingUser),       //路演参会名单表
+		new(roadshow.RsCalendarMeetingLabelGroup), //路演参会名单关联的标签表
 	)
 }
 

+ 59 - 0
models/roadshow/rs_calendar_meeting_label_group.go

@@ -0,0 +1,59 @@
+package roadshow
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type RsCalendarMeetingLabelGroup struct {
+	LabelId      int       `orm:"column(label_id);pk" description:"主键ID"`
+	RsCalendarId int       `description:"路演ID"`
+	CreateTime   time.Time `description:"创建时间"`
+	ModifyTime   time.Time `description:"修改时间"`
+	AdminId      int       `description:"管理员ID"`
+	AdminName    string    `description:"管理员姓名"`
+	TagType      int       `description:"标签类型,1产业,2标的,3行业权限"`
+	TagId        int       `description:"标签ID"`
+}
+
+// 新增
+func AddRsCalendarMeetingLabelGroup(item *RsCalendarMeetingLabelGroup) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Insert(item)
+	return
+}
+
+// 获取数量
+func GetRsCalendarMeetingLabelGroupByRsCalendarId(rsCalendarId int) (count int, err error) {
+	o := orm.NewOrm()
+	sqlCount := ` SELECT COUNT(1) AS count  FROM rs_calendar_meeting_label_group WHERE   rs_calendar_id   = ?`
+	err = o.Raw(sqlCount, rsCalendarId).QueryRow(&count)
+	return
+}
+
+// 获取详情
+func GetRsCalendarMeetingLabelGroupDetailByRsCalendarId(rsCalendarId int) (item *RsCalendarMeetingLabelGroup, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT *  FROM rs_calendar_meeting_label_group WHERE   rs_calendar_id   = ?`
+	err = o.Raw(sql, rsCalendarId).QueryRow(&item)
+	return
+}
+
+// 修改
+func UpdateProductInterior(item *RsCalendarMeetingLabelGroup) (err error) {
+	o := orm.NewOrm()
+	updateParams := make(map[string]interface{})
+	updateParams["AdminId"] = item.AdminId
+	updateParams["AdminName"] = item.AdminName
+	updateParams["TagType"] = item.TagType
+	updateParams["TagId"] = item.TagId
+	updateParams["ModifyTime"] = item.ModifyTime
+	ptrStructOrTableName := "rs_calendar_meeting_label_group"
+	whereParam := map[string]interface{}{"rs_calendar_id": item.RsCalendarId}
+	qs := o.QueryTable(ptrStructOrTableName)
+	for expr, exprV := range whereParam {
+		qs = qs.Filter(expr, exprV)
+	}
+	_, err = qs.Update(updateParams)
+	return
+}

+ 5 - 1
models/roadshow/rs_calendar_meeting_user.go

@@ -2,6 +2,7 @@ package roadshow
 
 import (
 	"github.com/beego/beego/v2/client/orm"
+	"hongze/hz_crm_api/models/cygx"
 	"hongze/hz_crm_api/utils"
 	"strconv"
 	"time"
@@ -9,6 +10,8 @@ import (
 
 type AddRsCalendarMeetingUserReq struct {
 	RsCalendarId int   `description:"日程ID"`
+	TagType      int   `description:"标签类型"`
+	TagId        int   `description:"标签ID"`
 	UserId       []int // 用户ID
 }
 
@@ -39,7 +42,8 @@ type DeleteRsCalendarMeetingUserReq struct {
 }
 
 type RsCalendarMeetingUserListResp struct {
-	List []*RsCalendarMeetingUserResp
+	List        []*RsCalendarMeetingUserResp
+	LebelDetail cygx.RaiServeTagResp
 }
 
 // MultiAddRsCalendarMeetingUser 批量添加RsCalendarMeetingUser

+ 9 - 0
routers/commentsRouter.go

@@ -2329,6 +2329,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:RaiServeCoAntroller"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:RaiServeCoAntroller"],
+        beego.ControllerComments{
+            Method: "SearchTagCalendar",
+            Router: `/rai_serve/search_tag_by_calendar`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:RaiServeCoAntroller"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:RaiServeCoAntroller"],
         beego.ControllerComments{
             Method: "TypeList",