param_user.go 9.2 KB
package allied_creation_user

import (
	"time"
)

//################用户模块##################

//单体用户详情数据
type UserDetail struct {
	UserId          int    `json:"userId"`
	UserBaseId      int    `json:"userBaseId"`
	UserType        int    `json:"userType"`
	UserCode        string `json:"userCode"`
	EnableStatus    int    `json:"enableStatus"`
	CooperationInfo struct {
		CooperationCompany  string    `json:"cooperationCompany"`
		CooperationDeadline time.Time `json:"cooperationDeadline"`
	} `json:"cooperationInfo,omitempty"`
	UserInfo struct {
		Phone    string `json:"phone"`
		UserCode string `json:"userCode"`
		Email    string `json:"email"`
		UserName string `json:"userName"`
		Avatar   string `json:"avatar"`
	} `json:"userInfo,omitempty"`
	Company *struct {
		CompanyId        int       `json:"companyId"`
		CompanyName      string    `json:"companyName"`
		Scale            string    `json:"scale"`
		IndustryCategory string    `json:"industryCategory"`
		RegisteredTime   time.Time `json:"registeredTime"`
		Status           int64     `json:"status"`
		Log              string    `json:"log"`
		Address          string    `json:"address"`
		SystemName       string    `json:"systemName"`
	} `json:"company,omitempty"`
	Org *struct {
		OrgId   int    `json:"orgId"`
		OrgCode string `json:"orgCode"`
		OrgName string `json:"orgName"`
	} `json:"org,omitempty"`
	Department *struct {
		DepartmentId   int    `json:"departmentId"`
		DepartmentName string `json:"departmentName"`
	} `json:"department,omitempty"`
	UserRole []struct {
		RoleID   int    `json:"roleId"`
		RoleName string `json:"roleName"`
		Ext      struct {
			OrgName string `json:"orgName"`
		} `json:"ext,omitempty"`
	} `json:"userRole"`
	UserOrg []struct {
		OrgID     int       `json:"orgId"`
		CreatedAt time.Time `json:"createdAt"`
		UpdatedAt time.Time `json:"updatedAt"`
		DeletedAt time.Time `json:"deletedAt"`
		OrgName   string    `json:"orgName"`
	} `json:"userOrg"`
	IM struct {
		Accid       string `json:"accid"`
		ImToken     string `json:"imToken"`
		CsAccountID string `json:"csAccountId"`
	} `json:"im"`
	// 收藏的菜单(工作台)(菜单编码列表)
	FavoriteMenus []string `json:"favoriteMenus"`
}

//搜索用户列表
type (
	ReqUserSearch struct {
		// 查询偏离量
		Offset int `json:"offset"`
		// 查询限制
		Limit int `json:"limit"`
		// 用户基础id
		UserBaseId int64 ` json:"userBaseId"`
		// 企业id
		CompanyId int64 ` json:"companyId"`
		// 组织ID
		OrganizationId int64 `json:"organizationId"`
		// 部门编号
		DepartmentId int64 `json:"departmentId"`
		// 用户姓名
		UserName string `json:"userName"`
		// 共创公司
		CooperationCompany string `cname:"共创公司" json:"cooperationCompany,omitempty"`
		// 部门名称
		DepName string `json:"depName"`
		// 手机号码
		Phone string `json:"phone"`
		// 用户类型
		UserType int `cname:"用户类型 1:普通用户  2:共创用户  1024:企业注册用户" json:"userType,omitempty"`
		// 匹配多个组织
		InOrgIds []int64 `cname:"匹配多个组织" json:"inOrgIds,omitempty"`
		// 实时拉取数据 (获取最新的)
		PullRealTime bool `cname:"拉取最新数据" json:"pullRealTime,omitempty"`
		// 状态(1:启用  2:禁用  3:注销)
		EnableStatus int `cname:"状态(1:启用  2:禁用  3:注销)" json:"enableStatus,omitempty"`
	}

	//DataUserSearch 搜索用户列表
	DataUserSearch struct {
		Count int64        `json:"count"`
		Users []UserDetail `json:"users"`
	}
)

//创建用户
type (
	ReqCreateUser struct {
		// 企业id
		CompanyId int64 `json:"companyId"`
		// 用户类型  1:企业内部用户(内部添加) 2:共创用户   1024:企业注册用户(注册添加)
		UserType int `json:"userType"`
		// 用户编号 企业内标识
		UserCode string ` json:"userCode" `
		// 组织机构
		OrganizationId int64 `json:"organizationId,omitempty" `
		// 所属部门
		DepartmentId int64 `json:"departmentId,omitempty" `
		// 用户关联的组织
		UserOrg []int64 `json:"userOrg,omitempty"`
		// 用户关联的角色
		UserRole []int64 `json:"userRole,omitempty"`
		// 共创公司
		CooperationCompany string `json:"cooperationCompany,omitempty"`
		// 共创到期时间 (yyyy-MM-dd)
		CooperationDeadline time.Time ` json:"cooperationDeadline,omitempty"`
		// 启用状态(启用:1 禁用:2)
		EnableStatus int ` json:"enableStatus,omitempty"`
		// 密码
		Password string ` json:"password" `
		// 用户姓名
		UserName string `json:"userName"`
		// 手机号码
		Phone string `json:"phone" `
		// 头像
		Avatar string `json:"avatar"`
		// 邮箱
		Email string `json:"email"`
	}
	DataCreateUser struct {
		UserId int `json:"userId"`
	}
)

