作者 yangfu

users -> user

正在显示 137 个修改的文件 包含 417 行增加2018 行删除
version: v1
kind: HttpApi
metadata:
service: menu
path: /menus
endpoints:
- method: createMenu
route:
post: /
- method: updateMenu
route:
put: /{menuId}
- method: getMenu
route:
get: /{menuId}
- method: removeMenu
route:
delete: /{menuId}
- method: listMenu
route:
get: /
params:
- name: offset
- name: limit
version: v1
kind: Attribute
metadata:
name: count
description: 匹配数目
type:
primitive: int64
version: v1
kind: Attribute
metadata:
name: createAt
description: 创建时间
type:
primitive: datetime
version: v1
kind: Attribute
metadata:
name: deleteAt
description: 删除时间
type:
primitive: datetime
version: v1
kind: Attribute
metadata:
name: desc
description: 描述
type:
primitive: int64
version: v1
kind: Attribute
metadata:
name: limit
description: 查询限制
type:
primitive: int
version: v1
kind: Attribute
metadata:
name: offset
description: 查询偏离量
type:
primitive: int
version: v1
kind: Attribute
metadata:
name: parentId
description: 父级ID
type:
primitive: int64
version: v1
kind: Attribute
metadata:
name: remark
description: 备注
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: sort
description: 排序
type:
primitive: int
version: v1
kind: Attribute
metadata:
name: updateAt
description: 更新时间
type:
primitive: datetime
version: v1
kind: Attribute
metadata:
name: address
description: 公司地址
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: businessLicense
description: 营业执照
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: companyId
description: 企业id
type:
primitive: int64
version: v1
kind: Attribute
metadata:
name: companyName
description: 企业名称
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: contacts
description: 联系人
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: industryCategory
description: 所属行业
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: logo
description: 公司Logo地址
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: registStatus
description: 注册状态 1:已注册 2:待认证 3:已认证
type:
primitive: int
version: v1
kind: Attribute
metadata:
name: scale
description: 规模
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: taxpayerCode
description: 纳税人识别号
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: accessCode
description: 权限编码 users:edit
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: code
description: 菜单编码 SYSTEM_USER_EDIT
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: icon
description: 菜单图标
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: isPublish
description: 菜单是否公开状态(上架、下架),[0:隐藏],[1:显示],默认显示
type:
primitive: int
version: v1
kind: Attribute
metadata:
name: menuId
description: 菜单编号
type:
primitive: int64
version: v1
kind: Attribute
metadata:
name: menuName
description: 菜单名称
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: menuType
description: 菜单类型 (目录catalog、菜单menu、按钮button)
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: remark
description: 菜单说明
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: depName
description: 部门名称
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: isOrg
description: 是否是组织(是:1 不是:0)
type:
primitive: int
version: v1
kind: Attribute
metadata:
name: orgCode
description: 组织编码
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: orgId
description: 组织ID
type:
primitive: int64
version: v1
kind: Attribute
metadata:
name: orgName
description: 组织名称
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: accessMenus
description: 有权限的菜单
type:
primitive: int64
version: v1
kind: Attribute
metadata:
name: roleId
description: 角色ID
type:
primitive: int64
version: v1
kind: Attribute
metadata:
name: roleName
description: 角色名称
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: avator
description: 头像
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: email
description: 邮箱
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: enableStatus
description: 启用状态(启用:1 禁用:2)
type:
primitive: int
version: v1
kind: Attribute
metadata:
name: favoriteMenus
description: 收藏的菜单(工作台)(菜单编码列表)
type:
array: string
version: v1
kind: Attribute
metadata:
name: password
description: 密码
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: phone
description: 手机号码
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: status
description: 用户状态
type:
primitive: int
version: v1
kind: Attribute
metadata:
name: usersCode
description: 用户编号
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: usersCompanyId
description: 用户公司编号
type:
primitive: int64
version: v1
kind: Attribute
metadata:
name: usersId
description: 用户编号
type:
primitive: int64
version: v1
kind: Attribute
metadata:
name: usersName
description: 用户姓名
type:
primitive: string
version: v1
kind: Attribute
metadata:
name: usersOrg
description: 用户关联的组织
type:
array: int64
version: v1
kind: Attribute
metadata:
name: usersRole
description: 用户关联的角色
type:
array: int64
version: v1
kind: Attribute
metadata:
name: usersType
description: 用户类型 1:企业内部用户(内部添加) 2:共创用户 1024:企业注册用户(注册添加)
type:
primitive: int
version: v1
kind: Project
metadata:
name: project
description: 天联企业管理系统
version: 0.0.1
repository: gitlab.fjmaimaimai.com/allied-creation/allied-creation-user
contact:
name:
email:
\ No newline at end of file
version: v1
kind: Schema
metadata:
name: app
description: app项目管理
attributes:
- name: appId
description: appId
type:
primitive: int64
- name: project
description: 项目标识 ability
type:
primitive: string
- name: app
description: 应用标识 ability.boss.pad
type:
primitive: string
- name: icon
description: 图标地址
type:
primitive: string
- name: remark
description: 备注信息
type:
primitive: string
- ref: createAt
required: true
- ref: updateAt
required: true
- ref: deleteAt
required: true
\ No newline at end of file
version: v1
kind: Schema
metadata:
name: appVersion
description: App版本管理
attributes:
- name: appVersionId
description: app版本id
type:
primitive: int64
- name: app
description: 应用
type:
schema: app
- name: os
description: 设备类型 0:IOS 1:安卓
type:
primitive: int
- name: version
description: 版本信息
type:
schema: appVersionInfo
- name: remark
description: 备注信息
type:
primitive: string
- ref: createAt
required: true
- ref: updateAt
required: true
- ref: deleteAt
required: true
version: v1
kind: Schema
metadata:
name: appVersionInfo
description: app 版本信息
attributes:
- name: versionNo
description: 版本号
type:
primitive: string
- name: versionName
description: 版本名称
type:
primitive: string
- name: title
description: 标题
type:
primitive: string
- name: summary
description: 版本概要
type:
primitive: string
- name: content
description: 版本内容
type:
primitive: string
- name: deviceType
description: 设备类型 0:ios , 1:android
type:
primitive: int
- name: downloadPage
description: 下载页面
type:
primitive: string
- name: downloadFile
description: 文件下载地址
type:
primitive: string
- name: updateType
description: 更新类型 0不需要更新 1是引导更新 2是强制更新
type:
primitive: int
- name: channel
description: 更新的渠道 当前渠道 0_AppStore、1_fir平台、2_华为、3_小米、4_魅族、5_oppo、6_vivo、7_360、8_百度、9_应用宝、10_其他(使用应用宝地址)
type:
array: int
\ No newline at end of file
version: v1
kind: Schema
metadata:
name: company
description: 企业信息 (base)
attributes:
- ref: companyId
required: true
- name: companyConfig
description: 企业配置信息
type:
schema: companyConfig
- name: companyInfo
description: 企业基本信息
type:
schema: companyInfo
- name: status
description: 公司状态
type:
primitive: int
- ref: createAt
required: false
- ref: updateAt
required: false
version: v1
kind: Schema
metadata:
name: companyConfig
description: 公司配置信息
attributes:
- name: systemName
description: 系统名称
type:
primitive: string
- name: theme
description: 主题
type:
primitive: string
version: v1
kind: Schema
metadata:
name: companyInfo
description: 公司信息
attributes:
- ref: companyName
required: true
- ref: scale
required: true
- ref: logo
required: true
- ref: address
required: true
- ref: industryCategory
required: true
- ref: contacts
required: true
- name: registTime
description: 注册时间
type:
primitive: datetime
- name: registStatus
description: 注册状态 1:已注册 2:待认证 3:已认证
type:
primitive: int
\ No newline at end of file
version: v1
kind: Schema
metadata:
name: cooperationInfo
description: 共创信息
attributes:
- name: cooperationCompany
description: 共创公司
type:
primitive: string
- name: cooperationDeadline
description: 共创到期时间 (yyyy-MM-dd)
type:
primitive: datetime
version: v1
kind: Schema
metadata:
name: credentialAuth
description: 凭证认证 (base)
attributes:
- name: credential
description: 凭证
type:
primitive: string
- name: deviceType
description: 设备类型
type:
primitive: string
- name: expire
description: 过期时间蹉(unix)
type:
primitive: int64
version: v1
kind: Schema
metadata:
name: customizeMenus
description: 自定义菜单 (base)(菜单维护)
attributes:
- name: customizeMenusId
description: 自定义菜单id
type:
primitive: int64
- ref: companyId
required: true
- name: menuId
description: 菜单id
type:
primitive: int64
- name: menuName
description: 菜单名称
type:
primitive: string
- name: menuAlias
description: 菜单别名
type:
primitive: string
- name: sort
description: 排序
type:
primitive: int
version: v1
kind: Schema
metadata:
name: dataColumn
description: 数据列
attributes:
- name: dataIndex
description: 数据列字段代码名称
type:
primitive: string
- name: title
description: 数据列字段中文描述
type:
primitive: string
- name: sortBy
description: 默认的排序
type:
primitive: int64
- name: isDefault
description: 是否是默认配置字段
type:
primitive: int
version: v1
kind: Schema
metadata:
name: dataColumnPerson
description: 列表设置个人:页面列表数据的输出列的个人配置
attributes:
- name: dataColumnPersonId
description: 数据id
type:
primitive: int64
- name: resource
description: 资源 (列如表单 user)
type:
primitive: string
- name: columns
description: 配置的用户显示的字段,例 `["c1","c2"]``
type:
array: string
- name: usersId
description: 归属的用户id
type:
primitive: int64
version: v1
kind: Schema
metadata:
name: dataColumnSys
description: 列表设置系统:页面列表数据的输出列的系统全局配置
attributes:
- name: dataColumnSysId
description: 数据id
type:
primitive: int64
- name: resource
description: 资源 (列如表单 user)
type:
primitive: string
- name: columns
description: 数据列字段代码名称
type:
array: dataColumn
version: v1
kind: Schema
metadata:
name: ext
description: 冗余附加数据
attributes:
- ref: usersName
required: true
- ref: orgName
required: true
- ref: phone
required: true
- ref: depName
required: true
- name: parentDepName
description: 父级部门名称
type:
primitive: string
required: true
version: v1
kind: Schema
metadata:
name: im
description: 冗余附加数据
attributes:
- name: accid
description: 网易云信ID
type:
primitive: string
- name: imToken
description: 网易云信Token
type:
primitive: string
- name: csAccountId
description: 系统分配客服ID
type:
primitive: string
version: v1
kind: Schema
metadata:
name: menu
description: 系统菜单
attributes:
- ref: menuId
required: true
- ref: parentId
required: true
- ref: menuName
required: true
- ref: code
required: true
- ref: accessCode
required: true
- ref: menuType
required: true
- ref: icon
required: true
- ref: sort
required: true
- ref: remark
required: true
- name: category
description: 菜单类别 (web:1、app:2)
type:
primitive: string
- name: parentPath
description: 父级节点路径("0,11,12,")
type:
primitive: string
- ref: enableStatus
description: 启用状态(启用:1 禁用:0)
required: true
- ref: isPublish
required: true
version: v1
kind: Schema
metadata:
name: org
description: 组织 organization
attributes:
- ref: orgId
required: true
- ref: companyId
required: true
- ref: createAt
required: true
- ref: updateAt
required: true
- ref: deleteAt
required: true
- ref: orgCode
required: true
- ref: orgName
required: true
- name: ext
description: 扩展数据
type:
schema: ext
- name: isOrg
required: true
- ref: parentId
required: true
version: v1
kind: Schema
metadata:
name: phoneAuth
description: 手机认证 (base)
attributes:
- ref: phone
required: true
- ref: password
required: true
version: v1
kind: Schema
metadata:
name: role
description: 角色 (base)
attributes:
- ref: roleId
required: true
- ref: companyId
required: true
- ref: orgId
required: true
- ref: roleName
required: true
- ref: accessMenus
required: true
- ref: desc
required: true
- name: ext
description: 扩展数据
type:
schema: ext
- ref: createAt
required: true
- ref: updateAt
required: true
version: v1
kind: Schema
metadata:
name: users
description: 用户(base)
attributes:
- ref: usersId
required: true
- name: usersInfo
description: 用户信息
type:
schema: usersInfo
- name: phoneAuth
description: 手机认证
type:
schemal: phoneAuth
- name: im
description: IM信息
type:
schemal: im
- ref: createAt
required: true
- ref: updateAt
required: true
\ No newline at end of file
version: v1
kind: Schema
metadata:
name: usersCompany
description: 用户 (base)
attributes:
- ref: usersCompanyId
required: true
- ref: companyId
required: true
- ref: usersId
required: true
- ref: usersType
required: true
- ref: usersCode
required: true
- name: organizationId
description: 组织机构
type:
primitive: int64
- name: departmentId
description: 所属部门
type:
primitive: int64
- name: usersOrg
description: 用户关联的组织
type:
array: int64
- name: usersRole
description: 用户关联的角色
type:
array: int64
- name: favoriteMenus
description: 收藏的菜单(工作台)(菜单编码列表)
type:
array: string
- name: cooperationInfo
description: 共创信息 (共创用户有效)
type:
schema: cooperationInfo
- name: enableStatus
description: 启用状态(启用:1 禁用:2)
type:
primitive: int
- name: ext
description: 扩展数据
type:
schema: ext
- ref: createAt
required: true
- ref: updateAt
required: true
version: v1
kind: Schema
metadata:
name: usersInfo
description: 用户信息 (base)
attributes:
- ref: usersName
required: true
- ref: phone
required: true
- ref: avator
required: true
- ref: email
required: true
version: v1
kind: Method
metadata:
name: companySignUp
type: command
description: 企业注册
payload:
- ref: companyName
required: true
- ref: contacts
required: true
- ref: phone
required: true
- ref: scale
required: true
- ref: industryCategory
required: true
- ref: password
required: true
result:
- name: users
type:
schema: users
required: true
version: v1
kind: Method
metadata:
name: resetPassword
type: command
description: 重置密码
payload:
- ref: phone
required: true
- ref: password
required: true
result:
- name: msg
description: 消息
type:
primitive: string
\ No newline at end of file
version: v1
kind: Service
metadata:
name: auth
description: 认证服务
version: v1
kind: Method
metadata:
name: createMenu
type: command
description: 创建菜单服务
payload:
- name: parentId
description: 父级id
type:
primitive: int64
- name: menuName
description: 菜单名称
type:
primitive: string
required: true
- name: code
description: 菜单编码 SYSTEM_USER_EDIT / 100101 (字符编码)
type:
primitive: string
required: true
- name: accessCode
description: 权限编码 users:edit
type:
primitive: string
required: true
- name: menuType
description: 菜单类型 (目录catalog、菜单menu、按钮button)
type:
primitive: string
required: true
- name: icon
description: 菜单图标
type:
primitive: string
- name: sort
description: 排序
type:
primitive: int
required: true
- name: remark
description: 菜单说明
type:
primitive: string
- ref: enableStatus
description: 启用状态(启用:1 禁用:0)
required: true
- name: isPublish
description: 菜单是否公开状态,[0:隐藏],[1:显示],默认显示
type:
primitive: int
required: true
result:
- name: menu
type:
schema: menu
required: true
version: v1
kind: Method
metadata:
name: getMenu
type: query
description: 返回菜单服务
payload:
- ref: menuId
required: true
result:
- name: menu
type:
schema: menu
required: true
version: v1
kind: Method
metadata:
name: listMenu
type: query
description: 返回菜单服务列表
payload:
- name: menuCategory
description: 菜单类别 web app
required: false
type:
primitive: string
- name: parentId
description: 菜单父级id 0:查询所有 n:父级id为n的菜单列表
required: false
type:
primitive: int64
- name: menuName
description: 菜单名称过滤
required: false
type:
primitive: string
- ref: offset
required: true
- ref: limit
required: true
result:
- ref: count
required: true
- name: menus
type:
array: menu
required: true
version: v1
kind: Method
metadata:
name: removeMenu
type: command
description: 移除菜单服务
payload:
- ref: menuId
required: true
result:
- name: menu
type:
schema: menu
required: true
version: v1
kind: Method
metadata:
name: updateMenu
type: command
description: 更新菜单服务
payload:
- ref: menuId
required: true
- name: menuName
description: 菜单名称
type:
primitive: string
required: true
- name: code
description: 菜单编码 SYSTEM_USER_EDIT / 100101 (字符编码)
type:
primitive: string
required: true
- name: accessCode
description: 权限编码 users:edit
type:
primitive: string
- name: menuType
description: 菜单类型 (目录catalog、菜单menu、按钮button)
type:
primitive: string
required: true
- name: icon
description: 菜单图标
type:
primitive: string
- name: sort
description: 排序
type:
primitive: int
required: true
- name: remark
description: 菜单说明
type:
primitive: string
- name: isPublish
description: 菜单是否公开状态,[0:隐藏],[1:显示],默认显示
type:
primitive: int
- ref: enableStatus
description: 启用状态(启用:1 禁用:0)
required: true
result:
- name: menu
type:
schema: menu
required: true
version: v1
kind: Service
metadata:
name: menu
description: 菜单服务
version: v1
kind: Method
metadata:
name: createOrg
type: command
description: 创建组织管理
payload:
- ref: companyId
required: true
- ref: orgCode
required: true
- ref: orgName
required: true
- name: isOrg
required: true
- ref: parentId
required: true
result:
- name: org
type:
schema: org
required: true
version: v1
kind: Method
metadata:
name: getOrg
type: query
description: 返回组织管理
payload:
- ref: orgId
required: true
result:
- name: org
type:
schema: org
required: true
version: v1
kind: Method
metadata:
name: listOrg
type: query
description: 返回组织管理列表
payload:
- ref: offset
required: true
- ref: limit
required: true
- ref: orgCode
required: false
- ref: depName
required: false
- ref: parentId
required: false
result:
- ref: count
required: true
- name: orgs
type:
array: org
required: true
version: v1
kind: Method
metadata:
name: removeOrg
type: command
description: 移除组织管理
payload:
- ref: orgId
required: true
result:
- name: org
type:
schema: org
required: true
version: v1
kind: Method
metadata:
name: updateOrg
type: command
description: 更新组织管理
payload:
- ref: orgId
required: true
- ref: orgCode
required: true
- ref: orgName
required: true
- name: isOrg
required: true
- ref: parentId
required: true
result:
- name: org
type:
schema: org
required: true
version: v1
kind: Service
metadata:
name: org
description: 组织管理
version: v1
kind: Method
metadata:
name: createRole
type: command
description: 创建角色管理
payload:
- ref: roleName
required: true
- ref: desc
required: false
result:
- name: role
type:
schema: role
required: true
version: v1
kind: Method
metadata:
name: getRole
type: query
description: 返回角色管理
payload:
- ref: roleId
required: true
result:
- name: role
type:
schema: role
required: true
version: v1
kind: Method
metadata:
name: listRole
type: query
description: 返回角色管理列表
payload:
- ref: offset
required: true
- ref: limit
required: true
- ref: roleName
required: false
- ref: orgName
required: false
result:
- ref: count
required: true
- name: roles
type:
array: role
required: true
version: v1
kind: Method
metadata:
name: removeRole
type: command
description: 移除角色管理
payload:
- ref: roleId
required: true
result:
- name: role
type:
schema: role
required: true
version: v1
kind: Method
metadata:
name: updateRole
type: command
description: 更新角色管理
payload:
- ref: roleId
required: true
- ref: roleName
required: true
- ref: desc
required: false
result:
- name: role
type:
schema: role
required: true
version: v1
kind: Service
metadata:
name: role
description: 角色管理
version: v1
kind: Method
metadata:
name: check
type: command
description: 密码检查
payload:
- ref: usersId
required: true
- ref: phone
required: true
- ref: password
required: true
result:
- name: users
type:
schema: users
required: true
version: v1
kind: Method
metadata:
name: createUsers
type: command
description: 创建用户信息
payload:
- ref: usersId
required: true
- name: usersInfo
description: 用户信息
type:
schema: usersInfo
- name: phoneAuth
description: 手机认证
type:
schemal: phoneAuth
- name: im
description: IM信息
type:
schemal: im
result:
- name: users
type:
schema: users
required: true
version: v1
kind: Method
metadata:
name: getUsers
type: query
description: 返回用户信息
payload:
- ref: usersId
required: true
result:
- name: users
type:
schema: users
required: true
version: v1
kind: Method
metadata:
name: listUsers
type: query
description: 返回用户信息列表
payload:
- ref: offset
required: true
- ref: limit
required: true
result:
- ref: count
required: true
- name: users
type:
array: users
required: true
version: v1
kind: Method
metadata:
name: phoneAuth
type: command
description: 手机认证
payload:
- ref: usersId
required: true
- ref: phone
required: true
- ref: password
required: true
result:
- name: users
type:
schema: users
required: true
version: v1
kind: Method
metadata:
name: removeUsers
type: command
description: 移除用户信息
payload:
- ref: usersId
required: true
result:
- name: users
type:
schema: users
required: true
version: v1
kind: Method
metadata:
name: updateUsers
type: command
description: 更新用户信息
payload:
- ref: usersId
required: true
- name: usersInfo
description: 用户信息
type:
schema: usersInfo
- name: phoneAuth
description: 手机认证
type:
schemal: phoneAuth
- name: im
description: IM信息
type:
schemal: im
result:
- name: users
type:
schema: users
required: true
version: v1
kind: Service
metadata:
name: users
description: 用户信息
version: v1
kind: Method
metadata:
name: batchAdd
type: command
description: 批量添加
payload:
- ref: usersType
required: true
- name: users
description: 用户列表
type:
array: usersCompany
result:
- name: count
type:
primitive: int
required: true
version: v1
kind: Method
metadata:
name: batchEnable
type: command
description: 批量修改启用状态
payload:
- name: usersCompanyIds
type:
array: int64
required: true
- ref: enableStatus
required: true
result:
- name: usersCompany
type:
schema: usersCompany
required: true
version: v1
kind: Method
metadata:
name: batchResetPassword
type: command
description: 批量重置密码
payload:
- name: usersCompanyIds
type:
array: int64
required: true
- ref: password
required: true
result:
- name: usersCompany
type:
schema: usersCompany
required: true
version: v1
kind: Method
metadata:
name: createUsersCompany
type: command
description: 创建企业用户管理
payload:
- ref: companyId
required: true
- ref: usersType
required: true
- ref: usersCode
required: true
- name: organizationId
description: 组织机构
type:
primitive: int64
required: true
- name: departmentId
description: 所属部门
type:
primitive: int64
required: true
- name: usersOrg
description: 用户关联的组织
type:
array: int64
required: false
- name: usersRole
description: 用户关联的角色
type:
array: int64
required: false
- name: cooperationInfo
description: 共创信息 (共创用户有效)
type:
schema: cooperationInfo
required: false
- ref: enableStatus
required: true
- ref: usersName
required: true
- ref: phone
required: true
- ref: avator
required: false
- ref: email
required: false
result:
- name: usersCompany
type:
schema: usersCompany
required: true
version: v1
kind: Method
metadata:
name: getUsersCompany
type: query
description: 返回企业用户管理
payload:
- ref: usersCompanyId
required: true
result:
- name: usersCompany
type:
schema: usersCompany
required: true
version: v1
kind: Method
metadata:
name: listUsersCompany
type: query
description: 返回企业用户管理列表
payload:
- ref: offset
required: true
- ref: limit
required: true
- ref: userName
required: false
- ref: depName
required: false
- name: cooperationCompany
type:
primitive: string
required: false
result:
- ref: count
required: true
- name: usersCompanys
type:
array: usersCompany
required: true
version: v1
kind: Method
metadata:
name: removeUsersCompany
type: command
description: 移除企业用户管理
payload:
- ref: usersCompanyId
required: true
result:
- name: usersCompany
type:
schema: usersCompany
required: true
version: v1
kind: Method
metadata:
name: updateUsersCompany
type: command
description: 更新企业用户管理
payload:
- ref: usersCompanyId
required: true
- name: organizationId
description: 组织机构
type:
primitive: int64
required: true
- name: departmentId
description: 所属部门
type:
primitive: int64
required: true
- name: usersOrg
description: 用户关联的组织
type:
array: int64
required: false
- name: usersRole
description: 用户关联的角色
type:
array: int64
required: false
- name: cooperationInfo
description: 共创信息 (共创用户有效)
type:
schema: cooperationInfo
required: false
- ref: enableStatus
required: true
- ref: usersName
required: true
- ref: phone
required: true
- ref: avator
required: false
- ref: email
required: false
result:
- name: usersCompany
type:
schema: usersCompany
required: true
version: v1
kind: Service
metadata:
name: usersCompany
description: 企业用户管理
package service
type CommonService struct {
}
// 创建菜单服务
func (commonService *CommonService) DictionarySearch(codes []string) (interface{}, error) {
type dictItem struct {
ItemCode string `json:"itemCode"`
ItemValue string `json:"itemValue"`
}
dictionaries := make([]interface{}, 0)
for i := range codes {
switch codes[i] {
case "MenuType":
dictionaries = append(dictionaries, map[string]interface{}{
"dictName": "菜单类型",
"dictItems": []dictItem{
{"目录", "catalog"},
{"菜单", "menu"},
{"按钮", "button"},
},
})
}
}
return map[string]interface{}{"dictionary": dictionaries}, nil
}
... ...
... ... @@ -30,20 +30,20 @@ func CreateRoleRepository(options map[string]interface{}) (domain.RoleRepository
return repository.NewRoleRepository(transactionContext)
}
func CreateUsersBaseRepository(options map[string]interface{}) (domain.UsersBaseRepository, error) {
func CreateUserBaseRepository(options map[string]interface{}) (domain.UserBaseRepository, error) {
var transactionContext *pg.TransactionContext
if value, ok := options["transactionContext"]; ok {
transactionContext = value.(*pg.TransactionContext)
}
return repository.NewUsersBaseRepository(transactionContext)
return repository.NewUserBaseRepository(transactionContext)
}
func CreateUsersRepository(options map[string]interface{}) (domain.UsersRepository, error) {
func CreateUserRepository(options map[string]interface{}) (domain.UserRepository, error) {
var transactionContext *pg.TransactionContext
if value, ok := options["transactionContext"]; ok {
transactionContext = value.(*pg.TransactionContext)
}
return repository.NewUsersRepository(transactionContext)
return repository.NewUserRepository(transactionContext)
}
func CreateCompanyRepository(options map[string]interface{}) (domain.CompanyRepository, error) {
... ...
... ... @@ -13,7 +13,7 @@ type CreateMenuCommand struct {
MenuName string `json:"menuName" valid:"Required"`
// 菜单编码 SYSTEM_USER_EDIT / 100101 (字符编码)
Code string `json:"code" valid:"Required"`
// 权限编码 users:edit
// 权限编码 user:edit
AccessCode string `json:"accessCode"`
// 菜单类型 (目录catalog、菜单menu、按钮button)
MenuType string `json:"menuType" valid:"Required"`
... ...
... ... @@ -15,7 +15,7 @@ type UpdateMenuCommand struct {
MenuName string `json:"menuName" valid:"Required"`
// 菜单编码 SYSTEM_USER_EDIT / 100101 (字符编码)
Code string `json:"code" valid:"Required"`
// 权限编码 users:edit
// 权限编码 user:edit
AccessCode string `json:"accessCode,omitempty"`
// 菜单类型 (目录catalog、菜单menu、按钮button)
MenuType string `json:"menuType" valid:"Required"`
... ...
... ... @@ -3,7 +3,7 @@ package domain
// 冗余附加数据
type Ext struct {
// 用户姓名
UsersName string `json:"usersName,omitempty"`
UserName string `json:"userName,omitempty"`
// 组织名称
OrgName string `json:"orgName,omitempty"`
// 手机号码
... ...
... ... @@ -44,7 +44,7 @@ type Menu struct {
MenuName string `json:"menuName,omitempty"`
// 菜单编码 SYSTEM_USER_EDIT / 100101 (字符编码)
Code string `json:"code,omitempty"`
// 权限编码 users:edit
// 权限编码 user:edit
AccessCode string `json:"accessCode,omitempty"`
// 菜单类型 (目录catalog、菜单menu、按钮button)
MenuType string `json:"menuType,omitempty"`
... ...
... ... @@ -60,8 +60,8 @@ func (org *Org) Update(data map[string]interface{}) error {
if orgName, ok := data["orgName"]; ok {
org.OrgName = orgName.(string)
}
if usersName, ok := data["usersName"]; ok {
org.Ext.UsersName = usersName.(string)
if userName, ok := data["userName"]; ok {
org.Ext.UserName = userName.(string)
}
if orgName, ok := data["orgName"]; ok {
org.Ext.OrgName = orgName.(string)
... ... @@ -86,3 +86,22 @@ func (org *Org) Update(data map[string]interface{}) error {
}
return nil
}
// 部门
type Department struct {
// 部门ID
DepartmentId int64 `json:"departmentId"`
// 部门名称
DepartmentName string `json:"departmentName"`
// 部门编号
DepartmentNumber string `json:"departmentNumber"`
}
// 通过组织获取当前部门信息
func (org *Org) ConvDep() *Department {
return &Department{
DepartmentId: org.OrgId,
DepartmentName: org.OrgName,
DepartmentNumber: org.OrgCode,
}
}
... ...
... ... @@ -65,8 +65,8 @@ func (role *Role) Update(data map[string]interface{}) error {
if desc, ok := data["desc"]; ok {
role.Desc = desc.(int64)
}
if usersName, ok := data["usersName"]; ok {
role.Ext.UsersName = usersName.(string)
if userName, ok := data["userName"]; ok {
role.Ext.UserName = userName.(string)
}
if orgName, ok := data["orgName"]; ok {
role.Ext.OrgName = orgName.(string)
... ...
... ... @@ -4,40 +4,44 @@ import "time"
// 用户类型
const (
UsersTypeEmployee = 1
UsersTypeCooperation = 2
UsersTypeCompanyAdmin = 1024
UserTypeEmployee = 1
UserTypeCooperation = 2
UserTypeCompanyAdmin = 1024
)
// 用户状态
const (
UserStatusEnable UsersStatus = 1
UserStatusDisable UsersStatus = 2
UserStatusDestroy UsersStatus = 3
UserStatusEnable UserStatus = 1
UserStatusDisable UserStatus = 2
UserStatusDestroy UserStatus = 3
)
// 用户
type Users struct {
type User struct {
// 用户Id 用户唯一标识
UsersId int64 `json:"usersId,omitempty"`
UserId int64 `json:"userId,omitempty"`
// 企业id
CompanyId int64 `json:"companyId,omitempty"`
// 用户基础数据id
UsersBaseId int64 `json:"usersBaseId,omitempty"`
UserBaseId int64 `json:"userBaseId,omitempty"`
// 用户类型 1:企业内部用户(内部添加) 2:共创用户 1024:企业注册用户(注册添加)
UsersType int `json:"usersType,omitempty"`
UserType int `json:"userType,omitempty"`
// 用户编号 企业内标识
UsersCode string `json:"usersCode,omitempty"`
UserCode string `json:"userCode,omitempty"`
// 组织机构
OrganizationId int64 `json:"organizationId,omitempty"`
// 组织机构
Organization *Org `json:"org,omitempty"`
// 所属部门
DepartmentId int64 `json:"departmentId,omitempty"`
// 用户信息 (冗余,数据存在usersBase里面)
UsersInfo *UsersInfo `json:"usersInfo,omitempty"`
// 部门
Department *Department `json:"department,omitempty"`
// 用户信息 (冗余,数据存在userBase里面)
UserInfo *UserInfo `json:"userInfo,omitempty"`
// 用户关联的组织
UsersOrg []*Org `json:"usersOrg,omitempty"`
UserOrg []*Org `json:"userOrg,omitempty"`
// 用户关联的角色
UsersRole []*Role `json:"usersRole,omitempty"`
UserRole []*Role `json:"userRole,omitempty"`
// 收藏的菜单(工作台)(菜单编码列表)
FavoriteMenus []string `json:"favoriteMenus,omitempty"`
// 共创信息 (共创用户有效)
... ... @@ -52,94 +56,94 @@ type Users struct {
UpdatedAt time.Time `json:"updatedAt,omitempty"`
}
type UsersRepository interface {
Save(users *Users) (*Users, error)
Remove(users *Users) (*Users, error)
FindOne(queryOptions map[string]interface{}) (*Users, error)
Find(queryOptions map[string]interface{}) (int64, []*Users, error)
type UserRepository interface {
Save(user *User) (*User, error)
Remove(user *User) (*User, error)
FindOne(queryOptions map[string]interface{}) (*User, error)
Find(queryOptions map[string]interface{}) (int64, []*User, error)
}
func (users *Users) Identify() interface{} {
if users.UsersId == 0 {
func (user *User) Identify() interface{} {
if user.UserId == 0 {
return nil
}
return users.UsersId
return user.UserId
}
func (users *Users) Update(data map[string]interface{}) error {
if usersId, ok := data["usersId"]; ok {
users.UsersId = usersId.(int64)
func (user *User) Update(data map[string]interface{}) error {
if userId, ok := data["userId"]; ok {
user.UserId = userId.(int64)
}
if companyId, ok := data["companyId"]; ok {
users.CompanyId = companyId.(int64)
user.CompanyId = companyId.(int64)
}
if usersBaseId, ok := data["usersBaseId"]; ok {
users.UsersBaseId = usersBaseId.(int64)
if userBaseId, ok := data["userBaseId"]; ok {
user.UserBaseId = userBaseId.(int64)
}
if usersType, ok := data["usersType"]; ok {
users.UsersType = usersType.(int)
if userType, ok := data["userType"]; ok {
user.UserType = userType.(int)
}
if usersCode, ok := data["usersCode"]; ok {
users.UsersCode = usersCode.(string)
if userCode, ok := data["userCode"]; ok {
user.UserCode = userCode.(string)
}
if organizationId, ok := data["organizationId"]; ok {
users.OrganizationId = organizationId.(int64)
user.OrganizationId = organizationId.(int64)
}
if departmentId, ok := data["departmentId"]; ok {
users.DepartmentId = departmentId.(int64)
user.DepartmentId = departmentId.(int64)
}
if usersName, ok := data["usersName"]; ok {
users.UsersInfo.UsersName = usersName.(string)
if userName, ok := data["userName"]; ok {
user.UserInfo.UserName = userName.(string)
}
if phone, ok := data["phone"]; ok {
users.UsersInfo.Phone = phone.(string)
user.UserInfo.Phone = phone.(string)
}
if avatar, ok := data["avatar"]; ok {
users.UsersInfo.Avatar = avatar.(string)
user.UserInfo.Avatar = avatar.(string)
}
if email, ok := data["email"]; ok {
users.UsersInfo.Email = email.(string)
user.UserInfo.Email = email.(string)
}
if usersOrg, ok := data["usersOrg"]; ok {
users.UsersOrg = usersOrg.([]*Org)
if userOrg, ok := data["userOrg"]; ok {
user.UserOrg = userOrg.([]*Org)
}
if usersRole, ok := data["usersRole"]; ok {
users.UsersRole = usersRole.([]*Role)
if userRole, ok := data["userRole"]; ok {
user.UserRole = userRole.([]*Role)
}
if favoriteMenus, ok := data["favoriteMenus"]; ok {
users.FavoriteMenus = favoriteMenus.([]string)
user.FavoriteMenus = favoriteMenus.([]string)
}
if cooperationCompany, ok := data["cooperationCompany"]; ok {
users.CooperationInfo.CooperationCompany = cooperationCompany.(string)
user.CooperationInfo.CooperationCompany = cooperationCompany.(string)
}
if cooperationDeadline, ok := data["cooperationDeadline"]; ok {
users.CooperationInfo.CooperationDeadline = cooperationDeadline.(time.Time)
user.CooperationInfo.CooperationDeadline = cooperationDeadline.(time.Time)
}
if enableStatus, ok := data["enableStatus"]; ok {
users.EnableStatus = enableStatus.(int)
user.EnableStatus = enableStatus.(int)
}
if usersName, ok := data["usersName"]; ok {
users.Ext.UsersName = usersName.(string)
if userName, ok := data["userName"]; ok {
user.Ext.UserName = userName.(string)
}
if orgName, ok := data["orgName"]; ok {
users.Ext.OrgName = orgName.(string)
user.Ext.OrgName = orgName.(string)
}
if phone, ok := data["phone"]; ok {
users.Ext.Phone = phone.(string)
user.Ext.Phone = phone.(string)
}
if depName, ok := data["depName"]; ok {
users.Ext.DepName = depName.(string)
user.Ext.DepName = depName.(string)
}
if parentDepName, ok := data["parentDepName"]; ok {
users.Ext.ParentDepName = parentDepName.(string)
user.Ext.ParentDepName = parentDepName.(string)
}
if createdAt, ok := data["createdAt"]; ok {
users.CreatedAt = createdAt.(time.Time)
user.CreatedAt = createdAt.(time.Time)
}
if updatedAt, ok := data["updatedAt"]; ok {
users.UpdatedAt = updatedAt.(time.Time)
user.UpdatedAt = updatedAt.(time.Time)
}
return nil
}
type UsersStatus int
type UserStatus int
... ...
... ... @@ -3,13 +3,13 @@ package domain
import "time"
// 用户基础
type UsersBase struct {
type UserBase struct {
// 用户基础数据id
UsersBaseId int64 `json:"usersBaseId,omitempty"`
UserBaseId int64 `json:"userBaseId,omitempty"`
// 用户信息
UsersInfo *UsersInfo `json:"usersInfo,omitempty"`
UserInfo *UserInfo `json:"userInfo,omitempty"`
// 手机号码
Phone string `json:"phone,omitempty"`
Account string `json:"phone,omitempty"`
// 密码
Password string `json:"password,omitempty"`
// IM信息
... ... @@ -24,59 +24,59 @@ type UsersBase struct {
UpdatedAt time.Time `json:"updatedAt,omitempty"`
}
type UsersBaseRepository interface {
Save(usersBase *UsersBase) (*UsersBase, error)
Remove(usersBase *UsersBase) (*UsersBase, error)
FindOne(queryOptions map[string]interface{}) (*UsersBase, error)
Find(queryOptions map[string]interface{}) (int64, []*UsersBase, error)
type UserBaseRepository interface {
Save(userBase *UserBase) (*UserBase, error)
Remove(userBase *UserBase) (*UserBase, error)
FindOne(queryOptions map[string]interface{}) (*UserBase, error)
Find(queryOptions map[string]interface{}) (int64, []*UserBase, error)
}
func (usersBase *UsersBase) Identify() interface{} {
if usersBase.UsersBaseId == 0 {
func (userBase *UserBase) Identify() interface{} {
if userBase.UserBaseId == 0 {
return nil
}
return usersBase.UsersBaseId
return userBase.UserBaseId
}
func (usersBase *UsersBase) Update(data map[string]interface{}) error {
if usersName, ok := data["usersName"]; ok {
usersBase.UsersInfo.UsersName = usersName.(string)
func (userBase *UserBase) Update(data map[string]interface{}) error {
if userName, ok := data["userName"]; ok {
userBase.UserInfo.UserName = userName.(string)
}
if phone, ok := data["phone"]; ok {
usersBase.UsersInfo.Phone = phone.(string)
userBase.UserInfo.Phone = phone.(string)
}
if avatar, ok := data["avatar"]; ok {
usersBase.UsersInfo.Avatar = avatar.(string)
userBase.UserInfo.Avatar = avatar.(string)
}
if email, ok := data["email"]; ok {
usersBase.UsersInfo.Email = email.(string)
userBase.UserInfo.Email = email.(string)
}
if phone, ok := data["phone"]; ok {
usersBase.Phone = phone.(string)
if account, ok := data["account"]; ok {
userBase.Account = account.(string)
}
if password, ok := data["password"]; ok {
usersBase.Password = password.(string)
userBase.Password = password.(string)
}
if accid, ok := data["accid"]; ok {
usersBase.Im.Accid = accid.(string)
userBase.Im.Accid = accid.(string)
}
if imToken, ok := data["imToken"]; ok {
usersBase.Im.ImToken = imToken.(string)
userBase.Im.ImToken = imToken.(string)
}
if csAccountId, ok := data["csAccountId"]; ok {
usersBase.Im.CsAccountId = csAccountId.(string)
userBase.Im.CsAccountId = csAccountId.(string)
}
if relatedUsers, ok := data["relatedUsers"]; ok {
usersBase.RelatedUsers = relatedUsers.([]int64)
if relatedUser, ok := data["relatedUser"]; ok {
userBase.RelatedUsers = relatedUser.([]int64)
}
if status, ok := data["status"]; ok {
usersBase.Status = status.(int)
userBase.Status = status.(int)
}
if createdAt, ok := data["createdAt"]; ok {
usersBase.CreatedAt = createdAt.(time.Time)
userBase.CreatedAt = createdAt.(time.Time)
}
if updatedAt, ok := data["updatedAt"]; ok {
usersBase.UpdatedAt = updatedAt.(time.Time)
userBase.UpdatedAt = updatedAt.(time.Time)
}
return nil
}
... ...
package domain
// 用户信息 (base)
type UsersInfo struct {
type UserInfo struct {
// 用户姓名
UsersName string `json:"usersName,omitempty"`
UserName string `json:"userName,omitempty"`
// 手机号码
Phone string `json:"phone,omitempty"`
// 头像
... ...
... ... @@ -10,7 +10,7 @@ type Menu struct {
MenuName string `comment:"菜单名称"`
// 菜单编码 SYSTEM_USER_EDIT / 100101 (字符编码)
Code string `comment:"菜单编码"`
// 权限编码 users:edit
// 权限编码 user:edit
AccessCode string `comment:"权限编码"`
// 菜单类型 (目录catalog、菜单menu、按钮button)
MenuType string `comment:"菜单类型 (目录catalog、菜单menu、按钮button)"`
... ...
... ... @@ -5,28 +5,28 @@ import (
"time"
)
type Users struct {
tableName string `pg:"users.users,alias:users"`
type User struct {
tableName string `pg:"users.user,alias:user"`
// 用户Id 用户唯一标识
UsersId int64 `comment:"用户Id"`
UserId int64 `comment:"用户Id"`
// 企业id
CompanyId int64 `comment:"企业id"`
// 用户基础数据id
UsersBaseId int64 `comment:"用户基础数据id"`
UserBaseId int64 `comment:"用户基础数据id"`
// 用户类型 1:企业内部用户(内部添加) 2:共创用户 1024:企业注册用户(注册添加)
UsersType int `comment:"用户类型 1:企业内部用户(内部添加) 2:共创用户 1024:企业注册用户(注册添加"`
UserType int `comment:"用户类型 1:企业内部用户(内部添加) 2:共创用户 1024:企业注册用户(注册添加"`
// 用户编号 企业内标识
UsersCode string `comment:"用户编号"`
UserCode string `comment:"用户编号"`
// 组织机构
OrganizationId int64 `comment:"组织机构"`
// 所属部门
DepartmentId int64 `comment:"所属部门"`
// 用户信息 (冗余,数据存在usersBase里面)
//UsersInfo *domain.UsersInfo
// 用户信息 (冗余,数据存在userBase里面)
//UserInfo *domain.UserInfo
// 用户关联的组织
UsersOrg []*domain.Org `pg:",array" comment:"用户关联的组织"`
UserOrg []*domain.Org `pg:",array" comment:"用户关联的组织"`
// 用户关联的角色
UsersRole []*domain.Role `pg:",array" comment:"用户关联的角色"`
UserRole []*domain.Role `pg:",array" comment:"用户关联的角色"`
// 收藏的菜单(工作台)(菜单编码列表)
FavoriteMenus []string `pg:",array" comment:"收藏的菜单"`
// 共创信息 (共创用户有效)
... ...
... ... @@ -5,20 +5,20 @@ import (
"time"
)
type UsersBase struct {
tableName string `pg:"users.users_base,alias:users_base" comment:"用户基础"`
type UserBase struct {
tableName string `pg:"users.user_base,alias:user_base" comment:"用户基础"`
// 用户基础数据id
UsersBaseId int64 `comment:"用户基础数据id"`
UserBaseId int64 `comment:"用户基础数据id"`
// 用户信息
UsersInfo *domain.UsersInfo `comment:"用户信息"`
// 手机号码
Phone string `comment:"手机号码"`
UserInfo *domain.UserInfo `comment:"用户信息"`
// 账号
Account string `comment:"手机号码"`
// 密码
Password string `comment:"密码"`
// IM信息
Im *domain.Im `comment:"IM信息"`
// 关联的用户 (冗余)
RelatedUsers []int64 `pg:",array" comment:"关联的用户 (冗余)"`
RelatedUser []int64 `pg:",array" comment:"关联的用户 (冗余)"`
// 账号状态 1:正常 2.禁用 3:注销
Status int `comment:"账号状态 1:正常 2.禁用 3:注销"`
// 创建时间
... ...
... ... @@ -5,23 +5,23 @@ import (
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg/models"
)
func TransformToUsersDomainModelFromPgModels(usersModel *models.Users) (*domain.Users, error) {
return &domain.Users{
UsersId: usersModel.UsersId,
CompanyId: usersModel.CompanyId,
UsersBaseId: usersModel.UsersBaseId,
UsersType: usersModel.UsersType,
UsersCode: usersModel.UsersCode,
OrganizationId: usersModel.OrganizationId,
DepartmentId: usersModel.DepartmentId,
//UsersInfo: usersModel.UsersInfo,
UsersOrg: usersModel.UsersOrg,
UsersRole: usersModel.UsersRole,
FavoriteMenus: usersModel.FavoriteMenus,
CooperationInfo: usersModel.CooperationInfo,
EnableStatus: usersModel.EnableStatus,
Ext: usersModel.Ext,
CreatedAt: usersModel.CreatedAt,
UpdatedAt: usersModel.UpdatedAt,
func TransformToUserDomainModelFromPgModels(userModel *models.User) (*domain.User, error) {
return &domain.User{
UserId: userModel.UserId,
CompanyId: userModel.CompanyId,
UserBaseId: userModel.UserBaseId,
UserType: userModel.UserType,
UserCode: userModel.UserCode,
OrganizationId: userModel.OrganizationId,
DepartmentId: userModel.DepartmentId,
//UserInfo: userModel.UserInfo,
UserOrg: userModel.UserOrg,
UserRole: userModel.UserRole,
FavoriteMenus: userModel.FavoriteMenus,
CooperationInfo: userModel.CooperationInfo,
EnableStatus: userModel.EnableStatus,
Ext: userModel.Ext,
CreatedAt: userModel.CreatedAt,
UpdatedAt: userModel.UpdatedAt,
}, nil
}
... ...
... ... @@ -5,16 +5,16 @@ import (
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg/models"
)
func TransformToUsersBaseDomainModelFromPgModels(usersBaseModel *models.UsersBase) (*domain.UsersBase, error) {
return &domain.UsersBase{
UsersBaseId: usersBaseModel.UsersBaseId,
UsersInfo: usersBaseModel.UsersInfo,
Phone: usersBaseModel.Phone,
Password: usersBaseModel.Password,
Im: usersBaseModel.Im,
RelatedUsers: usersBaseModel.RelatedUsers,
Status: usersBaseModel.Status,
CreatedAt: usersBaseModel.CreatedAt,
UpdatedAt: usersBaseModel.UpdatedAt,
func TransformToUserBaseDomainModelFromPgModels(userBaseModel *models.UserBase) (*domain.UserBase, error) {
return &domain.UserBase{
UserBaseId: userBaseModel.UserBaseId,
UserInfo: userBaseModel.UserInfo,
Account: userBaseModel.Account,
Password: userBaseModel.Password,
Im: userBaseModel.Im,
RelatedUsers: userBaseModel.RelatedUser,
Status: userBaseModel.Status,
CreatedAt: userBaseModel.CreatedAt,
UpdatedAt: userBaseModel.UpdatedAt,
}, nil
}
... ...
... ... @@ -69,7 +69,7 @@ func (repository *MenuRepository) Save(menu *domain.Menu) (*domain.Menu, error)
&menu.IsPublish,
&menu.EnableStatus,
),
fmt.Sprintf("INSERT INTO users.menu (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet),
fmt.Sprintf("INSERT INTO user.menu (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet),
menu.ParentId,
menu.MenuName,
menu.Code,
... ... @@ -102,7 +102,7 @@ func (repository *MenuRepository) Save(menu *domain.Menu) (*domain.Menu, error)
&menu.IsPublish,
&menu.EnableStatus,
),
fmt.Sprintf("UPDATE users.menu SET %s WHERE menu_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet),
fmt.Sprintf("UPDATE user.menu SET %s WHERE menu_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet),
menu.ParentId,
menu.MenuName,
menu.Code,
... ...
... ... @@ -12,11 +12,11 @@ import (
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg/transform"
)
type UsersBaseRepository struct {
type UserBaseRepository struct {
transactionContext *pgTransaction.TransactionContext
}
func (repository *UsersBaseRepository) nextIdentify() (int64, error) {
func (repository *UserBaseRepository) nextIdentify() (int64, error) {
IdWorker, err := snowflake.NewIdWorker(1)
if err != nil {
return 0, err
... ... @@ -24,14 +24,14 @@ func (repository *UsersBaseRepository) nextIdentify() (int64, error) {
id, err := IdWorker.NextId()
return id, err
}
func (repository *UsersBaseRepository) Save(usersBase *domain.UsersBase) (*domain.UsersBase, error) {
func (repository *UserBaseRepository) Save(userBase *domain.UserBase) (*domain.UserBase, error) {
sqlBuildFields := []string{
"users_base_id",
"users_info",
"user_base_id",
"user_info",
"phone",
"password",
"im",
"related_users",
"related_user",
"status",
"created_at",
"updated_at",
... ... @@ -39,84 +39,84 @@ func (repository *UsersBaseRepository) Save(usersBase *domain.UsersBase) (*domai
insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields)
insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlBuildFields)
returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields)
updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "usersBase_id")
updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "userBase_id")
updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields)
tx := repository.transactionContext.PgTx
if usersBase.Identify() == nil {
usersBaseId, err := repository.nextIdentify()
if userBase.Identify() == nil {
userBaseId, err := repository.nextIdentify()
if err != nil {
return usersBase, err
return userBase, err
} else {
usersBase.UsersBaseId = usersBaseId
userBase.UserBaseId = userBaseId
}
if _, err := tx.QueryOne(
pg.Scan(
&usersBase.UsersBaseId,
&usersBase.UsersInfo,
&usersBase.Phone,
&usersBase.Password,
&usersBase.Im,
pg.Array(&usersBase.RelatedUsers),
&usersBase.Status,
&usersBase.CreatedAt,
&usersBase.UpdatedAt,
&userBase.UserBaseId,
&userBase.UserInfo,
&userBase.Account,
&userBase.Password,
&userBase.Im,
pg.Array(&userBase.RelatedUsers),
&userBase.Status,
&userBase.CreatedAt,
&userBase.UpdatedAt,
),
fmt.Sprintf("INSERT INTO users_bases (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet),
usersBase.UsersBaseId,
usersBase.UsersInfo,
usersBase.Phone,
usersBase.Password,
usersBase.Im,
pg.Array(usersBase.RelatedUsers),
usersBase.Status,
usersBase.CreatedAt,
usersBase.UpdatedAt,
fmt.Sprintf("INSERT INTO user_bases (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet),
userBase.UserBaseId,
userBase.UserInfo,
userBase.Account,
userBase.Password,
userBase.Im,
pg.Array(userBase.RelatedUsers),
userBase.Status,
userBase.CreatedAt,
userBase.UpdatedAt,
); err != nil {
return usersBase, err
return userBase, err
}
} else {
if _, err := tx.QueryOne(
pg.Scan(
&usersBase.UsersBaseId,
&usersBase.UsersInfo,
&usersBase.Phone,
&usersBase.Password,
&usersBase.Im,
pg.Array(&usersBase.RelatedUsers),
&usersBase.Status,
&usersBase.CreatedAt,
&usersBase.UpdatedAt,
&userBase.UserBaseId,
&userBase.UserInfo,
&userBase.Account,
&userBase.Password,
&userBase.Im,
pg.Array(&userBase.RelatedUsers),
&userBase.Status,
&userBase.CreatedAt,
&userBase.UpdatedAt,
),
fmt.Sprintf("UPDATE users_bases SET %s WHERE users_base_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet),
usersBase.UsersInfo,
usersBase.Phone,
usersBase.Password,
usersBase.Im,
pg.Array(usersBase.RelatedUsers),
usersBase.Status,
usersBase.CreatedAt,
usersBase.UpdatedAt,
usersBase.Identify(),
fmt.Sprintf("UPDATE user_bases SET %s WHERE user_base_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet),
userBase.UserInfo,
userBase.Account,
userBase.Password,
userBase.Im,
pg.Array(userBase.RelatedUsers),
userBase.Status,
userBase.CreatedAt,
userBase.UpdatedAt,
userBase.Identify(),
); err != nil {
return usersBase, err
return userBase, err
}
}
return usersBase, nil
return userBase, nil
}
func (repository *UsersBaseRepository) Remove(usersBase *domain.UsersBase) (*domain.UsersBase, error) {
func (repository *UserBaseRepository) Remove(userBase *domain.UserBase) (*domain.UserBase, error) {
tx := repository.transactionContext.PgTx
usersBaseModel := new(models.UsersBase)
usersBaseModel.UsersBaseId = usersBase.Identify().(int64)
if _, err := tx.Model(usersBaseModel).WherePK().Delete(); err != nil {
return usersBase, err
userBaseModel := new(models.UserBase)
userBaseModel.UserBaseId = userBase.Identify().(int64)
if _, err := tx.Model(userBaseModel).WherePK().Delete(); err != nil {
return userBase, err
}
return usersBase, nil
return userBase, nil
}
func (repository *UsersBaseRepository) FindOne(queryOptions map[string]interface{}) (*domain.UsersBase, error) {
func (repository *UserBaseRepository) FindOne(queryOptions map[string]interface{}) (*domain.UserBase, error) {
tx := repository.transactionContext.PgTx
usersBaseModel := new(models.UsersBase)
query := sqlbuilder.BuildQuery(tx.Model(usersBaseModel), queryOptions)
query.SetWhereByQueryOption("users_base.users_base_id = ?", "usersBaseId")
userBaseModel := new(models.UserBase)
query := sqlbuilder.BuildQuery(tx.Model(userBaseModel), queryOptions)
query.SetWhereByQueryOption("user_base.user_base_id = ?", "userBaseId")
if err := query.First(); err != nil {
if err.Error() == "pg: no rows in result set" {
return nil, fmt.Errorf("没有此资源")
... ... @@ -124,37 +124,37 @@ func (repository *UsersBaseRepository) FindOne(queryOptions map[string]interface
return nil, err
}
}
if usersBaseModel.UsersBaseId == 0 {
if userBaseModel.UserBaseId == 0 {
return nil, nil
} else {
return transform.TransformToUsersBaseDomainModelFromPgModels(usersBaseModel)
return transform.TransformToUserBaseDomainModelFromPgModels(userBaseModel)
}
}
func (repository *UsersBaseRepository) Find(queryOptions map[string]interface{}) (int64, []*domain.UsersBase, error) {
func (repository *UserBaseRepository) Find(queryOptions map[string]interface{}) (int64, []*domain.UserBase, error) {
tx := repository.transactionContext.PgTx
var usersBaseModels []*models.UsersBase
usersBases := make([]*domain.UsersBase, 0)
query := sqlbuilder.BuildQuery(tx.Model(&usersBaseModels), queryOptions)
var userBaseModels []*models.UserBase
userBases := make([]*domain.UserBase, 0)
query := sqlbuilder.BuildQuery(tx.Model(&userBaseModels), queryOptions)
query.SetOffsetAndLimit(20)
query.SetOrderDirect("users_base_id", "DESC")
query.SetOrderDirect("user_base_id", "DESC")
if count, err := query.SelectAndCount(); err != nil {
return 0, usersBases, err
return 0, userBases, err
} else {
for _, usersBaseModel := range usersBaseModels {
if usersBase, err := transform.TransformToUsersBaseDomainModelFromPgModels(usersBaseModel); err != nil {
return 0, usersBases, err
for _, userBaseModel := range userBaseModels {
if userBase, err := transform.TransformToUserBaseDomainModelFromPgModels(userBaseModel); err != nil {
return 0, userBases, err
} else {
usersBases = append(usersBases, usersBase)
userBases = append(userBases, userBase)
}
}
return int64(count), usersBases, nil
return int64(count), userBases, nil
}
}
func NewUsersBaseRepository(transactionContext *pgTransaction.TransactionContext) (*UsersBaseRepository, error) {
func NewUserBaseRepository(transactionContext *pgTransaction.TransactionContext) (*UserBaseRepository, error) {
if transactionContext == nil {
return nil, fmt.Errorf("transactionContext参数不能为nil")
} else {
return &UsersBaseRepository{
return &UserBaseRepository{
transactionContext: transactionContext,
}, nil
}
... ...
... ... @@ -12,11 +12,11 @@ import (
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg/transform"
)
type UsersRepository struct {
type UserRepository struct {
transactionContext *pgTransaction.TransactionContext
}
func (repository *UsersRepository) nextIdentify() (int64, error) {
func (repository *UserRepository) nextIdentify() (int64, error) {
IdWorker, err := snowflake.NewIdWorker(1)
if err != nil {
return 0, err
... ... @@ -24,18 +24,18 @@ func (repository *UsersRepository) nextIdentify() (int64, error) {
id, err := IdWorker.NextId()
return id, err
}
func (repository *UsersRepository) Save(users *domain.Users) (*domain.Users, error) {
func (repository *UserRepository) Save(user *domain.User) (*domain.User, error) {
sqlBuildFields := []string{
"users_id",
"user_id",
"company_id",
"users_base_id",
"users_type",
"users_code",
"user_base_id",
"user_type",
"user_code",
"organization_id",
"department_id",
"users_info",
"users_org",
"users_role",
"user_info",
"user_org",
"user_role",
"favorite_menus",
"cooperation_info",
"enable_status",
... ... @@ -46,112 +46,112 @@ func (repository *UsersRepository) Save(users *domain.Users) (*domain.Users, err
insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields)
insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlBuildFields)
returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields)
updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "users_id")
updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "user_id")
updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields)
tx := repository.transactionContext.PgTx
if users.Identify() == nil {
usersId, err := repository.nextIdentify()
if user.Identify() == nil {
userId, err := repository.nextIdentify()
if err != nil {
return users, err
return user, err
} else {
users.UsersId = usersId
user.UserId = userId
}
if _, err := tx.QueryOne(
pg.Scan(
&users.UsersId,
&users.CompanyId,
&users.UsersBaseId,
&users.UsersType,
&users.UsersCode,
&users.OrganizationId,
&users.DepartmentId,
pg.Array(&users.UsersInfo),
pg.Array(&users.UsersOrg),
pg.Array(&users.UsersRole),
pg.Array(&users.FavoriteMenus),
&users.CooperationInfo,
&users.EnableStatus,
&users.Ext,
&users.CreatedAt,
&users.UpdatedAt,
&user.UserId,
&user.CompanyId,
&user.UserBaseId,
&user.UserType,
&user.UserCode,
&user.OrganizationId,
&user.DepartmentId,
pg.Array(&user.UserInfo),
pg.Array(&user.UserOrg),
pg.Array(&user.UserRole),
pg.Array(&user.FavoriteMenus),
&user.CooperationInfo,
&user.EnableStatus,
&user.Ext,
&user.CreatedAt,
&user.UpdatedAt,
),
fmt.Sprintf("INSERT INTO userss (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet),
users.UsersId,
users.CompanyId,
users.UsersBaseId,
users.UsersType,
users.UsersCode,
users.OrganizationId,
users.DepartmentId,
pg.Array(users.UsersInfo),
pg.Array(users.UsersOrg),
pg.Array(users.UsersRole),
pg.Array(users.FavoriteMenus),
users.CooperationInfo,
users.EnableStatus,
users.Ext,
users.CreatedAt,
users.UpdatedAt,
fmt.Sprintf("INSERT INTO users (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet),
user.UserId,
user.CompanyId,
user.UserBaseId,
user.UserType,
user.UserCode,
user.OrganizationId,
user.DepartmentId,
pg.Array(user.UserInfo),
pg.Array(user.UserOrg),
pg.Array(user.UserRole),
pg.Array(user.FavoriteMenus),
user.CooperationInfo,
user.EnableStatus,
user.Ext,
user.CreatedAt,
user.UpdatedAt,
); err != nil {
return users, err
return user, err
}
} else {
if _, err := tx.QueryOne(
pg.Scan(
&users.UsersId,
&users.CompanyId,
&users.UsersBaseId,
&users.UsersType,
&users.UsersCode,
&users.OrganizationId,
&users.DepartmentId,
pg.Array(&users.UsersInfo),
pg.Array(&users.UsersOrg),
pg.Array(&users.UsersRole),
pg.Array(&users.FavoriteMenus),
&users.CooperationInfo,
&users.EnableStatus,
&users.Ext,
&users.CreatedAt,
&users.UpdatedAt,
&user.UserId,
&user.CompanyId,
&user.UserBaseId,
&user.UserType,
&user.UserCode,
&user.OrganizationId,
&user.DepartmentId,
pg.Array(&user.UserInfo),
pg.Array(&user.UserOrg),
pg.Array(&user.UserRole),
pg.Array(&user.FavoriteMenus),
&user.CooperationInfo,
&user.EnableStatus,
&user.Ext,
&user.CreatedAt,
&user.UpdatedAt,
),
fmt.Sprintf("UPDATE userss SET %s WHERE users_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet),
users.CompanyId,
users.UsersBaseId,
users.UsersType,
users.UsersCode,
users.OrganizationId,
users.DepartmentId,
pg.Array(users.UsersInfo),
pg.Array(users.UsersOrg),
pg.Array(users.UsersRole),
pg.Array(users.FavoriteMenus),
users.CooperationInfo,
users.EnableStatus,
users.Ext,
users.CreatedAt,
users.UpdatedAt,
users.Identify(),
fmt.Sprintf("UPDATE users SET %s WHERE user_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet),
user.CompanyId,
user.UserBaseId,
user.UserType,
user.UserCode,
user.OrganizationId,
user.DepartmentId,
pg.Array(user.UserInfo),
pg.Array(user.UserOrg),
pg.Array(user.UserRole),
pg.Array(user.FavoriteMenus),
user.CooperationInfo,
user.EnableStatus,
user.Ext,
user.CreatedAt,
user.UpdatedAt,
user.Identify(),
); err != nil {
return users, err
return user, err
}
}
return users, nil
return user, nil
}
func (repository *UsersRepository) Remove(users *domain.Users) (*domain.Users, error) {
func (repository *UserRepository) Remove(user *domain.User) (*domain.User, error) {
tx := repository.transactionContext.PgTx
usersModel := new(models.Users)
usersModel.UsersId = users.Identify().(int64)
if _, err := tx.Model(usersModel).WherePK().Delete(); err != nil {
return users, err
userModel := new(models.User)
userModel.UserId = user.Identify().(int64)
if _, err := tx.Model(userModel).WherePK().Delete(); err != nil {
return user, err
}
return users, nil
return user, nil
}
func (repository *UsersRepository) FindOne(queryOptions map[string]interface{}) (*domain.Users, error) {
func (repository *UserRepository) FindOne(queryOptions map[string]interface{}) (*domain.User, error) {
tx := repository.transactionContext.PgTx
usersModel := new(models.Users)
query := sqlbuilder.BuildQuery(tx.Model(usersModel), queryOptions)
query.SetWhereByQueryOption("users.users_id = ?", "usersId")
userModel := new(models.User)
query := sqlbuilder.BuildQuery(tx.Model(userModel), queryOptions)
query.SetWhereByQueryOption("user.user_id = ?", "userId")
if err := query.First(); err != nil {
if err.Error() == "pg: no rows in result set" {
return nil, fmt.Errorf("没有此资源")
... ... @@ -159,37 +159,37 @@ func (repository *UsersRepository) FindOne(queryOptions map[string]interface{})
return nil, err
}
}
if usersModel.UsersId == 0 {
if userModel.UserId == 0 {
return nil, nil
} else {
return transform.TransformToUsersDomainModelFromPgModels(usersModel)
return transform.TransformToUserDomainModelFromPgModels(userModel)
}
}
func (repository *UsersRepository) Find(queryOptions map[string]interface{}) (int64, []*domain.Users, error) {
func (repository *UserRepository) Find(queryOptions map[string]interface{}) (int64, []*domain.User, error) {
tx := repository.transactionContext.PgTx
var usersModels []*models.Users
userss := make([]*domain.Users, 0)
query := sqlbuilder.BuildQuery(tx.Model(&usersModels), queryOptions)
var userModels []*models.User
users := make([]*domain.User, 0)
query := sqlbuilder.BuildQuery(tx.Model(&userModels), queryOptions)
query.SetOffsetAndLimit(20)
query.SetOrderDirect("users_id", "DESC")
query.SetOrderDirect("user_id", "DESC")
if count, err := query.SelectAndCount(); err != nil {
return 0, userss, err
return 0, users, err
} else {
for _, usersModel := range usersModels {
if users, err := transform.TransformToUsersDomainModelFromPgModels(usersModel); err != nil {
return 0, userss, err
for _, userModel := range userModels {
if user, err := transform.TransformToUserDomainModelFromPgModels(userModel); err != nil {
return 0, users, err
} else {
userss = append(userss, users)
users = append(users, user)
}
}
return int64(count), userss, nil
return int64(count), users, nil
}
}
func NewUsersRepository(transactionContext *pgTransaction.TransactionContext) (*UsersRepository, error) {
func NewUserRepository(transactionContext *pgTransaction.TransactionContext) (*UserRepository, error) {
if transactionContext == nil {
return nil, fmt.Errorf("transactionContext参数不能为nil")
} else {
return &UsersRepository{
return &UserRepository{
transactionContext: transactionContext,
}, nil
}
... ...
package controllers
import (
"github.com/linmadan/egglib-go/web/beego"
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/application/common/service"
)
type CommonController struct {
beego.BaseController
}
func (controller *CommonController) DictionarySearch() {
menuService := service.CommonService{}
type search struct {
DictCodes []string `json:"dictCodes"`
}
query := &search{}
controller.Unmarshal(query)
data, err := menuService.DictionarySearch(query.DictCodes)
controller.Response(data, err)
}
... ...
... ... @@ -19,4 +19,6 @@ func init() {
web.Router("/v1/web/menus/:menuId", &controllers.MenuController{}, "Delete:RemoveMenu")
web.Router("/v1/web/menus/search", &controllers.MenuController{}, "Get:ListMenu")
web.Router("/v1/web/menus/search", &controllers.MenuController{}, "Post:SearchMenu")
web.Router("/v1/web/common/dictionary/search", &controllers.CommonController{}, "Post:DictionarySearch")
}
... ...
... ... @@ -39,7 +39,7 @@ var _ = Describe("创建菜单服务", func() {
})
})
AfterEach(func() {
_, err := pG.DB.Exec("DELETE FROM users.menu WHERE true")
_, err := pG.DB.Exec("DELETE FROM user.menu WHERE true")
Expect(err).NotTo(HaveOccurred())
})
})
... ...
... ... @@ -15,7 +15,7 @@ var _ = Describe("返回菜单服务", func() {
BeforeEach(func() {
_, err := pG.DB.QueryOne(
pg.Scan(&menuId),
"INSERT INTO users.menu (menu_id, parent_id, menu_name, code, access_code, menu_type, icon, sort, remark, category, parent_path, is_publish, enable_status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING menu_id",
"INSERT INTO user.menu (menu_id, parent_id, menu_name, code, access_code, menu_type, icon, sort, remark, category, parent_path, is_publish, enable_status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING menu_id",
1, 0, "testMenuName", "testCode", "testAccessCode", "testMenuType", "testIcon", 1, "testDesc", "testCategory", "testParentPath", 1, 1)
Expect(err).NotTo(HaveOccurred())
})
... ... @@ -36,7 +36,7 @@ var _ = Describe("返回菜单服务", func() {
})
})
AfterEach(func() {
_, err := pG.DB.Exec("DELETE FROM users.menu WHERE true")
_, err := pG.DB.Exec("DELETE FROM user.menu WHERE true")
Expect(err).NotTo(HaveOccurred())
})
})
... ...
... ... @@ -15,7 +15,7 @@ var _ = Describe("返回菜单服务列表", func() {
BeforeEach(func() {
_, err := pG.DB.QueryOne(
pg.Scan(&menuId),
"INSERT INTO users.menu (menu_id, parent_id, menu_name, code, access_code, menu_type, icon, sort, remark, category, parent_path, is_publish, enable_status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING menu_id",
"INSERT INTO user.menu (menu_id, parent_id, menu_name, code, access_code, menu_type, icon, sort, remark, category, parent_path, is_publish, enable_status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING menu_id",
1, 0, "testMenuName", "testCode", "testAccessCode", "testMenuType", "testIcon", 1, "testDesc", "testCategory", "testfullPath", 1, 1)
Expect(err).NotTo(HaveOccurred())
})
... ... @@ -40,7 +40,7 @@ var _ = Describe("返回菜单服务列表", func() {
})
})
AfterEach(func() {
_, err := pG.DB.Exec("DELETE FROM users.menu WHERE true")
_, err := pG.DB.Exec("DELETE FROM user.menu WHERE true")
Expect(err).NotTo(HaveOccurred())
})
})
... ...
... ... @@ -15,7 +15,7 @@ var _ = Describe("移除菜单服务", func() {
BeforeEach(func() {
_, err := pG.DB.QueryOne(
pg.Scan(&menuId),
"INSERT INTO users.menu (menu_id, parent_id, menu_name, code, access_code, menu_type, icon, sort, remark, category, parent_path, is_publish, enable_status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING menu_id",
"INSERT INTO user.menu (menu_id, parent_id, menu_name, code, access_code, menu_type, icon, sort, remark, category, parent_path, is_publish, enable_status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING menu_id",
1, 0, "testMenuName", "testCode", "testAccessCode", "testMenuType", "testIcon", 1, "testDesc", "testCategory", "testfullPath", 1, 1)
Expect(err).NotTo(HaveOccurred())
})
... ... @@ -36,7 +36,7 @@ var _ = Describe("移除菜单服务", func() {
})
})
AfterEach(func() {
_, err := pG.DB.Exec("DELETE FROM users.menu WHERE true")
_, err := pG.DB.Exec("DELETE FROM user.menu WHERE true")
Expect(err).NotTo(HaveOccurred())
})
})
... ...
... ... @@ -15,7 +15,7 @@ var _ = Describe("更新菜单服务", func() {
BeforeEach(func() {
_, err := pG.DB.QueryOne(
pg.Scan(&menuId),
"INSERT INTO users.menu (menu_id, parent_id, menu_name, code, access_code, menu_type, icon, sort, remark, category, parent_path, is_publish, enable_status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING menu_id",
"INSERT INTO user.menu (menu_id, parent_id, menu_name, code, access_code, menu_type, icon, sort, remark, category, parent_path, is_publish, enable_status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING menu_id",
1, 0, "testMenuName", "testCode", "testAccessCode", "testMenuType", "testIcon", 1, "testDesc", "testCategory", "testfullPath", 1, 1)
Expect(err).NotTo(HaveOccurred())
})
... ... @@ -48,7 +48,7 @@ var _ = Describe("更新菜单服务", func() {
})
})
AfterEach(func() {
_, err := pG.DB.Exec("DELETE FROM users.menu WHERE true")
_, err := pG.DB.Exec("DELETE FROM user.menu WHERE true")
Expect(err).NotTo(HaveOccurred())
})
})
... ...