Browse Source

fix(定时任务):存量客户统计数据调整,新增查询昨日数据是否生成,如果生成那么不允许重复生成

Roc 3 years ago
parent
commit
502bfb221b
2 changed files with 29 additions and 4 deletions
  1. 10 0
      models/stack_company_statistic.go
  2. 19 4
      services/company_statistic.go

+ 10 - 0
models/stack_company_statistic.go

@@ -32,6 +32,16 @@ func AddStackCompanyStatistic(item *StackCompanyStatistic) (err error) {
 	return
 }
 
+//获取某天的存量客户统计数据数量
+func GetStackCompanyCount(dayStr string) (count int,  err error) {
+	o := orm.NewOrm()
+	//产品权限
+	sql := `SELECT count(1) count FROM stack_company_statistic WHERE date = ?`
+
+	err = o.Raw(sql,dayStr).QueryRow(&count)
+	return
+}
+
 //待签约用户列表
 type WillExpireCompanyList struct {
 	CompanyContractId int     `description:"合同id"`

+ 19 - 4
services/company_statistic.go

@@ -9,15 +9,28 @@ import (
 
 //存量客户数据统计
 func StackCompanyStatistic()(err error) {
+	dayStr := time.Now().AddDate(0,0,-1).Format(utils.FormatDate)	//截止到昨天的数据
+	//查询昨天的数据有没有生成,如果没有生成的话,那么重新生成
+	count,err := models.GetStackCompanyCount(dayStr)
+	if err != nil{
+		fmt.Println("查询昨天的数据是否生成语句 执行异常:", err.Error())
+		return
+	}
+	//昨天数据有生成,那么就不往下执行了
+	if count > 0 {
+		fmt.Println("昨天的数据已经生成,不允许重复生成")
+		return
+	}
+
 	total, list, err := models.GetStackCompanyListV1()
 	if err != nil {
 		fmt.Println("查询新签客户数(存量客户)异常:", err.Error())
+		return
 	}
 	fmt.Println("total:", total)
 	//fmt.Println(list)
 
 	for _, company := range list {
-		fmt.Println(company)
 		item := models.StackCompanyStatistic{
 			CompanyId:    company.CompanyId,
 			CompanyName:  company.CompanyName,
@@ -28,7 +41,7 @@ func StackCompanyStatistic()(err error) {
 			SellerName:   company.SellerName,
 			GroupId:      company.GroupId,
 			DepartmentId: company.DepartmentId,
-			Date:         utils.GetToday(utils.FormatDate),
+			Date:         dayStr,	//截止到昨天的数据
 			StartDate:    company.StartDate,
 			EndDate:      company.EndDate,
 			RegionType:   company.RegionType,
@@ -47,8 +60,10 @@ func StackCompanyStatistic()(err error) {
 			//未续约客户
 			item.Type = "未续约客户"
 		}
-		err := models.AddStackCompanyStatistic(&item)
-		fmt.Println(err)
+		addErr := models.AddStackCompanyStatistic(&item)
+		if addErr != nil{
+			fmt.Println("存量客户数据统计,插入数据异常:",addErr)
+		}
 	}
 	return
 }