caipin пре 4 година
родитељ
комит
b6e784e322
3 измењених фајлова са 49 додато и 6 уклоњено
  1. 14 5
      services/project_account_service.go
  2. 1 1
      web/api/project_setting_api.go
  3. 34 0
      web/viewmodels/permission.go

+ 14 - 5
services/project_account_service.go

@@ -7,7 +7,9 @@
 package services
 
 import (
+	"encoding/json"
 	"errors"
+	"fmt"
 	"html"
 	"log"
 	"strconv"
@@ -286,11 +288,11 @@ func (s *projectAccountService) GetProjectInfo(id int) (viewmodels.ProjectInfo,
 // 保存权限设置
 func (s *projectAccountService) SaveAuth(permission viewmodels.Permission, projectId int) error {
 	// 1.构造权限字符串
-	// contractPermission := map[string]int{
-	// 	"add":    permission.ContractAdd,
-	// 	"delete": permission.ContractDelete,
-	// 	"access": permission.ContractAccess,
-	// }
+	contractPermission := map[string]int{
+		"add":    permission.ContractAdd,
+		"delete": permission.ContractDelete,
+		"access": permission.ContractAccess,
+	}
 	// safePermission := map[string]int{
 	// 	"add":    permission.SafeAdd,
 	// 	"delete": permission.SafeDelete,
@@ -302,5 +304,12 @@ func (s *projectAccountService) SaveAuth(permission viewmodels.Permission, proje
 	// 	"access": permission.QualityAccess,
 	// }
 
+	contractPermissionByte, err := json.Marshal(contractPermission)
+	if err != nil {
+		return errors.New("合同权限解析识别")
+	}
+	contractPermissionStr := string(contractPermissionByte)
+	fmt.Println(contractPermissionStr)
+
 	return nil
 }

+ 1 - 1
web/api/project_setting_api.go

@@ -90,7 +90,7 @@ func (c *ProjectSettingApi) GetAccountSearch() {
 
 	// 获得检索关键字
 	AccountData := viewmodels.ProjectAccount{}
-	err = c.Ctx.ReadJSON(&AccountData)
+	err = c.Ctx.ReadForm(&AccountData)
 	if err != nil {
 		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("JSON转换异常, error=%s", err)})
 		return

+ 34 - 0
web/viewmodels/permission.go

@@ -0,0 +1,34 @@
+/*
+ * @description: 权限相关
+ * @Author: CP
+ * @Date: 2020-12-25 14:58:52
+ * @FilePath: \construction_management\web\viewmodels\permission.go
+ */
+
+package viewmodels
+
+import validation "github.com/go-ozzo/ozzo-validation/v3"
+
+type Permission struct {
+	BidsectionId string `form:"bidsectionId" json:"bidsectionId"`
+	AccountId    string `form:"accountId" json:"accountId"`
+
+	ContractAdd    int `form:"contractAdd" json:"contractAdd"`
+	ContractDelete int `form:"contractDelete" json:"contractDelete"`
+	ContractAccess int `form:"contractAccess" json:"contractAccess"`
+
+	SafeAdd    int `form:"safeAdd" json:"safeAdd"`
+	SafeDelete int `form:"safeDelete" json:"safeDelete"`
+	SafeAccess int `form:"safeAccess" json:"safeAccess"`
+
+	QualityAdd    int `form:"qualityAdd" json:"qualityAdd"`
+	QualityDelete int `form:"qualityDelete" json:"qualityDelete"`
+	QualityAccess int `form:"qualityAccess" json:"qualityAccess"`
+}
+
+func (l Permission) Validate() error {
+	return validation.ValidateStruct(&l,
+		validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
+		validation.Field(&l.AccountId, validation.Required.Error("账号ID不能为空")),
+	)
+}