Browse Source

fix:续约异常客户统计调整

Roc 1 year ago
parent
commit
156886be4c

+ 9 - 5
controllers/statistic_report.go

@@ -6235,6 +6235,7 @@ func (this *StatisticReportController) SimpleList() {
 // @Title 获取续约异常的客户统计数据
 // @Description 获取续约客户统计数据接口
 // @Param   DataType   query   string  true       "枚举值:week、month、time_interval"
+// @Param   Source   query   int  true       "类型,枚举值,1:续约异常客户;2:续约正常客户;3:超时续约客户;4:合同到期后一个月未续约客户;5:合同到期未续约客户;6:合同到期前一个月还未续约的客户;7:合同到期前两个月还未续约客户;8:合同到期前3个月还未续约客户;9:合同到期前4个月还未续约客户"
 // @Param   StartDate   query   string  true       "开始日期,格式:2022-04-06"
 // @Param   EndDate   query   string  true       "结束日期,格式:2022-04-06"
 // @Success 200 {object} statistic_report.CompanyUnusualRenewRecordResp
@@ -6258,6 +6259,7 @@ func (this *StatisticReportController) UnusualRenewCompanyStatistics() {
 	productId, _ := this.GetInt("ProductId", 1)
 	startDate := this.GetString("StartDate")
 	endDate := this.GetString("EndDate")
+	source, _ := this.GetInt("Source", 1)
 
 	var companyUnusualRenewDataMapList []statistic_report.UnusualCompanyRenewDataMap
 	var err error
@@ -6267,7 +6269,7 @@ func (this *StatisticReportController) UnusualRenewCompanyStatistics() {
 	case "week":
 		nowWeekMonday := utils.GetNowWeekMonday() //本周周一
 		//companyRenewDataMapList, firstDate, err = statistic_report.GetWeekData()
-		companyUnusualRenewDataMapList, _, err = statistic_report.GetUnusualRenewWeekDataNum(nowWeekMonday, productId, 6)
+		companyUnusualRenewDataMapList, _, err = statistic_report.GetUnusualRenewWeekDataNum(nowWeekMonday, productId, source, 6)
 		if err != nil {
 			br.Msg = "数据异常"
 			br.ErrMsg = "数据异常,Err:" + err.Error()
@@ -6275,7 +6277,7 @@ func (this *StatisticReportController) UnusualRenewCompanyStatistics() {
 		}
 	case "month":
 		nowMonthFirstDay := utils.GetNowMonthFirstDay() //本月第一天
-		companyUnusualRenewDataMapList, _, err = statistic_report.GetUnusualRenewMonthDataNum(nowMonthFirstDay, productId, 6)
+		companyUnusualRenewDataMapList, _, err = statistic_report.GetUnusualRenewMonthDataNum(nowMonthFirstDay, productId, source, 6)
 		if err != nil {
 			br.Msg = "数据异常"
 			br.ErrMsg = "数据异常,Err:" + err.Error()
@@ -6287,7 +6289,7 @@ func (this *StatisticReportController) UnusualRenewCompanyStatistics() {
 			br.ErrMsg = "开始日期或结束日期不能为空,Err:" + err.Error()
 			return
 		}
-		companyUnusualRenewDataMapList, _, err = statistic_report.GetUnusualRenewTimeIntervalData(productId, startDate, endDate)
+		companyUnusualRenewDataMapList, _, err = statistic_report.GetUnusualRenewTimeIntervalData(productId, source, startDate, endDate)
 		if err != nil {
 			br.Msg = "数据异常"
 			br.ErrMsg = "数据异常,Err:" + err.Error()
@@ -6393,8 +6395,9 @@ func (this *StatisticReportController) UnusualRenewCompanyStatistics() {
 
 // UnusualRenewCompanyList
 // @Title 获取未续约的公司合同列表
-// @Description 合同套餐列表
+// @Description 获取未续约的公司合同列表
 // @Param   ProductId  query  int  false  "套餐类型: 1-FICC(默认); 2-权益"
+// @Param   Source   query   int  true       "类型,枚举值,1:续约异常客户;2:续约正常客户;3:超时续约客户;4:合同到期后一个月未续约客户;5:合同到期未续约客户;6:合同到期前一个月还未续约的客户;7:合同到期前两个月还未续约客户;8:合同到期前3个月还未续约客户;9:合同到期前4个月还未续约客户"
 // @Param   StartDate   query   string  true       "开始日期,格式:2022-04"
 // @Param   EndDate   query   string  true       "结束日期,格式:2022-04"
 // @Success 200 {object} company.GetUnusualRenewListGroupMonthResp
@@ -6418,6 +6421,7 @@ func (this *StatisticReportController) UnusualRenewCompanyList() {
 	productId, _ := this.GetInt("ProductId", 1)
 	startDate := this.GetString("StartDate")
 	endDate := this.GetString("EndDate")
+	source, _ := this.GetInt("Source", 1)
 
 	if startDate == `` || endDate == `` {
 		br.Msg = "开始日期或结束日期不能为空"
@@ -6472,7 +6476,7 @@ func (this *StatisticReportController) UnusualRenewCompanyList() {
 	}
 	sellerIds := strings.Join(subAdminIds, ",")
 
-	list, err := company.GetUnusualRenewList(startDateTimer, endDateTimer, productId, sellerIds)
+	list, err := company.GetUnusualRenewList(startDateTimer, endDateTimer, productId, source, sellerIds)
 	if err != nil {
 		br.Msg = "数据异常"
 		br.ErrMsg = "数据异常,Err:" + err.Error()

+ 6 - 6
models/company/company_renewal_record.go

@@ -47,7 +47,7 @@ WHERE
 }
 
 // GetUnusualRenewCompanyByShareSellerList 获取销售未续约数据
-func GetUnusualRenewCompanyByShareSellerList(startDate, endDate time.Time, productId int) (list []*UnusualRenewCompanyGroup, err error) {
+func GetUnusualRenewCompanyByShareSellerList(startDate, endDate time.Time, productId, source int) (list []*UnusualRenewCompanyGroup, err error) {
 	o := orm.NewOrm()
 	sql := `	SELECT
 	a.seller_id,a.share_seller_id,
@@ -59,12 +59,12 @@ func GetUnusualRenewCompanyByShareSellerList(startDate, endDate time.Time, produ
 WHERE
 	a.modify_time BETWEEN ? 
 	AND ? 
-    AND a.source = 1 
+    AND a.source = ? 
 	AND a.product_id = ?
 GROUP BY
 	a.share_seller_id;
 `
-	_, err = o.Raw(sql, startDate, endDate, productId).QueryRows(&list)
+	_, err = o.Raw(sql, startDate, endDate, source, productId).QueryRows(&list)
 
 	return
 }
@@ -96,14 +96,14 @@ type GetUnusualRenewListGroupMonthResp struct {
 }
 
 // GetUnusualRenewList 获取未续约公司列表
-func GetUnusualRenewList(startDate, endDate time.Time, productId int, sellerIds string) (list []*CompanyRenewalRecord, err error) {
+func GetUnusualRenewList(startDate, endDate time.Time, productId, source int, sellerIds string) (list []*CompanyRenewalRecord, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
 	* 
 FROM
 	company_renewal_record 
 WHERE
-	source = 1 
+	source = ? 
 	AND modify_time BETWEEN ? 
 	AND ? 
 	AND product_id = ?
@@ -111,7 +111,7 @@ WHERE
 	OR seller_id in (` + sellerIds + `))
 
 `
-	_, err = o.Raw(sql, startDate, endDate, productId).QueryRows(&list)
+	_, err = o.Raw(sql, source, startDate, endDate, productId).QueryRows(&list)
 
 	return
 }

+ 8 - 8
services/statistic_report/unusual_renew_company.go

@@ -19,7 +19,7 @@ type UnusualCompanyRenewDataMap struct {
 }
 
 // GetUnusualRenewWeekDataNum 周度数据
-func GetUnusualRenewWeekDataNum(nowWeekMonday time.Time, productId, dataNum int) (adminDataList []UnusualCompanyRenewDataMap, firstDate time.Time, err error) {
+func GetUnusualRenewWeekDataNum(nowWeekMonday time.Time, productId, source, dataNum int) (adminDataList []UnusualCompanyRenewDataMap, firstDate time.Time, err error) {
 	nowWeekSunday := nowWeekMonday.AddDate(0, 0, 7).Add(-1 * time.Second) //本周周日
 
 	chanList := make([]chan UnusualCompanyRenewDataMap, 0)
@@ -32,7 +32,7 @@ func GetUnusualRenewWeekDataNum(nowWeekMonday time.Time, productId, dataNum int)
 
 		// 第一个开始日期
 		firstDate = lastWeekMonday
-		go getUnusualRenewSectionData(productId, lastWeekMonday, lastWeekSunday, tmpCh)
+		go getUnusualRenewSectionData(productId, source, lastWeekMonday, lastWeekSunday, tmpCh)
 	}
 
 	adminDataList = make([]UnusualCompanyRenewDataMap, 0)
@@ -47,7 +47,7 @@ func GetUnusualRenewWeekDataNum(nowWeekMonday time.Time, productId, dataNum int)
 }
 
 // GetUnusualRenewMonthDataNum 月度数据
-func GetUnusualRenewMonthDataNum(nowMonthFirstDay time.Time, productId, dataNum int) (adminDataList []UnusualCompanyRenewDataMap, firstDate time.Time, err error) { //三个协程返回
+func GetUnusualRenewMonthDataNum(nowMonthFirstDay time.Time, productId, source, dataNum int) (adminDataList []UnusualCompanyRenewDataMap, firstDate time.Time, err error) { //三个协程返回
 	//nowMonthLastDay := nowMonthFirstDay.AddDate(0, 1, 0).Add(-1 * time.Second) //本月最后一天
 
 	chanList := make([]chan UnusualCompanyRenewDataMap, 0)
@@ -61,7 +61,7 @@ func GetUnusualRenewMonthDataNum(nowMonthFirstDay time.Time, productId, dataNum
 
 		// 第一个开始日期
 		firstDate = lastMonthFirstDay
-		go getUnusualRenewSectionData(productId, lastMonthFirstDay, lastMonthLastDay, tmpCh)
+		go getUnusualRenewSectionData(productId, source, lastMonthFirstDay, lastMonthLastDay, tmpCh)
 	}
 
 	adminDataList = make([]UnusualCompanyRenewDataMap, 0)
@@ -76,7 +76,7 @@ func GetUnusualRenewMonthDataNum(nowMonthFirstDay time.Time, productId, dataNum
 }
 
 // GetUnusualRenewTimeIntervalData 区间数据
-func GetUnusualRenewTimeIntervalData(productId int, startDate, endDate string) (adminDataMapList []UnusualCompanyRenewDataMap, firstDate time.Time, err error) { //三个协程返回
+func GetUnusualRenewTimeIntervalData(productId, source int, startDate, endDate string) (adminDataMapList []UnusualCompanyRenewDataMap, firstDate time.Time, err error) { //三个协程返回
 	startDateTimer, _ := time.ParseInLocation(utils.FormatDate, startDate, time.Local)
 	endDateTimer, _ := time.ParseInLocation(utils.FormatDate, endDate, time.Local)
 	endDateTimer = endDateTimer.AddDate(0, 0, 1).Add(-1 * time.Second) //本月最后一天
@@ -86,7 +86,7 @@ func GetUnusualRenewTimeIntervalData(productId int, startDate, endDate string) (
 
 	ch1 := make(chan UnusualCompanyRenewDataMap, 0)
 
-	go getUnusualRenewSectionData(productId, startDateTimer, endDateTimer, ch1)
+	go getUnusualRenewSectionData(productId, source, startDateTimer, endDateTimer, ch1)
 
 	var adminDataMap UnusualCompanyRenewDataMap
 
@@ -99,7 +99,7 @@ func GetUnusualRenewTimeIntervalData(productId int, startDate, endDate string) (
 }
 
 // getUnusualRenewSectionData 获取周期数据
-func getUnusualRenewSectionData(productId int, startDate, endDate time.Time, ch chan UnusualCompanyRenewDataMap) (adminDataMap UnusualCompanyRenewDataMap, err error) {
+func getUnusualRenewSectionData(productId, source int, startDate, endDate time.Time, ch chan UnusualCompanyRenewDataMap) (adminDataMap UnusualCompanyRenewDataMap, err error) {
 	defer func() {
 		ch <- adminDataMap
 	}()
@@ -117,7 +117,7 @@ func getUnusualRenewSectionData(productId int, startDate, endDate time.Time, ch
 	// 续约异常
 	{
 
-		data, tmpErr := company.GetUnusualRenewCompanyByShareSellerList(startDate, endDate, productId)
+		data, tmpErr := company.GetUnusualRenewCompanyByShareSellerList(startDate, endDate, productId, source)
 
 		if tmpErr != nil {
 			err = tmpErr