فهرست منبع

策略报告详情

xingzai 3 سال پیش
والد
کامیت
a6422424f2
5فایلهای تغییر یافته به همراه101 افزوده شده و 10 حذف شده
  1. 7 0
      controllers/article.go
  2. 17 8
      controllers/tactics.go
  3. 29 0
      models/article.go
  4. 2 2
      models/company.go
  5. 46 0
      models/report_history_record.go

+ 7 - 0
controllers/article.go

@@ -148,6 +148,13 @@ func (this *ArticleController) Detail() {
 			detail.SellerMobile = sellerItem.Mobile
 			detail.SellerName = sellerItem.RealName
 		}
+		sellerList, err := models.GetSellerList(articleId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取销售数据失败,Err:" + err.Error() + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
+			return
+		}
+		detail.SellerList = sellerList
 	} else { //潜在客户
 		if applyCount > 0 {
 			hasPermission = 5

+ 17 - 8
controllers/tactics.go

@@ -86,7 +86,8 @@ func (this *TacticsController) List() {
 	for i := 0; i < lenList; i++ {
 		item := list[i]
 		list[i].Body, _ = services.GetReportContentTextSub(item.Body)
-		list[i].Abstract = html.UnescapeString(item.Abstract)
+		//list[i].Abstract = html.UnescapeString(item.Abstract)
+		list[i].Abstract, _ = services.GetReportContentTextSub(item.Abstract)
 	}
 	resp.List = list
 	resp.Paging = page
@@ -132,7 +133,7 @@ func (this *TacticsController) Detail() {
 		br.ErrMsg = "判断是否已申请过试用失败,Err:" + err.Error()
 		return
 	}
-
+	fmt.Println(user.CompanyId)
 	//`description:"1:有该行业权限,正常展示,2:无该行业权限,不存在权益客户下,3:无该品类权限,4:潜在客户,未提交过申请,5:潜在客户,已提交过申请"`
 	if user.CompanyId > 1 {
 		companyPermission, err := models.GetCompanyPermission(user.CompanyId)
@@ -141,7 +142,6 @@ func (this *TacticsController) Detail() {
 			br.ErrMsg = "判断是否已申请访谈失败,Err:" + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
 			return
 		}
-
 		detail, err = models.GetArticleDetailById(articleId)
 		if err != nil {
 			br.Msg = "获取信息失败"
@@ -151,7 +151,8 @@ func (this *TacticsController) Detail() {
 		fmt.Println(detail.Department)
 
 		detail.Body = html.UnescapeString(detail.Body)
-		detail.Abstract = html.UnescapeString(detail.Abstract)
+		//detail.Abstract = html.UnescapeString(detail.Abstract)
+		detail.Abstract, _ = services.GetReportContentTextSub(detail.Abstract)
 		if companyPermission == "" {
 			if applyCount > 0 {
 				hasPermission = 5
@@ -162,7 +163,7 @@ func (this *TacticsController) Detail() {
 			goto Loop
 		} else {
 			hasFree = 1
-			articlePermission, err := models.GetArticlePermission(detail.SubCategoryName)
+			articlePermission, err := models.GetReportPermission(detail.SubCategoryName)
 			if err != nil {
 				br.Msg = "获取信息失败"
 				br.ErrMsg = "获取报告权限失败,Err:" + err.Error() + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
@@ -170,10 +171,11 @@ func (this *TacticsController) Detail() {
 			}
 			if articlePermission == nil {
 				br.Msg = "获取信息失败"
-				br.ErrMsg = "报告权限不存在,Err:" + err.Error() + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
+				br.ErrMsg = "报告权限不存在,Err:" + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
 				return
 			}
 			for _, p := range articlePermission {
+				fmt.Println(p)
 				if strings.Contains(companyPermission, p.PermissionName) {
 					hasPermission = 1
 					historyRecord := new(models.CygxArticleHistoryRecord)
@@ -205,7 +207,7 @@ func (this *TacticsController) Detail() {
 		interviewApplyItem, err := models.GetArticleInterviewApply(uid, articleId)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取信息失败"
-			br.ErrMsg = "判断是否已申请访谈失败,Err:" + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
+			br.ErrMsg = "判断是否已申请访谈失败,Err:" + err.Error() + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
 			return
 		}
 
@@ -217,13 +219,20 @@ func (this *TacticsController) Detail() {
 		sellerItem, err := models.GetSellerByCompanyId(user.CompanyId)
 		if err != nil {
 			br.Msg = "获取信息失败"
-			br.ErrMsg = "获取销售数据失败,Err:" + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
+			br.ErrMsg = "获取销售数据失败,Err:" + err.Error() + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
 			return
 		}
 		if sellerItem != nil {
 			detail.SellerMobile = sellerItem.Mobile
 			detail.SellerName = sellerItem.RealName
 		}
+		sellerList, err := models.GetSellerList(articleId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取销售数据失败,Err:" + err.Error() + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
+			return
+		}
+		detail.SellerList = sellerList
 	} else { //潜在客户
 		if applyCount > 0 {
 			hasPermission = 5

+ 29 - 0
models/article.go

@@ -73,6 +73,12 @@ type ArticleDetail struct {
 	SellerMobile         string `description:"销售手机号"`
 	SellerName           string `description:"销售名称"`
 	ArticleIdMd5         string `description:"纪要id"`
+	SellerList           []*SellerRep
+}
+
+type SellerRep struct {
+	SellerMobile string `description:"销售手机号"`
+	SellerName   string `description:"销售名称"`
 }
 
 func GetArticleDetailById(articleId int) (item *ArticleDetail, err error) {
@@ -82,6 +88,20 @@ func GetArticleDetailById(articleId int) (item *ArticleDetail, err error) {
 	return
 }
 
+func GetSellerList(articleId int) (items []*SellerRep, err error) {
+	o := orm.NewOrm()
+	o.Using("tactics")
+	sql := `SELECT
+		ac.phone_number as  seller_mobile,
+		ac.name as  seller_name
+		FROM
+		article_author AS au 
+		INNER JOIN account_client as ac ON au.author_id = ac.phone_number
+		WHERE article_id = ?`
+	_, err = o.Raw(sql, articleId).QueryRows(&items)
+	return
+}
+
 func GetArticleDetailByIdMd5(articleIdMd5 string) (item *ArticleDetail, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_article WHERE article_id_md5 = ? `
@@ -237,3 +257,12 @@ type ReportArticle struct {
 	ExpertBackground string `description:"专家背景"`
 	IsRed            bool   `description:"是否标记红点"`
 }
+
+func GetReportPermission(categoryName string) (item []*ChartPermission, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT b.* FROM cygx_report_mapping AS a
+			INNER JOIN chart_permission AS b ON a.chart_permission_id=b.chart_permission_id
+			WHERE a.sub_category_name=? `
+	_, err = o.Raw(sql, categoryName).QueryRows(&item)
+	return
+}

+ 2 - 2
models/company.go

@@ -36,7 +36,7 @@ func GetCompanyPermission(companyId int) (permission string, err error) {
 	return
 }
 
-func GetCompanyDetailAllById(companyId int) (item  *CompanyDetail, err error) {
+func GetCompanyDetailAllById(companyId int) (item *CompanyDetail, err error) {
 	sql := ` SELECT a.company_id,a.company_name,b.status,b.seller_id,b.seller_name,c.mobile 
             FROM company AS a
 			INNER JOIN company_product AS b ON a.company_id=b.company_id
@@ -45,4 +45,4 @@ func GetCompanyDetailAllById(companyId int) (item  *CompanyDetail, err error) {
 	o := orm.NewOrm()
 	err = o.Raw(sql, companyId).QueryRow(&item)
 	return
-}
+}

+ 46 - 0
models/report_history_record.go

@@ -0,0 +1,46 @@
+package models
+
+import (
+	"hongze/hongze_cygx/utils"
+	"rdluck_tools/orm"
+	"time"
+)
+
+type CygxReportHistoryRecord struct {
+	Id          int `orm:"column(id);pk"`
+	ArticleId   int
+	UserId      int
+	CreateTime  time.Time
+	Mobile      string    `description:"手机号"`
+	Email       string    `description:"邮箱"`
+	CompanyId   int       `description:"公司id"`
+	CompanyName string    `description:"公司名称"`
+	ModifyTime  time.Time `description:"修改时间"`
+}
+
+//添加历史信息
+func AddCygxReportHistoryRecord(item *CygxReportHistoryRecord) (lastId int64, err error) {
+	o := orm.NewOrm()
+	o.Begin()
+	defer func() {
+		if err == nil {
+			o.Commit()
+		} else {
+			o.Rollback()
+		}
+	}()
+	var count int
+	sql := `SELECT COUNT(1) AS count FROM cygx_article_history_record WHERE user_id=? AND article_id=? `
+	err = o.Raw(sql, item.UserId, item.ArticleId).QueryRow(&count)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		return
+	}
+	if count > 0 {
+		sql := `UPDATE cygx_article_history_record SET modify_time=NOW() WHERE user_id=? AND article_id=? `
+		_, err = o.Raw(sql, item.UserId, item.ArticleId).Exec()
+	} else {
+		item.ModifyTime = time.Now()
+		lastId, err = o.Insert(item)
+	}
+	return
+}