caipin 4 years ago
parent
commit
a7dee10371
2 changed files with 46 additions and 20 deletions
  1. 36 17
      services/project_account_service.go
  2. 10 3
      web/api/project_setting_auth_api.go

+ 36 - 17
services/project_account_service.go

@@ -9,7 +9,6 @@ package services
 import (
 	"encoding/json"
 	"errors"
-	"fmt"
 	"html"
 	"log"
 	"strconv"
@@ -42,7 +41,7 @@ type ProjectAccountService interface {
 	GetProjectInfo(id int) (viewmodels.ProjectInfo, error)
 	Delete(id int, projectId int) error
 
-	SaveAuth(permission viewmodels.Permission, projectId int) error
+	SaveAuth(permission viewmodels.Permission, projectId int, accountId int) error
 }
 
 //返回service操作类
@@ -286,30 +285,50 @@ func (s *projectAccountService) GetProjectInfo(id int) (viewmodels.ProjectInfo,
 }
 
 // 保存权限设置
-func (s *projectAccountService) SaveAuth(permission viewmodels.Permission, projectId int) error {
+func (s *projectAccountService) SaveAuth(permission viewmodels.Permission, projectId int, accountId int) error {
 	// 1.构造权限字符串
+	// 1-1.合同权限
 	contractPermission := map[string]int{
 		"add":    permission.ContractAdd,
 		"delete": permission.ContractDelete,
 		"access": permission.ContractAccess,
 	}
-	// safePermission := map[string]int{
-	// 	"add":    permission.SafeAdd,
-	// 	"delete": permission.SafeDelete,
-	// 	"access": permission.SafeAccess,
-	// }
-	// qualityPermission := map[string]int{
-	// 	"add":    permission.QualityAdd,
-	// 	"delete": permission.QualityDelete,
-	// 	"access": permission.QualityAccess,
-	// }
-
 	contractPermissionByte, err := json.Marshal(contractPermission)
 	if err != nil {
-		return errors.New("合同权限解析识别")
+		return errors.New("合同权限解析失败")
 	}
 	contractPermissionStr := string(contractPermissionByte)
-	fmt.Println(contractPermissionStr)
+	// 1.2 安全巡检权限
+	safePermission := map[string]int{
+		"add":    permission.SafeAdd,
+		"delete": permission.SafeDelete,
+		"access": permission.SafeAccess,
+	}
+	safePermissionByte, err := json.Marshal(safePermission)
+	if err != nil {
+		return errors.New("合同权限解析失败")
+	}
+	safePermissionStr := string(safePermissionByte)
+	// 1.3 质量巡检权限
+	qualityPermission := map[string]int{
+		"add":    permission.QualityAdd,
+		"delete": permission.QualityDelete,
+		"access": permission.QualityAccess,
+	}
+	qualityPermissionByte, err := json.Marshal(qualityPermission)
+	if err != nil {
+		return errors.New("合同权限解析失败")
+	}
+	qualityPermissionStr := string(qualityPermissionByte)
 
-	return nil
+	// 2.保存权限
+	account := models.CmProjectAccount{}
+	account.Id = accountId
+	account.ProjectId = projectId
+	account.Contractpermission = contractPermissionStr
+	account.Safepermission = safePermissionStr
+	account.Qualitypermission = qualityPermissionStr
+
+	err = s.dao.Update(&account, []string{"Contractpermission", "Safepermission", "Qualitypermission"})
+	return err
 }

+ 10 - 3
web/api/project_setting_auth_api.go

@@ -136,15 +136,22 @@ func (c *ProjectSettingApi) PostBidAccountAuth() {
 		return
 	}
 
+	// 账号ID
+	accountId, err := utils.GetDecryptId(PermissionData.AccountId)
+	if err != nil {
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
+		return
+	}
+
 	// 保存设置的权限
-	err = c.ServiceProjectAccount.SaveAuth(PermissionData, projectId)
+	err = c.ServiceProjectAccount.SaveAuth(PermissionData, projectId, accountId)
 	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": ""})
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
 		return
 	}
 	c.Ctx.JSON(iris.Map{
 		"code": 0,
-		"msg":  "新增成功",
+		"msg":  "设置成功",
 	})
 }