Browse Source

fix(合同权限):新增返回合同权限列表

Roc 3 năm trước cách đây
mục cha
commit
7e80c476f9

+ 74 - 94
controllers/approval.go

@@ -4,6 +4,7 @@ import (
 	"hongze/hongze_mobile_admin/models/response/approval"
 	"hongze/hongze_mobile_admin/models/tables/company_approval"
 	"hongze/hongze_mobile_admin/models/tables/company_delay_permission"
+	"hongze/hongze_mobile_admin/models/tables/company_report_permission"
 	"hongze/hongze_mobile_admin/utils"
 	"rdluck_tools/paging"
 	"time"
@@ -23,7 +24,6 @@ type ApprovalCommon struct {
 // @router /list [get]
 func (this *ApprovalCommon) List() {
 	sysUser := this.AdminWx
-
 	roleTypeCode := sysUser.RoleTypeCode
 
 	pageSize, _ := this.GetInt("PageSize")
@@ -118,99 +118,79 @@ func (this *ApprovalCommon) List() {
 	this.OkDetailed(resp, "获取成功")
 }
 
-//
-//// @Title 获取审批单中的权限列表
-//// @Description 获取审批单中的权限列表接口
-//// @Param   ApprovalId   query   int  true       "审批单id"
-//// @Success 200 {object} company.CompanyPermissionResp
-//// @router /approval/getApprovalPermissionList [get]
-//func (this *CompanyApprovalController) GetApprovalPermissionList() {
-//	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
-//	}
-//
-//	//返回基础参数
-//	resp := new(company.CompanyPermissionResp)
-//
-//	//获取审批单信息
-//	approvalId, _ := this.GetInt("ApprovalId")
-//	if approvalId <= 0 {
-//		br.Msg = "审批单参数异常"
-//		br.ErrMsg = "提交审批单参数异常"
-//		return
-//	}
-//	approvalInfo,err := company.GetCompanyApprovalByApprovalId(approvalId)
-//	if err != nil{
-//		br.Msg = "获取失败"
-//		br.ErrMsg = "获取审批单数据失败,Err:" + err.Error()
-//		return
-//	}
-//
-//	//子权限切片集合
-//	var permissionClassifyArr  []string
-//	if approvalInfo.ProductId == 1{
-//		for _, v := range utils.PermissionFiccClassifyArr{
-//			permissionClassifyArr = append(permissionClassifyArr,v)
-//		}
-//	}else{
-//		permissionClassifyArr = append(permissionClassifyArr,"权益")
-//	}
-//
-//	//获取需要审批的权限
-//	delayPermissionList, err := company.GetDelayPermissionItems(approvalInfo.CompanyId,approvalInfo.CompanyApprovalId)
-//	if err != nil && err.Error() != utils.ErrNoRow() {
-//		br.Msg = "获取失败"
-//		br.ErrMsg = "获取审批权限失败,Err:" + err.Error()
-//		return
-//	}
-//
-//	delayPermissionIdMap := make(map[int]int)
-//	for _,delayPermission := range delayPermissionList{
-//		delayPermissionIdMap[delayPermission.ChartPermissionId] = 0
-//	}
-//
-//	//遍历获取
-//	for _, v := range permissionClassifyArr {
-//		checkList := make([]int, 0)
-//		plist := new(company.PermissionLookList)
-//		items, err := company.GetPermissionLookItems(approvalInfo.ProductId, v)
-//		if err != nil {
-//			br.Msg = "获取失败"
-//			br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
-//			return
-//		}
-//		for _, n := range items {
-//			if _,ok := delayPermissionIdMap[n.ChartPermissionId];ok{
-//				checkList = append(checkList, n.ChartPermissionId)
-//			}
-//		}
-//		plist.Items = items
-//		plist.ClassifyName = v
-//		plist.CheckList = checkList
-//
-//		if approvalInfo.ProductId == 1 {
-//			resp.FiccPermissionList = append(resp.FiccPermissionList, plist)
-//		}else{
-//			resp.PermissionList = append(resp.PermissionList, plist)
-//		}
-//
-//	}
-//
-//	br.Ret = 200
-//	br.Success = true
-//	br.Msg = "获取成功"
-//	br.Data = resp
-//}
-//
+// @Title 获取审批单中的权限列表
+// @Description 获取审批单中的权限列表接口
+// @Param   ApprovalId   query   int  true       "审批单id"
+// @Success 200 {object} company.CompanyPermissionResp
+// @router /getApprovalPermissionList [get]
+func (this *ApprovalCommon) GetApprovalPermissionList() {
+	//this.FailWithMessage("获取失败", "获取数据总数失败,Err:"+err.Error())
+	//返回基础参数
+	resp := new(approval.CompanyPermissionResp)
+
+	//获取审批单信息
+	approvalId, _ := this.GetInt("ApprovalId")
+	if approvalId <= 0 {
+		this.FailWithMessage("审批单参数异常", "提交审批单参数异常")
+		return
+	}
+	approvalInfo, err := company_approval.GetCompanyApprovalByApprovalId(approvalId)
+	if err != nil {
+		this.FailWithMessage("获取失败", "获取审批单数据失败,Err:"+err.Error())
+		return
+	}
+
+	//子权限切片集合
+	var permissionClassifyArr []string
+	if approvalInfo.ProductId == 1 {
+		for _, v := range utils.PermissionFiccClassifyArr {
+			permissionClassifyArr = append(permissionClassifyArr, v)
+		}
+	} else {
+		permissionClassifyArr = append(permissionClassifyArr, "权益")
+	}
+
+	//获取需要审批的权限
+	delayPermissionList, err := company_delay_permission.GetDelayPermissionItems(approvalInfo.CompanyId, approvalInfo.CompanyApprovalId)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		this.FailWithMessage("获取失败", "获取审批权限失败,Err:"+err.Error())
+		return
+	}
+
+	delayPermissionIdMap := make(map[int]int)
+	for _, delayPermission := range delayPermissionList {
+		delayPermissionIdMap[delayPermission.ChartPermissionId] = 0
+	}
+
+	//遍历获取
+	for _, v := range permissionClassifyArr {
+		checkList := make([]int, 0)
+		plist := new(company_report_permission.PermissionLookList)
+		items, err := company_report_permission.GetPermissionLookItems(approvalInfo.ProductId, v)
+		if err != nil {
+			this.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
+			return
+		}
+		for _, n := range items {
+			if _, ok := delayPermissionIdMap[n.ChartPermissionId]; ok {
+				checkList = append(checkList, n.ChartPermissionId)
+			}
+		}
+		plist.Items = items
+		plist.ClassifyName = v
+		plist.CheckList = checkList
+
+		if approvalInfo.ProductId == 1 {
+			resp.FiccPermissionList = append(resp.FiccPermissionList, plist)
+		} else {
+			resp.PermissionList = append(resp.PermissionList, plist)
+		}
+
+	}
+
+	this.OkDetailed(resp, "获取成功")
+}
+
 //// @Title 审批
 //// @Description 审批接口
 //// @Param	request	body company.CompanyApplyApproveReq true "type json string"

+ 54 - 50
controllers/base_auth.go

@@ -43,68 +43,72 @@ func (this *BaseAuth) Prepare() {
 	if strings.Contains(uri, "/api/wechat/login") {
 		authorization = ""
 	}
-	if authorization != "" {
-		session, err := h5_admin_session.GetSessionByToken(authorization)
-		if err != nil {
-			if err.Error() == utils.ErrNoRow() {
-				this.TokenMsgError("信息已变更,请重新登陆!", "Token 信息已变更:Token: "+authorization)
-				return
-			}
-			this.TokenMsgError("网络异常,请稍后重试!", "获取用户信息异常,Err:"+err.Error())
-			return
-		}
-		if session == nil {
-			this.TokenMsgError("网络异常,请稍后重试!", "session is empty")
+	if authorization == "" {
+		this.TokenMsgError("请求异常,没有携带token!", "请求异常,没有携带token ")
+		return
+	}
+
+	session, err := h5_admin_session.GetSessionByToken(authorization)
+	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			this.TokenMsgError("信息已变更,请重新登陆!", "Token 信息已变更:Token: "+authorization)
 			return
 		}
+		this.TokenMsgError("网络异常,请稍后重试!", "获取用户信息异常,Err:"+err.Error())
+		return
+	}
+	if session == nil {
+		this.TokenMsgError("网络异常,请稍后重试!", "session is empty")
+		return
+	}
 
-		this.Session = session
-		var adminWx *custom.AdminWx
-		if session.AdminId > 0 {
-			tmpAdminWx, tmpErr := services.GetAdminUserItemByAdminId(session.AdminId, utils.WxPlatform)
-			adminWx = tmpAdminWx
-			err = tmpErr
-		} else if session.OpenId != "" {
-			tmpAdminWx, tmpErr := services.GetAdminUserItemByOpenId(session.OpenId)
-			adminWx = tmpAdminWx
-			err = tmpErr
-		} else {
-			this.TokenMsgError("数据异常!", "session is empty")
+	this.Session = session
+	var adminWx *custom.AdminWx
+	if session.AdminId > 0 {
+		tmpAdminWx, tmpErr := services.GetAdminUserItemByAdminId(session.AdminId, utils.WxPlatform)
+		adminWx = tmpAdminWx
+		err = tmpErr
+	} else if session.OpenId != "" {
+		tmpAdminWx, tmpErr := services.GetAdminUserItemByOpenId(session.OpenId)
+		adminWx = tmpAdminWx
+		err = tmpErr
+	} else {
+		this.TokenMsgError("数据异常!", "session is empty")
+		return
+	}
+	//wxUser, err := models.GetWxUserItemByUserId(session.UserId)
+	//wxUser, err := services.GetWxUserItemByOpenId(session.OpenId)
+	if err != nil {
+		//没有找到记录
+		if err.Error() == utils.ErrNoRow() {
+			this.TokenMsgError("信息已变更,请重新登陆!", "获取admin 信息失败 "+strconv.Itoa(session.AdminId))
 			return
 		}
-		//wxUser, err := models.GetWxUserItemByUserId(session.UserId)
-		//wxUser, err := services.GetWxUserItemByOpenId(session.OpenId)
-		if err != nil {
-			//没有找到记录
-			if err.Error() == utils.ErrNoRow() {
-				this.TokenMsgError("信息已变更,请重新登陆!", "获取admin 信息失败 "+strconv.Itoa(session.AdminId))
-				return
-			}
 
-			//如果不是登录绑定接口,同时报错信息不是用户未绑定的情况下,那么就返回异常
-			if !strings.Contains(uri, "/api/admin/login") && err != services.ERR_ADMIN_NOT_BIND {
+		//如果不是登录绑定接口,同时报错信息不是用户未绑定的情况下,那么就返回异常
+		if !strings.Contains(uri, "/api/admin/login") && err != services.ERR_ADMIN_NOT_BIND {
 
-			}
+		}
 
-			//错误信息,账户未绑定,跳转到绑定页面
-			if err == services.ERR_ADMIN_NOT_BIND {
-				//如果不是登录接口
-				if !strings.Contains(uri, "/api/admin/login") {
-					this.BindMsgError("账户未绑定!", "获取admin_wx信息异常,Err:"+err.Error())
-					return
-				}
-			} else {
-				//其他错误信息
-				this.TokenMsgError("网络异常,请稍后重试!", "获取admin_wx信息异常,Err:"+err.Error())
+		//错误信息,账户未绑定,跳转到绑定页面
+		if err == services.ERR_ADMIN_NOT_BIND {
+			//如果不是登录接口
+			if !strings.Contains(uri, "/api/admin/login") {
+				this.BindMsgError("账户未绑定!", "获取admin_wx信息异常,Err:"+err.Error())
 				return
 			}
-
-		}
-		if adminWx == nil {
-			this.TokenMsgError("网络异常,请稍后重试!", "admin is empty")
+		} else {
+			//其他错误信息
+			this.TokenMsgError("网络异常,请稍后重试!", "获取admin_wx信息异常,Err:"+err.Error())
 			return
 		}
-		this.AdminWx = adminWx
+
 	}
+	if adminWx == nil {
+		this.TokenMsgError("网络异常,请稍后重试!", "admin is empty")
+		return
+	}
+	this.AdminWx = adminWx
+
 	this.Token = authorization
 }

+ 7 - 0
models/response/approval/approval.go

@@ -2,6 +2,7 @@ package approval
 
 import (
 	"hongze/hongze_mobile_admin/models/tables/company_approval"
+	"hongze/hongze_mobile_admin/models/tables/company_report_permission"
 	"rdluck_tools/paging"
 )
 
@@ -9,3 +10,9 @@ type CompanyApprovalListResp struct {
 	Paging *paging.PagingItem
 	List   []*company_approval.CompanyApprovalList
 }
+
+//客户权限列表
+type CompanyPermissionResp struct {
+	FiccPermissionList []*company_report_permission.PermissionLookList `description:"Ficc权限列表"`
+	PermissionList     []*company_report_permission.PermissionLookList `description:"权益权限列表"`
+}

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

@@ -64,3 +64,10 @@ func GetCompanyPermissionCheckItem(companyId, permissionId int) (item *Permissio
 	err = o.Raw(sql, companyId, permissionId).QueryRow(&item)
 	return
 }
+
+func GetPermissionLookItems(productId int, classifyName string) (items []*PermissionLookItem, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT * FROM chart_permission WHERE enabled=1 AND product_id=? AND classify_name=? ORDER BY sort ASC `
+	_, err = o.Raw(sql, productId, classifyName).QueryRows(&items)
+	return
+}

+ 0 - 2
utils/config.go

@@ -46,8 +46,6 @@ func init() {
 		TemplateRedirectUrl = "http://rddpweb.brilliantstart.cn/reportdtl?id="
 		WxPlatform = 1
 	}
-
-	//InitDb()
 }
 
 //http://webapi.brilliantstart.cn/api/