瀏覽代碼

Merge remote-tracking branch 'origin/master' into master

icole 4 年之前
父節點
當前提交
e734491b48

+ 2 - 2
internal/logic/get_data_permission_logic.go

@@ -141,13 +141,13 @@ func NewGetDataPermissionLogic(ctx context.Context, svcCtx *svc.ServiceContext)
 
 // 获取数据权限
 func (l *GetDataPermissionLogic) GetDataPermission(in *transform.DataPermissionReq) (*transform.DataPermissionRes, error) {
-	rule_code, UserId, params := in.RuleCode, in.UserId, transform.DataPermissionRes{}
+	rule_code, UserId, params := in.RuleCode, in.UserId, transform.DataPermissionRes{MapList: map[string]string{}}
 	var channelMap = map[string]string{
 		"mkt": "1001", "tmk": "1002", "old": "1003", "other": "1005", "prod": "1004",
 	}
 	mainRoleCode := []string{"tmk", "mkt", "prod", "old", "other", "no_tmk"}
 	if roleM, ok := roleMap[rule_code]; ok {
-		var roleRules []model.SysRoleDataPermission
+		var roleRules []model.SysDataPermissionDetail
 		err := l.svcCtx.SqlConn.QueryRowsPartial(&roleRules, `SELECT
 			sys_data_permission_detail.*
 		FROM

+ 4 - 2
internal/logic/parse_token_logic.go

@@ -12,6 +12,7 @@ import (
 )
 
 type ErpUserPrivileges struct {
+	Mobile          sql.NullString `db:"mobile"`
 	UserRoleIds     sql.NullString `db:"user_role_ids"`
 	UserSchoolIds   sql.NullString `db:"user_school_ids"`
 	UserProvinceIds sql.NullString `db:"user_province_ids"`
@@ -63,7 +64,8 @@ func (l *ParseTokenLogic) ParseToken(in *transform.TokenRequest) (*transform.Tok
 
 		l.svcCtx.SqlConn.QueryRowPartial(&privileges, `select
 		base_organ.id sys_organ_id,
-		base_organ_school.id sys_school_id
+		base_organ_school.id sys_school_id,
+		sys_user.mobile 
 		from
 		sys_user,sys_user_school,base_organ_school,base_organ
 		where sys_user.id=sys_user_school.user_id
@@ -73,7 +75,7 @@ func (l *ParseTokenLogic) ParseToken(in *transform.TokenRequest) (*transform.Tok
 		and base_organ.id = base_organ_school.organ_id
 		and sys_user.id = ?
 		ORDER BY base_organ.parent,base_organ_school.id`, tr.UserId)
-		tr.UserRoleIds = privileges.UserRoleIds.String
+		tr.UserPhone = privileges.Mobile.String
 		tr.UserRoleIds = privileges.UserRoleIds.String
 		tr.UserSchoolIds = privileges.UserSchoolIds.String
 		tr.UserProvinceIds = privileges.UserProvinceIds.String

+ 12 - 0
model/sys_data_permission_detail.sql

@@ -0,0 +1,12 @@
+CREATE TABLE `sys_data_permission_detail` (
+  `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+  `data_permission_id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+  `role_id` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+  `rule` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+  `create_by` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+  `create_time` datetime NOT NULL,
+  `last_update_by` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+  `last_update_time` bigint NOT NULL,
+  `del_flag` int NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

+ 108 - 0
model/sys_data_permission_detail_model.go

@@ -0,0 +1,108 @@
+package model
+
+import (
+	"database/sql"
+	"fmt"
+	"strings"
+	"time"
+
+	"git.i2edu.net/i2/go-zero/core/stores/cache"
+	"git.i2edu.net/i2/go-zero/core/stores/sqlc"
+	"git.i2edu.net/i2/go-zero/core/stores/sqlx"
+	"git.i2edu.net/i2/go-zero/core/stringx"
+	"git.i2edu.net/i2/go-zero/tools/goctl/model/sql/builderx"
+)
+
+var (
+	sysDataPermissionDetailFieldNames          = builderx.RawFieldNames(&SysDataPermissionDetail{})
+	sysDataPermissionDetailRows                = strings.Join(sysDataPermissionDetailFieldNames, ",")
+	sysDataPermissionDetailRowsExpectAutoSet   = strings.Join(stringx.Remove(sysDataPermissionDetailFieldNames, "`create_time`", "`update_time`"), ",")
+	sysDataPermissionDetailRowsWithPlaceHolder = strings.Join(stringx.Remove(sysDataPermissionDetailFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
+
+	cacheSysDataPermissionDetailIdPrefix = "cache:sysDataPermissionDetail:id:"
+)
+
+type (
+	SysDataPermissionDetailModel interface {
+		Insert(data SysDataPermissionDetail) (sql.Result, error)
+		FindOne(id string) (*SysDataPermissionDetail, error)
+		Update(data SysDataPermissionDetail) error
+		Delete(id string) error
+	}
+
+	defaultSysDataPermissionDetailModel struct {
+		sqlc.CachedConn
+		table string
+	}
+
+	SysDataPermissionDetail struct {
+		DelFlag          int64     `db:"del_flag"`
+		Id               string    `db:"id"`
+		RoleId           string    `db:"role_id"`
+		Rule             string    `db:"rule"`
+		LastUpdateBy     string    `db:"last_update_by"`
+		LastUpdateTime   int64     `db:"last_update_time"`
+		DataPermissionId string    `db:"data_permission_id"`
+		CreateBy         string    `db:"create_by"`
+		CreateTime       time.Time `db:"create_time"`
+	}
+)
+
+func NewSysDataPermissionDetailModel(conn sqlx.SqlConn, c cache.CacheConf) SysDataPermissionDetailModel {
+	return &defaultSysDataPermissionDetailModel{
+		CachedConn: sqlc.NewConn(conn, c),
+		table:      "`sys_data_permission_detail`",
+	}
+}
+
+func (m *defaultSysDataPermissionDetailModel) Insert(data SysDataPermissionDetail) (sql.Result, error) {
+	query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?)", m.table, sysDataPermissionDetailRowsExpectAutoSet)
+	ret, err := m.ExecNoCache(query, data.DelFlag, data.Id, data.RoleId, data.Rule, data.LastUpdateBy, data.LastUpdateTime, data.DataPermissionId, data.CreateBy)
+
+	return ret, err
+}
+
+func (m *defaultSysDataPermissionDetailModel) FindOne(id string) (*SysDataPermissionDetail, error) {
+	sysDataPermissionDetailIdKey := fmt.Sprintf("%s%v", cacheSysDataPermissionDetailIdPrefix, id)
+	var resp SysDataPermissionDetail
+	err := m.QueryRow(&resp, sysDataPermissionDetailIdKey, func(conn sqlx.SqlConn, v interface{}) error {
+		query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", sysDataPermissionDetailRows, m.table)
+		return conn.QueryRow(v, query, id)
+	})
+	switch err {
+	case nil:
+		return &resp, nil
+	case sqlc.ErrNotFound:
+		return nil, ErrNotFound
+	default:
+		return nil, err
+	}
+}
+
+func (m *defaultSysDataPermissionDetailModel) Update(data SysDataPermissionDetail) error {
+	sysDataPermissionDetailIdKey := fmt.Sprintf("%s%v", cacheSysDataPermissionDetailIdPrefix, data.Id)
+	_, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
+		query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, sysDataPermissionDetailRowsWithPlaceHolder)
+		return conn.Exec(query, data.DelFlag, data.RoleId, data.Rule, data.LastUpdateBy, data.LastUpdateTime, data.DataPermissionId, data.CreateBy, data.Id)
+	}, sysDataPermissionDetailIdKey)
+	return err
+}
+
+func (m *defaultSysDataPermissionDetailModel) Delete(id string) error {
+
+	sysDataPermissionDetailIdKey := fmt.Sprintf("%s%v", cacheSysDataPermissionDetailIdPrefix, id)
+	_, err := m.Exec(func(conn sqlx.SqlConn) (result sql.Result, err error) {
+		query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
+		return conn.Exec(query, id)
+	}, sysDataPermissionDetailIdKey)
+	return err
+}
+
+func (m *defaultSysDataPermissionDetailModel) formatPrimary(primary interface{}) string {
+	return fmt.Sprintf("%s%v", cacheSysDataPermissionDetailIdPrefix, primary)
+}
+
+func (m *defaultSysDataPermissionDetailModel) queryPrimary(conn sqlx.SqlConn, v, primary interface{}) error {
+	query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", sysDataPermissionDetailRows, m.table)
+	return conn.QueryRow(v, query, primary)
+}

+ 3 - 0
start.sh

@@ -9,6 +9,9 @@ goctl model mysql ddl -c -src model/student.sql -dir model
 goctl model mysql ddl -c -src model/sys_user.sql -dir model
 goctl model mysql ddl -c -src model/mkt_part_time_user.sql -dir model
 goctl model mysql ddl -c -src model/excel_export_log.sql -dir model --style go_zero
+goctl model mysql ddl -c -src model/sys_role_data_permission.sql -dir model --style go_zero
+goctl model mysql ddl -c -src model/sys_data_permission_detail.sql -dir model --style go_zero
+
 
 ### RUN RPC SRV 
 go run transform.go -f etc/transform.yaml 

+ 1 - 0
transform.proto

@@ -30,6 +30,7 @@ message TokenResponse {
   string UserOrganIds = 5;
   string SysSchoolId = 6;
   string SysOrganId = 7;
+  string UserPhone = 8;
 }
 
 message Empty {}

File diff suppressed because it is too large
+ 1132 - 2029
transform/transform.pb.go


+ 25 - 25
transformclient/transform.go

@@ -14,39 +14,39 @@ import (
 )
 
 type (
-	TokenResponse                = transform.TokenResponse
-	Empty                        = transform.Empty
-	Options                      = transform.Options
-	CityIdsReq                   = transform.CityIdsReq
-	DataPermissionRes            = transform.DataPermissionRes
-	UserRequest                  = transform.UserRequest
-	Tag                          = transform.Tag
-	OptionsetRes                 = transform.OptionsetRes
-	ExcelLogRes                  = transform.ExcelLogRes
-	GetErpRoleReq                = transform.GetErpRoleReq
-	GetErpOrganSchPerByUserIdReq = transform.GetErpOrganSchPerByUserIdReq
-	OrganSchool                  = transform.OrganSchool
-	GetErpActiveReq              = transform.GetErpActiveReq
+	GetErpActiveRes              = transform.GetErpActiveRes
 	UserResponse                 = transform.UserResponse
-	ExcelLogReq                  = transform.ExcelLogReq
-	TreeNode                     = transform.TreeNode
+	BytesResp                    = transform.BytesResp
 	GetErpSchoolRes              = transform.GetErpSchoolRes
+	OptionsetRes                 = transform.OptionsetRes
 	DataPermissionReq            = transform.DataPermissionReq
-	TokenRequest                 = transform.TokenRequest
+	CityIdsReq                   = transform.CityIdsReq
+	OrganSchool                  = transform.OrganSchool
+	GetErpActiveReq              = transform.GetErpActiveReq
+	DataPermissionRes            = transform.DataPermissionRes
+	Empty                        = transform.Empty
 	TreeNodes                    = transform.TreeNodes
-	BytesReq                     = transform.BytesReq
-	OptionCode                   = transform.OptionCode
-	SchoolIdsReq                 = transform.SchoolIdsReq
-	SchoolIdsRes                 = transform.SchoolIdsRes
+	Options                      = transform.Options
 	CityIdsRes                   = transform.CityIdsRes
-	GetErpOrganSchPerByUserIdRes = transform.GetErpOrganSchPerByUserIdRes
-	BytesResp                    = transform.BytesResp
-	GetErpActiveRes              = transform.GetErpActiveRes
+	TreeNode                     = transform.TreeNode
 	OptionsetReq                 = transform.OptionsetReq
-	ResponseByte                 = transform.ResponseByte
 	ListOfInt                    = transform.ListOfInt
-	GetErpRoleRes                = transform.GetErpRoleRes
+	Tag                          = transform.Tag
+	ExcelLogReq                  = transform.ExcelLogReq
 	Active                       = transform.Active
+	TokenResponse                = transform.TokenResponse
+	ResponseByte                 = transform.ResponseByte
+	SchoolIdsRes                 = transform.SchoolIdsRes
+	GetErpOrganSchPerByUserIdReq = transform.GetErpOrganSchPerByUserIdReq
+	OptionCode                   = transform.OptionCode
+	SchoolIdsReq                 = transform.SchoolIdsReq
+	GetErpRoleReq                = transform.GetErpRoleReq
+	BytesReq                     = transform.BytesReq
+	GetErpRoleRes                = transform.GetErpRoleRes
+	GetErpOrganSchPerByUserIdRes = transform.GetErpOrganSchPerByUserIdRes
+	UserRequest                  = transform.UserRequest
+	TokenRequest                 = transform.TokenRequest
+	ExcelLogRes                  = transform.ExcelLogRes
 
 	Transform interface {
 		GetUser(ctx context.Context, in *UserRequest) (*UserResponse, error)

Some files were not shown because too many files changed in this diff