Bladeren bron

Merge branch 'debug' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

hongze 1 jaar geleden
bovenliggende
commit
fb47f9a107

+ 1 - 8
controllers/company_apply.go

@@ -2045,18 +2045,11 @@ func (this *CompanyApplyController) ApplyContract() {
 
 			// 买方研选3w/5w/10w
 			if n.PermissionName == utils.CHART_PERMISSION_NAME_MF_YANXUAN {
-				m3, m5, m10 := new(company.PermissionLookItem), new(company.PermissionLookItem), new(company.PermissionLookItem)
+				m3 := new(company.PermissionLookItem)
 				m3.ChartPermissionId = n.ChartPermissionId
 				m3.PermissionName = n.PermissionName
 				plist.Items = append(plist.Items, m3)
 
-				m5.ChartPermissionId = n.ChartPermissionId + utils.PERMISSION_ID_YANXUAN_DIFF
-				m5.PermissionName = fmt.Sprint(n.PermissionName, "(5w)")
-				plist.Items = append(plist.Items, m5)
-
-				m10.ChartPermissionId = utils.PERMISSION_ID_YANXUAN_10W_DIFF
-				m10.PermissionName = fmt.Sprint(n.PermissionName, "(10w)")
-				plist.Items = append(plist.Items, m10)
 				continue
 			}
 

+ 12 - 1
controllers/company_apply_v2.go

@@ -256,6 +256,13 @@ func (this *CompanyApplyController) ApplyServiceUpdate() {
 		}
 		permissionArr := strings.Split(req.PermissionIds, ",")
 		permissionMap := make(map[int]int) //权限id的map集合,用来避免重复添加权限校验
+
+		permissionNameMap, err := services.GetPermissionNameMap()
+		if err != nil {
+			br.Msg = "新增合同失败"
+			br.ErrMsg = "获取权限名称失败,Err:" + err.Error()
+			return
+		}
 		for _, v := range permissionArr {
 			item := new(company.CompanyContractPermission)
 			item.CompanyId = req.CompanyId
@@ -274,7 +281,11 @@ func (this *CompanyApplyController) ApplyServiceUpdate() {
 			permissionMap[chartPermissionId] = chartPermissionId
 
 			item.ChartPermissionId = chartPermissionId
-
+			item.PermissionName = permissionNameMap[chartPermissionId]
+			//如果是研选扣点包的权限,写入扣点点数
+			if chartPermissionId == utils.YAN_XUAN_KOU_DIAN_BAO_ID {
+				item.Points = req.Points
+			}
 			item.StartDate = req.StartDate
 			item.EndDate = req.EndDate
 			item.IsUpgrade = mapPermissionIdUpgrade[chartPermissionId]

+ 15 - 2
controllers/cygx/contract_allocation.go

@@ -565,7 +565,13 @@ func (this *ContractAllocationController) CompanyContracDetail() {
 			respItemYx.Money = moneyYx
 			respItemYx.ChartPermissionName = utils.CHART_PERMISSION_NAME_MF_YANXUAN
 			respItemYx.ChartPermissionId = utils.CHART_PERMISSION_ID_YANXUAN
-			respItemYx.List = append(respItemYx.List, &cygx.AllocationRealNameListResp{utils.CHART_PERMISSION_NAME_MF_YANXUAN, 0, moneyYx})
+
+			//手动拼接研选订阅的数据类型
+			listYxItem := new(cygx.AllocationRealNameListResp)
+			listYxItem.RealName = utils.CHART_PERMISSION_NAME_MF_YANXUAN
+			listYxItem.Money = moneyYx
+			listYxItem.ChartPermissionId = utils.CHART_PERMISSION_ID_YANXUAN
+			respItemYx.List = append(respItemYx.List, listYxItem)
 		}
 
 		if mapPermissionNameHave[utils.YAN_XUAN_KOU_DIAN_BAO_NAME] {
@@ -573,7 +579,12 @@ func (this *ContractAllocationController) CompanyContracDetail() {
 			respItemYxKouDian.Money = pointMoney
 			respItemYxKouDian.ChartPermissionName = utils.YAN_XUAN_KOU_DIAN_BAO_NAME
 			respItemYxKouDian.ChartPermissionId = utils.YAN_XUAN_KOU_DIAN_BAO_ID
-			respItemYxKouDian.List = append(respItemYxKouDian.List, &cygx.AllocationRealNameListResp{utils.YAN_XUAN_KOU_DIAN_BAO_NAME, 0, pointMoney})
+
+			listKouDianItem := new(cygx.AllocationRealNameListResp)
+			listKouDianItem.RealName = utils.YAN_XUAN_KOU_DIAN_BAO_NAME
+			listKouDianItem.Money = pointMoney
+			listKouDianItem.ChartPermissionId = utils.YAN_XUAN_KOU_DIAN_BAO_ID
+			respItemYxKouDian.List = append(respItemYxKouDian.List, listKouDianItem)
 		}
 
 		resp.TotalPointsContent = fmt.Sprint(resp.Money, "W,", "其中", moneyYx+pointMoney, "w默认归属买方研选,请对剩余", resp.Money-moneyYx-pointMoney, "w按照100%进行比值分配")
@@ -610,6 +621,7 @@ func (this *ContractAllocationController) CompanyContracDetail() {
 			}
 			item := new(cygx.AllocationRealNameListResp)
 			item.RealName = v.Name
+			item.ChartPermissionId = mapPermissionId[v.ChartPermissionName]
 			mapPermissionUser[v.ChartPermissionName] = append(mapPermissionUser[v.ChartPermissionName], item)
 		}
 
@@ -644,6 +656,7 @@ func (this *ContractAllocationController) CompanyContracDetail() {
 			item.RealName = v.RealName
 			item.Money = v.Money
 			item.Proportion = v.Proportion
+			item.ChartPermissionId = mapPermissionId[v.ChartPermissionName]
 			mapPermissionUser[v.ChartPermissionName] = append(mapPermissionUser[v.ChartPermissionName], item)
 		}
 		listPermission, err := cygx.GetCygxAllocationCompanyContractPermissionListById(companyContractId)

+ 5 - 5
controllers/statistic_company_merge.go

@@ -804,7 +804,7 @@ func (this *StatisticCompanyMergerController) CompanyContractPermissionList() {
 	//}
 
 	//if permissionName == "" {
-	condition += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','买方研选')`
+	condition += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','研选订阅','研选扣点包')`
 	//}
 
 	var err error
@@ -826,7 +826,7 @@ func (this *StatisticCompanyMergerController) CompanyContractPermissionList() {
 		if dataType == "行业新签" {
 			conditionPerssion := condition1
 			parsPerssion := pars1
-			conditionPerssion += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','买方研选')`
+			conditionPerssion += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','研选订阅','研选扣点包')`
 
 			listPessionGroup, err = models.GetCompanyContractPermissionNameGroupCount(conditionPerssion, parsPerssion)
 			if err != nil && err.Error() != utils.ErrNoRow() {
@@ -883,7 +883,7 @@ func (this *StatisticCompanyMergerController) CompanyContractPermissionList() {
 		if dataType == "行业续约" {
 			conditionPerssion := condition1
 			parsPerssion := pars1
-			conditionPerssion += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','买方研选')`
+			conditionPerssion += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','研选订阅','研选扣点包')`
 
 			listPessionGroup, err = models.GetCompanyContractPermissionNameGroupCount(conditionPerssion, parsPerssion)
 			if err != nil && err.Error() != utils.ErrNoRow() {
@@ -942,7 +942,7 @@ func (this *StatisticCompanyMergerController) CompanyContractPermissionList() {
 		if dataType == "行业未续约" {
 			conditionPerssion := condition1
 			parsPerssion := pars1
-			conditionPerssion += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','买方研选')`
+			conditionPerssion += ` AND  d.permission_name IN ('医药','消费','科技','智造','策略','研选订阅','研选扣点包')`
 
 			listPessionGroup, err = models.GetCompanyContractPermissionNameGroupCount(conditionPerssion, parsPerssion)
 			if err != nil && err.Error() != utils.ErrNoRow() {
@@ -1025,7 +1025,7 @@ func (this *StatisticCompanyMergerController) CompanyContractPermissionList() {
 	}
 
 	//处理展示顺序
-	permissionNameSlice := []string{"医药", "消费", "科技", "智造", "策略", "买方研选"}
+	permissionNameSlice := []string{"医药", "消费", "科技", "智造", "策略", utils.CHART_PERMISSION_NAME_MF_YANXUAN, utils.YAN_XUAN_KOU_DIAN_BAO_NAME}
 	var itemspermissionNameSlice []*models.CompanyContractPermissionNameGroupCountResp
 	for _, vName := range permissionNameSlice {
 		item := new(models.CompanyContractPermissionNameGroupCountResp)

+ 1 - 0
models/company/company_apply.go

@@ -22,6 +22,7 @@ type CompanyApplyServiceUpdateReq struct {
 	ImgUrl            string  `description:"合同图片,多个用英文#隔开"`
 	PackageType       int     `description:"套餐类型,0:无,1:大套餐,2:小套餐"`
 	RaiPackageType    int     `description:"权益套餐类型: 0-无; 1-70w套餐; 2-45w套餐"`
+	Points            float64 `description:"研选扣点包点数"`
 }
 
 type ApproveUser struct {

+ 4 - 3
models/cygx/allocation_company_contract.go

@@ -178,9 +178,10 @@ type AllocationPermissionListResp struct {
 
 // 行业
 type AllocationRealNameListResp struct {
-	RealName   string  `description:"研究员姓名"`
-	Proportion float64 `description:"占比"`
-	Money      float64 `description:"金额(单位万)"`
+	RealName          string  `description:"研究员姓名"`
+	Proportion        float64 `description:"占比"`
+	Money             float64 `description:"金额(单位万)"`
+	ChartPermissionId int     `description:"行业id"`
 }
 
 // 获取数量

+ 47 - 47
models/statistic_report.go

@@ -902,53 +902,6 @@ func GetIncrementalCompanyListByOperationRecordMerge(condition string, pars []in
 	return
 }
 
-// GetIncrementalNewCompanyList 获取增量客户报表列表数据(根据合同来展示)
-func GetIncrementalCompanyPermissionList(condition string, pars []interface{}, startSize, pageSize int) (items []*IncrementalList, err error) {
-	o := orm.NewOrm()
-
-	sql := `SELECT a.*,b.region_type,c.seller_id,c.seller_name,b.company_name,c.renewal_reason, c.status as  company_product_status, d.permission_name as permission_name_export FROM company_contract a
-		 JOIN company b ON a.company_id = b.company_id
-		 JOIN company_product c ON a.company_id = c.company_id 
-		 JOIN company_contract_permission d ON d.company_contract_id = a.company_contract_id
-		 and a.product_id=c.product_id   WHERE 1 = 1 `
-
-	if condition != "" {
-		sql += condition
-	}
-	sql += ` group by d.company_contract_id,d.permission_name   order by start_date desc,company_id desc limit ?,?`
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
-	return
-}
-
-type CompanyContractPermissionNameGroupCountResp struct {
-	Total          int    `description:"数量"`
-	PermissionName string `description:"权限名"`
-}
-
-// GetCompanyContractPermissionNameGroupCount 获取增量客户产品报表列表统计数据(根据合同来展示)
-func GetCompanyContractPermissionNameGroupCount(condition string, pars []interface{}) (items []*CompanyContractPermissionNameGroupCountResp, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT
-			COUNT( DISTINCT d.permission_name, d.company_contract_id ) total,
-			d.permission_name 
-		FROM
-			company_contract a
-			JOIN company b ON a.company_id = b.company_id
-			JOIN company_product c ON a.company_id = c.company_id 
-			AND a.product_id = c.product_id
-			JOIN company_contract_permission d ON d.company_contract_id = a.company_contract_id 
-		WHERE
-			1 = 1 
-			AND d.permission_name IN ( '医药', '消费', '科技', '智造', '策略', '买方研选' ) `
-
-	if condition != "" {
-		sql += condition
-	}
-	sql += `GROUP BY d.permission_name `
-	_, err = o.Raw(sql, pars).QueryRows(&items)
-	return
-}
-
 // GetIncrementalCompanyListByOperationRecordMerge 未续约合同
 func GetIncrementalCompanyListByOperationRecordMerge879() (items []*IncrementalList, err error) {
 	o := orm.NewOrm()
@@ -997,3 +950,50 @@ ORDER BY
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
+
+// GetIncrementalNewCompanyList 获取增量客户报表列表数据(根据合同来展示)
+func GetIncrementalCompanyPermissionList(condition string, pars []interface{}, startSize, pageSize int) (items []*IncrementalList, err error) {
+	o := orm.NewOrm()
+
+	sql := `SELECT a.*,b.region_type,c.seller_id,c.seller_name,b.company_name,c.renewal_reason, c.status as  company_product_status, d.permission_name as permission_name_export FROM company_contract a
+		 JOIN company b ON a.company_id = b.company_id
+		 JOIN company_product c ON a.company_id = c.company_id 
+		 JOIN company_contract_permission d ON d.company_contract_id = a.company_contract_id
+		 and a.product_id=c.product_id   WHERE 1 = 1 `
+
+	if condition != "" {
+		sql += condition
+	}
+	sql += ` group by d.company_contract_id,d.permission_name   order by start_date desc,company_id desc limit ?,?`
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	return
+}
+
+type CompanyContractPermissionNameGroupCountResp struct {
+	Total          int    `description:"数量"`
+	PermissionName string `description:"权限名"`
+}
+
+// GetCompanyContractPermissionNameGroupCount 获取增量客户产品报表列表统计数据(根据合同来展示)
+func GetCompanyContractPermissionNameGroupCount(condition string, pars []interface{}) (items []*CompanyContractPermissionNameGroupCountResp, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+			COUNT( DISTINCT d.permission_name, d.company_contract_id ) total,
+			d.permission_name 
+		FROM
+			company_contract a
+			JOIN company b ON a.company_id = b.company_id
+			JOIN company_product c ON a.company_id = c.company_id 
+			AND a.product_id = c.product_id
+			JOIN company_contract_permission d ON d.company_contract_id = a.company_contract_id 
+		WHERE
+			1 = 1 `
+	//AND d.permission_name IN ( '医药', '消费', '科技', '智造', '策略','研选订阅','研选扣点包' ) `
+
+	if condition != "" {
+		sql += condition
+	}
+	sql += `GROUP BY d.permission_name `
+	_, err = o.Raw(sql, pars).QueryRows(&items)
+	return
+}

+ 1 - 0
services/cygx/activity_points_set.go

@@ -15,6 +15,7 @@ import (
 // 获取公司剩余点数
 func GetCygxActivityPointsCompanyByCompanyId(companyId int) (points string) {
 	var err error
+	points = "0" // 默认都展示 0
 	defer func() {
 		if err != nil {
 			go alarm_msg.SendAlarmMsg("获取公司剩余点数失败:"+err.Error(), 2)

+ 57 - 0
services/cygx/contract_allocation.go

@@ -145,6 +145,10 @@ func GetCompanyContractPermissionNameMapById(companyContractIds []int) (mapContr
 					mapContractIdPerssion[(v.CompanyContractId)] += utils.CHART_PERMISSION_NAME_MF_YANXUAN + ","
 				}
 			}
+
+			if v.ChartPermissionId == utils.YAN_XUAN_KOU_DIAN_BAO_ID {
+				mapContractIdPerssion[(v.CompanyContractId)] += utils.YAN_XUAN_KOU_DIAN_BAO_NAME + ","
+			}
 		}
 	}
 	//合并客观权限
@@ -580,3 +584,56 @@ func initCRM14_4() {
 	//}
 
 }
+
+func initCrm13_2() {
+	var condition string
+	var pars []interface{}
+	condition = " AND   chart_permission_id = 31   AND `status` IN ('正式','试用') AND product_id = 2 "
+
+	//获取所有开通买方研选正式试用的客户列表
+	listCompanyPermissionYx, e := company.GetCompanyReportPermissionList(condition, pars, 0, 0)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		fmt.Println(e)
+		return
+	}
+
+	condition = " AND   chart_permission_id = 52   "
+	listCompanyPermissionKouDian, e := company.GetCompanyReportPermissionList(condition, pars, 0, 0)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		fmt.Println(e)
+		return
+	}
+	mapKoud := make(map[int]bool)
+
+	for _, v := range listCompanyPermissionKouDian {
+		mapKoud[v.CompanyId] = true
+	}
+	//var i int
+	var items []*company.CompanyReportPermission
+	for k, v := range listCompanyPermissionYx {
+		if mapKoud[v.CompanyId] {
+			continue
+		}
+		permission := new(company.CompanyReportPermission)
+		permission.CompanyId = v.CompanyId
+		permission.ReportPermissionId = v.ReportPermissionId
+		permission.CreatedTime = time.Now()
+		permission.LastUpdatedTime = time.Now()
+		permission.ChartPermissionId = 52
+		permission.StartDate = v.StartDate
+		permission.EndDate = v.EndDate
+		permission.ProductId = 2
+		permission.ProductName = "权益"
+		permission.ModifyTime = time.Now()
+		permission.Status = v.Status
+		err := company.AddCompanyReportPermission(permission)
+		if err != nil {
+			return
+		}
+		fmt.Println(k)
+
+		items = append(items, permission)
+	}
+
+	fmt.Println(len(items))
+}