Browse Source

Merge branch 'master' into CRM_14.7.2

zwxi 1 year ago
parent
commit
b17997dfe5

+ 2 - 0
controllers/cygx/activity.go

@@ -810,6 +810,7 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 				go cygxService.YiDongSaveRoadshowDetail(v)
 				go cygxService.YiDongSaveRoadshowDetail(v)
 				go cygxService.YanXuanActivityPointsBillActivityPublishAndCancel(v, AdminUser.AdminId, 1) //活动发布以及取消发布处理研选扣
 				go cygxService.YanXuanActivityPointsBillActivityPublishAndCancel(v, AdminUser.AdminId, 1) //活动发布以及取消发布处理研选扣
 				go elastic.AddComprehensiveActivity(v)
 				go elastic.AddComprehensiveActivity(v)
+				go cygxService.MakeActivityMomentsImg(v) //生成活动分享到朋友圈的图片
 				//}()
 				//}()
 			}
 			}
 			go cygxService.MakeActivitySigninImg(v)
 			go cygxService.MakeActivitySigninImg(v)
@@ -821,6 +822,7 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 			go cygxService.YanXuanActivityPointsBillActivityPublishAndCancel(activityId, AdminUser.AdminId, 1) //活动发布以及取消发布处理研选扣点
 			go cygxService.YanXuanActivityPointsBillActivityPublishAndCancel(activityId, AdminUser.AdminId, 1) //活动发布以及取消发布处理研选扣点
 		}
 		}
 		cygxService.UpdateActivityResourceData(req.ActivityId) //写入首页最新  cygx_resource_data 表
 		cygxService.UpdateActivityResourceData(req.ActivityId) //写入首页最新  cygx_resource_data 表