//更新用户
type (
	ReqUpdateUser struct {
		UserId int64
		// 企业id
		CompanyId int64 `json:"companyId"`
		// 用户编号 企业内标识
		UserCode string ` json:"userCode" `
		// 组织机构
		OrganizationId int64 `json:"organizationId,omitempty" `
		// 所属部门
		DepartmentId int64 `json:"departmentId,omitempty" `
		// 用户关联的组织
		UserOrg []int64 `json:"userOrg,omitempty"`
		// 用户关联的角色
		UserRole []int64 `json:"userRole,omitempty"`
		// 共创公司
		CooperationCompany string `json:"cooperationCompany,omitempty"`
		// 共创到期时间 (yyyy-MM-dd)
		CooperationDeadline time.Time ` json:"cooperationDeadline,omitempty"`
		// 启用状态(启用:1 禁用:2)
		EnableStatus int ` json:"enableStatus,omitempty"`
		// 用户姓名
		UserName string `json:"userName"`
		// 手机号码
		Phone string `json:"phone" `
		// 头像
		Avatar string `json:"avatar"`
		// 邮箱
		Email string `json:"email"`
	}

	DataUpdateUser struct {
	}
)

//获取用户
type (
	ReqGetUser struct {
		UserId int `json:"userId"`
	}

	DataGateUser struct {
		UserDetail
	}
)

//删除用户
type (
	ReqDeleteUser struct {
		UserId int64 `json:"userId"`
	}

	DataDeleteUser struct {
	}
)

//批量修改用户启用状态
type (
	ReqBatchEnableUser struct {
		UserIds      []int64 `json:"userIds"`
		EnableStatus int     `json:"enableStatus"` //启用状态(启用:1 禁用:2 注销:3)
	}

	DataBatchEnableUser struct {
	}
)

//批量重置密码
type (
	ReqBatchResetPasswordUser struct {
		Password string  `json:"password"`
		UserIds  []int64 `json:"userIds"`
	}
	DataBatchResetPasswordUser struct {
	}
)

//创建共创用户
type (
	ReqCreateCooperatorUser struct {
		// 企业ID
		CompanyId int64 `cname:"企业ID" json:"companyId"`
		// 共创公司
		CooperationCompany string ` json:"cooperationCompany"`
		// 共创到期时间
		CooperationDeadline time.Time `json:"cooperationDeadline"`
		// 邮箱
		Email string `json:"email"`
		// 启用状态(启用:1 禁用:2 注销:3)
		EnableStatus int `json:"enableStatus" `
		// 用户编号 企业内标识
		UserCode string `json:"userCode"`
		// 用户姓名
		UserName string ` json:"userName"`
		// 头像
		Avatar string ` json:"avatar"`
		// 组织ID
		OrgId int64 `json:"orgId"`
		// 手机号码
		Phone string `json:"phone"`
		//密码
		Password string `json:"password"`
	}
	DataCreateCooperatorUser struct {
		UserId int `json:"userId"`
	}
)

//更新共创用户
type (
	ReqUpdateCooperatorUser struct {
		UserId int64 `json:"userId"`
		// 共创公司
		CooperationCompany string ` json:"cooperationCompany"`
		// 共创到期时间
		CooperationDeadline time.Time `json:"cooperationDeadline"`
		// 邮箱
		Email string `json:"email"`
		// 启用状态(启用:1 禁用:2 注销:3)
		EnableStatus int `json:"enableStatus" `
		// 用户编号 企业内标识
		UserCode string `json:"userCode" `
		// 用户姓名
		UserName string ` json:"userName"`
		// 头像
		Avatar string ` json:"avatar"`
		// 组织ID
		OrgId int64 `json:"orgId" `
		// 手机号码
		Phone string `json:"phone" `
	}
	DataUpdateCooperatorUser struct {
	}
)

//获取用户概要数据
type (
	ReqUserProfile struct {
		UserId int64 `json:"userId"`
	}
	DataUserProfile struct {
	}
)

//更新用户基础信息数据
type (
	ReqUserUpdateBaseInfo struct {
		UserId int64 `json:"userId"`
		// 用户姓名
		UserName string `cname:"用户姓名" json:"userName" valid:"Required"`
		// 头像
		Avatar string `cname:"头像" json:"avatar" valid:"Required"`
		// 手机号码
		Phone string `cname:"手机号码" json:"phone" valid:"Required"`
		// 邮箱
		Email string `cname:"邮箱" json:"email" valid:"Required"`
	}
	DataUserUpdateBaseInfo struct {
	}
)

//返回用户有权限的菜单
type (
	ReqUserAccessMenus struct {
		UserId int `json:"userId"`
		// 菜单类别 web app
		MenuCategory string `cname:"菜单类别 web app" json:"menuCategory,omitempty"`
		// 返回所有不可以用的菜单
		ALLDisableMenu int `cname:"同时返回所有不可以用的菜单 1:包含不可用的菜单 0:过滤不可用的菜单 " json:"allDisableMenu"`
	}
	DataUserAccessMenus struct {
		Menus []struct {
			AccessCode   string `json:"accessCode"`
			Category     string `json:"category"`
			Code         string `json:"code"`
			EnableStatus int    `json:"enableStatus"`
			Icon         string `json:"icon"`
			IsPublish    int    `json:"isPublish"`
			MenuID       int    `json:"menuId"`
			MenuName     string `json:"menuName"`
			MenuType     string `json:"menuType"`
			ParentID     int    `json:"parentId"`
			ParentPath   string `json:"parentPath"`
			Remark       string `json:"remark"`
			Sort         int    `json:"sort"`
		} `json:"menus"`
	}
)