|
@@ -8,10 +8,12 @@
|
|
|
package dao
|
|
|
|
|
|
import (
|
|
|
+ "encoding/json"
|
|
|
"errors"
|
|
|
|
|
|
"github.com/go-xorm/xorm"
|
|
|
"go.mod/models"
|
|
|
+ "go.mod/web/viewmodels"
|
|
|
)
|
|
|
|
|
|
//数据库操作引擎
|
|
@@ -67,3 +69,50 @@ func (d *PermissionAccountDao) Update(data *models.CmPermissionAccount, columns
|
|
|
}
|
|
|
return nil
|
|
|
}
|
|
|
+
|
|
|
+// 获得当前账号下的标段权限
|
|
|
+func (d *PermissionAccountDao) GetPermissionWithAccountId(accountId int, bidsectionId int) (viewmodels.PermissionView, error) {
|
|
|
+ data := viewmodels.PermissionView{}
|
|
|
+ permission := viewmodels.Permission{}
|
|
|
+ has, err := d.engine.
|
|
|
+ Sql("select * from cm_permission_account where bidsection_id= ? and account_id = ?", accountId, bidsectionId).
|
|
|
+ Get(&data)
|
|
|
+ if has == false {
|
|
|
+ contractPermission := map[string]int{
|
|
|
+ "add": permission.ContractAccess,
|
|
|
+ "delete": permission.ContractDelete,
|
|
|
+ "access": permission.ContractAccess,
|
|
|
+ }
|
|
|
+ contractPermissionByte, err := json.Marshal(contractPermission)
|
|
|
+ if err != nil {
|
|
|
+ return data, errors.New("合同权限解析失败")
|
|
|
+ }
|
|
|
+ contractPermissionStr := string(contractPermissionByte)
|
|
|
+
|
|
|
+ qualityPermission := map[string]int{
|
|
|
+ "add": permission.QualityAdd,
|
|
|
+ "delete": permission.QualityDelete,
|
|
|
+ "access": permission.QualityAccess,
|
|
|
+ }
|
|
|
+ qualityPermissionByte, err := json.Marshal(qualityPermission)
|
|
|
+ if err != nil {
|
|
|
+ return data, errors.New("合同权限解析失败")
|
|
|
+ }
|
|
|
+ qualityPermissionStr := string(qualityPermissionByte)
|
|
|
+
|
|
|
+ safePermission := map[string]int{
|
|
|
+ "add": permission.SafeAdd,
|
|
|
+ "delete": permission.SafeDelete,
|
|
|
+ "access": permission.SafeAccess,
|
|
|
+ }
|
|
|
+ safePermissionByte, err := json.Marshal(safePermission)
|
|
|
+ if err != nil {
|
|
|
+ return data, errors.New("合同权限解析失败")
|
|
|
+ }
|
|
|
+ safePermissionStr := string(safePermissionByte)
|
|
|
+ data.ContractPermission = contractPermissionStr
|
|
|
+ data.QualityPermission = qualityPermissionStr
|
|
|
+ data.SafePermission = safePermissionStr
|
|
|
+ }
|
|
|
+ return data, err
|
|
|
+}
|