浏览代码

查研观向8.2合同详情权限升级

xingzai 2 年之前
父节点
当前提交
c1055d7628

+ 22 - 0
controllers/company_contract.go

@@ -75,6 +75,17 @@ func (c *CompanyContractCommon) ApplyContractDetail() {
 			c.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
 			return
 		}
+		mapUpgrade := make(map[int]int)
+		permissionList, err := company_report_permission.GetCompanyContractPermissionByCompanyContractId(companyContractId)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			c.FailWithMessage("获取失败", "获取合同权限信息失败,Err:"+err.Error())
+			return
+		}
+		for _, v := range permissionList {
+			if v.IsUpgrade == 1 {
+				mapUpgrade[v.ChartPermissionId] = v.ChartPermissionId
+			}
+		}
 		for _, n := range items {
 			count, err := company_contract.GetCompanyContractPermissionCheckByContractId(companyId, detail.CompanyContractId, n.ChartPermissionId)
 			if err != nil {
@@ -92,6 +103,17 @@ func (c *CompanyContractCommon) ApplyContractDetail() {
 		detail.PermissionList = append(detail.PermissionList, plist)
 		// CRM8.8-权限主客观合并
 		newPermissionLookList := contract.HandleEquityPermissionLookList(detail.PermissionList)
+		if len(mapUpgrade) > 0 {
+			for _, n := range newPermissionLookList {
+				if n.ClassifyName == "权益" {
+					for _, n2 := range n.Items {
+						if _, ok := mapUpgrade[n2.ChartPermissionId]; ok {
+							n2.PermissionName += "(升级)"
+						}
+					}
+				}
+			}
+		}
 		detail.PermissionList = newPermissionLookList
 	}
 	resp := companyContractResp.CompanyContractDetailResp{

+ 1 - 0
models/tables/company_contract/company_contract.go

@@ -64,3 +64,4 @@ func GetCompanyContractPermissionCheckByContractId(companyId, companyContractId,
 	err = o.Raw(sql, companyId, companyContractId, permissionId).QueryRow(&count)
 	return
 }
+

+ 10 - 0
models/tables/company_report_permission/company_report_permission.go

@@ -50,6 +50,7 @@ type PermissionLookItem struct {
 	ExpireDay         string `description:"到期天数"`
 	ClassifyName      string `description:"分类"`
 	Remark            string `description:"备注"`
+	IsUpgrade         int       `description:"是否升级,1是,0否"`
 }
 
 func GetCompanyPermissionCheck(companyId, permissionId int) (count int, err error) {
@@ -72,3 +73,12 @@ func GetPermissionLookItems(productId int, classifyName string) (items []*Permis
 	_, err = o.Raw(sql, productId, classifyName).QueryRows(&items)
 	return
 }
+
+
+//GetCompanyContractPermissionByCompanyContractId 根据合同ID获取开通的权限
+func GetCompanyContractPermissionByCompanyContractId(companyContractId int) (items []*PermissionLookItem, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM company_contract_permission WHERE company_contract_id =? ORDER BY modify_time DESC `
+	_, err = o.Raw(sql, companyContractId).QueryRows(&items)
+	return
+}