Browse Source

易董公司关联产业标的

xingzai 2 years ago
parent
commit
39b616e7b9
5 changed files with 117 additions and 11 deletions
  1. 0 9
      controllers/yidong.go
  2. 2 0
      models/db.go
  3. 68 0
      models/industrial_activity_group_management.go
  4. 1 0
      models/wx_user.go
  5. 46 2
      services/yidong.go

+ 0 - 9
controllers/yidong.go

@@ -353,12 +353,3 @@ func (this *BaseYidongController) UserSingnUp() {
 	br.Success = true
 	br.Data = ApifoxModal
 }
-
-func init() {
-	YD_TYPR := map[string]int{
-		"计算机":  21,
-		"计算机2": 21,
-		"计算机3": 21,
-	}
-	fmt.Println(YD_TYPR)
-}

+ 2 - 0
models/db.go

@@ -114,6 +114,8 @@ func init() {
 		new(CygxSearchKeyWordLog),
 		new(CygxActivity),
 		new(CygxYidongActivityMeetingApiLog),
+		new(CygxIndustrialActivityGroupManagement),
+		new(CygxIndustrialActivityGroupSubject),
 	)
 	// 记录ORM查询日志
 	orm.Debug = true

+ 68 - 0
models/industrial_activity_group_management.go

