Browse Source

Merge remote-tracking branch 'origin/master'

ziwen 1 year ago
parent
commit
c6f254a275

+ 8 - 1
controllers/company.go

@@ -2833,8 +2833,15 @@ func (this *CompanyController) Add() {
 			br.ErrMsg = "新增失败,ModifyCompanyUserCompanyId err:" + err.Error()
 			return
 		}
+		//获取联系人详情
+		userInfo, err := models.GetWxUserByUserId(req.UserId)
+		if err != nil {
+			br.Msg = "获取联系人异常!"
+			br.ErrMsg = "获取联系人异常,Err:" + err.Error()
+			return
+		}
 		//添加该联系人 与 当前销售的关系
-		models.AddUserSellerRelation(int64(req.UserId), int(companyId), seller.AdminId, productId, seller.RealName, "", "")
+		models.AddUserSellerRelation(int64(req.UserId), int(companyId), seller.AdminId, productId, seller.RealName, userInfo.Mobile, userInfo.Email)
 	}
 
 	companyProduct := new(company.CompanyProduct)

+ 4 - 4
controllers/cygx/activity.go

@@ -442,6 +442,7 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 			item.IsYidongConduct = req.IsYidongConduct
 			item.IsCanOutboundCall = req.IsCanOutboundCall
 			item.IsNeedEmail = isNeedEmail
+			item.AreaType = req.AreaType
 
 			if len(listImgToText) > 0 {
 				resultTime := utils.StrTimeToTime(item.ActivityTime)                                       //时间字符串格式转时间格式
@@ -821,6 +822,7 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 			cygxService.UpdateActivityResourceData(req.ActivityId)                                             //写入首页最新  cygx_resource_data 表
 			go cygxService.YanXuanActivityPointsBillActivityPublishAndCancel(activityId, AdminUser.AdminId, 1) //活动发布以及取消发布处理研选扣点
 		}
