Procházet zdrojové kódy

Merge branch 'crm/crm_16.7' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

zhangchuanxing před 2 měsíci
rodič
revize
cd5f576b5a

+ 88 - 0
controllers/statistic/rai_data_summary.go

@@ -0,0 +1,88 @@
+package statistic
+
+import (
+	"fmt"
+	"hongze/hz_crm_api/controllers"
+	"hongze/hz_crm_api/models"
+	"hongze/hz_crm_api/models/statistic_report"
+)
+
+// 权益数据汇总
+// StatisticRaiDataSummaryController 权益数据汇总基类
+type StatisticRaiDataSummaryController struct {
+	controllers.BaseAuthController
+}
+
+// MergeCompanyList
+// @Title 权益客户统计列表(合同进行合并之后的)
+// @Description 权益客户统计列表接口
+// @Param   AdminId   query   string  true       "销售id,多个用英文逗号隔开,空字符串为全部"
+// @Param   StartYear   query   int	  false       "开始日期(年份)"
+// @Param   EndYear   query   int  false       "结束日期(年份)"
+// @Param   DataType   query   string  false       "报表类型,枚举值:`季度`,`年度`,`半年度`"
+// @Param   TryOutType   query   string  false       " '试用', '非试用' 非试用即为冻结/流失"
+// @Param   IsExport   query   bool  false       "是否导出excel,默认是false"
+// @Param   IsConfirm   query   int  false       "是否确认续约: -1-默认全部; 0-待确认; 1-已确认 ;2-到期合同"
+// @Success 200 {object} response.IncrementalCompanyListResp
+// @router /rai_data_summary/list [get]
+func (this *StatisticRaiDataSummaryController) MergeCompanyList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	//adminId := this.GetString("AdminId")
+	dataType := this.GetString("DataType")
+	startYear, _ := this.GetInt("StartYear")
+	endYear, _ := this.GetInt("EndYear")
+
+	dataTypeArr := []string{}
+	if dataType == "季度" {
+		dataTypeArr = []string{"Q1", "Q2", "Q3", "Q4"}
+	} else if dataType == "半年度" {
+		dataTypeArr = []string{"H1", "H2"}
+	} else {
+		dataTypeArr = []string{""}
+	}
+
+	resp := new(statistic_report.RaiDataSummaryListResp)
+	var items []*statistic_report.RaiDataSummaryResp
+	for i := startYear; i <= endYear; i++ {
+		//if len(dataTypeArr) > 0 {
+		for _, Dv := range dataTypeArr {
+			item := new(statistic_report.RaiDataSummaryResp)
+			item.DataType = fmt.Sprint(i, Dv)
+			sellerItem := new(statistic_report.RaiDataSummaryDetail)
+			sellerItem.SellerName = "梁春悦"
+			sellerItem.AddTrialCount = "新增试用-(数据)"
+			sellerItem.NewContractData = "新签合同(金额/数量)-(数据)"
+			sellerItem.ExpiredContractData = "到期合同(金额/数量)-(数据)"
+			sellerItem.RenewedContractData = "续约合同(金额/数量)-(数据)"
+			sellerItem.RenewalRateData = "续约率(金额/数量)-(数据)"
+			sellerItem.ConfirmedNoRenewalContractData = "确认不续约合同(金额/数量)-(数据)"
+			sellerItem.SignedClientCount = "签约客户数量-(数据)"
+			sellerItem.AverageRevenueCount = "客单价-(数据)"
+			sellerItem.InvoiceAmountCount = "开票金额-(数据)"
+			sellerItem.PaymentReceivedCount = "到款金额-(数据)"
+			sellerItem.UnpaidRatioCount = "未到款比例-(数据)"
+			sellerItem.NewCustomerInvoicingCount = "新客开票-(数据)"
+			sellerItem.NewCustomerPaymentsReceivedCount = "新客到款-(数据)"
+			item.DataList = append(item.DataList, sellerItem)
+			items = append(items, item)
+		}
+	}
+	resp.List = items
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 27 - 0
models/statistic_report/rai_data_summary.go

@@ -0,0 +1,27 @@
+package statistic_report
+
+type RaiDataSummaryListResp struct {
+	List []*RaiDataSummaryResp
+}
+
+type RaiDataSummaryResp struct {
+	DataType string `description:"时间区间"`
+	DataList []*RaiDataSummaryDetail
+}
+
+type RaiDataSummaryDetail struct {
+	SellerName                       string `description:"销售名称"`
+	AddTrialCount                    string `description:"新增试用"`
+	NewContractData                  string `description:"新签合同(金额/数量)"`
+	ExpiredContractData              string `description:"到期合同(金额/数量)"`
+	RenewedContractData              string `description:"续约合同(金额/数量)"`
+	RenewalRateData                  string `description:"续约率(金额/数量)"`
+	ConfirmedNoRenewalContractData   string `description:"确认不续约合同(金额/数量)"`
+	SignedClientCount                string `description:"签约客户数量"`
+	AverageRevenueCount              string `description:"客单价"`
+	InvoiceAmountCount               string `description:"开票金额"`
+	PaymentReceivedCount             string `description:"到款金额"`
+	UnpaidRatioCount                 string `description:"未到款比例"`
+	NewCustomerInvoicingCount        string `description:"新客开票"`
+	NewCustomerPaymentsReceivedCount string `description:"新客到款"`
+}

+ 9 - 0
routers/commentsRouter.go

@@ -8089,6 +8089,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/statistic:StatisticRaiDataSummaryController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/statistic:StatisticRaiDataSummaryController"],
+        beego.ControllerComments{
+            Method: "MergeCompanyList",
+            Router: `/rai_data_summary/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/yb:ActivityController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/yb:ActivityController"],
         beego.ControllerComments{
             Method: "Add",

+ 2 - 0
routers/router.go

@@ -27,6 +27,7 @@ import (
 	"hongze/hz_crm_api/controllers/overseas_custom"
 	"hongze/hz_crm_api/controllers/roadshow"
 	"hongze/hz_crm_api/controllers/seal"
+	"hongze/hz_crm_api/controllers/statistic"
 	"hongze/hz_crm_api/controllers/yb"
 
 	"github.com/beego/beego/v2/server/web"
@@ -72,6 +73,7 @@ func init() {
 				&controllers.StatisticYbLogController{},
 				&controllers.StatisticReportCommonController{},
 				&controllers.StatisticCompanyMergerController{},
+				&statistic.StatisticRaiDataSummaryController{},
 			),
 		),
 		web.NSNamespace("/voice",