@@ -0,0 +1,68 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type CygxIndustrialActivityGroupManagement struct {
+	Id                     int       `orm:"column(id);pk" description:"主键ID"`
+	ActivityId             int       `description:"活动ID"`
+	IndustrialManagementId int       `description:"cygx_industrial_management表的主键ID"`
+	Source                 int       `description:"来源,1 活动,2专项调研"`
+	CreateTime             time.Time `description:"创建时间"`
+}
+
+type CygxIndustrialActivityGroupSubject struct {
+	Id                  int       `orm:"column(id);pk" description:"主键ID"`
+	ActivityId          int       `description:"活动ID"`
+	IndustrialSubjectId int       `description:"cygx_industrial_subject表的文章ID"`
+	Source              int       `description:"来源,1 活动,2专项调研"`
+	CreateTime          time.Time `description:"创建时间"`
+}
+
+type CygxIndustrialSubject struct {
+	IndustrialSubjectId    int       `orm:"column(industrial_subject_id);pk" description:"标的id"`
+	IndustrialManagementId int       `description:"产业id"`
+	SubjectName            string    `description:"标的名称"`
+	CreateTime             time.Time `description:"创建时间"`
+	Source                 int       `description:"来源,1正常添加,2:通过文章添加,3通过活动添加(默认为1)"`
+}
+
+//获取标的列表
+func GetCygxIndustrialSubjectList(subjectName string) (items []*CygxIndustrialSubject, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+				s.*
+			FROM
+				cygx_industrial_subject as s 
+				INNER JOIN  cygx_industrial_management as m ON  m.industrial_management_id = s.industrial_management_id
+			WHERE
+				subject_name = ? `
+	_, err = o.Raw(sql, subjectName).QueryRows(&items)
+	return
+}
+
+// AddCygxActiuvityGroupMulti 批量添加
+func AddCygxActiuvityGroupMulti(items []*CygxIndustrialActivityGroupManagement, itemsSubject []*CygxIndustrialActivityGroupSubject) (err error) {
+	o, err := orm.NewOrm().Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err == nil {
+			o.Commit()
+		} else {
+			o.Rollback()
+		}
+	}()
+	if len(items) > 0 {
+		//批量添加关联的产业
+		_, err = o.InsertMulti(len(items), items)
+	}
+	if len(itemsSubject) > 0 {
+		//批量添加关联的标的
+		_, err = o.InsertMulti(len(itemsSubject), itemsSubject)
+	}
+	return
+}

+ 1 - 0
models/wx_user.go

@@ -84,6 +84,7 @@ type WxUserItem struct {
 	OutboundCountryCode string    `description:"外呼手机号区号"`
 	IsMsgOutboundMobile int       `description:"是否弹窗过绑定外呼手机号区号"`
 	IsMaker             int       `description:"是否是决策人"`
+	Position            string    `description:"职务"`
 	Source              int
 }
 

+ 46 - 2
services/yidong.go

@@ -248,11 +248,13 @@ func GetYiDongActivity(cont context.Context) (err error) {
 			item.Body = "<p>" + "【" + v.CompanyInfo + v.Title + "】" + "<p>时间:" + v.Start + "</p>嘉宾:" + item.DistinguishedGuest + "</p>"
 			if mapOldYiDong[v.ID] == "" {
 				itemsAdd = append(itemsAdd, item)
-				_, err = models.AddCygxActivity(item)
+				newId, err := models.AddCygxActivity(item)
 				if err != nil {
 					fmt.Println(err)
 					utils.FileLog.Info(string(err.Error()))
 				}
+				//把公司名称当做标的 对活动进行产业标的的关联
+				go YidongActivityGroup(v.CompanyInfo, int(newId))
 			} else {
 				//如果内容主体有做变更,就修改内容
 				if mapOldYiDongBody[v.ID] != fmt.Sprint(item.ActivityName, item.Label, item.ChartPermissionId, item.ActivityTime, item.YidongActivityEndTime, item.DistinguishedGuest) {
@@ -340,9 +342,16 @@ func GetYiDongCreateUserInfo(user *models.WxUserItem) (userTgc string, err error
 	method := "POST"
 	payload := strings.NewReader(`{
   "phone": "` + user.Mobile + `",
+  "personName": "` + user.RealName + `",
+  "companyName": "` + user.CompanyName + `",
+  "jobName": "` + user.Position + `",
   "mobileCountryCode": "+` + user.CountryCode + `",
   "sourceFrom": "01"
 }`)
+	fmt.Println(user.Mobile)
+	fmt.Println(user.RealName)
+	fmt.Println(user.CompanyName)
+	fmt.Println(user.Position)
 	client := &http.Client{}
 	req, err := http.NewRequest(method, url, payload)
 	if err != nil {
@@ -395,7 +404,8 @@ func GetActivityTextTime(timeYidong string) (timeText string) {
 	return
 }
 
-func init234() {
+func init232() {
+	//YidongActivityGroup("美团", 1623)
 	//GetYiDongActivityMeeting()
 	//GetYiDongActivity()
 	//var timeText string
@@ -510,3 +520,37 @@ func GetYiDongActivityMeeting(cont context.Context) (err error) {
 	}
 	return
 }
+
+//YidongActivityGroup 添加活动与产业标的的关联
+func YidongActivityGroup(subjectName string, activityId int) (err error) {
+	subjectList, err := models.GetCygxIndustrialSubjectList(subjectName)
+	if err != nil {
+		fmt.Println(err)
+		return err
+	}
+	if len(subjectList) == 0 {
+		return err
+	}
+
+	var industrialActivityItems []*models.CygxIndustrialActivityGroupManagement
+	var subjectActivityItems []*models.CygxIndustrialActivityGroupSubject
+	for _, v := range subjectList {
+		industrialActivityItem := new(models.CygxIndustrialActivityGroupManagement)
+		subjectActivityItem := new(models.CygxIndustrialActivityGroupSubject)
+
+		industrialActivityItem.ActivityId = activityId
+		industrialActivityItem.IndustrialManagementId = v.IndustrialManagementId
+		industrialActivityItem.Source = 1
+		industrialActivityItem.CreateTime = time.Now()
+		industrialActivityItems = append(industrialActivityItems, industrialActivityItem)
+
+		subjectActivityItem.ActivityId = activityId
+		subjectActivityItem.IndustrialSubjectId = v.IndustrialSubjectId
+		subjectActivityItem.Source = 1
+		subjectActivityItem.CreateTime = time.Now()
+		subjectActivityItems = append(subjectActivityItems, subjectActivityItem)
+		fmt.Println(v)
+	}
+	err = models.AddCygxActiuvityGroupMulti(industrialActivityItems, subjectActivityItems)
+	return
+}