longyu пре 3 година
родитељ
комит
c1ebbd955e

+ 58 - 0
models/company_report_record.go

@@ -0,0 +1,58 @@
+package models
+
+import (
+	"github.com/rdlucklib/rdluck_tools/orm"
+	"time"
+)
+
+type CompanyReportRecord struct {
+	CompanyReportRecordId int `orm:"column(company_report_record_id);pk"`
+	CompanyId             int
+	CompanyProductId      int
+	CompanyName           string
+	Status                string
+	StartDate             string
+	EndDate               string
+	SellerId              int
+	SellerName            string
+	CreditCode            string
+	CreateDate            string
+	CreateTime            time.Time
+	ModifyTime            time.Time
+}
+
+func AddCompanyReportRecord(item *CompanyReportRecord) (lastId int64, err error) {
+	o := orm.NewOrm()
+	lastId, err = o.Insert(item)
+	return
+}
+
+func GetExistCompanyReportRecord(endDate string) (list []*CompanyReportRecord, err error) {
+	sql := ` SELECT * FROM  company_report_record WHERE create_date>=? `
+	o := orm.NewOrm()
+	_, err = o.Raw(sql, endDate).QueryRows(&list)
+	return
+}
+
+func GetCompanyList(endDate string) (list []*CompanyReportRecord, err error) {
+	sql := ` SELECT a.company_id,a.company_name,a.credit_code,b.status,b.start_date,b.end_date,b.seller_id,b.seller_name,b.company_product_id
+			FROM  company AS a
+			INNER JOIN company_product AS b ON a.company_id=b.company_id
+			WHERE b.product_id=1
+			AND b.create_time>=? `
+	o := orm.NewOrm()
+	_, err = o.Raw(sql, endDate).QueryRows(&list)
+	return
+}
+
+// 更新客户报告记录信息
+func UpdateCompanyReportRecord(where, updateParams map[string]interface{}) error {
+	o := orm.NewOrm()
+	ptrStructOrTableName := "company_report_record"
+	qs := o.QueryTable(ptrStructOrTableName)
+	for expr, exprV := range where {
+		qs = qs.Filter(expr, exprV)
+	}
+	_, err := qs.Update(updateParams)
+	return err
+}

+ 3 - 1
models/db.go

@@ -95,6 +95,8 @@ func init() {
 		new(yb.Speaker),                          //研报主持人表
 		new(data_manage.EdbDataLt),               //路透指标数据表
 		new(CompanyProductUpdateLog),             //客户产品状态变更表
-		new(roadshow.RsReportRecord),//路演记录
+		new(roadshow.RsReportRecord),             //路演记录
+		//new(company.CompanyReportRecord),                //客户记录
+		new(CompanyReportRecord),
 	)
 }

+ 71 - 0
services/company/company_report_record.go

@@ -0,0 +1,71 @@
+package company
+
+import (
+	"context"
+	"fmt"
+	"hongze/hongze_task/models"
+	"hongze/hongze_task/utils"
+	"strconv"
+	"time"
+)
+
+func AddCompanyReportRecord(cont context.Context) (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println("AddReportRecord Err:" + err.Error())
+		}
+	}()
+
+	endDate := time.Now().AddDate(-1, 0, 0).Format(utils.FormatDate)
+
+	existList, err := models.GetExistCompanyReportRecord(endDate)
+	if err != nil {
+		return
+	}
+	existMap := make(map[int]*models.CompanyReportRecord)
+	for _, v := range existList {
+		existMap[v.CompanyId] = v
+	}
+	list, err := models.GetCompanyList(endDate)
+	if err != nil {
+		return
+	}
+	for _, v := range list {
+		if _, ok := existMap[v.CompanyId]; ok { //修改
+			utils.FileLog.Info("update company:" + strconv.Itoa(v.CompanyId))
+			recordWhereParams := make(map[string]interface{})
+			recordWhereParams["company_id"] = v.CompanyId
+
+			recordUpdateParams := make(map[string]interface{})
+			recordUpdateParams["company_name"] = v.CompanyName
+			recordUpdateParams["status"] = v.Status
+			recordUpdateParams["start_date"] = v.StartDate
+			recordUpdateParams["end_date"] = v.EndDate
+			recordUpdateParams["seller_id"] = v.SellerId
+			recordUpdateParams["seller_name"] = v.SellerName
+			recordUpdateParams["credit_code"] = v.CreditCode
+			recordUpdateParams["modify_time"] = time.Now()
+			err = models.UpdateCompanyReportRecord(recordWhereParams, recordUpdateParams)
+		} else { //新增
+			utils.FileLog.Info("add company:" + strconv.Itoa(v.CompanyId))
+			item := new(models.CompanyReportRecord)
+			item.CompanyId = v.CompanyId
+			item.CompanyProductId = v.CompanyProductId
+			item.CompanyName = v.CompanyName
+			item.Status = v.Status
+			item.StartDate = v.StartDate
+			item.EndDate = v.EndDate
+			item.SellerId = v.SellerId
+			item.SellerName = v.SellerName
+			item.CreditCode = v.CreditCode
+			item.CreateDate = time.Now().Format(utils.FormatDate)
+			item.CreateTime = time.Now()
+			item.ModifyTime = time.Now()
+			_, err = models.AddCompanyReportRecord(item)
+			if err != nil {
+				return
+			}
+		}
+	}
+	return err
+}

+ 4 - 2
services/roadshow/report.go

@@ -11,7 +11,7 @@ import (
 	"context"
 )
 
-func AddReportRecord(cont context.Context)(err error) {
+func AddReportRecord(cont context.Context) (err error) {
 	defer func() {
 		if err != nil {
 			fmt.Println("AddReportRecord Err:" + err.Error())
@@ -36,7 +36,7 @@ func AddReportRecord(cont context.Context)(err error) {
 		companyMap[v.CompanyId] = v
 	}
 
-	endDate := time.Now().Format(utils.FormatDate)
+	endDate := time.Now().AddDate(-1, 0, 0).Format(utils.FormatDate)
 
 	existList, err := roadshow.GetExistRsReportRecord(endDate)
 	if err != nil {
@@ -72,6 +72,7 @@ func AddReportRecord(cont context.Context)(err error) {
 
 		key := strconv.Itoa(v.RsCalendarId) + "_" + strconv.Itoa(v.RsCalendarResearcherId)
 		if _, ok := existMap[key]; ok { //修改
+			utils.FileLog.Info("update:" + strconv.Itoa(v.RsCalendarId))
 			reportWhereParams := make(map[string]interface{})
 			reportWhereParams["rs_calendar_id"] = v.RsCalendarId
 			reportWhereParams["rs_calendar_researcher_id"] = v.RsCalendarResearcherId
@@ -147,6 +148,7 @@ func AddReportRecord(cont context.Context)(err error) {
 				item.SellerGroupId = 0
 				item.SellerGroupName = ""
 			}
+			utils.FileLog.Info("add:" + strconv.Itoa(v.RsCalendarId))
 			item.RsCalendarId = v.RsCalendarId
 			item.RsCalendarResearcherId = v.RsCalendarResearcherId
 			item.StartDate = v.StartDate

+ 7 - 0
services/task.go

@@ -92,6 +92,13 @@ func Task() {
 	fmt.Println("task end")
 }
 
+//func Task() {
+//	fmt.Println("start")
+//	cont := new(context.Context)
+//	company.AddCompanyReportRecord(*cont)
+//	fmt.Println("end")
+//}
+
 //生产环境需要走的任务
 func releaseTask() {
 	//隆众调研指标获取