|
@@ -2,6 +2,7 @@ package company
|
|
|
|
|
|
import (
|
|
|
"fmt"
|
|
|
+ "hongze/hongze_yb/models/response"
|
|
|
"hongze/hongze_yb/models/tables/admin"
|
|
|
"hongze/hongze_yb/models/tables/chart_permission"
|
|
|
"hongze/hongze_yb/models/tables/company"
|
|
@@ -10,7 +11,9 @@ import (
|
|
|
"hongze/hongze_yb/models/tables/company_user_chart_classify_permission"
|
|
|
"hongze/hongze_yb/models/tables/wx_user"
|
|
|
"hongze/hongze_yb/models/tables/yb_apply_record"
|
|
|
+ "hongze/hongze_yb/services/user"
|
|
|
"hongze/hongze_yb/utils"
|
|
|
+ "sort"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -258,7 +261,7 @@ func CheckPermissionByPermissionIdList2Ficc(companyId int64, userId int, permiss
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func GetCheckPermission(companyId int64, userId int, permissionIdList []int) (ok bool, permissionCheckInfo PermissionCheckInfo, err error) {
|
|
|
+func GetCheckPermission(companyId int64, userId int, permissionIdList []int) (ok bool, permissionCheckInfo response.PermissionCheckInfo, err error) {
|
|
|
defer func() {
|
|
|
// 如果无权限,那么就去查询是否申请过
|
|
|
if ok == false {
|
|
@@ -319,7 +322,7 @@ func GetCheckPermission(companyId int64, userId int, permissionIdList []int) (ok
|
|
|
err = tmpErr
|
|
|
return
|
|
|
}
|
|
|
- customerInfo := CustomerInfo{
|
|
|
+ customerInfo := response.CustomerInfo{
|
|
|
CompanyName: companyInfo.CompanyName,
|
|
|
Status: companyProductInfo.Status,
|
|
|
Name: wxUser.RealName,
|
|
@@ -578,5 +581,79 @@ func GetFiccPermissionList() (list []*FiccPermissionList, err error) {
|
|
|
list = append(list, classify)
|
|
|
}
|
|
|
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func GetHomeFiccPermissions(user user.UserInfo) (list response.PermissionFiccList, err error){
|
|
|
+ validPermissionIds, err := GetPurchasePermissionIdsByCompany2ProductId(user.CompanyID, 1)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ permissionList, err := chart_permission.GetFiccListExceptTacticByProductId()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ permissionMap := make(map[uint64]bool)
|
|
|
+ permissionFirstMap := make(map[string]*response.PermissionFirstItem)
|
|
|
+ permissionFirstMap["宏观经济"] = &response.PermissionFirstItem{
|
|
|
+ Sort: 1001,
|
|
|
+ }
|
|
|
+ permissionFirstMap["化工产业"] = &response.PermissionFirstItem{
|
|
|
+ Sort: 1002,
|
|
|
+ }
|
|
|
+ permissionFirstMap["黑色产业"] = &response.PermissionFirstItem{
|
|
|
+ Sort: 1003,
|
|
|
+ }
|
|
|
+ permissionFirstMap["有色产业"] = &response.PermissionFirstItem{
|
|
|
+ Sort: 1004,
|
|
|
+ }
|
|
|
+
|
|
|
+ for k, v := range permissionList {
|
|
|
+ permissionMap[v.ChartPermissionID] = false
|
|
|
+ for _, myPerId := range validPermissionIds {
|
|
|
+ if int(v.ChartPermissionID) == myPerId {
|
|
|
+ permissionMap[v.ChartPermissionID] = true
|
|
|
+ permissionList[k].Sort = v.Sort - 1000
|
|
|
+ if _, ok := permissionFirstMap[v.ClassifyName]; ok && !permissionFirstMap[v.ClassifyName].IsCheck {
|
|
|
+ permissionFirstMap[v.ClassifyName].AuthOk = true
|
|
|
+ permissionFirstMap[v.ClassifyName].Sort -= 1000
|
|
|
+ permissionFirstMap[v.ClassifyName].IsCheck = true
|
|
|
+ }
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range permissionList {
|
|
|
+ temp := new(response.PermissionFiccSecondItem)
|
|
|
+ temp.Sort = v.Sort
|
|
|
+ temp.ChartPermissionID = int(v.ChartPermissionID)
|
|
|
+ temp.ChartPermissionName = v.ChartPermissionName
|
|
|
+ temp.AuthOk = permissionMap[v.ChartPermissionID]
|
|
|
+ if _, ok := permissionFirstMap[v.ClassifyName]; ok{
|
|
|
+ permissionFirstMap[v.ClassifyName].List = append(permissionFirstMap[v.ClassifyName].List, temp)
|
|
|
+ }else{
|
|
|
+ permissionFirstMap[v.ClassifyName] = &response.PermissionFirstItem{
|
|
|
+ List: []*response.PermissionFiccSecondItem{temp},
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ for k, v := range permissionFirstMap {
|
|
|
+ temp := new(response.PermissionFiccItem)
|
|
|
+ temp.Sort = v.Sort
|
|
|
+ temp.ClassifyName = k
|
|
|
+ if len(v.List) > 0 {
|
|
|
+ temp.List = v.List
|
|
|
+ sort.Sort(temp.List)
|
|
|
+ }
|
|
|
+ list = append(list, temp)
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(list) > 0 {
|
|
|
+ sort.Sort(list)
|
|
|
+ }
|
|
|
return
|
|
|
}
|