hsun 1 year ago
parent
commit
5125475d7b

+ 103 - 0
controllers/company_permission.go

@@ -81,3 +81,106 @@ func (this *CompanyPermissionController) List() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// PermissionVariety
+// @Title 品种
+// @Description 品种接口
+// @Param   CompanyType   query   string  true       "客户类型:传空字符串或者不传为全部,'ficc','权益'"
+// @Success 200 {object} company.PermissionVarietyResp
+// @router /permission/variety [get]
+func (this *CompanyPermissionController) PermissionVariety() {
+	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
+	}
+	if utils.BusinessCode == utils.BusinessCodeRelease {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		return
+	}
+
+	companyType := this.GetString("CompanyType")
+
+	var productId int
+	resp := new(company.PermissionVarietyResp)
+
+	roleTypeCode := sysUser.RoleTypeCode
+	if roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER || roleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN {
+		productId = 2
+	} else if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER || roleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN {
+		productId = 1
+	} else {
+		productId = 0
+	}
+
+	if productId == 1 {
+		for k, v := range utils.PermissionFiccClassifyArr {
+			p := new(company.PermissionVarietyList)
+			p.ClassifyName = v
+			p.ChartPermissionId = k + 100
+			items, err := company.GetPermissionVarietyItems(productId, v)
+			if err != nil {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
+				return
+			}
+			p.Items = items
+			resp.List = append(resp.List, p)
+		}
+	} else if productId == 2 {
+		v := "权益"
+		p := new(company.PermissionVarietyList)
+		p.ClassifyName = v
+		p.ChartPermissionId = 105
+		items, err := company.GetPermissionVarietyItems(productId, v)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
+			return
+		}
+		p.Items = items
+		resp.List = append(resp.List, p)
+	} else {
+		if companyType == utils.COMPANY_PRODUCT_FICC_NAME {
+			for k, v := range utils.PermissionFiccClassifyArr {
+				p := new(company.PermissionVarietyList)
+				p.ClassifyName = v
+				p.ChartPermissionId = k + 100
+				items, err := company.GetPermissionVarietyItems(1, v)
+				if err != nil {
+					br.Msg = "获取失败"
+					br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
+					return
+				}
+				p.Items = items
+				resp.List = append(resp.List, p)
+			}
+		} else if companyType == utils.COMPANY_PRODUCT_RAI_NAME {
+			v := "权益"
+			p := new(company.PermissionVarietyList)
+			p.ClassifyName = v
+			p.ChartPermissionId = 105
+			items, err := company.GetPermissionVarietyItems(2, v)
+			if err != nil {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
+				return
+			}
+			p.Items = items
+			resp.List = append(resp.List, p)
+		}
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 19 - 15
controllers/report.go

@@ -482,26 +482,30 @@ func (this *ReportController) Add() {
 		br.ErrMsg = "保存失败,Err:" + err.Error()
 		return
 	}
-	//处理权限
-	{
-		permissionItems, err := models.GetPermission(req.ClassifyNameSecond)
-		if err != nil {
-			go alarm_msg.SendAlarmMsg("获取权限失败,Err:"+err.Error(), 3)
-			//utils.SendEmail(utils.APPNAME+"失败提醒", "获取权限失败,Err:"+err.Error(), utils.EmailSendToUsers)
-		}
-		for _, v := range permissionItems {
-			err = models.AddChartPermissionChapterMapping(v.ChartPermissionId, newReportId)
-			if err != nil {
-				go alarm_msg.SendAlarmMsg("新增权限失败,Err:"+err.Error(), 3)
-				//utils.SendEmail(utils.APPNAME+"失败提醒", "新增权限失败,Err:"+err.Error()+strconv.FormatInt(newReportId, 10), utils.EmailSendToUsers)
-			}
-		}
-	}
 	reportCode := utils.MD5(strconv.Itoa(int(newReportId)))
 	//修改唯一编码
 	{
 		go models.ModifyReportCode(newReportId, reportCode)
 	}
+
+	//处理权限
+	if utils.BusinessCode == utils.BusinessCodeRelease {
+		go func() {
+			permissionItems, e := models.GetPermission(req.ClassifyNameSecond)
+			if e != nil {
+				alarm_msg.SendAlarmMsg("获取权限失败,Err:"+e.Error(), 3)
+				return
+			}
+			for _, v := range permissionItems {
+				e = models.AddChartPermissionChapterMapping(v.ChartPermissionId, newReportId)
+				if e != nil {
+					alarm_msg.SendAlarmMsg("新增权限失败,Err:"+e.Error(), 3)
+					return
+				}
+			}
+		}()
+	}
+
 	resp := new(models.AddResp)
 	resp.ReportId = newReportId
 	resp.ReportCode = reportCode

+ 6 - 0
controllers/research_group.go

@@ -58,6 +58,12 @@ func (this *ResearchGroupController) GetAdminResearchGroup() {
 		br.Msg = "参数有误"
 		return
 	}
+	if utils.BusinessCode != utils.BusinessCodeRelease {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		return
+	}
 	//list, err := system.ResearchGroupRelationListByAdminId(adminId)
 	list, err := models.ResearchTagRelationListByAdminId(adminId)
 	if err != nil {

+ 22 - 0
models/company/company_permission.go

@@ -79,6 +79,28 @@ type PermissionLookItem struct {
 	Child              []*PermissionLookItem `description:"子权限"`
 }
 
+type PermissionVarietyResp struct {
+	List []*PermissionVarietyList
+}
+
+type PermissionVarietyItem struct {
+	ChartPermissionId int    `description:"权限id"`
+	ClassifyName      string `orm:"column(permission_name)" description:"权限名称"`
+}
+
+type PermissionVarietyList struct {
+	ChartPermissionId int    `description:"父级id"`
+	ClassifyName      string `description:"分类"`
+	Items             []*PermissionVarietyItem
+}
+
+func GetPermissionVarietyItems(productId int, classifyName string) (items []*PermissionVarietyItem, err error) {
+	o := orm.NewOrmUsingDB("weekly")
+	sql := ` SELECT * FROM chart_permission WHERE enabled=1 AND product_id=? AND classify_name=? GROUP BY permission_name ORDER BY sort ASC `
+	_, err = o.Raw(sql, productId, classifyName).QueryRows(&items)
+	return
+}
+
 // GetChartPermissionListById 根据权限id获取产品权限详情
 func GetChartPermissionListById(chartPermissionId int) (item *ChartPermission, err error) {
 	o := orm.NewOrmUsingDB("weekly")