+
 		//如果二次编辑的时候,取消了易董办会选项,那么就对易董发送取消发布到广场的通知
 		if req.IsYidongConduct == 0 {
 			go cygxService.YiDongUpdateActivityStatus(activityId)
@@ -1280,7 +1282,6 @@ func (this *ActivityCoAntroller) PublishAndCancel() {
 		go cygxService.DoActivityOnenIdWxTemplateMsg(activityId)
 		//go cygxService.UpdateResourceData(activityId, "activity", "add", time.Now().Format(utils.FormatDateTime))
 
-		cygxService.UpdateActivityResourceData(activityId) //写入首页最新  cygx_resource_data 表
 	} else {
 		item.PublishStatus = 0
 		item.IsCancel = 1
@@ -1289,7 +1290,6 @@ func (this *ActivityCoAntroller) PublishAndCancel() {
 		go services.SendWxMsgWithCygxActivity(req.ActivityId)
 		//同步活动到最新数据表
 		//go cygxService.UpdateResourceData(req.ActivityId, "activity", "delete", "")
-		cygxService.UpdateActivityResourceData(activityId) //写入首页最新  cygx_resource_data 表
 	}
 	item.ActivityId = req.ActivityId
 	if item.PublishStatus == 1 {
@@ -1316,8 +1316,8 @@ func (this *ActivityCoAntroller) PublishAndCancel() {
 		go cygxService.YiDongUpdateActivityPublish(activityId)
 	}
 	go cygxService.YanXuanActivityPointsBillActivityPublishAndCancel(activityId, AdminUser.AdminId, item.PublishStatus) //活动发布以及取消发布处理研选扣点
-
-	go elastic.AddComprehensiveActivity(activityId) // 同步Es添加活动
+	go elastic.AddComprehensiveActivity(activityId)                                                                     // 同步Es添加活动
+	go cygxService.UpdateActivityResourceData(activityId)                                                               //写入首页最新  cygx_resource_data 表
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"

+ 2 - 2
controllers/cygx/activity_video.go

@@ -493,9 +493,9 @@ func (this *ActivityVideoCoAntroller) ActivityVoiceAndVideoList() {
 	}
 	//类型 1 路演反馈 ,2:调研反馈
 	if searchType == 1 {
-		condition += ` AND art.activity_type_id IN (2,7)   AND  art.is_yidong_conduct = 1 `
+		condition += ` AND v.file_type = 1 `
 	} else if searchType == 2 {
-		condition += ` AND  (	  art.activity_type_id NOT IN (2,7)  OR  art.is_yidong_conduct = 0)  `
+		condition += ` AND v.file_type = 2   `
 	}
 
 	var conditionOrder string

+ 6 - 0
controllers/cygx/report_article.go

@@ -13,6 +13,7 @@ import (
 	"hongze/hz_crm_api/services"
 	cygxService "hongze/hz_crm_api/services/cygx"
 	"hongze/hz_crm_api/utils"
+	"html"
 	"os"
 	"path/filepath"
 	"strconv"
@@ -1002,6 +1003,11 @@ func (this *ReportArticleController) Detail() {
 			articleInfo.ChartPermissionId, _ = strconv.Atoi(chartPermissionIdArr[0])
 		}
 	}
+
+	if articleId < utils.SummaryArticleId {
+		articleInfo.Abstract, _ = cygx.GetReportContentTextSub(articleInfo.Abstract)
+		articleInfo.Body = html.UnescapeString(articleInfo.Body)
+	}
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"

+ 135 - 2
controllers/cygx/tag_management.go

@@ -12,6 +12,8 @@ import (
 	"hongze/hz_crm_api/utils"
 	"os"
 	"path/filepath"
+	"strconv"
+	"strings"
 	"time"
 )
 
@@ -88,6 +90,7 @@ func (this *TagManagementController) TagList() {
 
 // @Title 获取标签列表-自定义顺序
 // @Description 获取标签列表-自定义顺序接口
+// @Param   SearchType   query   string  false       "搜索类型 1:自定义标签 、 2:固定标签 ,-1查询所有 默认-1"
 // @Success 200 {object} cygx.ChartPermissionResp
 // @router /tag/list/custom [get]
 func (this *TagManagementController) TagCustomizeList() {
@@ -104,8 +107,14 @@ func (this *TagManagementController) TagCustomizeList() {
 		br.Ret = 408
 		return
 	}
-
+	searchType, _ := this.GetInt("SearchType", -1)
 	var condition string
+	if searchType == 1 {
+		condition = " AND  tag_type = 0 "
+	}
+	if searchType == 2 {
+		condition = " AND  tag_type > 0 "
+	}
 	list, err := cygx.GetCygxTagList(condition)
 	if err != nil {
 		br.Msg = "获取标签失败"
@@ -320,6 +329,24 @@ func (this *TagManagementController) TagSave() {
 		br.ErrMsg = "标签名为空"
 		return
 	}
+
+	tagName := req.TagName
+	tagId := req.TagId
+	var condition string
+	var pars []interface{}
+	condition = " AND tag_name = ? AND tag_id != ?  "
+	pars = append(pars, tagName, tagId)
+	total, err := cygx.GetCygxTagListCountByCondition(condition, pars)
+	if err != nil {
+		br.Msg = "编辑标签失败"
+		br.ErrMsg = "获取标签总数失败,Err:" + err.Error()
+		return
+	}
+	if total > 0 {
+		br.Msg = "标签名称已存在"
+		br.ErrMsg = "标签名称已存在,TagName:" + tagName
+		return
+	}
 	if req.TagId > 0 {
 		item := cygx.CygxTag{
 			TagId:         int64(req.TagId),
@@ -330,8 +357,18 @@ func (this *TagManagementController) TagSave() {
 			SubjectNames:  req.SubjectNames,
 			ModifyTime:    time.Now(),
 		}
+		detail, err := cygx.GetCygxTagInfoById(req.TagId)
+		if err != nil {
+			br.Msg = "编辑标签失败!"
+			br.ErrMsg = "编辑标签失败,Err:" + err.Error()
+			return
+		}
 
-		err = item.Update([]string{"TagName","ArticleTypes","ActivityTypes","Industries","SubjectNames","ModifyTime"})
+		if detail.TagType > 0 {
+			br.Msg = "固定标签无法编辑!"
+			return
+		}
+		err = item.Update([]string{"TagName", "ArticleTypes", "ActivityTypes", "Industries", "SubjectNames", "ModifyTime"})
 		if err != nil {
 			br.Msg = "编辑标签失败!"
 			br.ErrMsg = "编辑标签失败,Err:" + err.Error()
@@ -509,3 +546,99 @@ func (this *TagManagementController) PvExport() {
 	br.Msg = "获取成功"
 }
 
+// @Title 热门活动
+// @Description 热门活动接口
+// @Param   KeyWord   query   string  false       "搜索关键词"
+// @Success 200 {object} cygx.GetCygxActivityListRep
+// @router /tag/hot_activity/list [get]
+func (this *TagManagementController) TagHotActivityList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+	keyWord := this.GetString("KeyWord")
+	resp := new(cygx.GetCygxActivityListRep)
+	var condition string
+	var pars []interface{}
+	if keyWord == "" {
+		conf, err := cygx.GetCygxConfigDetailByCode(utils.CYGX_TAG_HOT_ACTIVITY_ID)
+		if err != nil {
+			br.Msg = "获取数据失败"
+			br.ErrMsg = "买方研选产品介绍信息失败,Err:" + err.Error()
+			return
+		}
+		if conf.ConfigValue == "" {
+			conf.ConfigValue = "0"
+		}
+		condition += " AND art.activity_id IN  (" + conf.ConfigValue + ") "
+	} else {
+		condition += ` AND art.activity_name LIKE '%` + keyWord + `%'   `
+	}
+	condition += ` AND art.publish_status = 1  AND art.active_state IN (1,2) `
+	list, err := cygx.GetActivityListAll(condition, pars, 0, 1000)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,Err:" + err.Error()
+		return
+	}
+	if len(list) == 0 {
+		list = make([]*cygx.CygxActivityList, 0)
+	}
+	resp.List = list
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}
+
+// @Title 更新热门活动
+// @Description 更新热门活动接口
+// @router /tag/hot_activity/update [post]
+func (this *TagManagementController) TagHotActivityUpdate() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	var req cygx.ActivityIdsResp
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	activityIdList := req.ActivityIds
+	var activityIds []string
+	for _, v := range activityIdList {
+		activityIds = append(activityIds, strconv.Itoa(v))
+	}
+	err = cygx.CygxConfigUpdateByCode(strings.Join(activityIds, ","), utils.CYGX_TAG_HOT_ACTIVITY_ID)
+	if err != nil {
+		br.Msg = "保存失败"
+		br.ErrMsg = "保存失败,Err:" + err.Error()
+		return
+	}
+	br.Ret = 200
+	br.Success = true
+	br.IsAddLog = true
+	br.Msg = "保存成功"
+}

+ 8 - 0
models/cygx/activity.go

@@ -19,6 +19,10 @@ type ActivityIdRep struct {
 	ActivityId int `description:"活动id"`
 }
 
+type ActivityIdsResp struct {
+	ActivityIds []int `description:"活动ID"`
+}
+
 type ActivityList struct {
 	List []*ActivityType
 }
@@ -87,6 +91,7 @@ type ActivityRep struct {
 	ListImgToText           []*AliyunOcrTextActivityResp `description:"识图建会的会议信息列表"`
 	BackgroundImg           string                       `description:"封面图片"`
 	ShareImg                string                       `description:"分享图片"`
+	AreaType                int                          `description:"地区,1国内,2海外,默认1"`
 }
 
 // 活动添加、修改入参
@@ -171,6 +176,7 @@ type ActivityDetail struct {
 	BackgroundImg             string                    `description:"封面图片"`
 	ShareImg                  string                    `description:"分享图片"`
 	TopTime                   int                       `description:"置顶时间"`
+	AreaType                  int                       `description:"地区,1国内,2海外,默认1"`
 }
 
 type ActivityDetailRep struct {
@@ -243,6 +249,7 @@ type CygxActivity struct {
 	ChartPermissionIdDeputy   int       `description:"行业id"`
 	ChartPermissionNameDeputy string    `description:"行业名称"`
 	CancelDeadline            string    `description:"取消报名截止时间"`
+	AreaType                  int       `description:"地区,1国内,2海外,默认1"`
 }
 
 type CygxActivityEditDetail struct {
@@ -415,6 +422,7 @@ func EditActivity(item *CygxActivity, oldPublishStatus int, industrialActivityIt
 	updateParams["ChartPermissionNameDeputy"] = item.ChartPermissionNameDeputy
 	updateParams["ChartPermissionIdDeputy"] = item.ChartPermissionIdDeputy
 	updateParams["CancelDeadline"] = item.CancelDeadline
+	updateParams["AreaType"] = item.AreaType
 	//修改活动信息
 	ptrStructOrTableName := "cygx_activity"
 	whereParam := map[string]interface{}{"activity_id": item.ActivityId}

+ 3 - 0
models/cygx/activity_video.go

@@ -16,6 +16,8 @@ type CygxActivityVideo struct {
 	VideoUrl      string `description:"视频地址"`
 	BackgroundImg string `description:"封面图片"`
 	ShareImg      string `description:"分享图片"`
+	IsByHand      int    `description:"是否手动修改过"`
+	FileType      int    `description:"文件类型,1:路演回放,2:调研反馈"`
 	CreateTime    string `description:"创建时间"`
 }
 
@@ -69,6 +71,7 @@ func UpdateCygxActivityVideo(item *CygxActivityVideo) (err error) {
 	updateParams["VideoUrl"] = item.VideoUrl
 	updateParams["BackgroundImg"] = item.BackgroundImg
 	updateParams["ShareImg"] = item.ShareImg
+	updateParams["FileType"] = item.FileType
 	updateParams["ModifyDate"] = time.Now()
 	ptrStructOrTableName := "cygx_activity_video"
 	whereParam := map[string]interface{}{"activity_id": item.ActivityId}

+ 31 - 0
models/cygx/activity_voice.go

@@ -14,6 +14,8 @@ type CygxActivityVoice struct {
 	VoicePlaySeconds string    `description:"音频时长"`
 	BackgroundImg    string    `description:"封面图片"`
 	ShareImg         string    `description:"分享图片"`
+	IsByHand         int       `description:"是否手动修改过"`
+	FileType         int       `description:"文件类型,1:路演回放,2:调研反馈"`
 	CreateTime       time.Time `description:"创建时间"`
 }
 
@@ -43,6 +45,7 @@ func UpdateCygxActivityVoice(item *CygxActivityVoice) (err error) {
 	updateParams["VoiceUrl"] = item.VoiceUrl
 	updateParams["BackgroundImg"] = item.BackgroundImg
 	updateParams["ShareImg"] = item.ShareImg
+	updateParams["FileType"] = item.FileType
 	ptrStructOrTableName := "cygx_activity_voice"
 	whereParam := map[string]interface{}{"activity_id": item.ActivityId}
 	qs := to.QueryTable(ptrStructOrTableName)
@@ -89,6 +92,26 @@ func GetActivityVoiceList(condition string, pars []interface{}) (items []*CygxAc
 	return
 }
 
+// 列表
+func GetActivityVoiceListNew(condition string, pars []interface{}) (items []*CygxActivityVoice, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := ` SELECT
+	v.*
+FROM
+	cygx_activity_voice as v  
+	INNER JOIN cygx_activity as  a ON a.activity_id = v.activity_id
+WHERE
+	1= 1 
+	AND a.activity_time > '2023-09-22'
+	AND  v.voice_name NOT LIKE '%调研反馈%'
+	AND  v.voice_name NOT LIKE '%【%'  `
+	if condition != "" {
+		sql += condition
+	}
+	_, err = o.Raw(sql, pars).QueryRows(&items)
+	return
+}
+
 func GetCygxActivityVoiceReqDetail(activityId int) (item *CygxActivityVoice, err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT *  FROM cygx_activity_voice  WHERE activity_id= ? `
@@ -111,3 +134,11 @@ func GetCygxActivityVoiceReqDetailByActivityVoiceId(activityVoiceId int) (item *
 	err = o.Raw(sql, activityVoiceId).QueryRow(&item)
 	return
 }
+
+// 根据活动ID获取详情
+func GetCygxActivityVoiceReqDetailByActivityId(activityId int) (item *CygxActivityVoice, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := `SELECT *  FROM cygx_activity_voice  WHERE activity_id= ? `
+	err = o.Raw(sql, activityId).QueryRow(&item)
+	return
+}

+ 1 - 0
models/cygx/askserie_video.go

@@ -27,6 +27,7 @@ type CygxAskserieVideo struct {
 	ModifyDate          time.Time `description:"更新时间"`
 	PublishDate         time.Time `description:"发布时间"`
 	CreateTime          time.Time `description:"创建时间"`
+	ActivityId          int       ` description:"活动ID"`
 }
 
 type AddAskserieVideoReq struct {

+ 8 - 0
models/cygx/config.go

@@ -41,3 +41,11 @@ func GetCygxConfigDetailByCode(code string) (item *CygxConfig, err error) {
 	err = o.Raw(sql, code).QueryRow(&item)
 	return
 }
+
+// 修改
+func CygxConfigUpdateByCode(configValue, newValue string) (err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := `UPDATE cygx_config SET  config_value=?   WHERE config_code= ? `
+	_, err = o.Raw(sql, configValue, newValue).Exec()
+	return
+}

+ 18 - 0
models/cygx/cygx_tag.go

@@ -27,6 +27,14 @@ func AddCygxTag(item *CygxTag) (id int64, err error) {
 	return
 }
 
+// 通过ID获取分类详情
+func GetCygxTagInfoById(tagId int) (item *CygxTagList, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := `SELECT * FROM cygx_tag WHERE tag_id=?`
+	err = o.Raw(sql, tagId).QueryRow(&item)
+	return
+}
+
 func (m *CygxTag) Update(cols []string) (err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")
 	_, err = o.Update(m, cols...)
@@ -48,6 +56,7 @@ type CygxTagList struct {
 	Status        int    `orm:"column(status);NOT NULL"`         // 状态:0-禁用 1-启用
 	Pv            int    `description:"PV"`
 	Uv            int    `description:"UV"`
+	TagType       int    `description:"1:热门活动、2:海外研究、3:路演回放、4:语音问答"`
 }
 
 // 获取tag列表
@@ -76,6 +85,15 @@ func GetCygxTagListCount(cond string) (count int, err error) {
 	return
 }
 
+// 获取tag列表-总数
+func GetCygxTagListCountByCondition(condition string, pars []interface{}) (count int, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := `SELECT COUNT(1) AS count FROM cygx_tag  WHERE 1=1  ` + condition
+
+	err = o.Raw(sql, pars).QueryRow(&count)
+	return
+}
+
 // 获取tag列表-分页
 func GetCygxTagListPage(cond string, startSize, pageSize int) (items []*CygxTagList, err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")

+ 1 - 1
models/data_manage/request/cygx_tag.go

@@ -9,7 +9,7 @@ import (
 type MoveTagReq struct {
 	TagId     int `description:"指标id"`
 	PrevTagId int `description:"上一个节点标签id"`
-	NextTagId  int `description:"下一个节点标签id"`
+	NextTagId int `description:"下一个节点标签id"`
 }
 
 // SaveTagReq 保存标签请求参数

+ 18 - 0
routers/commentsRouter.go

@@ -2788,6 +2788,24 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:TagManagementController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:TagManagementController"],
+        beego.ControllerComments{
+            Method: "TagHotActivityList",
+            Router: `/tag/hot_activity/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:TagManagementController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:TagManagementController"],
+        beego.ControllerComments{
+            Method: "TagHotActivityUpdate",
+            Router: `/tag/hot_activity/update`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:TagManagementController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:TagManagementController"],
         beego.ControllerComments{
             Method: "IndustrialManagementlistByName",

+ 2 - 1
services/cygx/acitvity.go

@@ -827,7 +827,7 @@ func IsShowAppointmentByadminSet(IsCanAppointmentMinutes int) (isShowAppointment
 }
 
 //func init() {
-//	DoActivityOnenIdWxTemplateMsg(2621)
+//	DoActivityOnenIdWxTemplateMsg(2703)
 //}
 
 // 处理活动是否进行模板消息推送
@@ -987,6 +987,7 @@ func DoActivityOnenIdWxTemplateMsg(activityId int) (err error) {
 		}
 		var conditionPer string
 		var parsPer []interface{}
+		companyIdsRecord = append(companyIdsRecord, 0)
 		conditionPer = ` AND r.company_id IN (  ` + utils.GetOrmInReplace(len(companyIdsRecord)) + `) `
 		parsPer = append(parsPer, companyIdsRecord)
 		companyReportPermissionItemList, e := cygx.GetCompanyReportPermissionItem(conditionPer, parsPer)

+ 49 - 0
services/cygx/activity_ocr.go

@@ -175,6 +175,21 @@ func UpdateActivityVideoAndVoice(activityInfo *cygx.ActivityDetail, itemVoice *c
 			err = errors.New("GetCygxActivityVoiceCount" + e.Error())
 			return
 		}
+
+		activityId := itemVoice.ActivityId
+		//获取活动详情
+		activityInfo, e := cygx.GetAddActivityInfoById(activityId)
+		if e != nil {
+			err = errors.New("GetAddActivityInfoById, Err: " + e.Error())
+			return
+		}
+		//易董办会的分析师电话会,为路演回放
+		if (activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 7) && activityInfo.IsYidongConduct == 1 {
+			itemVoice.FileType = 1
+		} else {
+			itemVoice.FileType = 2
+		}
+
 		//如果等于0就新增,反之就修改
 		if total == 0 {
 			newId, e := cygx.AddCygxActivityVoice(itemVoice)
@@ -186,6 +201,16 @@ func UpdateActivityVideoAndVoice(activityInfo *cygx.ActivityDetail, itemVoice *c
 
 			go SendWxMsgWithUpdateActivityVideoAndVoice(activityId, itemVoice.VoiceName) //  已结束的活动上传音频或视频后给已关注这个活动关联的产业的正式、试用 客户发送模板信息
 		} else {
+			//获取音频详情
+			voiceDetail, e := cygx.GetCygxActivityVoiceReqDetailByActivityId(activityId)
+			if e != nil {
+				err = errors.New("GetCygxActivityVoiceReqDetail" + e.Error())
+				return
+			}
+			//手动修改过的,二次编辑,文件类型不变
+			if voiceDetail.IsByHand == 1 {
+				itemVoice.FileType = voiceDetail.FileType
+			}
 			e = cygx.UpdateCygxActivityVoice(itemVoice)
 			if e != nil {
 				err = errors.New("UpdateCygxActivityVoice" + e.Error())
@@ -218,6 +243,19 @@ func UpdateActivityVideoAndVoice(activityInfo *cygx.ActivityDetail, itemVoice *c
 			err = errors.New("GetActivityVideoCount" + e.Error())
 			return
 		}
+		activityId := itemVideo.ActivityId
+		//获取活动详情
+		activityInfo, e := cygx.GetAddActivityInfoById(activityId)
+		if e != nil {
+			err = errors.New("GetAddActivityInfoById, Err: " + e.Error())
+			return
+		}
+		//易董办会的分析师电话会,为路演回放
+		if (activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 7) && activityInfo.IsYidongConduct == 1 {
+			itemVideo.FileType = 1
+		} else {
+			itemVideo.FileType = 2
+		}
 		//视频文件更换阿里云oss地址 避免卡顿
 		var newOssUrl string
 		newOssUrl = strings.Replace(itemVideo.VideoUrl, "https://hzstatic.hzinsights.com", "https://hzchart.oss-accelerate.aliyuncs.com", -1)
@@ -232,6 +270,17 @@ func UpdateActivityVideoAndVoice(activityInfo *cygx.ActivityDetail, itemVoice *c
 			go UpdateActivityVideoResourceData(int(newId))                               //写入首页最新  cygx_resource_data 表
 			go SendWxMsgWithUpdateActivityVideoAndVoice(activityId, itemVideo.VideoName) //  已结束的活动上传音频或视频后给已关注这个活动关联的产业的正式、试用 客户发送模板信息
 		} else {
+			//获取视频详情
+			videoDetail, e := cygx.GetCygxActivityVideoReqDetail(activityId)
+			if e != nil {
+				err = errors.New("GetCygxActivityVideoReqDetail" + e.Error())
+				return
+			}
+			//手动修改过的,二次编辑,文件类型不变
+			if videoDetail.IsByHand == 1 {
+				itemVideo.FileType = videoDetail.FileType
+			}
+
 			e = cygx.UpdateCygxActivityVideo(itemVideo)
 			if e != nil {
 				err = errors.New("UpdateCygxActivityVideo" + e.Error())

+ 4 - 3
services/cygx/askserie_video.go

@@ -77,8 +77,8 @@ func GetCygxAskserieVideoLabelMap(askserieVideoIds []int) (mapResp map[int]strin
 func init12() {
 	var conditionupload string
 	var pars []interface{}
-	conditionupload = " AND  voice_name LIKE '%科技问答%' "
-	listVoice, err := cygx.GetActivityVoiceList(conditionupload, pars)
+	conditionupload = " "
+	listVoice, err := cygx.GetActivityVoiceListNew(conditionupload, pars)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		fmt.Println(err)
 		return
@@ -115,6 +115,7 @@ func init12() {
 			item.PublishStatus = 1
 			item.BackgroundImg = v.BackgroundImg
 			item.ShareImg = v.ShareImg
+			item.ActivityId = v.ActivityId
 			//item.AdminId = sysUser.AdminId
 			item.ModifyDate = time.Now()
 			item.PublishDate = utils.StrTimeToTime(activityInfo.ActivityTime)
@@ -124,7 +125,7 @@ func init12() {
 			fmt.Println(item.ShareImg, "ShareImg")
 			fmt.Println(item.PublishDate, "PublishDate")
 			//fmt.Println(item, strings.Join(industrialManagementIds, ","))
-
+			//continue
 			newId, err := cygx.AddCygxAskserieVideo(item, strings.Join(industrialManagementIds, ","))
 			fmt.Println(newId)
 			if err != nil {

+ 4 - 3
services/cygx/resource_data.go

@@ -26,7 +26,7 @@ import (
 //roadshow
 
 //func init() {
-//	UpdateMicroRoadshowResourceData(1)
+//	UpdateActivityResourceData(2703)
 //}
 
 // 更新活动
@@ -870,7 +870,7 @@ func UpdateActivityVoiceResourceData(sourceId int) {
 		item.SourceId = sourceId
 		item.Source = source
 		//易董办会的分析师电话会,为路演回放
-		if (activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 7) && activityInfo.IsYidongConduct == 1 {
+		if voiceDetail.FileType == 1 {
 			item.SearchTag = "路演回放"
 		} else {
 			item.SearchTag = "调研反馈"
@@ -946,11 +946,12 @@ func UpdateActivityVideoResourceData(sourceId int) {
 		item.SourceId = sourceId
 		item.Source = source
 		//易董办会的分析师电话会,为路演回放
-		if (activityInfo.ActivityTypeId == 2 || activityInfo.ActivityTypeId == 7) && activityInfo.IsYidongConduct == 1 {
+		if videoDetail.FileType == 1 {
 			item.SearchTag = "路演回放"
 		} else {
 			item.SearchTag = "调研反馈"
 		}
+
 		item.PublishDate = publishDate
 		item.ChartPermissionId = activityInfo.ChartPermissionId
 		item.CreateTime = utils.StrDateToDate(activityInfo.ActivityTime)

+ 1 - 0
utils/constants.go

@@ -394,6 +394,7 @@ const (
 	CYGX_LYJH                               string = "路演精华"
 	PERMISSION_ID_UPGRADE                   int    = 100000 //行业权限升级的时候所添加的起步值
 	CYGX_TACTICS_TIME_LINE_STATUS           string = "cygx_tactics_time_line_status"
+	CYGX_TAG_HOT_ACTIVITY_ID                string = "cygx_tag_hot_activity_id"         //标签管理自定义的热门活动ID
 	TEMPLATE_MSG_CYGX_ACTIVITY_LIMIT_PEOPLE int    = 1001                               //查研观向修改活动人数限制之后,对于因为人数已满而失败的用户,推送模板消息 1001
 	YI_DONG_ZHENG_TONG_YUN_TOKEN_KEY        string = "YI_DONG_ZHENG_TONG_YUN_TOKEN_KEY" //易董证通云的token,存Redis使用
 	CYGX_USER_KEY_LABEL                            = "CYGX_USER_KEY_LABEL"              //查研观向用户标签