+		go cygxService.MakeActivityMomentsImg(req.ActivityId)  //生成活动分享到朋友圈的图片
 		//如果二次编辑的时候,取消了易董办会选项,那么就对易董发送取消发布到广场的通知
 		//如果二次编辑的时候,取消了易董办会选项,那么就对易董发送取消发布到广场的通知
 		if req.IsYidongConduct == 0 {
 		if req.IsYidongConduct == 0 {
 			go cygxService.YiDongUpdateActivityStatus(activityId)
 			go cygxService.YiDongUpdateActivityStatus(activityId)

+ 1 - 1
controllers/cygx/contract_allocation.go

@@ -814,7 +814,7 @@ func (this *ContractAllocationController) CompanyContracUpdate() {
 		itemPermission.AdminName = sysUser.RealName
 		itemPermission.AdminName = sysUser.RealName
 		itemPermission.Proportion = v.Proportion
 		itemPermission.Proportion = v.Proportion
 		itemPermission.Money = v.Money
 		itemPermission.Money = v.Money
-		if v.ChartPermissionName != utils.CHART_PERMISSION_NAME_MF_YANXUAN {
+		if v.ChartPermissionName != utils.YAN_XUAN_KOU_DIAN_BAO_NAME {
 			itemPermission.MoneyAvg = moneyAvg
 			itemPermission.MoneyAvg = moneyAvg
 			if v.Money < moneyAvg/2 {
 			if v.Money < moneyAvg/2 {
 				br.Msg = "单行业占比值不得低于平均值的一半"
 				br.Msg = "单行业占比值不得低于平均值的一半"

+ 1 - 0
controllers/cygx/summary_manage.go

@@ -318,6 +318,7 @@ func (this *SummaryManage) PreserveAndPublish() {
 	}
 	}
 	go elastic.AddComprehensiveArticle(item.ArticleId)       // ES添加文章:报告、纪要
 	go elastic.AddComprehensiveArticle(item.ArticleId)       // ES添加文章:报告、纪要
 	go cygxService.UpdateArticleResourceData(item.ArticleId) //写入首页最新  cygx_resource_data 表
 	go cygxService.UpdateArticleResourceData(item.ArticleId) //写入首页最新  cygx_resource_data 表
+	go cygxService.MakeArticleMomentsImg(item.ArticleId)     //生成文章分享到朋友圈的图片
 	br.Ret = 200
 	br.Ret = 200
 	br.Success = true
 	br.Success = true
 	br.Msg = "操作成功"
 	br.Msg = "操作成功"

+ 139 - 0
controllers/cygx/user_admin_share_history.go

@@ -0,0 +1,139 @@
+package cygx
+
+import (
+	"github.com/rdlucklib/rdluck_tools/paging"
+	"hongze/hz_crm_api/controllers"
+	"hongze/hz_crm_api/models"
+	"hongze/hz_crm_api/models/cygx"
+	"hongze/hz_crm_api/utils"
+	"strconv"
+)
+
+// 分享记录
+type UserAdminShareHistoryController struct {
+	controllers.BaseAuthController
+}
+
+// @Title 分享记录列表
+// @Description 分享记录列表接口
+// @Param   PageSize   query   int  true       "每页数据条数"
+// @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
+// @Param   StartDate   query   string  false       "开始时间 ,列如2021-03-06 "
+// @Param   EndDate   query   string  false       "结束时间,列如2021-03-06 "
+// @Param   AdminId   query   string  false       "销售ID "
+// @Param   KeyWord   query   string  false       "搜索关键词"
+// @Success Ret=200 {object} cygx.GetCygxUserAdminShareHistoryListResp
+// @router /mfyx/admin/share/list [get]
+func (this *UserAdminShareHistoryController) OrderList() {
+	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
+	}
+	resp := new(cygx.GetCygxUserAdminShareHistoryListResp)
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+	startDate := this.GetString("StartDate")
+	endDate := this.GetString("EndDate")
+	adminId := this.GetString("AdminId")
+	keyWord := this.GetString("KeyWord")
+
+	var startSize int
+	if pageSize <= 0 {
+		pageSize = utils.PageSize20
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+	startSize = utils.StartIndex(currentIndex, pageSize)
+	var condition string
+	var pars []interface{}
+
+	if startDate != "" && endDate != "" { //时间范围
+		startDate += " 00:00:00"
+		endDate += " 23:59:59"
+		condition += ` 	AND create_time  BETWEEN ?   AND  ? `
+		pars = append(pars, startDate, endDate)
+	}
+
+	if adminId != "" { //所属销售筛选
+		condition += ` 	AND share_id IN (` + adminId + `) `
+	}
+
+	if keyWord != "" { //用户姓名,手机号
+		keyWord = "%" + keyWord + "%"
+		condition += ` 	AND (mobile LIKE ?  OR  real_name LIKE ? ) `
+		pars = append(pars, keyWord, keyWord)
+	}
+
+	total, err := cygx.GetCygxUserAdminShareHistoryCount(condition, pars)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,Err:" + err.Error()
+		return
+	}
+	condition += "	ORDER BY user_admin_share_history_id  DESC "
+	list, err := cygx.GetCygxUserAdminShareHistoryList(condition, pars, startSize, pageSize)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,Err:" + err.Error()
+		return
+	}
+	var mobiles []string
+	for _, v := range list {
+		mobiles = append(mobiles, v.Mobile)
+	}
+	listUser, err := models.GetWxUserRaiSllerListByUserMobile(mobiles)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		return
+	}
+	//获取用户当前最新的公司信息
+	mapWxUserSller := make(map[string]*models.WxUserSller)
+	for _, v := range listUser {
+		mapWxUserSller[v.Mobile] = v
+	}
+
+	for _, v := range list {
+		switch v.Source {
+		case utils.CYGX_OBJ_ARTICLE: //文章详情
+			v.HttpUrl = utils.CYGX_MFYX_URL + "/material/info/" + strconv.Itoa(v.SourceId)
+		case utils.CYGX_OBJ_ACTIVITY: //活动详情
+			v.HttpUrl = utils.CYGX_MFYX_URL + "/activity/detail/" + strconv.Itoa(v.SourceId)
+		case utils.CYGX_OBJ_YANXUANSPECIAL: //研选专栏
+			v.HttpUrl = utils.CYGX_MFYX_URL + "/column/detail/" + strconv.Itoa(v.SourceId)
+		}
+
+		switch v.RegisterPlatform {
+		case 5:
+			v.RegisterPlatformText = "研选小程序"
+		case 6:
+			v.RegisterPlatformText = "研选网页版"
+		}
+		mapItem := mapWxUserSller[v.Mobile]
+		if mapItem != nil {
+			v.CompanyName = mapItem.CompanyName
+			v.CompanyId = mapItem.CompanyId
+			v.RealName = mapItem.RealName
+		} else {
+			v.RealName = "--"
+			v.CompanyName = "--"
+			v.CompanyId = 1
+		}
+	}
+	page := paging.GetPaging(currentIndex, pageSize, total)
+	resp.Paging = page
+	resp.List = list
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 8 - 0
models/cygx/activity.go

@@ -722,3 +722,11 @@ func UpdateActivityTopTime(activityId, topTime int) (err error) {
 	_, err = o.Raw(sql, topTime, activityId).Exec()
 	_, err = o.Raw(sql, topTime, activityId).Exec()
 	return
 	return
 }
 }
+
+// 添加朋友圈分享封面图片
+func UpdateCygxActivityMomentsImg(momentsImg string, activityId int) (err error) {
+	sql := `UPDATE cygx_activity SET  moments_img=?  WHERE activity_id=? `
+	o := orm.NewOrmUsingDB("hz_cygx")
+	_, err = o.Raw(sql, momentsImg, activityId).Exec()
+	return
+}

+ 10 - 1
models/cygx/summary_manage.go

@@ -131,6 +131,7 @@ type CygxArticleResp struct {
 	SubCategoryName    string    `description:"主题名称"`
 	SubCategoryName    string    `description:"主题名称"`
 	LinkArticleId      int       `description:"报告ID链接"`
 	LinkArticleId      int       `description:"报告ID链接"`
 	NickName           string    `description:"作者昵称"`
 	NickName           string    `description:"作者昵称"`
+	HeadImgUrl         string    `description:"作者头像"`
 	SubjectIds         string    `description:"报告所关联的标的"`
 	SubjectIds         string    `description:"报告所关联的标的"`
 	AdminId            int       `description:"销售/管理员ID"`
 	AdminId            int       `description:"销售/管理员ID"`
 	AdminName          string    `description:"销售/管理员姓名"`
 	AdminName          string    `description:"销售/管理员姓名"`
@@ -205,7 +206,7 @@ func GetArticleIdInfoBySummaryManageId(summaryManageId int) (item *CygxArticleRe
 // 通过文章ID获取文章、以及所关联的标的详情
 // 通过文章ID获取文章、以及所关联的标的详情
 func GetArticleInfoOtherByArticleId(articleId int) (item *CygxArticleResp, err error) {
 func GetArticleInfoOtherByArticleId(articleId int) (item *CygxArticleResp, err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")
 	o := orm.NewOrmUsingDB("hz_cygx")
-	sql := `SELECT art.* ,dm.nick_name  FROM cygx_article as art 
+	sql := `SELECT art.* ,dm.nick_name ,dm.img_url as head_img_url   FROM cygx_article as art 
 			LEFT JOIN cygx_article_department as dm ON dm.department_id = art.department_id  WHERE article_id=? `
 			LEFT JOIN cygx_article_department as dm ON dm.department_id = art.department_id  WHERE article_id=? `
 	err = o.Raw(sql, articleId).QueryRow(&item)
 	err = o.Raw(sql, articleId).QueryRow(&item)
 	return
 	return
@@ -592,3 +593,11 @@ func UpdateArticleTopTime(activityId, topTime int) (err error) {
 	_, err = o.Raw(sql, topTime, activityId).Exec()
 	_, err = o.Raw(sql, topTime, activityId).Exec()
 	return
 	return
 }
 }
+
+// 添加朋友圈分享封面图片
+func UpdateCygxArticleMomentsImg(momentsImg string, articleId int) (err error) {
+	sql := `UPDATE cygx_article SET  moments_img=?  WHERE article_id=? `
+	o := orm.NewOrmUsingDB("hz_cygx")
+	_, err = o.Raw(sql, momentsImg, articleId).Exec()
+	return
+}

+ 76 - 0
models/cygx/user_admin_share_history.go

@@ -0,0 +1,76 @@
+package cygx
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"github.com/rdlucklib/rdluck_tools/paging"
+	"time"
+)
+
+type CygxUserAdminShareHistory struct {
+	UserAdminShareHistoryId int       `orm:"column(user_admin_share_history_id);pk";comment:"主键ID"`
+	Action                  string    `comment:"动作内容"`
+	UserId                  int       `comment:"用户ID"`
+	Mobile                  string    `comment:"手机号"`
+	Email                   string    `comment:"邮箱"`
+	CompanyId               int       `comment:"公司ID"`
+	CompanyName             string    `comment:"公司名称"`
+	RealName                string    `comment:"用户实际名称"`
+	SellerName              string    `comment:"所属销售名称"`
+	SellerId                int       `comment:"所属销售ID"`
+	ShareId                 int       `comment:"分享人ID"`
+	ShareName               string    `comment:"分享人姓名"`
+	Source                  string    `comment:"来源(article, activity, login)"`
+	SourceId                int       `comment:"来源 ID"`
+	SourceTitle             string    `comment:"来源名称,活动或者报告标题"`
+	RegisterPlatform        int       `comment:"注册平台(1: 小程序, 2: 网页)"`
+	CreateTime              time.Time `comment:"创建时间"`
+	ModifyTime              time.Time `comment:"修改时间"`
+}
+
+type CygxUserAdminShareHistoryResp struct {
+	UserAdminShareHistoryId int    `orm:"column(user_admin_share_history_id);pk";comment:"主键ID"`
+	Action                  string `comment:"动作内容"`
+	UserId                  int    `comment:"用户ID"`
+	Mobile                  string `comment:"手机号"`
+	Email                   string `comment:"邮箱"`
+	CompanyId               int    `comment:"公司ID"`
+	CompanyName             string `comment:"公司名称"`
+	RealName                string `comment:"用户实际名称"`
+	ShareId                 int    `comment:"分享人ID"`
+	ShareName               string `comment:"分享人姓名"`
+	Source                  string `comment:"来源(article, activity, login)"`
+	SourceId                int    `comment:"来源 ID"`
+	SourceTitle             string `comment:"来源名称,活动或者报告标题"`
+	RegisterPlatform        int    `comment:"注册平台(1: 小程序, 2: 网页)"`
+	RegisterPlatformText    string `comment:"注册平台(1: 小程序, 2: 网页)"`
+	CreateTime              string `comment:"创建时间"`
+	HttpUrl                 string `comment:"跳转地址"`
+}
+
+type GetCygxUserAdminShareHistoryListResp struct {
+	Paging *paging.PagingItem `description:"分页数据"`
+	List   []*CygxUserAdminShareHistoryResp
+}
+
+// 获取数量
+func GetCygxUserAdminShareHistoryCount(condition string, pars []interface{}) (count int, err error) {
+	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_user_admin_share_history as a WHERE 1= 1  `
+	if condition != "" {
+		sqlCount += condition
+	}
+	o := orm.NewOrmUsingDB("hz_cygx")
+	err = o.Raw(sqlCount, pars).QueryRow(&count)
+	return
+}
+
+// 列表
+func GetCygxUserAdminShareHistoryList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxUserAdminShareHistoryResp, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := `SELECT * FROM cygx_user_admin_share_history as a WHERE 1= 1 `
+	if condition != "" {
+		sql += condition
+	}
+	sql += ` LIMIT ?,?  `
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	return
+}

+ 9 - 0
routers/commentsRouter.go

@@ -2878,6 +2878,15 @@ func init() {
             Filters: nil,
             Filters: nil,
             Params: nil})
             Params: nil})
 
 
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:UserAdminShareHistoryController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:UserAdminShareHistoryController"],
+        beego.ControllerComments{
+            Method: "OrderList",
+            Router: `/mfyx/admin/share/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:UserController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:UserController"],
     beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:UserController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:UserController"],
         beego.ControllerComments{
         beego.ControllerComments{
             Method: "Add",
             Method: "Add",

+ 1 - 0
routers/router.go

@@ -159,6 +159,7 @@ func init() {
 				&cygx.ContractAllocationController{},
 				&cygx.ContractAllocationController{},
 				&cygx.QuestionnaireController{},
 				&cygx.QuestionnaireController{},
 				&cygx.AskserieVideoController{},
 				&cygx.AskserieVideoController{},
+				&cygx.UserAdminShareHistoryController{},
 			),
 			),
 		),
 		),
 		web.NSNamespace("/advisory",
 		web.NSNamespace("/advisory",

+ 77 - 0
services/cygx/activity_poster.go

@@ -328,3 +328,80 @@ func MakeCygxMp4HtmlImg(videoDuration string) (imgUrl string, err error) {
 	imgUrl = res.Data
 	imgUrl = res.Data
 	return
 	return
 }
 }
+
+//func init() {
+//	//MakeActivityMomentsImg(2850)
+//	var condition string
+//	var pars []interface{}
+//	condition = " AND   chart_permission_id  = 31  AND  publish_status   = 1   AND active_state  = 1  ORDER BY  activity_id DESC   "
+//	list, errList := cygx.GetActivityListAll(condition, pars, 0, 9999)
+//	if errList != nil {
+//		fmt.Println(errList)
+//		return
+//	}
+//	fmt.Println("list", len(list))
+//
+//	//return
+//	for _, v := range list {
+//		MakeActivityMomentsImg(v.ActivityId)
+//	}
+//
+//}
+
+// 生成活动分享到朋友圈的图片
+func MakeActivityMomentsImg(activityId int) {
+	var err error
+	//time.Sleep(3*time.Second) // 有时候同时添加多个活动,延迟三秒
+	defer func() {
+		if err != nil {
+			fmt.Println("err:", err)
+			go alarm_msg.SendAlarmMsg("生成活动分享到朋友圈的图片失败,MakeActivityMomentsImg Err:"+err.Error()+"活动ID"+strconv.Itoa(activityId), 3)
+		}
+	}()
+	detail, e := cygx.GetAddActivityInfoById(activityId)
+	if e != nil {
+		err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
+		return
+	}
+
+	// 不是研选活动不生成图片
+	if detail.ChartPermissionId != utils.CHART_PERMISSION_ID_YANXUAN {
+		return
+	}
+	var configCode string
+	if detail.IsResearchPoints == 1 {
+		configCode = "activity_moments_img_points_html" // 扣点活动
+	} else {
+		configCode = "activity_moments_img_html" // 非扣点活动
+	}
+
+	detailConfig, e := cygx.GetCygxConfigDetailByCode(configCode)
+	if e != nil {
+		err = errors.New("GetCygxConfigDetailByCode 获取生成活动分享到朋友圈的图片格式信息失败, Err: " + e.Error())
+		return
+	}
+	configValue := detailConfig.ConfigValue
+	configValue = strings.Replace(configValue, "{{Title}}", detail.ActivityName, -1)
+	configValue = strings.Replace(configValue, "{{ActivityTypeName}}", detail.ActivityTypeName, -1)
+	configValue = strings.Replace(configValue, "{{Label}}", detail.Label, -1)
+	configValue = strings.Replace(configValue, "{{ActivityTimeText}}", detail.ActivityTimeText, -1)
+	htm2ImgReq := make(map[string]interface{})
+	htm2ImgReq["html_content"] = configValue
+	htm2ImgReq["width"] = 2250
+	htm2ImgReq["height"] = 3813
+	res, err := postHtml2Img(htm2ImgReq)
+	if err != nil || res == nil {
+		err = errors.New("html转图片失败: " + res.Msg)
+		return
+	}
+	if res.Code != 200 {
+		err = errors.New("html转图片失败: " + res.Msg)
+		return
+	}
+	imgUrl := res.Data
+	// 记录海报信息
+	err = cygx.UpdateCygxActivityMomentsImg(imgUrl, activityId)
+	if err != nil {
+		return
+	}
+}

+ 70 - 0
services/cygx/research_summary.go

@@ -1,6 +1,7 @@
 package cygx
 package cygx
 
 
 import (
 import (
+	"errors"
 	"fmt"
 	"fmt"
 	"hongze/hz_crm_api/models"
 	"hongze/hz_crm_api/models"
 	"hongze/hz_crm_api/models/cygx"
 	"hongze/hz_crm_api/models/cygx"
@@ -583,3 +584,72 @@ func DoXzsChooseSend(chartPermissionName string) string {
 	}
 	}
 	return allIn
 	return allIn
 }
 }
+
+//func init() {
+//	//MakeArticleMomentsImg(1000408)
+//	var condition string
+//	var pars []interface{}
+//	condition = " AND   article_type_id  > 0   AND  publish_status   = 1   ORDER BY  article_id  DESC "
+//	list, errList := cygx.GetCygxArticleList(condition, pars, 0, 999)
+//	if errList != nil {
+//		fmt.Println(errList)
+//		return
+//	}
+//	fmt.Println("list", len(list))
+//	//return
+//	for k, v := range list {
+//		fmt.Println(k)
+//		MakeArticleMomentsImg(v.ArticleId)
+//	}
+//}
+
+// 生成文章分享到朋友圈的图片
+func MakeArticleMomentsImg(articleId int) {
+	var err error
+	//time.Sleep(3*time.Second) // 有时候同时添加多个活动,延迟三秒
+	defer func() {
+		if err != nil {
+			fmt.Println("err:", err)
+			go alarm_msg.SendAlarmMsg("生成文章分享到朋友圈的图片,MakeArticleMomentsImg Err:"+err.Error()+"文章ID"+strconv.Itoa(articleId), 3)
+		}
+	}()
+	articleInfo, e := cygx.GetArticleInfoOtherByArticleId(articleId)
+	if e != nil {
+		err = errors.New("GetArticleInfoOtherByArticleId, Err: " + e.Error())
+		return
+	}
+
+	configCode := "article_moments_img_html"
+	detailConfig, e := cygx.GetCygxConfigDetailByCode(configCode)
+	if e != nil {
+		err = errors.New("GetCygxConfigDetailByCode 获取生成文章分享到朋友圈的图片格式信息失败, Err: " + e.Error())
+		return
+	}
+	configValue := detailConfig.ConfigValue
+	configValue = strings.Replace(configValue, "{{Title}}", articleInfo.Title, -1)
+	configValue = strings.Replace(configValue, "{{HeadImgUrl}}", articleInfo.HeadImgUrl, -1)
+	configValue = strings.Replace(configValue, "{{NickName}}", articleInfo.NickName, -1)
+	configValue = strings.Replace(configValue, "{{PublishDate}}", articleInfo.PublishDate.Format(utils.FormatDateTime), -1)
+	configValue = strings.Replace(configValue, "{{Abstract}}", articleInfo.Abstract, -1)
+	configValue = strings.Replace(configValue, "{{BodyText}}", articleInfo.BodyText, -1)
+
+	htm2ImgReq := make(map[string]interface{})
+	htm2ImgReq["html_content"] = configValue
+	htm2ImgReq["width"] = 2250
+	htm2ImgReq["height"] = 3813
+	res, err := postHtml2Img(htm2ImgReq)
+	if err != nil || res == nil {
+		err = errors.New("html转图片失败: " + res.Msg)
+		return
+	}
+	if res.Code != 200 {
+		err = errors.New("html转图片失败: " + res.Msg)
+		return
+	}
+	imgUrl := res.Data
+	//fmt.Println(imgUrl)
+	// 记录海报信息
+	err = cygx.UpdateCygxArticleMomentsImg(imgUrl, articleId)
+	return
+
+}

+ 3 - 0
utils/config.go

@@ -62,6 +62,7 @@ var (
 	WxMsgTemplateIdWithRoadshowDetailResult  string //路演->销售收到处理结果
 	WxMsgTemplateIdWithRoadshowDetailResult  string //路演->销售收到处理结果
 	WxMsgTemplateIdWithRoadshowDeleteNotice  string //路演->研究员收到活动删除通知
 	WxMsgTemplateIdWithRoadshowDeleteNotice  string //路演->研究员收到活动删除通知
 	CYGX_WEB_URL                             string //查研观向web端网址
 	CYGX_WEB_URL                             string //查研观向web端网址
+	CYGX_MFYX_URL                            string //查研观向web端网址
 
 
 	WxMsgTemplateIdWithYbCommunityQuestion string // 研报小程序->问答社区回复通知
 	WxMsgTemplateIdWithYbCommunityQuestion string // 研报小程序->问答社区回复通知
 	WxMsgTemplateIdWithSealApplyFinished   string // 用印申请-已签回通知
 	WxMsgTemplateIdWithSealApplyFinished   string // 用印申请-已签回通知
@@ -246,6 +247,7 @@ ZwIDAQAB
 		IndexNameArticleHistory = "cygx_article_history_v07_08"
 		IndexNameArticleHistory = "cygx_article_history_v07_08"
 		IndexNameComprehensive = "cygx_comprehensive"
 		IndexNameComprehensive = "cygx_comprehensive"
 		CYGX_WEB_URL = "https://web.hzinsights.com"
 		CYGX_WEB_URL = "https://web.hzinsights.com"
+		CYGX_MFYX_URL = "https://www.research-select.com"
 		TemplateCompanyApplyRedirectUrl = "https://ficc.hzinsights.com/approval/approval/list"
 		TemplateCompanyApplyRedirectUrl = "https://ficc.hzinsights.com/approval/approval/list"
 
 
 		//同花顺正式地址
 		//同花顺正式地址
@@ -286,6 +288,7 @@ ZwIDAQAB
 		IndexNameArticleHistory = "cygx_article_history_v1"
 		IndexNameArticleHistory = "cygx_article_history_v1"
 		IndexNameComprehensive = "cygx_comprehensive_test"
 		IndexNameComprehensive = "cygx_comprehensive_test"
 		CYGX_WEB_URL = "https://clpttest.hzinsights.com"
 		CYGX_WEB_URL = "https://clpttest.hzinsights.com"
+		CYGX_MFYX_URL = "http://test.research-select.com"
 
 
 		//同花顺测试地址
 		//同花顺测试地址
 		THS_SendUrl = `https://mtest.10jqka.com.cn/gateway/ps/syncNews`
 		THS_SendUrl = `https://mtest.10jqka.com.cn/gateway/ps/syncNews`