Part I 主数据服务相关约定
组织(行政组织和业务组织)和空间在接口的设计上保持高度相似。
注:返回结构保持统一: {"code": "0" , "message":"成功", "result": {....} }
当 : code 值为200, 表示结果正常;
code 值不为200, 表示结果异常。
小区:可代表具体业务开展的一个项目,如:养老院、学校、小区、工业园区、商场等。
查询分页: 每页最大 尺寸 50 条。
Part II 前端(含H5、小程序、APP)请求Token 约定
网关层: https://biz-admin-sit.smartmideazy.com 新重构的所有后端请求均须
注:除白名单列表中的功能URL外, 所有的请求头部均需要携带以下两个Token请求。
1、头部1
Name: Authorization
Value: bearer access_token
eg:
2、头部2
Name: tokenInfo
Value:
{"name": "路人甲", "orgFullName": "美的集团", "id": "12706", "orgId": "6419","org_code": "101","user_name":"bestshi12345", "is_supper":1}
由于Token不支持中文,故需要统一转码 URLEncoder来实现UTF-8转码
tokenInfo = URLEncoder.encode(tokenInfo,"UTF-8");
请将转码后的tokenInfo值作为http头部
3、头部3
Name: gateway
Value: client-type
接入主数据的客户端均需要登记。请使用平台登记的客户端ID(client_id值)。见【Part I 据字典】部分定义
以下是java应用来携带Token访问微服务示例:
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type);
restTemplate.getMessageConverters()
.add(0, new StringHttpMessageConverter(StandardCharsets.UTF_8));
//网关服务器URL
String url="http://localhost:9901/v1/iot/main/space/list";
String body = "{\"space_type\":\"COMMUNITY\",\"is_super\":1,\"top_org_id\":8829}";
//Authorization 头部Value
String auth ="bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDc0MDg2ODUsInVzZXJfbmFtZSI6ImJlc3RzaGkxMjM0IiwianRpIjoiZWI4ZTdkYTEtY2YwOS00OGE2LTg3YTAtOWEwODYwYzBmMmFiIiwiY2xpZW50X2lkIjoiaDUtY2xpZW50Iiwic2NvcGUiOlsiYWxsIl19.ZAx9_uxL3Jph5wEuBT_X1kN2kdOOuu8KsUU7_agJzHY";
// tokenInfo 头部Value
String tokenInfo ="{ \"name\": \"路人甲\", \"orgFullName\": \"美的集团\", \"id\": \"12706\", \"orgId\": \"6419\",\"org_code\": \"101\"}";
try{
tokenInfo =URLEncoder.encode(tokenInfo,"UTF-8");
}catch(Exception e){
}
headers.add("Accept", MediaType.APPLICATION_JSON.toString());
headers.add("Authorization", auth);
headers.add("tokenInfo", tokenInfo);
headers.add("client-type", "h5-client");
HttpEntity<String> formEntity = new HttpEntity<String>(body, headers);
String result = restTemplate.postForObject(url, formEntity, String.class);
System.out.println("收到认证服务器的应答:"+result);
return result;
JS 携带Token 示例:
1、定义一个POST
export function post(api) {
const url = 'https://biz-admin-sit.smartmideazy.com'+api;
var result={}
return function(params = {}, headers ={})
{
return axios({
method:'post',
url:url,
data: params,
headers: headers
}).then((res) => {
return res
}).catch((err) => {
return err;
})
}
}
export {post}
2、调用
import {post} from './api/'
let body = {pageNo":1,"pageSize":10,"space_type":"COMMUNITY","is_super":1,"top_org_id":15264 };
let tokenInfo = {"name": "路人甲","orgFullName": "美的集团", "id": "12706", "orgId": "6419","org_code": "101"};
// 将带有中文的tokenInfo对象转stirng后再转码
let token = encodeURIComponent(JSON.stringify(tokenInfo));
console.log("-->token:"+token);
let headers = {
"Authorization":"bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyLnlKjmiLfmlbDmja4iOiLmiJHmmK_nlKjmiLfmlbDmja4iLCJ1c2VyX25hbWUiOiJwcm9kdWN0X2FkbWluIiwiand0LWV4dCI6IkpXVCDmianlsZXkv6Hmga8iLCJzY29wZSI6WyJhbGwiXSwiZXhwIjoxNjA1NjU1MzIwLCJhdXRob3JpdGllcyI6WyJST0xFX0FETUlOIl0sImp0aSI6ImY3ZDc3MDU5LTNiZTctNDdhZC05NmEzLTQ5NWQ5ZjkxMWY5ZCIsImNsaWVudF9pZCI6InVzZXItY2xpZW50In0.lgw9HOE_DtyqKdzBgPv81Ov3vmp4SLQlkTbv2FwKjMI",
"tokenInfo": token
};
//传入body, headers
post(body,headers).then((res) => { 省略代码 ...} );
PartIII 主数据订阅
[TOC]
PartI 数据字典
1.1 空间类型
字段 | 字段说明 | 值 | 值说明 | 大类 |
---|---|---|---|---|
space_type | 空间类型 | COMMUNITY | 小区 | 小区 |
space_type | 空间类型 | ZONE | 片区 | 片区 |
space_type | 空间类型 | STRUCTURE | 建筑物 | 建筑物 |
space_type | 空间类型 | BUILDING | 楼栋 | 建筑物 |
space_type | 空间类型 | UNIT | 单元 | 建筑物 |
space_type | 空间类型 | FLOOR | 楼层 | 建筑物 |
space_type | 空间类型 | HOUSE | 房屋 | 建筑物 |
space_type | 空间类型 | PARK | 车场 | 车场 |
space_type | 空间类型 | PARK_NAME | 车场名称 | 车场 |
space_type | 空间类型 | PARK_AREA | 车场区域 | 车场 |
space_type | 空间类型 | PARK_SPACE | 车位 | 车场 |
space_type | 空间类型 | PUBLIC_AREA | 公共区域 | 公共区域 |
space_type | 空间类型 | PRIMARY_AREA | 一级区域 | 公共区域 |
space_type | 空间类型 | SECONDARY_AREA | 二级区域 | 公共区域 |
space_type | 空间类型 | THIRD_AREA | 三级区域 | 公共区域 |
park_type | 车位类型 | 1 | 子母车位 | |
park_type | 车位类型 | 2 | 标准车位 | |
park_type | 车位类型 | 3 | 微型车位 | |
park_type | 车位类型 | 4 | 人防车位 | |
org_type | 组织类型 | 1 | 业务组织 | |
org_type | 组织类型 | 2 | 行政组织 | |
park_status | 车位状态 | 1、闲置 2、未出售已出租 3、已出售 4、已出售已入住 5、已出售已出租; | ||
charge_park | 充电车位 | 1、普通停车位(汽车) 2、充电停车位(汽车)3、普通停车位(电动车) 4、充电停车位(电动车) | ||
park_nature | 车位性质 | 1、临时车位 2、固定车位 3、产权车位. | ||
status | 禁用/启用 | 1 | 启用 | |
status | 禁用/启用 | 2 | 禁用 | |
orderby | 根据主键排序 | DESC | 降序 | |
orderby | 根据主键排序 | ASC | 升序 | |
business_type | 业务类型 | 1 | 智慧小区 | |
business_type | 业务类型 | 2 | 智慧别墅 | |
business_type | 业务类型 | 3 | 智慧养老院 | |
business_type | 业务类型 | 4 | 智慧工业园 | |
business_type | 业务类型 | 5 | 智慧医院 | |
business_type | 业务类型 | 6 | 智慧政务 | |
business_type | 业务类型 | 7 | 智慧商业 | |
business_type | 业务类型 | 8 | 智慧公寓 | |
business_type | 业务类型 | 9 | 智慧酒店 | |
business_type | 业务类型 | 10 | 智慧校园 | |
client_id | 平台登记客户端标识 | h5-client | 主数据 | |
client_id | 平台登记客户端标识 | app-client | 睿住管家APP | |
1 超级管理员功能
1.1 更新菜单(新增/修改)
URL: /v1/iot/main/supper/menu/update
Method: POST
body: 为空
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 否 | 主键ID, 菜单表的主键, 修改需要传参数 |
menu_name | String | 是 | 菜单名称 |
menu_url | String | 是 | 功能工URL |
menu_type | String | 是 | 菜单类型,1:功能URL, 2: 按钮或文字,不涉及到调用真实的后端API |
parentid | Int | 否 | 父菜单的主键id |
identifier | String | 否 | 菜单标识,供前端使用 |
请求示例:
{"menu_name":"通行管理", "menu_url":"#", "menu_type": 2 }
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": {
"create_by": null,
"update_by": null,
"create_time": 1608515591940,
"update_time": null,
"id": 20477,
"parentid": null,
"menu_name": "通行管理",
"menu_url": "#",
"menu_code": "100000",
"parent_code": null,
"full_menu_name": "通行管理",
"parent_name": null,
"menu_type": 2,
"pageNo": 0,
"pageSize": 0,
"total": 0,
"children": null
}
}
1.1 A 菜单列表
URL: /v1/iot/main/supper/menu/list
Method: POST
body: JSON
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
pageNo | Int | 否 | 默认1 |
pageSize | Int | 否 | 默认20 |
menu_name | String | 否 | 菜单名称全模糊搜索 |
menu_url | String | 否 | 菜单URL全模糊搜索 |
id | Int | 否 | 菜单ID, 此值非空则展示自身及下级节点 |
orderby | int | 否 | 按照更新时间DESC降序,按照更新时间降序 |
请求示例:
{"menu_name":"通行管理", "menu_url":"#", "menu_type": 2 }
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": {
"create_by": null,
"update_by": null,
"create_time": 1608515591940,
"update_time": null,
"id": 20477,
"parentid": null,
"menu_name": "通行管理",
"menu_url": "#",
"menu_code": "100000",
"parent_code": null,
"full_menu_name": "通行管理",
"parent_name": null,
"menu_type": 2,
"pageNo": 0,
"pageSize": 0,
"total": 0,
"children": null
}
}
1.1 B 菜单树
此功能仅超级管理员可用。返回一棵完整的菜单树。加载smart_cmty_menu表的全表记录。
URL: /v1/iot/main/supper/menu/tree
POST:
BODY: 空
返回结果:与【5.2 权限设置树[业务组织所关联的菜单(应用)树]】接口返回数据一致。
1.1C 菜单详情
URL: /v1/iot/main/supper/menu/detail/{id}
POST:
BODY: 空
路径参数:
{id} : 菜单ID
返回示例:
1.1D [操作指引] 操作指引更新(增加、修改)
对菜单的操作说明:
URL: /v1/iot/main/supper/guidance/update
POST:
BODY JSON约定
menu_id: 菜单ID(必填)
content: 内容(必填)
id: (非必填, 有值为修改,无值为更新)
1.1E 【操作指引】操作指引加载
对菜单的操作说明:
URL: /v1/iot/main/supper/guidance/load/{menu_id}
POST:
BODY :空
路径参数:
menu_id: (必填)
返回:
操作指引记录的全部信息。
1.2 将应用(菜单批量授予给业务组织)
此功能超级管理员专用。可以实现与接口【5.1 业务组织应用授权】同样的效果。
URL: /v1/iot/main/supper/menu/org/rel
Method: POST
body: 为空
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
menu_ids | Array | 是 | 菜单主键ID集合 |
business_org_ids | Array | 是 | 业务组织ID集合 |
请求示例:
{"menu_ids": [20477, 20478, 20479, 20480, 20481,20482,20483,20484,20485], "business_org_ids" : [19872]}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20606,
"menu_id": 20477,
"org_id": 19872,
"menu_code": "100000",
"menu_name": "通行管理",
"menu_full_name": "通行管理",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20607,
"menu_id": 20478,
"org_id": 19872,
"menu_code": "100000100000",
"menu_name": "门禁管理",
"menu_full_name": "通行管理/门禁管理",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20608,
"menu_id": 20479,
"org_id": 19872,
"menu_code": "100000100001",
"menu_name": "梯控管理",
"menu_full_name": "通行管理/梯控管理",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20609,
"menu_id": 20480,
"org_id": 19872,
"menu_code": "100000100002",
"menu_name": "通行授权",
"menu_full_name": "通行管理/通行授权",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20610,
"menu_id": 20481,
"org_id": 19872,
"menu_code": "100001",
"menu_name": "组织权限",
"menu_full_name": "组织权限",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20611,
"menu_id": 20482,
"org_id": 19872,
"menu_code": "100001100000",
"menu_name": "行政组织",
"menu_full_name": "组织权限/行政组织",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20612,
"menu_id": 20483,
"org_id": 19872,
"menu_code": "100001100001",
"menu_name": "业务组织",
"menu_full_name": "组织权限/业务组织",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20613,
"menu_id": 20484,
"org_id": 19872,
"menu_code": "100001100002",
"menu_name": "人员管理",
"menu_full_name": "组织权限/人员管理",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20614,
"menu_id": 20485,
"org_id": 19872,
"menu_code": "100001100003",
"menu_name": "角色管理",
"menu_full_name": "组织权限/角色管理",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
1.3 新增管理员[向业务组织中的员工新增管理员角色]
请求信息 : 超级管理员和普通管理员共用接口。管理员是一个特殊的角色,系统内置的一个默认的角色。此功能仅超级管理员可以使用。由系统自动识别帐号类型 。
设计原型: 新增管理员(错误的描述,应该是给员工新增一个管理员的角色)
smart_cmty_org_role_rel 新增记录 (业务组织与默认管理员角色关联)
smart_cmty_org_admin_rel
URL:/v1/iot/main/supper/orgRoleAdminRel/update
Method: POST
body: JSON格式约定
body JSON
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
admin_ids | List | 是 | 员工id集合 |
org_id | Long | 是 | 业务组织id |
请求示例:
{
"admin_ids":[8811,8812,8813],
"org_id":8831
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 34,
"org_id": 2,
"org_code": "100000001",
"org_name": "测试顶级业务组织1",
"org_full_name": "测试顶级业务组织1",
"admin_name": "杨观超",
"admin_id": 1,
"role_id": 20592,
"role_name": "管理员",
"system_default": 2,
"admin_ids": null,
"grant_by_supper": 2
}
]
}
1.4 管理员删除(删除员工与内置管理员角色的关联关系)
此功能仅超级管理员帐号才可操作。
请求信息
URL: /v1/iot/main/supper/orgRoleAdminRel/unrel/{id}
Method: POST
Body: 空
路径参数:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
id | Int | 是 | 员工id |
返回:
{
"code": "200"
"message": "成功"
}
1.5 角色列表(不分页)
请求信息: 超级管理员功能。 根据org_id 获取所关联的角色。
URL: /v1/iot/main/supper/orgrolerel/query/nonpage
Method: POST
body: JSON格式
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_id | Int | 是 | 业务组织ID |
create_org_id | int | 是 | 全局切换的业务组织ID |
orderby | String | 否 | 默认DESC;DESC:主键ID降序; ASC: 主键ID升序 |
请求示例:
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"id": 2136,
"name": "测试10"
},...
]
}
id: 角色ID
name: 角色名称
2 用户登录认证
2.1 用户登录认证
URL: /v1/user/authen?appId={appId}
Method: POST
body: JSON格式约定
https://biz-admin-sit.smartmideazy.com/v1/user/authen
注:参数appId: client_id="app-client"此参数必传
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
job_number | String | 是 | 管理员帐号 |
pwd | String | 是 | 管理员密码 |
client_id | String | 是 | 客户端ID,由平台签发,用来见鉴别客户端;睿住管家 APP: app-client;社区后台管理 H5:h5-client; 见客户端client_id说明。ioc-client |
grant_type | String | 是 | 用户登录场景,请使用 password 值 |
请求示例:
{"job_number": "yanggc4" , "pwd": "XXXX", "client_id": "h5-client", "grant_type": "password"}
主数据登录考虑到各客户端的数据兼容,可以由client_id的不同类型对登录作出不同的响应。
h5-client 返回示例:
{
"code": "200",
"message": "成功",
"result": {
"token": {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDczODIxMTIsInVzZXJfbmFtZSI6ImJlc3RzaGkxMjM0IiwianRpIjoiNDI3ODIyNDMtOTFkZi00N2Y2LThjYmYtYTk0OWM5M2RhODkyIiwiY2xpZW50X2lkIjoiaDUtY2xpZW50Iiwic2NvcGUiOlsiYWxsIl19.WELg2sDjBfkjWjIxIimz_3EA3nPDKOMPRarr-8pV2kM",
"token_type": "bearer",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDc0MTQ1MTIsInVzZXJfbmFtZSI6ImJlc3RzaGkxMjM0IiwianRpIjoiMjk0M2NjY2MtZGE2NC00ODVhLWJhOTctYjQyZWRmZDc2OGU0IiwiY2xpZW50X2lkIjoiaDUtY2xpZW50Iiwic2NvcGUiOlsiYWxsIl0sImF0aSI6IjQyNzgyMjQzLTkxZGYtNDdmNi04Y2JmLWE5NDljOTNkYTg5MiJ9.njOPafy8FVHh9CiJc3-OM5OPD6Rc6VQMAcWgeB7lgao",
"scope": "all",
"jti": "42782243-91df-47f6-8cbf-a949c93da892",
"expires_in": 3599
},
"tokenInfo": {
"name": "路人甲",
"orgFullName": "美的集团",
"id": "12706",
"orgId": "6419",
"org_code": "101",
"position":"搬运工"
},
"business_org_trees": {
"code": "200",
"message": "成功",
"trees": [
{
"tree": [
{
"id": 8829,
"org_code": "901",
"org_name": "美的集团-业务",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": [
{
"id": 8830,
"org_code": "901105",
"org_name": "美的物业",
"parent_code": "901",
"parentid": 8829,
"full_org_name": "美的集团/美的物业",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": [
{
"id": 8831,
"org_code": "901105109",
"org_name": "产业发展事业部",
"parent_code": "901105",
"parentid": 8830,
"full_org_name": "美的集团/美的物业/产业发展事业部",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": [
{
"id": 9099,
"org_code": "901105109100",
"org_name": "君兰江山小区",
"parent_code": "901105109",
"parentid": 8831,
"full_org_name": "美的集团/美的物业/产业发展事业部/君兰江山小区",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": null
},
{
"id": 14328,
"org_code": "901105109114",
"org_name": "测试9",
"parent_code": "901105",
"parentid": 8831,
"full_org_name": "美的集团/美的物业/产业发展事业部/测试9",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": null
},
{
"id": 14329,
"org_code": "901105109115",
"org_name": "测试10",
"parent_code": "901105",
"parentid": 8831,
"full_org_name": "美的集团/美的物业/产业发展事业部/测试10",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": null
},
{
"id": 14330,
"org_code": "901105109116",
"org_name": "测试11",
"parent_code": "901105",
"parentid": 8831,
"full_org_name": "美的集团/美的物业/产业发展事业部/测试11",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": null
}
]
}
]
},
{
"id": 10454,
"org_code": "901106",
"org_name": "置业-1",
"parent_code": "901",
"parentid": 8829,
"full_org_name": "美的集团/置业-1",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": [
{
"id": 14069,
"org_code": "901106100",
"org_name": "朱慧媛-子组织1",
"parent_code": "901",
"parentid": 10454,
"full_org_name": "美的集团/置业-1/朱慧媛-子组织1",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": null
},
{
"id": 14070,
"org_code": "901106101",
"org_name": "朱慧媛-子组织2",
"parent_code": "901",
"parentid": 10454,
"full_org_name": "美的集团/置业-1/朱慧媛-子组织2",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": null
}
]
},
{
"id": 10455,
"org_code": "901107",
"org_name": "置业-2",
"parent_code": "901",
"parentid": 8829,
"full_org_name": "美的集团/置业-2",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": [
{
"id": 10456,
"org_code": "901107100",
"org_name": "置业-2-1",
"parent_code": "901107",
"parentid": 10455,
"full_org_name": "美的集团/置业-2/置业-2-1",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": [
{
"id": 10457,
"org_code": "901107100100",
"org_name": "置业-2-1-1",
"parent_code": "901107100",
"parentid": 10456,
"full_org_name": "美的集团/置业-2/置业-2-1/置业-2-1-1",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": [
{
"id": 10458,
"org_code": "901107100100100",
"org_name": "置业-2-1-1-1",
"parent_code": "901107100100",
"parentid": 10457,
"full_org_name": "美的集团/置业-2/置业-2-1/置业-2-1-1/置业-2-1-1-1",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": null
}
]
},
{
"id": 14063,
"org_code": "901107100101",
"org_name": "中航区域",
"parent_code": "901107",
"parentid": 10456,
"full_org_name": "美的集团/置业-2/置业-2-1/中航区域",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": [
{
"id": 14064,
"org_code": "901107100101100",
"org_name": "中央公馆",
"parent_code": "901107",
"parentid": 14063,
"full_org_name": "美的集团/置业-2/置业-2-1/中航区域/中央公馆",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": null
}
]
}
]
},
{
"id": 14012,
"org_code": "901107101",
"org_name": "223",
"parent_code": "901",
"parentid": 10455,
"full_org_name": "美的集团/置业-2/223",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": null
}
]
},
{
"id": 14081,
"org_code": "901108",
"org_name": "恒大物业",
"parent_code": null,
"parentid": 8829,
"full_org_name": "美的集团/恒大物业",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": null
}
]
}
]
}
]
}
}
}
返回字段说明:
字段 | 说明 | |
---|---|---|
token | 认证服务器返回的对象。其中 :access_token 为认证后的jwt Token 值,过期时间为2小时,过期后请使用 refresh_token来重新刷新token值【见2.2 刷新token值】。后续的请求均需要写入头部。请前端妥善保存 。 | |
refresh_token | 刷新Token, 过期时间10小时,可用来获取新的access_token值. 请在本地妥善保存,可用于获取新token。 | |
tokenInfo | 登录用户的基本信息,兼容旧的微服务。 | |
business_org_trees | 仅在client_id=h5-client主数据后台管理登录返回;根据用户的行政组织ID查询到的多棵业务组织树 | |
menu_trees | 多棵菜单树集合,结构和业务组织树保持高度相似的结构,便于前端树型组件的统一处理。 | |
trees | 多棵树集合包含多棵树tree对象。 | |
tree | 树对象,一个tree对象中包含多个业务组织/菜单对象集合。 | |
children | 当前节点的子节点集合,包含多个业务组织/菜单对象集合。 | |
communities | 仅在client_id=app-client睿住管家管家登录返回;角色所关联的所有的项目(space_type=COMMUNITY的空间)集合 |
tokenInfo: 返回字段说明
{
"name": "路人甲", "orgFullName": "美的集团", "id": "12706", "orgId": "6419", "org_code": "101",
"is_supper": 1
}
字段 | 说明 | |
---|---|---|
name | 登录用户的姓名 | |
orgFullName | 登录用户的行政组织全称 | |
id | 登录用户的行政组织ID | |
orgId | 登录用户的行政组织ID | |
org_code | 登录用户的行政组织编码 | |
is_supper | 1:普通员工帐号; 2:超级管理员 | |
业务组织对象JSON
{
"id": 14012,
"org_code": "901107101",
"org_name": "223",
"parent_code": "901",
"parentid": 10455,
"full_org_name": "美的集团/置业-2/223",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"children": null
}
重要返回字段说明: org_id 是冗余字段,支持旧数据的导入。 id字段才是业务组织对象的id,全局业务组织id请取 id字段。
菜单对象JSON
{
"update_by": null,
"create_time": 1608466630000,
"update_time": null,
"id": 20482,
"parentid": 20481,
"menu_name": "行政组织",
"menu_url": "#",
"menu_code": "100001100000",
"parent_code": "100001",
"full_menu_name": "组织权限/行政组织",
"parent_name": "组织权限",
"menu_type": 2,
"children": []
}
重要返回字段说明: id: 菜单主键ID,唯一, menu_url: 菜单URL , menu_code:菜单code 唯一。
2.2 刷新Token
URL: /v1/oauth/token
Method: POST
body:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
grant_type | String | 是 | 获取新的Token场景中refresh_token是定值, 目前支持grant_type值为:refresh_token |
client_id | String | 是 | 客户端ID,由平台签发 |
job_number | String | 是 | 员工的帐号,备用字段,如:限制同一client_id的帐号无限制调用refresh_token。如:一天之内仅支持24次调用上限 |
refresh_token | String | 是 | 由接口【2.1 用户登录认证】返回的refresh_token值. |
请求示例:
{"client_id": "h5-client", "job_number": 123456, grant_type":"refresh_token", "refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDY0MjMzOTYsInVzZXJfbmFtZSI6ImJlc3RzaGkxMjM0IiwianRpIjoiNDM1ZjlkYzgtYzQyMC00ZDEwLWFhMjAtYjNmODE5NTY1ZTBmIiwiY2xpZW50X2lkIjoiaDUtY2xpZW50Iiwic2NvcGUiOlsiYWxsIl0sImF0aSI6ImJmNTBmN2YzLWU3MjItNDkyMy04MTI3LWI1MGNjM2UyNTkxYSJ9.ITlY_LfzbjZSnQxUKUq4Ha11np69kmtTtSJq_FFnNZU"}
返回示例:
{
"code": "200",
"message": "成功",
"result": {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDYzOTE0NjIsInVzZXJfbmFtZSI6ImJlc3RzaGkxMjM0IiwianRpIjoiNzEzMDRmZjEtMjBjZC00YTRlLThjYTctMjUwOGE5OTQ3ODlkIiwiY2xpZW50X2lkIjoiaDUtY2xpZW50Iiwic2NvcGUiOlsiYWxsIl19.4uvHXhlEXJW4Z_dvJEqFnAmk-SSYq8xvP6nEwWMhep8",
"token_type": "bearer",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDY0MjMzOTYsInVzZXJfbmFtZSI6ImJlc3RzaGkxMjM0IiwianRpIjoiNDM1ZjlkYzgtYzQyMC00ZDEwLWFhMjAtYjNmODE5NTY1ZTBmIiwiY2xpZW50X2lkIjoiaDUtY2xpZW50Iiwic2NvcGUiOlsiYWxsIl0sImF0aSI6IjcxMzA0ZmYxLTIwY2QtNGE0ZS04Y2E3LTI1MDhhOTk0Nzg5ZCJ9.F3S38ewnEPIUzCa0zQPqApP4TOIrRmwFlgJnngWW-2Y",
"scope": "all",
"jti": "71304ff1-20cd-4a4e-8ca7-2508a994789d",
"expires_in": 3599
}
}
2.3 退出登录
URL: /v1/iot/main/user/logout/{appId}
路径参数:
参数 | 类型 | 说明 |
---|---|---|
appId | String | appId, 必传 |
Method: POST
BODY: 空
返回:
{"code":"200", "message":"成功"}
3 行政组织与业务组织
3.1 新增行政/业务组织 (支持批量)
URL: /v1/iot/main/org/update
Method: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_name | String | 否 | 单条记录新增必填;批量新增list不为空时可以不用传些值。 |
parentid | Int | 否 | 父机构ID, 父机构ID为空,代表顶级节点;当前节点为非顶级节点不可为空。 |
org_type | Int | 是 | 机构类型: 1:行政组织,2:业务组织 |
sub_type | Int | 是 | 当org_type=1为行政组织,sub_type取值为: 1: 内部行政组织, 2: 内部临时组织, 3:应用帐号组织,4:职能帐号组织, 5: 外部帐号组织,6: 公共通讯录组织; 当org_type=2为业务组织sub_type取值为: 1: 项目类型, 2:非项目类型 |
list | Array | 否 | [ {"org_name":"XXX"}, {"org_name":"XXX" }, .... ] , list集合不为空时, parentid 必传, 表示将list 集合中的对象批量保存,并作为主键ID=parentid 的节点的子节点; |
单条插入请求示例:
{
"org_name": "美的置业",
"org_type": 2,
"sub_type": 1,
"parentid": 8831
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"create_by": null,
"update_by": null,
"create_time": "2020-11-11T09:04:27.454+0000",
"update_time": null,
"id": 9099,
"org_code": "901105109100",
"org_name": "美的置业",
"parent_code": "901105109",
"parentid": 8831,
"full_org_name": "美的集团/美的物业/产业发展事业部-业务组织/美的置业",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": "产业发展事业部-业务组织",
"children": null,
"list": null,
"selected": false
}
}
批量插入请求示例:
{
"parentid": 8831,
"list": [ {"org_name":"部门1"}, {"org_name":"部门2"}, {"org_name":"部门3"} ]
}
返回示例:
{
"code":"200",
"message": "成功",
"result": null,
"results": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9103,
"org_code": "901105109101",
"org_name": "部门1",
"parent_code": "901105",
"parentid": 8831,
"full_org_name": "美的集团/美的物业/产业发展事业部-业务组织/部门1",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": "产业发展事业部-业务组织",
"children": null,
"list": null,
"selected": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9104,
"org_code": "901105109102",
"org_name": "部门2",
"parent_code": "901105",
"parentid": 8831,
"full_org_name": "美的集团/美的物业/产业发展事业部-业务组织/部门2",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": "产业发展事业部-业务组织",
"children": null,
"list": null,
"selected": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9105,
"org_code": "901105109103",
"org_name": "部门3",
"parent_code": "901105",
"parentid": 8831,
"full_org_name": "美的集团/美的物业/产业发展事业部-业务组织/部门3",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": "产业发展事业部-业务组织",
"children": null,
"list": null,
"selected": false
}
]
}
注意: 批量新增将返回 results集合, 单条记录新增将返回result对象
3.2 组织机构修改
描述 修改组织
请求信息
URL:/v1/iot/main/org/update
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 主键字段,机构ID |
org_name | String | 是 | 机构名称 |
parentid | Int | 否 | 父机构ID, 父机构ID为空,代表顶级节点;当前节点为非顶级节点不可为空。 |
org_type | Int | 是 | 机构类型: 1:行政组织,2:业务组织 |
sub_type | Int | 是 | 当org_type=1为行政组织,sub_type取值为: 1: 内部行政组织, 2: 内部临时组织, 3:应用帐号组织,4:职能帐号组织, 5: 外部帐号组织,6: 公共通讯录组织; 当org_type=2为业务组织sub_type取值为: 1: 项目类型, 2:非项目类型 |
请求示例:
{
"id": 21,
"org_name": "美的置业HK",
"org_type": 1,
"sub_type": 1
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"create_time": null,
"create_by": null,
"update_time": "2020-11-03 15:05:37",
"update_by": null,
"id": 21,
"org_code": "101",
"org_name": "美的置业HK",
"parent_code": null,
"parentid": null,
"full_org_name": "美的置业HK",
"org_type": 1,
"sub_type": 1,
"parent_name": null,
"children": null
}
}
3.3 组织机构分类
描述 组织机构分类
请求信息
URL:/v1/iot/main/org/sort
METHOD: POST
body: JSON格式约定
请求示例:
请求body为空
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"org_type": 1,
"org_name": "行政组织",
"subs": [
{
"sub_type": "1",
"sub_name": "内部行政组织"
},
{
"sub_type": "2",
"sub_name": "内部临时组织"
},
{
"sub_type": "3",
"sub_name": "应用帐号组织"
},
{
"sub_type": "4",
"sub_name": "职能帐号组织"
},
{
"sub_type": "5",
"sub_name": "外部帐号组织"
},
{
"sub_type": "6",
"sub_name": "公共通讯录组织"
}
]
},
{
"org_type": 2,
"org_name": "业务组织",
"subs": [
{
"sub_type": "1",
"sub_name": "项目类型"
},
{
"sub_type": "2",
"sub_name": "非项目类型"
}
]
}
]
}
3.4 行政/业务组织顶级列表
描述:当员工为系统超级管理员,可以查看系统所有的顶级列表
* 获取(相对)顶级组织集合
* 当是超级管理员:返回的是系统中所有集团列表
* 当不是超级管理员:1.当要返回业务组织相对顶级集合时,直接返回该业务组织;
* 2.当要返回行政组织集合时,查询指定业务组织关联的行政组织集合,过滤存在包含关系的子组织,返回行政组织集合
请求信息
URL:/v1/iot/main/org/relative/tops
METHOD: POST
body: 为空
变量 | 变量类型 | 是否必填 | 说明 |
---|---|---|---|
is_super | Int | 否 | 来源于登录用户的is_super字段,1:普通用户,2:超级管理员用户。此参数为临时参数,服务端将忽略。由TokenInfo来自动识别管理员身份。 |
org_type | Int | 是 | org_type=1,返回行政组织, org_type=2,返回业务组织 |
id | Long | 否 | 业务组织id(用于权限控制),非平台超级管理员帐号必填。 |
请求示例:
{
"is_super":2,
"org_type":1
}
返回示例:
{
"code": "200",
"message": "成功",
"result": [
{
"create_by": "init",
"update_by": null,
"create_time": 1604743767000,
"update_time": 1604743767000,
"id": 6419,
"org_code": "101",
"org_name": "美的集团",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团",
"org_type": 1,
"sub_type": 1,
"org_id": 1,
"src": 2,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": 1,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": 1604884577000,
"update_time": 1607044933000,
"id": 8824,
"org_code": "102",
"org_name": "美心月饼",
"parent_code": null,
"parentid": null,
"full_org_name": "美心月饼",
"org_type": 1,
"sub_type": 3,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": 1,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": 1606916741000,
"update_time": null,
"id": 13912,
"org_code": "932",
"org_name": "置业广场",
"parent_code": null,
"parentid": null,
"full_org_name": "置业广场",
"org_type": 1,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": null,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": 1606917687000,
"update_time": 1607005640000,
"id": 13913,
"org_code": "933",
"org_name": "美的置业",
"parent_code": null,
"parentid": null,
"full_org_name": "美的置业",
"org_type": 1,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": null,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": 1607006392000,
"update_time": null,
"id": 14016,
"org_code": "936",
"org_name": "中航区域",
"parent_code": null,
"parentid": null,
"full_org_name": "中航区域",
"org_type": 1,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": null,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": 1607006787000,
"update_time": null,
"id": 14019,
"org_code": "937",
"org_name": "朱慧媛-新建行政集团",
"parent_code": null,
"parentid": null,
"full_org_name": "朱慧媛-新建行政集团",
"org_type": 1,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": null,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": 1607007001000,
"update_time": null,
"id": 14023,
"org_code": "938",
"org_name": "擦擦擦",
"parent_code": null,
"parentid": null,
"full_org_name": "擦擦擦",
"org_type": 1,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": 1,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
3.5 行政/业务组织树加载
描述业务/行政组织 树加载,返回树型JSON, 一次性将一棵树加载完毕
请求信息
URL:/v1/iot/main/org/tree/{org_id}/{org_type}
METHOD: POST
body: JSON格式,只传 org_name;
id, org_type作为路径参数传入
路径参数:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_id | Int | 是 | 行政/业务组织主键id |
org_type | Int | 是 | 当 org_type=1加载一棵行政组织树; 当org_type=2 加载为业务组织树; |
body JSON参数:
路径参数:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_name | String | 否 | 业务/行政组织机构名称模糊搜索 |
请求示例:
/v1/iot/main/org/tree/12/1
{"org_name":"ABC"}
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": "2020-11-03T21:05:37.000+0000",
"id": 21,
"org_code": "101",
"org_name": "美的置业HK",
"parent_code": null,
"parentid": null,
"full_org_name": "美的置业HK",
"org_type": 1,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-07T06:17:55.000+0000",
"update_time": null,
"id": 5502,
"org_code": "101100",
"org_name": "美家1",
"parent_code": "101",
"parentid": 21,
"full_org_name": "美的置业HK/美家1",
"org_type": 1,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-07T06:19:00.000+0000",
"update_time": null,
"id": 6066,
"org_code": "101100100",
"org_name": "美家1-1",
"parent_code": "101100",
"parentid": 5502,
"full_org_name": "美的置业HK/美家1/美家1-1",
"org_type": 1,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-07T06:19:13.000+0000",
"update_time": null,
"id": 6177,
"org_code": "101100100100",
"org_name": "美家1-1-1",
"parent_code": "101100100",
"parentid": 6066,
"full_org_name": "美的置业HK/美家1/美家1-1/美家1-1-1",
"org_type": 1,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null
}
],
"list": null
}
],
"list": null
}
],
"list": null
}
],
"pageNo": 0,
"totalPage": 0,
"pageSize": 0,
"total": 0
}
3.5A 业务与行政关联-业务/行政组织树范围【返回多棵树】
描述业务: 由全局切换业务组织ID来获取一棵或者多棵业务/行政组织树,作为业务/行政组织的选择范围。
(Org_type=1)行政树:以 create_org_id 对应的业务组织及其子组织所关联的行政组织来决定行政组织树的范围。
(Org_type=2) 业务组织树:以 create_org_id对应的业务组织及其子组织来决定业务组织树的范围。
注:平台超级管理员看到的行政/业务组织树不受create_org_id影响,将列出所有的顶级行政/业务组织树。每棵树仅一个节点(顶级节点)。当数据量过大,如:顶级行政/业务组织达到500个以上,需要考虑增量分页加载数据。
顶级业务组织与顶级行政组织需要在租户帐号初始化时完成顶级业务组织与顶级行政组织的关联,否则普通员工在关联业务与行政组织时由于顶级未做关联,即无法确定行政/业务组织树的范围时会抛出异常。
请求信息
URL:/v1/iot/main/org/trees/range
METHOD: POST
body JSON参数:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_type | Int | 是 | 1:行政, 2:业务 |
create_org_id | int | 是 | 全局切换业务组织ID |
返回结果为多棵树。
结构类型同文档中其他“多棵树”结构保持一致。 如:菜单树、业务组织树、空间树。
返回结果示例:
{"code":"200","message":"成功","result":{"trees":[{"tree":[{"create_time":1608049630000,"update_time":1608049630000,"id":20239,"org_code":"100000101","org_name":"万科-业务","full_org_name":"万科-业务","org_type":2,"sub_type":2,"src":1,"children":[{"create_time":1608119761000,"update_time":1608119761000,"id":20253,"org_code":"100000101100000000","org_name":"万科二级业务组织","parentid":20239,"full_org_name":"万科-业务/万科二级业务组织","org_type":2,"sub_type":2,"src":1,"children":[{"create_time":1608119814000,"update_time":1608119814000,"id":20254,"org_code":"100000101100000000100000000","org_name":"万科三级业务组织","parentid":20253,"full_org_name":"万科-业务/万科二级业务组织/万科三级业务组织","org_type":2,"sub_type":2,"src":1,"children":[{"create_time":1608119871000,"update_time":1608119871000,"id":20255,"org_code":"100000101100000000100000000100000000","org_name":"水晶城","parentid":20254,"full_org_name":"万科-业务/万科二级业务组织/万科三级业务组织/水晶城","org_type":2,"sub_type":1,"src":1,"status":1,"selected":false,"hasPropertyRelations":false,"beRelByThisApp":false,"beRelByOtherApp":false,"_only_sub":false},{"create_time":1608119871000,"update_time":1608119871000,"id":20256,"org_code":"100000101100000000100000000100000001","org_name":"万科广场","parentid":20254,"full_org_name":"万科-业务/万科二级业务组织/万科三级业务组织/万科广场","org_type":2,"sub_type":1,"src":1,"status":1,"selected":false,"hasPropertyRelations":false,"beRelByThisApp":false,"beRelByOtherApp":false,"_only_sub":false},{"create_time":1608119871000,"update_time":1608119871000,"id":20257,"org_code":"100000101100000000100000000100000002","org_name":"缤纷世纪","parentid":20254,"full_org_name":"万科-业务/万科二级业务组织/万科三级业务组织/缤纷世纪","org_type":2,"sub_type":1,"src":1,"status":1,"selected":false,"hasPropertyRelations":false,"beRelByThisApp":false,"beRelByOtherApp":false,"_only_sub":false},{"create_time":1608119871000,"update_time":1608119871000,"id":20258,"org_code":"100000101100000000100000000100000003","org_name":"金域蓝湾","parentid":20254,"full_org_name":"万科-业务/万科二级业务组织/万科三级业务组织/金域蓝湾","org_type":2,"sub_type":1,"src":1,"status":1,"selected":false,"hasPropertyRelations":false,"beRelByThisApp":false,"beRelByOtherApp":false,"_only_sub":false}],"status":1,"selected":false,"hasPropertyRelations":false,"beRelByThisApp":false,"beRelByOtherApp":false,"_only_sub":false}],"status":1,"selected":false,"hasPropertyRelations":false,"beRelByThisApp":false,"beRelByOtherApp":false,"_only_sub":false}],"status":1,"selected":false,"hasPropertyRelations":false,"beRelByThisApp":false,"beRelByOtherApp":false,"_only_sub":false}]}]}}
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
result | JSONObject 集合 | 是 | 为空返回空集合[] |
id | Int | 是 | 菜单对象主键ID |
menu_code | String | 是 | 菜单编码;系统生成; |
menu_name | String | 是 | 菜单名称 |
children | JSONObject 集合 | 否 | 业务组织对象的子节点集合,包含多个业务组织对象 |
trees | JSONObject 集合 | 否 | 多棵树集合 |
tree | JSONObject | 否 | 单个树对象 |
3.6 行政/业务组织详情
描述 加载组织详情
请求信息
URL:/v1/iot/main/org/detail/{id}
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 主键ID |
请求示例:
/v1/iot/main/org/detail/6419
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"create_by": null,
"update_by": null,
"create_time": "2020-11-07T10:09:27.000+0000",
"update_time": "2020-11-07T10:09:27.000+0000",
"id": 6421,
"org_code": "101104",
"org_name": "职能账户组织机构",
"parent_code": "101",
"parentid": 6419,
"full_org_name": "美的集团/职能账户组织机构",
"org_type": 1,
"sub_type": 1
}
}
3.7 业务组织详情
设计原型: 业务组织详情
描述 加载组织详情,需要显示业务组织关联的行政组织
请求信息
URL:/v1/iot/main/org/detail/rel/{id}
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 主键ID |
请求示例:
/v1/iot/main/org/detail/rel/8829
返回示例:
{
"code": "200",
"message": "成功",
"result": {
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 8830,
"org_code": "901105",
"org_name": "美的物业",
"parent_code": "901",
"parentid": 8829,
"full_org_name": "美的集团/美的物业",
"org_type": 2,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": null,
"selected": false,
"hasPropertyRelations": false,
"orderby": null,
"admin_org_names": "美的物业",
"orgRels": [ //关联的行政组织
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 2,
"admin_org_id": 6422, //行政组织id
"business_org_id": 8830,
"admin_org_name": "美的物业", //行政组织名称
"admin_full_org_name": "美的集团/美的物业", //行政组织全路径名称
"admin_org_code": "101105", //行政组织code
"business_org_name": "美的物业",
"business_full_org_name": "美的集团/美的物业",
"business_org_code": "901105"
}
],
"_only_sub": false
}
}
3.8 行政/业务组织集合查询
描述 行政/业务组织集合查询,分页
请求信息
URL:/org/browse/{id}/{org_type}/{sub_type}
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 路径参数;主键ID,如:id=9 表示展开id=9的节点下面的集合 |
org_type | Int | 是 | 路径参数;参见:1.3 组织机构分类 |
sub_type | Int | 是 | 路径参数;参见:1.3 组织机构分类 |
pageNo | int | 是 | body参数;页码 |
pageSize | Int | 是 | body参数;每页显示记录条数 |
请求示例:
URL: http://localhost:18089/v1/iot/main/org/browse/6419/1/1
body:
{"pageNo": 1, "pageSize": 5}
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-07T10:17:54.000+0000",
"update_time": null,
"id": 8805,
"org_code": "101105117157100105101",
"org_name": "前期-秩序部",
"parent_code": "101105117157100105",
"parentid": 7284,
"full_org_name": "美的集团/美的物业/物业集团/皖苏北分公司/徐州片区/徐州美的公园天下/前期-秩序部",
"org_type": 1,
"sub_type": 1,
"org_id": 21321373,
"src": 2,
"parent_org_id": 21321371,
"parent_name": null,
"children": null,
"list": null
},
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-07T10:17:53.000+0000",
"update_time": null,
"id": 8804,
"org_code": "101105117157100105100",
"org_name": "前期-客服部",
"parent_code": "101105117157100105",
"parentid": 7284,
"full_org_name": "美的集团/美的物业/物业集团/皖苏北分公司/徐州片区/徐州美的公园天下/前期-客服部",
"org_type": 1,
"sub_type": 1,
"org_id": 21321372,
"src": 2,
"parent_org_id": 21321371,
"parent_name": null,
"children": null,
"list": null
},
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-07T10:17:53.000+0000",
"update_time": null,
"id": 8803,
"org_code": "101105117157100104101",
"org_name": "前期-秩序部",
"parent_code": "101105117157100104",
"parentid": 7283,
"full_org_name": "美的集团/美的物业/物业集团/皖苏北分公司/徐州片区/徐州美的乐城/前期-秩序部",
"org_type": 1,
"sub_type": 1,
"org_id": 21321370,
"src": 2,
"parent_org_id": 21321368,
"parent_name": null,
"children": null,
"list": null
},
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-07T10:17:53.000+0000",
"update_time": null,
"id": 8802,
"org_code": "101105117157100104100",
"org_name": "前期-客服部",
"parent_code": "101105117157100104",
"parentid": 7283,
"full_org_name": "美的集团/美的物业/物业集团/皖苏北分公司/徐州片区/徐州美的乐城/前期-客服部",
"org_type": 1,
"sub_type": 1,
"org_id": 21321369,
"src": 2,
"parent_org_id": 21321368,
"parent_name": null,
"children": null,
"list": null
},
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-07T10:17:53.000+0000",
"update_time": null,
"id": 8801,
"org_code": "101105117139110100102",
"org_name": "工程部",
"parent_code": "101105117139110100",
"parentid": 7280,
"full_org_name": "美的集团/美的物业/物业集团/西南分公司/遵义城市公司/遵义美的城/工程部",
"org_type": 1,
"sub_type": 1,
"org_id": 21321351,
"src": 2,
"parent_org_id": 21321348,
"parent_name": null,
"children": null,
"list": null
}
],
"pageNo": 1,
"pageSize": 5,
"total": 341,
"totalPage": 69
}
3.9 根据当前节点ID获取行政/业务组织子节点集合
描述 : 根据当前节点ID获取子节点,不包含孙节点及以下接点
返回集合可以根据is_only_sub字段来决定集合是否包含空间id 的子节点和子孙节点;父节点排首位,其他可按降序/升序。
请求信息
URL:/v1/iot/main/org/sub/list
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 机构的主键ID |
pageNo | int | 否 | 默认1 |
pageSize | Int | 否 | 默认20 |
org_name | String | 否 | 右模糊查询 |
org_type | Int | 否 | 见【数据字典】1:行政、2:业务 |
org_code | String | 否 | 中间模糊查询 |
status | int | 否 | 启用1,禁用2 |
sub_type | int | 否 | //1: 行政组织可分为: 1: 内部行政组织工, 2: 内部临时组织, 3:应用帐号组织,4:职能帐号组织, 5: 外部帐号组织,6: 公共通讯录组织 // 2: 业务组织可分为: 1: 项目类型, 2:非项目类型 |
is_only_sub | Boolean | 否 | 默认为false; 当为true时:仅显示其本身和直接子节点 ;当为false时,显示其本身和所有子孙节点 |
orderby | String | 否 | 默认降序; DESC-降序;ASC-升序 |
org_id | Int | 否 | 机构ID,此参数不为空时,用于精确查询,需要和id一起传参。前端可以根据返回结果集来直接过滤,如:let Org org = list.find(t=> t.getId()==org_id) |
请求示例:
{"id": 6419 ,"pageSize":6}
返回示例:
{
"code": "200",
"message": "成功",
"result": [
{
"create_by": "init",
"update_by": null,
"create_time": 1606346773000,
"update_time": null,
"id": 11010,
"org_code": "101107100100100",
"org_name": "置业-2-1-1-1",
"parent_code": "101107100100",
"parentid": 11009,
"full_org_name": "美的集团/置业-2/置业-2-1/置业-2-1-1/置业-2-1-1-1",
"org_type": 1,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": 1,
"selected": false,
"hasPropertyRelations": false,
"_only_sub": false
},
{
"create_by": "init",
"update_by": null,
"create_time": 1606346773000,
"update_time": null,
"id": 11009,
"org_code": "101107100100",
"org_name": "置业-2-1-1",
"parent_code": "101107100",
"parentid": 11008,
"full_org_name": "美的集团/置业-2/置业-2-1/置业-2-1-1",
"org_type": 1,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": 1,
"selected": false,
"hasPropertyRelations": false,
"_only_sub": false
},
{
"create_by": "init",
"update_by": null,
"create_time": 1606346773000,
"update_time": null,
"id": 11008,
"org_code": "101107101",
"org_name": "置业-2-1",
"parent_code": "101107",
"parentid": 11007,
"full_org_name": "美的集团/置业-2/置业-2-1",
"org_type": 1,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": 2,
"selected": false,
"hasPropertyRelations": false,
"_only_sub": false
},
{
"create_by": "init",
"update_by": null,
"create_time": 1606346773000,
"update_time": null,
"id": 11007,
"org_code": "101107",
"org_name": "置业-2",
"parent_code": "101",
"parentid": 6419,
"full_org_name": "美的集团/置业-2",
"org_type": 1,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": 1,
"selected": false,
"hasPropertyRelations": false,
"_only_sub": false
},
{
"create_by": "init",
"update_by": null,
"create_time": 1606346773000,
"update_time": null,
"id": 11006,
"org_code": "101106",
"org_name": "置业-1",
"parent_code": "101",
"parentid": 6419,
"full_org_name": "美的集团/置业-1",
"org_type": 1,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": 1,
"selected": false,
"hasPropertyRelations": false,
"_only_sub": false
},
{
"create_by": "init",
"update_by": null,
"create_time": 1606346773000,
"update_time": null,
"id": 11004,
"org_code": "101105109104",
"org_name": "云悦江山小区",
"parent_code": "101105109",
"parentid": 6423,
"full_org_name": "美的集团/美的物业/产业发展事业部/云悦江山小区",
"org_type": 1,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": 1,
"selected": false,
"hasPropertyRelations": false,
"_only_sub": false
}
],
"pageNo": 1,
"pageSize": 6,
"total": 2396,
"totalPage": 400
}
3.10 业务组织与行政组织关联
注意 :超管只可关联一个顶级行政组织。
描述 : 一个业务组织与多个行政组织关联
请求信息
URL:/v1/iot/main/orgrel/business_admin_rel
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
business_org_id | Int | 是 | 业务组织ID |
admin_org_ids | Array | 是 | 行政组织id 数组 |
请求示例:
{"business_org_id": 9103, "admin_org_ids": [8700,8701] }
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-11T10:55:31.659+0000",
"update_time": null,
"id": 9108,
"admin_org_id": 8700,
"business_org_id": 9103,
"admin_org_name": "美的翰诚嘉园(北滘)",
"admin_full_org_name": "美的集团/美的物业/物业集团/珠三角分公司/顺德片区/佛山美的翰诚/美的翰诚嘉园(北滘)",
"admin_org_code": "101105117131108107100",
"business_org_name": "部门1",
"business_full_org_name": "美的集团/美的物业/产业发展事业部-业务组织/部门1",
"business_org_code": "901105109101"
},
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-11T10:55:31.659+0000",
"update_time": null,
"id": 9109,
"admin_org_id": 8701,
"business_org_id": 9103,
"admin_org_name": "邯郸拉德芳斯",
"admin_full_org_name": "美的集团/美的物业/物业集团/华北分公司/邯郸城市公司/邯郸拉德芳斯外接/邯郸拉德芳斯",
"admin_org_code": "101105117132111100100",
"business_org_name": "部门1",
"business_full_org_name": "美的集团/美的物业/产业发展事业部-业务组织/部门1",
"business_org_code": "901105109101"
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
3.11 行政组织与业务组织相关联(废除不再使用)
描述 : 一个行政组织与多个业务组织关联
请求信息
URL:/v1/iot/main/orgrel/admin_business_rel
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
admin_org_id | Int | 否 | 主键ID, id 为空为新增操作,id不为空为更新操作 |
business_org_ids | Array | 是 | 行政组织id 数组 |
请求示例:
{"admin_org_id": 9103, "business_org_ids": [8700,8701] }
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-11T11:50:50.648+0000",
"update_time": null,
"id": 9110,
"admin_org_id": 8805,
"business_org_id": 9103,
"admin_org_name": "前期-秩序部",
"admin_full_org_name": "美的集团/美的物业/物业集团/皖苏北分公司/徐州片区/徐州美的公园天下/前期-秩序部",
"admin_org_code": "101105117157100105101",
"business_org_name": "部门1",
"business_full_org_name": "美的集团/美的物业/产业发展事业部-业务组织/部门1",
"business_org_code": "901105109101"
},
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-11T11:50:50.648+0000",
"update_time": null,
"id": 9111,
"admin_org_id": 8805,
"business_org_id": 9105,
"admin_org_name": "前期-秩序部",
"admin_full_org_name": "美的集团/美的物业/物业集团/皖苏北分公司/徐州片区/徐州美的公园天下/前期-秩序部",
"admin_org_code": "101105117157100105101",
"business_org_name": "部门3",
"business_full_org_name": "美的集团/美的物业/产业发展事业部-业务组织/部门3",
"business_org_code": "901105109103"
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
3.13 获取登录用户的机构树集合, 左上角的全局切换业务组织机构的树集合
描述 : 获取登录用户的机构树集合, 左上角的树集合范围。可以是多棵树。
由系统自动识别用户登录的信息。超级管理员查看全部,普通管理员查看自身角色所关联的业务组织。
URL:/v1/iot/main/org/trees/logined/{admin_id}
METHOD:空
路径参数:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
admin_id | Int | 是 | 管理员的主键ID |
3.14 业务/行政组织禁用/启用
描述:
请求信息
URL:/v1/iot/main/org/set
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 业务组织的ID |
status | Int | 是 | 1:启用2:禁用 |
请求示例:
{"id:": 11008, "status": 2}
返回示例:
略
3.14 业务/行政组织删除
描述:
请求信息
URL:/v1/iot/main/org/delete/{id}/{org_type}
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Long | 是 | 业务组织的ID |
org_type | Int | 是 | 组织类型:1行政组织;2业务组织 |
请求示例:
/v1/iot/main/org/delete/13991/1
返回示例:
{
"code": "200",
"message": "成功",
"result": true
}
3.15 获取业务组织关联的行政组织集合 去掉存在包含关系的子组织 --返回组织集合
描述:
请求信息
URL:/v1/iot/main/org/relation/admin/orgs/{id}
METHOD: POST
body: JSON格式约定
字段类型 | 是否必填 | 说明 |
---|---|---|
Long | 是 | 业务组织的ID |
请求示例:
v1/iot/main/org/relation/admin/orgs/8829
返回示例:
{
"code": "200",
"message": "成功",
"result": [
{
"create_by": "init",
"update_by": null,
"create_time": 1604743767000,
"update_time": 1604743767000,
"id": 6419,
"org_code": "101",
"org_name": "美的集团",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团",
"org_type": 1,
"sub_type": 1,
"org_id": 1,
"src": 2,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": 1,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
3.16 获取业务组织关联的行政组织集合
描述:
请求信息
URL:/v1/iot/main/org/relation/admin/names/{id}
METHOD: POST
body: JSON格式约定
字段类型 | 是否必填 | 说明 |
---|---|---|
Long | 是 | 业务组织的ID |
请求示例:
/v1/iot/main/org/relation/admin/names/8829
返回示例:
{
"code": "200",
"message": "成功",
"result": [
"美的集团"
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
3.17 由业务组织ID获取业务组织关联的行政组织集合
描述: 由业务组织ID获取关联的行政组织集合
请求信息
URL:/v1/iot/main/org/relation/admin/{id}
METHOD: POST
body: JSON格式约定
字段类型 | 是否必填 | 说明 | |
---|---|---|---|
id | Int | 是 | 业务组织的ID |
请求示例: /v1/iot/main/org/relation/admin/15264
返回:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": 1607766285425,
"update_time": null,
"id": 18790,
"admin_org_id": 15263,
"business_org_id": 15264,
"admin_org_name": "美的置业",
"admin_full_org_name": "美的置业",
"admin_org_code": "100000000",
"business_org_name": "美的置业-业务",
"business_full_org_name": "美的置业-业务",
"business_org_code": "100000001"
}
]
}
3.18 由全局切换业务组织ID获取业务组织对象
描述: 由全局切换业务组织ID获取业务组织对象
请求信息
URL:/v1/iot/main/org/get/{org_id}
METHOD: POST
body: JSON格式约定
字段类型 | 是否必填 | 说明 | |
---|---|---|---|
org_id | Int | 是 | 业务组织的ID |
请求示例:http://localhost:18089/v1/iot/main/org/get/19872
返回:
{
"code": "200",
"message": "成功",
"version": null,
"result": {
"create_by": null,
"update_by": null,
"create_time": 1607927385000,
"update_time": 1607927385000,
"id": 19872,
"org_code": "100000094",
"org_name": "中海",
"parent_code": null,
"parentid": null,
"full_org_name": "中海",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": 1,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
}
}
3.19 根据指定业务组织查询该业务组织关联的小区,以及关联了小区的业务组织树(一颗树)
说明:只返回关联了小区的全路径组织树
URL:/v1/iot/main/org/containCommunity/orgFullTree
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
authOrgId | Long | 是 | 左上角业务组织节点id |
请求示例:
{
"authOrgId":30281
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": 1609276770000,
"update_time": 1610675117000,
"id": 21897,//组织id
"org_code": "100000150",//组织code
"org_name": "sit顶级业务组织234",
"parent_code": null,
"parentid": 0,
"full_org_name": "sit顶级业务组织234",
"org_type": 2,
"sub_type": 2,
"org_id": 0,
"src": 1,
"parent_org_id": 0,
"parent_name": null,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": 1609838257000,
"update_time": 1609838257000,
"id": 23031,
"org_code": "100000150100000004",
"org_name": "通行区域",
"parent_code": null,
"parentid": 21897,
"full_org_name": "sit顶级业务组织234/通行区域",
"org_type": 2,
"sub_type": 2,
"org_id": 0,
"src": 1,
"parent_org_id": 0,
"parent_name": null,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": 1609838332000,
"update_time": 1609838332000,
"id": 23033,
"org_code": "100000150100000004100000000",
"org_name": "通行测试",
"parent_code": null,
"parentid": 23031,
"full_org_name": "sit顶级业务组织234/通行区域/通行测试",
"org_type": 2,
"sub_type": 1,
"org_id": 0,
"src": 1,
"parent_org_id": 0,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"beRelByThisApp": false,
"beRelByOtherApp": false,
"community_id": 22676,//小区id
"community_name": "智慧小区1", //小区名
"community_code": "100001036",//小区code
"authOrgId": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": 1610092570000,
"update_time": 1610111316000,
"id": 23657,
"org_code": "100000150100000004100000001",
"org_name": "智慧小镇",
"parent_code": null,
"parentid": 23031,
"full_org_name": "sit顶级业务组织234/通行区域/智慧小镇",
"org_type": 2,
"sub_type": 1,
"org_id": 0,
"src": 1,
"parent_org_id": 0,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"beRelByThisApp": false,
"beRelByOtherApp": false,
"community_id": 23655,
"community_name": "智慧小镇",
"community_code": "100001052",
"authOrgId": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": 1611391642000,
"update_time": 1611391642000,
"id": 30309,
"org_code": "100000150100000004100000002",
"org_name": "业务组织-验证小区圈定的人员范围变化问题",
"parent_code": null,
"parentid": 23031,
"full_org_name": "sit顶级业务组织234/通行区域/业务组织-验证小区圈定的人员范围变化问题",
"org_type": 2,
"sub_type": 1,
"org_id": 0,
"src": 1,
"parent_org_id": 0,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"beRelByThisApp": false,
"beRelByOtherApp": false,
"community_id": 30387,
"community_name": "项目-小区人员范围变化",
"community_code": "100001070",
"authOrgId": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": 1611394243000,
"update_time": 1611394243000,
"id": 30468,
"org_code": "100000150100000004100000003",
"org_name": "测试无法关联行政组织",
"parent_code": null,
"parentid": 23031,
"full_org_name": "sit顶级业务组织234/通行区域/测试无法关联行政组织",
"org_type": 2,
"sub_type": 1,
"org_id": 0,
"src": 1,
"parent_org_id": 0,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"beRelByThisApp": false,
"beRelByOtherApp": false,
"community_id": 32510,
"community_name": "AAAA",
"community_code": "100001072",
"authOrgId": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": 1611394948000,
"update_time": 1611394948000,
"id": 30505,
"org_code": "100000150100000004100000004",
"org_name": "ddd",
"parent_code": null,
"parentid": 23031,
"full_org_name": "sit顶级业务组织234/通行区域/ddd",
"org_type": 2,
"sub_type": 1,
"org_id": 0,
"src": 1,
"parent_org_id": 0,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"beRelByThisApp": false,
"beRelByOtherApp": false,
"community_id": 32509,
"community_name": "DDD",
"community_code": "100001071",
"authOrgId": null,
"_only_sub": false
}
],
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"beRelByThisApp": false,
"beRelByOtherApp": false,
"community_id": null,
"community_name": null,
"community_code": null,
"authOrgId": null,
"_only_sub": false
}
],
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"beRelByThisApp": false,
"beRelByOtherApp": false,
"community_id": null,
"community_name": null,
"community_code": null,
"authOrgId": null,
"_only_sub": false
}
],
"communitys": null,
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
3.20 由业务组织获取相应的菜单
描述 : 登录用户点击左上角全局切换业务组织动态获取菜单树。树型数据与【3.13 获取登录用户的机构树集合, 左上角的全局切换业务组织机构的树集合】接口一致
URL:/v1/iot/main/org/loginmenus
METHOD:POST
BODY: JSON
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
create_org_id | Int | 是 | 全局切换业务组织ID |
返回:
3.21 根据组织id获取顶级组织对象
URL:/v1/iot/main/org/getTopOrg/{id}
METHOD:POST
BODY: JSON
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Long | 是 | 组织ID |
返回:
{
"code": "200",
"message": "成功",
"version": null,
"returnExceptionData": false,
"result": {
"create_by": null,
"update_by": null,
"create_time": 1609276770000,
"update_time": 1610675117000,
"id": 21897,
"org_code": "100000150",
"org_name": "sit顶级业务组织234",
"parent_code": null,
"parentid": null,
"full_org_name": "sit顶级业务组织234",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"logic_deleted": 1,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": 1,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"beRelByThisApp": false,
"beRelByOtherApp": false,
"cannotBeUnbind": false,
"community_id": null,
"community_name": null,
"community_code": null,
"authOrgId": null,
"communityStatus": null,
"_only_sub": false
},
"data": null
}
4 空间
4.1 新增空间
描述 新增空间,支持批量
请求信息
URL:/v1/iot/main/space/update
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
space_name | String | 是 | 空间名称 |
parentid | Int | 否 | 父机构ID, 父机构ID为空,代表顶级节点;当前节点为非顶级节点不可为空。支持批量新增,即list字段不为空时,parentid不可为空。 |
space_type | String | 是 | 空间类型, 见【PartI 数据字典 1.1 空间类型】 |
business_type | Int | 否 | 业务类型,见数据字典[business_type] ,默认为1:智慧社区,仅当空间类型space_type=COMMUNITY(即项目类型的空间时)此字段需要传值。 |
src | Int | 是 | 数据来源:1:自研平台,2:四格 |
space_id | Int | 否 | 当数据来源为2:四格,此字段不可为空 |
community_id | Int | 否 | 小区(园区、养老院)ID, 即项目ID |
list | Array | 否 | 批量新增的集合。 [ {"space_name":"XX1", "space_type": "XXX"}, {"space_name":"XX2", "space_type":"XXX"}... ] , 集合中的所有的space_type字段值必须来源于空间类型space_type字段,并且需要保持一致; 传些参数将批量将一组空间数据挂在主键ID=parentid的节点上。 |
org_id | Int | 否 | 注:此处org_id 为业务组织id,即业务组织表的主键id |
top_org_id | Int | 否 | 当前切换的全局业务组织ID(smart_cmty_org表的主键)当空间类型为COMMUNITY(项目)即space_type=COMMUNITY时, 此字段不可为空; 依据该字段找到其顶级业务组织ID |
请求示例:
{
"space_name": "美的君兰江山一期",
"space_type": "COMMUNITY",
"src": 1,
"parentid": 17,
"org_id": 119
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"create_time": "2020-11-03 14:33:15",
"create_by": null,
"update_time": null,
"update_by": null,
"id": 18,
"parentid": 17,
"space_id": null,
"space_name": "美的君兰江山一期",
"full_space_name": "美的君兰江山/美的君兰江山一期",
"parent_code": "1000",
"space_code": "10001000",
"space_type": "COMMUNITY",
"src": 1,
"children": null,
"parent_name": "美的君兰江山"
}
}
4.2 新增项目地址
描述 新增项目地址, 一个小区空间(space_type=COMMUNITY)对应一个地址信息
请求信息
URL:/v1/iot/main/spacelocation/add
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
province | String | 是 | 省 |
city | String | 是 | 市 |
district | String | 是 | 区 |
lon | Int | 是 | 高德地图经度 |
lat | Int | 是 | 高德地图纬 |
detail | Int | 否 | 地址的详细门牌 |
space_id | Array | 是 | 这里是smart_cmty_space表的主键ID,空间ID,仅space_type=COMMUNITY对应的空间ID |
ico | String | 否 | 项目图片相对路径 |
请求示例:
{"space_id": 3429, "province": "AA", "city": "BB" , "district": "12333", "lon": 123.46, "lat": 123.56 , "detail": "AAC"}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"id": 8825,
"province": "AA",
"city": "BB",
"district": "12333",
"detail": "AAC",
"lon": 123.46,
"lat": 123.56,
"space_id": 3429,
"ico":"dfdjkd" //项目图片相对路径
}
}
4.3 修改项目地址
描述 修改项目地址, 一个小区空间(space_type=COMMUNITY)对应一个地址信息
请求信息
URL:/v1/iot/main/spacelocation/edit
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 项目地址主键 ID |
province | String | 是 | 省 |
city | String | 是 | 市 |
district | String | 是 | 区 |
lon | Int | 是 | 高德地图经度 |
lat | Int | 是 | 高德地图纬 |
detail | Int | 否 | 地址的详细门牌 |
space_id | Array | 是 | 这里是smart_cmty_space表的主键ID,空间ID,仅space_type=COMMUNITY对应的空间ID |
ico | String | 否 | 项目图片相对路径 |
请求示例:
{"id": 123, space_id": 3429, "province": "AA", "city": "BB" , "district": "12333", "lon": 123.46, "lat": 123.56 , "detail": "AAC"}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"id": 8825,
"province": "AA",
"city": "BB",
"district": "12333",
"detail": "AAC",
"lon": 123.46,
"lat": 123.56,
"space_id": 3429,
"ico":"dfdjkd" //项目图片相对路径
}
}
4.4 空间详情(根据空间ID查空间详情)
描述 查看空间详情,除项目(space_type=COMMUNITY)、和车位(space_type=PARK_SPACE)之外的空间详情
请求信息
URL:/v1/iot/main/space/detail/{id}
METHOD: POST
body: 空
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 空间表的主键ID |
请求示例
/v1/iot/main/space/detail/11964
返回示例:
{
"code": "200",
"message": "成功",
"result": {
"create_by": null,
"update_by": null,
"create_time": 1606283254000,
"update_time": null,
"id": 11964,
"parentid": 11938,
"space_id": 35740358,
"parent_space_id": 50520127,
"community_id": 21421811,
"space_name": "6号楼_1_402",
"full_space_name": "1/4/6号楼_1_402",
"parent_code": "69501020",
"space_code": "695010201000",
"space_type": "HOUSE",
"space_sort": "STRUCTURE",
"src": 2,
"org_id": null,
"status": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0,
"lat": 0,
"children": null,
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null,
"_only_sub": true
}
}
4.5 项目详情
描述 查看项目(space_type=COMMUNITY)详情
请求信息
URL:/v1/iot/main/space/detail/community/{id}
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 空间表的主键ID |
请求示例:body
/v1/iot/main/space/detail/community/13702
返回示例:
{
"code": "200",
"message": "成功",
"result": {
"space": {
"create_by": null,
"update_by": null,
"create_time": 1606807136000,
"update_time": null,
"id": 13702,
"parentid": null,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "云悦江山小区-项目2",
"full_space_name": "云悦江山小区-项目2",
"parent_code": null,
"space_code": "8107",
"space_type": "COMMUNITY",
"space_sort": "COMMUNITY",
"src": 1,
"org_id": 9105,
"status": 1,
"area": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0.0,
"lat": 0.0,
"children": null,
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null,
"org_id_name": null,
"orgName": null,
"authOrg": null,
"_only_sub": true
},
"location": null,
"buildingNum": 1, -- 楼栋数量
"parkNum": 3, --车位数量
"houseNum": 4 --房间数量
}
}
返回字段描述:
space: 项目详情
location: 项目地址对象
// start
4.6 新增车位详情
描述 新增车位详情, 一个车位(space_type=PARK_SPACE)对应一个车位详情信息;车位详情与车位是两张表。
请求信息
URL:/v1/iot/main/spaceparkdetail/add
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
park_no | String | 是 | 车位编号 |
park_type | Int | 是 | 车位分类:1,子母车位; 2, 标准车位;3,微型车位;4,人防车位;默认标准车位 |
space_square | Number | 是 | 车位面积,小数点后两位(平方米) |
fee_square | Number | 是 | 收费面积,小数点后两位(平方米) |
park_nature | Int | 是 | 车位性质:1、临时车位 2、固定车位 3、产权车位 |
park_status | int | 是 | 1、闲置 2、未出售已出租 3、已出售 4、已出售已入住 5、已出售已出租 |
charge_park | Int | 是 | 1、普通停车位(汽车) 2、充电停车位(汽车)3、普通停车位(电动车) 4、充电停车位(电动车) |
sub_park_no | String | 否 | 子车位编号 |
space_id | Int | 是 | 车位ID, 注意:车位是空间表 ,跟车位详情表不是同一张表 |
请求示例:
返回示例:
4.7 修改车位详情
描述 修改车位详情
请求信息
URL:/v1/iot/main/spaceparkdetail/edit
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
park_no | String | 是 | 车位编号 |
park_type | Int | 是 | 车位分类:1,子母车位; 2, 标准车位;3,微型车位;4,人防车位;默认标准车位 |
space_square | Number | 是 | 车位面积,小数点后两位(平方米) |
fee_square | Number | 是 | 收费面积,小数点后两位(平方米) |
park_nature | Int | 是 | 车位性质:1、临时车位 2、固定车位 3、产权车位 |
park_status | int | 是 | 1、闲置 2、未出售已出租 3、已出售 4、已出售已入住 5、已出售已出租 |
charge_park | Int | 是 | 1、普通停车位(汽车) 2、充电停车位(汽车)3、普通停车位(电动车) 4、充电停车位(电动车) |
sub_park_no | String | 否 | 子车位编号 |
id | Int | 是 | 这里是smart_cmty_space表的主键ID,空间ID,仅space_type=PARK_SPACE(车位)对应的空间ID |
请求示例:
{"id": 13515,"space_square":12.30, "fee_square": 20.90, "park_no": "A01", "park_type":1, "space_id": 10482}
返回示例:
{
"code": "200",
"message": "成功",
"result": {
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": 1606555808754,
"id": 13515,
"space_square": 12.3,
"fee_square": 20.9,
"park_no": "A01",
"park_type": 1,
"space_id": 10482
}
}
4.8 车位详情查询
描述 查看项目(space_type=PARK_SPACE)详情
请求信息
URL:/v1/iot/main/spaceparkdetail/detail/{id}
METHOD: POST
body: 空
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 车位(即空间space_type=PARK_SPACE)的主键ID;注:车位是空间表,而车位详情是另外一张表 |
请求示例:body
/v1/iot/main/spaceparkdetail/detail/21485
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": {
"space": {
"create_by": null,
"update_by": null,
"create_time": 1609172799000,
"update_time": 1609172799000,
"id": 21485,
"parentid": 21483,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "1001",
"full_space_name": "悦然寓/北区/车场/北区地上车场/篮球场停车区域/1001",
"parent_code": "100001001100000001100000001100000000100000000",
"space_code": "100001001100000001100000001100000000100000000100000000",
"space_type": "PARK_SPACE",
"space_sort": "PARK",
"org_code": null,
"business_type": null,
"src": 1,
"org_id": null,
"top_org_id": null,
"top_org_code": null,
"status": 1,
"area": null,
"fee_area": null,
"top_org_name": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0,
"lat": 0,
"children": null,
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null,
"org_id_name": null,
"orgName": null,
"authOrg": null,
"orderby": null,
"directChildrenNums": 0,
"directZoneNums": 0,
"directPhysicalSpaceNums": 0,
"is_super": null,
"orgCode": null,
"_only_sub": true
},
"detail": {
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": null,
"space_square": 0,
"fee_square": 0,
"park_no": null,
"park_type": null,
"space_id": null,
"space_code": null,
"park_nature": null,
"park_status": null,
"charge_park": null,
"sub_park_no": null,
"space_name": null,
"project_id": 20670,
"project_name": "悦然寓111",
"park_id": 20708,
"park_name": "车场"
}
}
}
返回字段描述:
space: 车位空间的详情
detail: 车位详情对象:
字段 | 字段类型 | 是否必返 | 说明 |
---|---|---|---|
project_id | Int | 是 | 项目ID |
project_name | String | 是 | 项目名称 |
park_id | Int | 是 | 车场ID |
park_name | String | 是 | 车场名称 |
4.9 空间修改
描述 修改空间
请求信息
URL:/v1/iot/main/space/update
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 空间ID,主键, 当数据来源src字段为2:四格, 此字段可以为空 |
space_name | String | 是 | 空间名称 |
parentid | Int | 否 | 父机构ID, 父机构ID为空,代表顶级节点;当前节点为非顶级节点不可为空。 |
space_type | String | 否 | 空间类型: 见【PartI 数据字典 1.1 空间类型】当 src数据来源为2:四格, 此字段不可为空(同步数据时用) |
src | Int | 是 | 数据来源:1:自研平台,2:四格 |
space_id | Int | 否 | src数据来源为2:四格, 此字段不可为空 |
org_id | Int | 否 | 与该项目关联的业务组织ID,注意:当被修改的空间对象为项目时(即space_type=COMMUNITY时)业务组织ID,当不传 org_id字段时,则取消原先的业务组织和项目的关联;有值则重新关联 |
business_type | Int | 否 | 见【数据字典 business_type】业务类型,默认为1:智慧小区;其值允许修改 |
请求示例:
{
"id": 18,
"space_name": "美的君兰江山一期A",
"space_type": "COMMUNITY",
"src": 1,
"parentid": 17
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"create_time": null,
"create_by": null,
"update_time": null,
"update_by": null,
"id": 18,
"parentid": 17,
"space_id": null,
"space_name": "美的君兰江山一期A",
"full_space_name": "美的君兰江山/美的君兰江山一期A",
"parent_code": "1000",
"space_code": "10001001",
"space_type": "COMMUNITY",
"src": 1,
"children": null,
"parent_name": null
}
}
4.10 空间树
描述 : 根据空间节点的主键ID返回一个树型JSON
请求信息
URL:/v1/iot/main/space/tree/{id}
METHOD: POST
body: JSON格式约定
字段 | 类型 | 是否必传 | 说明 |
---|---|---|---|
id | Int | 是 | 空间主键ID,一般为顶级节点的ID |
请求示例:
/v1/iot/main/space/tree/17
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"create_time": null,
"create_by": null,
"update_time": null,
"update_by": null,
"id": 17,
"parentid": null,
"space_id": null,
"space_name": "美的君兰江山",
"full_space_name": "美的君兰江山",
"parent_code": null,
"space_code": "1000",
"space_type": "COMMUNITY",
"src": 1,
"children": [
{
"create_time": null,
"create_by": null,
"update_time": null,
"update_by": null,
"id": 18,
"parentid": 17,
"space_id": null,
"space_name": "美的君兰江山一期A",
"full_space_name": "美的君兰江山/美的君兰江山一期A",
"parent_code": "1000",
"space_code": "10001001",
"space_type": "COMMUNITY",
"src": 1,
"children": null,
"parent_name": null
}
],
"parent_name": null
}
],
"pageNo": 0,
"totalPage": 0,
"total": 0,
"pageSize": 0
}
4.11 返回空间所有顶级节点[废弃]
4.12 查询空间
描述 : 查询空间列表
小区、片区、楼宇、单元、房屋、公共区域、停车场列表查询均调用此接口
注: 由于兼容了老数据的迁移部分,冗余字段请忽略。
返回集合可以根据is_only_sub字段来决定集合是否包含空间id 的子节点和子孙节点
请求信息
URL:/v1/iot/main/space/list
METHOD: POST
body: JSON格式约
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
pageNo | Int | 否 | 分页页码, 不传默认为1 |
pageSize | Int | 否 | 每页显示最大记录条数, 不传默认为20 |
space_name | String | 否 | 根所空间名称来模糊查询 |
space_type | String | 否 | 空间类型: COMMUNITY:小区;ZONE:片区;ARCHITECT: 建筑物BUILDING:楼宇;UNIT:单元;FLOOR:楼层;HOUSE:房屋;PARKING:车场; 车场名称: PARKING-NAME ; PAKING-ZONE: 车场区域; PARKING-PLACE:车位; PUBLIC:公共区域;ONE-ZONE: 一级区域、TWO-ZONE:二级区域、THREE-ZONE:三级区域; src数据来源为2:四格, 此字段不可为空 |
src | Int | 否 | 数据来源:1:自研平台,2:四格 |
status | Int | 否 | 空间状态:1:有效 ;2:无效 |
hasRelated | int | 否 | 是否关联 1:已关联 2:未关联 |
id | Int | 否 | 空间id, 将根所is_only_sub返回集合是否包含其子节点还是子孙节点 |
is_only_sub | boolean | 否 | 默认为true, 当空间id 不为空时,将返回子节点或子孙节点,为true:仅返回当前节点的所有子节点,不含孙节点,为false: 返回当前节点的所有子节点及子孙节点 |
orderby | String | 否 | 默认升序 DESC,见 【数据字典 orderby]取值; ASC: 升序;DESC: 降序 |
is_super | int | 是 | 来源于登录用户的is_super字段,1:普通用户,2:超级管理员用户 |
top_org_id | Int | 否 | 空间表所对应的顶级业务组织ID |
space_id | Int | 否 | 空间ID,注间:与id参数不同,此参数支持精确查询,只返回一个空间主键id=space_id的记录,此参数有值其他参数忽略,且top_org_id也必须提供。精确查询时,space_id 和 top_org_id 必须同时提供。 |
请求示例:
{
"space_type": "COMMUNITY",
"id":13702,
"orderby":"DESC"
}
返回示例:
{
"code": "200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": 1606807136000,
"update_time": null,
"id": 13702,
"parentid": null,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "云悦江山小区-项目2",
"full_space_name": "云悦江山小区-项目2",
"parent_code": null,
"space_code": "8107",
"space_type": "COMMUNITY",
"space_sort": null,
"src": null,
"org_id": 9105,
"status": 1,
"area": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0.0,
"lat": 0.0,
"children": null,
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null,
"org_id_name": {
"org_id": 9105,
"org_name": "云悦江山小区",
"full_org_name": "美的集团/美的物业/产业发展事业部/云悦江山小区"
},
"orgName": null,
"authOrg": null,
"orderby": null,
"directChildrenNums": 1,
"directZoneNums": 1,
"directPhysicalSpaceNums": 0,
"_only_sub": true
}
],
"pageNo": 1,
"pageSize": 20,
"total": 1,
"totalPage": 1
}
返回字段:
org_id_name : 业务组织对象
4.13 级联删除空间(未完善,暂时不要使用)
描述 : 删除空间将删除所有相关联的记录
请求信息
URL:/v1/iot/main/space/delete
METHOD: POST
body: JSON格式约定
请求示例
{"id": 1}
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
Id | Int | 是 | 空间记录的主键 |
space_type | String | 否 | 空间类型:见上文字典 |
src | Int | 否 | 数据来源:1:自研平台,2:四格 |
返回示例:
{
"code":"200",
"message": "成功"
}
4.14 批量新增空间
描述 : 批量新增空间
请求信息
URL:/v1/iot/main/space/add/batch
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 否 | 主键ID, id 为空为新增操作,id不为空为更新操作 |
space_name | String | 是 | 空间名称 |
parentid | Int | 否 | 父机构ID, 父机构ID为空,代表顶级节点;当前节点为非顶级节点不可为空。可以为空,为空代表顶级节点。 |
space_type | String | 是 | 空间类型, 空间类型:见上文字典; src数据来源为 2:四格, 此字段不可为空 |
src | Int | 是 | 数据来源:1:自研平台,2:四格 |
space_id | Int | 否 | 当数据来源为2:四格,此字段不可为空 |
community_id | Int | 否 | 小区(园区、养老院)ID, 即项目ID |
请求示例:
[ {
"space_name": "美的君兰江山一期",
"space_type": "COMMUNITY",
"src": 1,
"parentid": 17
},
{
"space_name": "美的君兰江山二期",
"space_type": "COMMUNITY",
"src": 1,
"parentid": 17
},
...
]
4.15 业务组织ID查询空间树
说明: 依据业务组织ID 返回一棵或多棵树
URL: /v1/iot/main/space/tree/org/{business_org_id}
Method: POST
body: 为空
请求示例:
/v1/iot/main/space/tree/org/9099
返回示例:
{
"code": "200",
"message": "成功",
"trees": [
{
"tree": [
{
"create_by": null,
"update_by": null,
"create_time": 1604744517000,
"update_time": 1605074365000,
"id": 9886,
"parentid": null,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "君兰江山",
"full_space_name": "君兰江山",
"parent_code": null,
"space_code": "1001",
"space_type": "COMMUNITY",
"space_sort": "COMMUNITY",
"src": 1,
"org_id": 9099,
"status": 1,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0,
"lat": 0,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": 1606183803000,
"update_time": null,
"id": 11221,
"parentid": 9886,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "君兰东区",
"full_space_name": "君兰江山/君兰东区",
"parent_code": "1001",
"space_code": "10011000",
"space_type": "ZONE",
"space_sort": "ZONE",
"src": 1,
"org_id": null,
"status": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0,
"lat": 0,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": 1606183822000,
"update_time": null,
"id": 11222,
"parentid": 11221,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "东区建筑物",
"full_space_name": "君兰江山/君兰东区/东区建筑物",
"parent_code": "10011000",
"space_code": "100110001000",
"space_type": "STRUCTURE",
"space_sort": "STRUCTURE",
"src": 1,
"org_id": null,
"status": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0,
"lat": 0,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": 1606183890000,
"update_time": null,
"id": 11223,
"parentid": 11222,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "1栋",
"full_space_name": "君兰江山/君兰东区/东区建筑物/1栋",
"parent_code": "100110001000",
"space_code": "1001100010001000",
"space_type": "BUILDING",
"space_sort": "STRUCTURE",
"src": 1,
"org_id": null,
"status": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0,
"lat": 0,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": 1606183951000,
"update_time": null,
"id": 11224,
"parentid": 11223,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "1栋-1单元",
"full_space_name": "君兰江山/君兰东区/东区建筑物/1栋/1栋-1单元",
"parent_code": "1001100010001000",
"space_code": "10011000100010001000",
"space_type": "UNIT",
"space_sort": "STRUCTURE",
"src": 1,
"org_id": null,
"status": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0,
"lat": 0,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": 1606184004000,
"update_time": null,
"id": 11225,
"parentid": 11224,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "1栋-1单元-1层",
"full_space_name": "君兰江山/君兰东区/东区建筑物/1栋/1栋-1单元/1栋-1单元-1层",
"parent_code": "10011000100010001000",
"space_code": "100110001000100010001000",
"space_type": "FLOOR",
"space_sort": "STRUCTURE",
"src": 1,
"org_id": null,
"status": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0,
"lat": 0,
"children": null,
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
}
],
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
}
],
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
}
],
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
},
{
"create_by": null,
"update_by": null,
"create_time": 1606184068000,
"update_time": null,
"id": 11226,
"parentid": 11221,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "西区建筑物",
"full_space_name": "君兰江山/君兰东区/西区建筑物",
"parent_code": "10011000",
"space_code": "100110001001",
"space_type": "STRUCTURE",
"space_sort": "STRUCTURE",
"src": 1,
"org_id": null,
"status": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0,
"lat": 0,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": 1606184102000,
"update_time": null,
"id": 11227,
"parentid": 11226,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "1栋",
"full_space_name": "君兰江山/君兰东区/西区建筑物/1栋",
"parent_code": "100110001001",
"space_code": "1001100010011000",
"space_type": "BUILDING",
"space_sort": "STRUCTURE",
"src": 1,
"org_id": null,
"status": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0,
"lat": 0,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": 1606184190000,
"update_time": null,
"id": 11228,
"parentid": 11227,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "1栋-1单元",
"full_space_name": "君兰江山/君兰东区/西区建筑物/1栋/1栋-1单元",
"parent_code": "1001100010011000",
"space_code": "10011000100110001000",
"space_type": "UNIT",
"space_sort": "STRUCTURE",
"src": 1,
"org_id": null,
"status": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0,
"lat": 0,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": 1606184217000,
"update_time": null,
"id": 11229,
"parentid": 11228,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "1栋-1单元-1层",
"full_space_name": "君兰江山/君兰东区/西区建筑物/1栋/1栋-1单元/1栋-1单元-1层",
"parent_code": "10011000100110001000",
"space_code": "100110001001100010001000",
"space_type": "FLOOR",
"space_sort": "STRUCTURE",
"src": 1,
"org_id": null,
"status": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0,
"lat": 0,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": 1606184362000,
"update_time": null,
"id": 11230,
"parentid": 11229,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "101",
"full_space_name": "君兰江山/君兰东区/西区建筑物/1栋/1栋-1单元/1栋-1单元-1层/101",
"parent_code": "100110001001100010001000",
"space_code": "1001100010011000100010001000",
"space_type": "HOUSE",
"space_sort": "STRUCTURE",
"src": 1,
"org_id": null,
"status": null,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0,
"lat": 0,
"children": null,
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
}
],
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
}
],
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
}
],
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
}
],
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
}
],
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
}
],
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
}
]
}
],
"role": null
}
返回关键字段说明:
字段 | 类型 | 说明 |
---|---|---|
trees | Array | 树型对象集合 |
tree | Object | 树节点,内部嵌套tree |
children | Array | 树节点集合,包含多个tree树节点 |
4.16 项目生效/失效
请求信息
URL:/v1/iot/main/space/change/effective
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 空间id |
status | Int | 是 | 空间状态;1:启用,2:禁用 |
请求示例:
{
"id":3429,
"status":1
}
请求示例:
{
"code":"200",
"message": "成功"
}
4.17 空间删除
请求信息
URL:/v1/iot/main/space/delete/{id}
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 空间id |
请求示例:
http://localhost:18089/v1/iot/main/space/delete/13554
请求示例:
{
"code": "200",
"message": "成功",
"result": true
}
4.18 项目级业务组织选择器--返回每个项目组织关联的小区空间的空间id
请求信息
URL:/v1/iot/main/space/query/projects
METHOD: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
authOrg | Org | 是 | 组织对象,用户做数据权限控制 |
authOrg
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
id | Long | 是 | 业务组织id |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织名 |
请求示例:
{
"authOrg":{
"id":8829,
"org_code":"901",
"org_name":"简岸"
}
}
返回示例:
{
"code": "200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9103,
"org_code": "901105109101",
"org_name": "简岸花园小区",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/美的物业/产业发展事业部/简岸花园小区",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 9885,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
示例2:
{
"authOrg":{
"id":8829
}
}
{
"code": "200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9099,
"org_code": "901105109100",
"org_name": "君兰江山小区",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/美的物业/产业发展事业部/君兰江山小区",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 3429,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9103,
"org_code": "901105109101",
"org_name": "简岸花园小区",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/美的物业/产业发展事业部/简岸花园小区",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 9885,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9104,
"org_code": "901105109102",
"org_name": "海岸花园小区",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/美的物业/产业发展事业部/海岸花园小区",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 9887,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9105,
"org_code": "901105109103",
"org_name": "云悦江山小区",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/美的物业/产业发展事业部/云悦江山小区",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 9888,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 10454,
"org_code": "901106",
"org_name": "置业-1",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/置业-1",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 13430,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 10458,
"org_code": "901107100100100",
"org_name": "置业-2-1-1-1",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/置业-2/置业-2-1/置业-2-1-1/置业-2-1-1-1",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 13910,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 14069,
"org_code": "901106100",
"org_name": "朱慧媛-子组织1",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/置业-1/朱慧媛-子组织1",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 14302,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 14070,
"org_code": "901106101",
"org_name": "朱慧媛-子组织2",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/置业-1/朱慧媛-子组织2",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 14308,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 14309,
"org_code": "901105109106",
"org_name": "测试子组织1",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/美的物业/产业发展事业部/测试子组织1",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 14314,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 14310,
"org_code": "901105109107",
"org_name": "测试子组织2",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/美的物业/产业发展事业部/测试子组织2",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 14316,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 14311,
"org_code": "901105109108",
"org_name": "测试子组织3",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/美的物业/产业发展事业部/测试子组织3",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 14318,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 14312,
"org_code": "901105109109",
"org_name": "测试子组织4",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/美的物业/产业发展事业部/测试子组织4",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 14321,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 14313,
"org_code": "901105109110",
"org_name": "测试子组织5",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/美的物业/产业发展事业部/测试子组织5",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 14323,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 14487,
"org_code": "901107103",
"org_name": "bestshiTest",
"parent_code": null,
"parentid": null,
"full_org_name": "美的集团/置业-2/bestshiTest",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": null,
"selected": false,
"space_id": 14488,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"_only_sub": false
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
4.19 项目业务类型查询
描述 项目业务类型查询
请求信息
URL:/v1/iot/main/space/business/types
METHOD: POST
body: JSON格式约定
请求示例:
请求body为空
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"key": 1,
"value": "智慧小区"
},
{
"key": 2,
"value": "智慧别墅"
},
{
"key": 3,
"value": "智慧养老院"
},
{
"key": 4,
"value": "智慧工业园"
},
{
"key": 5,
"value": "智慧医院"
},
{
"key": 6,
"value": "智慧政务"
},
{
"key": 7,
"value": "智慧商业"
},
{
"key": 8,
"value": "智慧公寓"
},
{
"key": 9,
"value": "智慧酒店"
},
{
"key": 10,
"value": "智慧校园"
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
4.20 查询指定节点下的片区(ZONE)或物理空间(建筑物、车场、公共区域)的数量
描述 项目业务类型查询
请求信息
URL:/v1/iot/main/space/status/{id}
METHOD: POST
body: JSON格式约定
请求示例:
请求body为空
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 空间id |
/v1/iot/main/space/status/15641
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": {
"directPhysicalSpaceNums": 21,
"directZoneNums": 0
}
}
返回字段说明:
字段 | 字段类型 | 说明 |
---|---|---|
directPhysicalSpaceNums | Int | 该节点下的物理空间数量(建筑物、车场、公共区域三者数量之和) |
directZoneNums | Int | 该节点下的片区 |
4.21 由项目ID查询所有车位详情
描述 分页查询项目ID下所有的车位详情
请求信息
URL:URL:/v1/iot/main/spaceparkdetail/detail/list
METHOD: POST
body: JSON格式约定
请求示例:
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
pageNo | Int | 否 | 分页页码, 不传默认为1 |
pageSize | Int | 否 | 每页显示最大记录条数, 不传默认为20 |
space_id | Int | 是 | 项目ID |
返回结果:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"id": 166,
"space_name": "粤A-E002",
"space_code": "100000004100000001100000000100000000100000001",
"park_no": null,
"space_type": "PARK_SPACE",
"sub_park_no": null,
"space_square": null,
"fee_square": null,
"park_type": null,
"park_nature": null,
"park_status": null,
"charge_park": null,
"park_id": 118
}
],
"pageNo": 1,
"pageSize": 20,
"total": 24,
"totalPage": 2
}
返回字段说明
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
id | Int | 是 | 车位空间表id |
park_id | Int | 是 | 车位 |
park_type | Int | 是 | 车位类型:见 【PartI 数据字典】 |
park_nature | Int | 是 | 1、临时车位 2、固定车位 3、产权车位. 见 【PartI 数据字典】 |
park_status | int | 是 | 1、闲置 2、未出售已出租 3、已出售 4、已出售已入住 5、已出售已出. 见 【PartI 数据字典】 |
charge_park | Int | 是 | 1、普通停车位(汽车) 2、充电停车位(汽车)3、普通停车位(电动车) 4、充电停车位(电动车) |
park_no | String | 是 | 车位编号 |
sub_park_no | String | 是 | 子车位编号 |
space_type | String | 是 | 空间类型,见PartI 数据字典】 |
4.22 由员工(管家)帐号查询所有的小区集合
URL: /v1/iot/main/org/community/logined/{admin_id}
METHOD: POST
body: JSON格式约定
请求示例:
请求body为空
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
admin_id | Int | 是 | 员工id |
/v1/iot/main/org/community/logined/3
5 应用(菜单)
应用(菜单 )的增删改属于超级管理员的权限,普通管理员不可用。见 【1.1 更新应用】
应用即菜单,承载系统功能URL;应用也是一棵树,拥有层级节点。
5.1 业务组织应用授权(N个菜单批量授予给N个业务组织)【防止脏数据处理,Done】
注:删除旧的关联关系,保存新的关联关系,生成多条smart_cmty_org_menu_rel记录。
以下场景不可删除关联关系:
1、smart_cmty_org_role_menu_rel记录中是否包含business_org_ids参数所覆盖的org_id
一旦删除, 业务组织应用树出现错误。
2、由平台超级管理员授予给业务组织的菜单不可删除; grant_by_supper字段
URL: /v1/iot/main/orgmenu/rel
Method: POST
body: 为空
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
menu_ids | Array | 是 | 菜单主键ID集合,集合元素可以为1个 |
business_org_ids | Array | 是 | 业务组织ID集合, 集合元素可以为1个,集合为空代表清空业务组织的全部应用。 |
create_org_id | int | 是 | 全局切换业务组织ID |
请求示例:
{"menu_ids": [20477, 20478, 20479, 20480, 20481,20482,20483,20484,20485], "business_org_ids" : [19872]}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20606,
"menu_id": 20477,
"org_id": 19872,
"menu_code": "100000",
"menu_name": "通行管理",
"menu_full_name": "通行管理",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20607,
"menu_id": 20478,
"org_id": 19872,
"menu_code": "100000100000",
"menu_name": "门禁管理",
"menu_full_name": "通行管理/门禁管理",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20608,
"menu_id": 20479,
"org_id": 19872,
"menu_code": "100000100001",
"menu_name": "梯控管理",
"menu_full_name": "通行管理/梯控管理",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20609,
"menu_id": 20480,
"org_id": 19872,
"menu_code": "100000100002",
"menu_name": "通行授权",
"menu_full_name": "通行管理/通行授权",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20610,
"menu_id": 20481,
"org_id": 19872,
"menu_code": "100001",
"menu_name": "组织权限",
"menu_full_name": "组织权限",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20611,
"menu_id": 20482,
"org_id": 19872,
"menu_code": "100001100000",
"menu_name": "行政组织",
"menu_full_name": "组织权限/行政组织",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20612,
"menu_id": 20483,
"org_id": 19872,
"menu_code": "100001100001",
"menu_name": "业务组织",
"menu_full_name": "组织权限/业务组织",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20613,
"menu_id": 20484,
"org_id": 19872,
"menu_code": "100001100002",
"menu_name": "人员管理",
"menu_full_name": "组织权限/人员管理",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20614,
"menu_id": 20485,
"org_id": 19872,
"menu_code": "100001100003",
"menu_name": "角色管理",
"menu_full_name": "组织权限/角色管理",
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海"
}
]
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
id | Int | 是 | smart_cmty_org_menu_rel表的主键 |
menu_id | Int | 是 | 菜单id |
menu_code | String | 是 | 菜单code |
menu_full_name | String | 是 | 菜单的完整路径名称 |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织name |
org_full_name | String | 是 | 业务组织完整理name |
5.2 权限设置树[业务组织的菜单(应用)树范围]
返回多棵菜单树: 记录来源于 smart_cmty_org_menu_rel表;
业务组织org、菜单menu两都之间的关联关系,普通管理员查看的是当前org_id的菜单的范围。超级管理员查看不受org_id的限制,查看到的是一个全局的菜单范围。应用树的算法和【5.2B 菜单(应用)树【员工的权限树】】树的算法一致。请注意两者的区别。
URL: /v1/iot/main/orgmenu/trees/{org_id}
Method: POST
body: 根据菜单名称搜索时,不可为空。
路径参数:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_id | Int | 是 | 业务组织ID |
Body JSON参数
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
menu_name | String | 否 | 仅按menu名称搜索时使用;暂不支持 |
请求示例:
路径:/v1/iot/main/orgmenu/trees/2
body : {"menu_name": "通行"}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": {
"code": null,
"message": null,
"version": null,
"trees": [
{
"tree": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 5,
"parentid": null,
"menu_name": "通行管理",
"menu_url": null,
"menu_code": "100000",
"parent_code": null,
"full_menu_name": "通行管理",
"parent_name": null,
"menu_type": 0,
"pageNo": 0,
"pageSize": 0,
"total": 0,
"org_menu_id":468,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 8,
"parentid": null,
"menu_name": "通行授权",
"menu_url": null,
"menu_code": "100000100002",
"parent_code": null,
"full_menu_name": "通行管理/通行授权",
"parent_name": null,
"menu_type": 0,
"pageNo": 0,
"pageSize": 0,
"total": 0,
"children": null,
"org_menu_id":469
}
]
}
]
}
]
}
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
trees | JSONOBJECT 集合 | 是 | 树型组件集合 |
tree | JSONOBJECT对象 | 否 | 树型组件对象,里面前嵌套多个对象 |
children | JSONOBJECT数据 | 否 | tree中的子孙节点集合,可以更深层次嵌套 |
id | Int | 是 | smart_cmty_menu表的主键. |
menu_code | String | 是 | 菜单code |
menu_full_name | String | 是 | 菜单的完整路径名称 |
org_menu_id | Int | 是 | smart_cmty_org_menu_rel 的主键 |
5.2C 权限设置树[业务组织所关联的菜单(应用)树]
返回多棵菜单树: 是返回业务组织已关联的应用。
URL: /v1/iot/main/orgmenu/rel/trees/{org_id}
Method: POST
body: 根据菜单名称搜索时,不可为空。
路径参数:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_id | Int | 是 | 业务组织ID |
Body JSON参数
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
menu_name | String | 否 | 仅按menu名称搜索时使用;暂不支持 |
请求示例:
路径:/v1/iot/main/orgmenu/trees/2
body : {"menu_name": "通行"}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": {
"code": null,
"message": null,
"version": null,
"trees": [
{
"tree": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 5,
"parentid": null,
"menu_name": "通行管理",
"menu_url": null,
"menu_code": "100000",
"parent_code": null,
"full_menu_name": "通行管理",
"parent_name": null,
"menu_type": 0,
"pageNo": 0,
"pageSize": 0,
"total": 0,
"org_menu_id":468,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 8,
"parentid": null,
"menu_name": "通行授权",
"menu_url": null,
"menu_code": "100000100002",
"parent_code": null,
"full_menu_name": "通行管理/通行授权",
"parent_name": null,
"menu_type": 0,
"pageNo": 0,
"pageSize": 0,
"total": 0,
"children": null,
"org_menu_id":469
}
]
}
]
}
]
}
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
trees | JSONOBJECT 集合 | 是 | 树型组件集合 |
tree | JSONOBJECT对象 | 否 | 树型组件对象,里面前嵌套多个对象 |
children | JSONOBJECT数据 | 否 | tree中的子孙节点集合,可以更深层次嵌套 |
id | Int | 是 | smart_cmty_menu表的主键. |
menu_code | String | 是 | 菜单code |
menu_full_name | String | 是 | 菜单的完整路径名称 |
org_menu_id | Int | 是 | smart_cmty_org_menu_rel 的主键 |
5.2A 应用详情(由org_id,role_id查看所关联的菜单id集合)
URL: /v1/iot/main/orgrolemenu/menuids/{org_id}/{role_id}
Method: POST
body: 根据菜单名称搜索时,不可为空。
路径参数:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_id | Int | 是 | 业务组织ID |
role_id | Int | 是 | 角色ID |
请求示例:
路径:/v1/iot/main/orgrolemenu/menuids/23009/26859
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": {
"org_id": 23009,
"role_id": 26859,
"list": [
20478,
20481,
20482,
20483,
20484,
20485
]
}
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
org_id | Int | 是 | 业务组织ID |
role_id | Int | 是 | 角色ID |
list | Array | 是 | 返回菜单的ID列表 (smart_cmty_menu的主键ID) |
5.2B 菜单(应用)树【员工的权限树】
加载员工的权限菜单树。从 smart_cmty_org_role_menu_rel 表中加载出当前员工拥有哪些应用权限,以多棵树的格式返回。增强了树的算法,如果菜单没有父节点,将依次向上寻找父节点,并将缺失的父节点返回。
URL: /v1/iot/main/orgmenu/trees/admin/{id}
Method: POST
路径参数:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 员工表smart_cmty_admin主键ID |
返回示例:树型结构,与【5.2 权限设置树[业务组织所关联的菜单(应用)树]】接口返回一致
{
"code": "200",
"message": "成功",
"version": null,
"result": {
"code": null,
"message": null,
"version": null,
"trees": [
{
"tree": [
{
"create_by": null,
"update_by": null,
"create_time": 1608466594000,
"update_time": null,
"id": 20481,
"parentid": null,
"menu_name": "组织权限",
"menu_url": "#",
"menu_code": "100001",
"parent_code": null,
"full_menu_name": "组织权限",
"parent_name": null,
"menu_type": 2,
"pageNo": 0,
"pageSize": 0,
"total": 0,
"children": [
{
"create_by": null,
"update_by": null,
"create_time": 1608466630000,
"update_time": null,
"id": 20482,
"parentid": 20481,
"menu_name": "行政组织",
"menu_url": "#",
"menu_code": "100001100000",
"parent_code": "100001",
"full_menu_name": "组织权限/行政组织",
"parent_name": "组织权限",
"menu_type": 2,
"pageNo": 0,
"pageSize": 0,
"total": 0,
"children": null,
"org_code": null,
"org_menu_id": null
}
]
}]
}
]
5.3 应用授权(列表查询)(变更)
注:查询功能(菜单)列表,分页查询(机构、角色、菜单的关联关系)
请求信息: 将根所登录用户所属的业务组织ID动态过滤。后端会自动获取tokenInfo信息,来最终校验各参数的合法性。角色不能游离,与业务组织关联。 查询全局切换业务组织create_org_id下所有关联的业应用授权。org、role 、menu三者的聚合关系。需要显示smart_cmty_org_role_rel表中业务组织和角色的授权,但并未授予菜单的记录(即org_role_menu_rel_num=0) 。
URL: /v1/iot/main/orgrolemenu/query/page
Method: POST
body: JSON格式
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
role_name | String | 否 | 关联的角色名称。 |
org_name | String | 否 | 关联的业务组织机构名称。 |
pageNo | int | 否 | 当前页码。当分页参数默认为1; |
pageSize | int | 否 | 每页条数。当分页参数默认为20; |
create_org_id | int | 是 | 全局切换的业务组织ID |
orderby | String | 否 | 默认DESC; 根据主键ID。 DESC:主键ID降序; ASC: 主键ID升序 |
请求示例:
{"create_org_id": 2}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"org_code": "100000001",
"org_name": "测试顶级业务组织1",
"org_full_name": "测试顶级业务组织1",
"role_name": "管理员",
"org_id": 2,
"role_id": 20592,
"org_role_menu_rel_num": 1,
"update_time": null
},
{
"org_code": "100000001",
"org_name": "测试顶级业务组织1",
"org_full_name": "测试顶级业务组织1",
"role_name": "角色测试Y",
"org_id": 2,
"role_id": 42,
"org_role_menu_rel_num": 9,
"update_time": null
}
],
"pageNo": 1,
"pageSize": 20,
"total": 2,
"totalPage": 1
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织name |
org_full_name | String | 是 | 业务组织完整理name |
org_id | Int | 是 | 业务组织ID |
role_id | Int | 是 | 角色ID |
role_name | String | 是 | 角色名称 |
org_role_menu_rel_num | Int | 是 | 同一个业务组织的角色下所关联的菜单(应用)的数量 |
update_time | Date | 是 | 更新时间 |
5.4 应用详情(业务组织、角色与菜单的关联关系加载)
描述:由 org_id , role_id返回一棵树。
URL: /v1/iot/main/orgrolemenu/detail/{org_id}/{role_id}
Method: POST
body: 空
参数说明:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
role_id | Int | 是 | 业务组织、角色、菜单的关联关系表的role_id |
org_id | Int | 是 | 业务组织、角色、菜单的关联关系表的org_id |
请求示例:
http://localhost:18089/v1/iot/main/orgrolemenu/trees/19872/20589 (SIT环境)
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20651,
"menu_id": 20477,
"role_id": 20589,
"org_id": 19872,
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海",
"role_name": "维护人员-2",
"menu_code": "100000",
"menu_name": "通行管理",
"menu_full_name": "通行管理",
"orderby": null,
"pageNo": 0,
"pageSize": 0,
"totalPage": 0,
"total": 0
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20655,
"menu_id": 20481,
"role_id": 20589,
"org_id": 19872,
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海",
"role_name": "维护人员-2",
"menu_code": "100001",
"menu_name": "组织权限",
"menu_full_name": "组织权限",
"orderby": null,
"pageNo": 0,
"pageSize": 0,
"totalPage": 0,
"total": 0
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20656,
"menu_id": 20482,
"role_id": 20589,
"org_id": 19872,
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海",
"role_name": "维护人员-2",
"menu_code": "100001100000",
"menu_name": "行政组织",
"menu_full_name": "组织权限/行政组织",
"orderby": null,
"pageNo": 0,
"pageSize": 0,
"totalPage": 0,
"total": 0
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20657,
"menu_id": 20483,
"role_id": 20589,
"org_id": 19872,
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海",
"role_name": "维护人员-2",
"menu_code": "100001100001",
"menu_name": "业务组织",
"menu_full_name": "组织权限/业务组织",
"orderby": null,
"pageNo": 0,
"pageSize": 0,
"totalPage": 0,
"total": 0
}
]
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
id | Int | 是 | smart_cmty_org_role_menu_rel表的主键ID |
menu_id | Int | 是 | 菜单id |
menu_code | String | 是 | 菜单code |
menu_full_name | String | 是 | 菜单的完整路径名称 |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织name |
org_full_name | String | 是 | 业务组织完整理name |
org_id | Int | 是 | 业务组织ID |
role_id | Int | 是 | 角色ID |
role_name | int |
5.5 批量授权 /权限设置[更新] 【防止脏数据处理】
将应用(菜单smart_ org_menu)与多个业务组织的角色(smart_cmty_org_role)相关联,生成一条记录 (smart_org_role_menu_rel表)
删除旧的关联,保存新的关联关系。以下场景不可为业务组织授权角色:
1、旧的关联关系smart_org_role_menu_rel记录为平台超级管理员建立的;(内置)
注:批量授权与权限设置共用同一个接口。
/v1/iot/main/orgrolemenu/rel
Method: POST
body: JSON
入参更新:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_role_ids | 字符型Array | 是 | [org_id+"-"+role_id,....]由org_id和role_id用连接符"-"连接,拼接成org_id和role_id的关联关系。如:["123-245", "124-246"] 中 "123-245"代表org_id=123, role_id=245 。 |
menu_ids | Array | 是 | 菜单ID集合,smart_cmty_menu表的主键ID集合 |
create_org_id | Int | 是 | 全局切换的业务组织ID |
请求示例:(SIT环境)
{ "org_role_ids": ["19872-20589", "19872-20591", "19872-22965", "19872-22970", "19872-23045" ], "menu_ids": [24599,24600,24601,24602, 24603,24604,24605,24606,24607] , "create_org_id": 19872 }
返回:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": 1610411469367,
"update_time": 1610411469367,
"id": 24608,
"menu_id": 20477,
"role_id": 20589,
"org_id": 19872,
"org_code": "100000094",
"org_name": "中海",
"org_full_name": "中海",
"role_name": "维护人员-2",
"menu_code": "100000",
"menu_name": "通行管理",
"menu_full_name": "通行管理",
"menu_url": "#",
"menu_type": 2,
"grant_by_supper": 1,
"orderby": null,
"pageNo": 0,
"pageSize": 0,
"totalPage": 0,
"total": 0,
"create_org_id": null
},
..
]
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
id | Int | 是 | smart_cmty_org_role_menu_rel表的主键 |
menu_id | Int | 是 | 菜单id |
menu_code | String | 是 | 菜单code |
menu_full_name | String | 是 | 菜单的完整路径名称 |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织name |
org_full_name | String | 是 | 业务组织完整理name |
org_id | Int | 是 | 业务组织ID |
role_id | Int | 是 | 角色ID |
role_name | int | 是 | 角色名称 |
6 角色管理
6.1 角色列表分页查询 (smart_cmty_org_role_rel) (变更)
请求信息: 将根所登录用户所属的业务组织ID动态过滤。后端会自动获取tokenInfo信息,来最终校验各参数的合法性。此处是与业务组织关联的角色列表查询, 每行记录均应包含role_id, role_name, org_id, org_name。
URL: /v1/iot/main/orgrolerel/query/page
Method: POST
body: JSON格式
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
role_name | String | 否 | 角色名称。当角色名称不为空时,根据角色名称模糊查询;当角色名称为空时,不根据角色名称过滤。 |
pageNo | int | 否 | 当前页码。当分页参数默认为1; |
pageSize | int | 否 | 每页条数。当分页参数默认为20; |
create_org_id | int | 是 | 全局切换的业务组织ID |
org_id | Int | 否 | 业务 组织ID,不为空则查询org_id所关联的业务组织 |
orderby | String | 否 | 默认DESC;DESC:主键ID降序; ASC: 主键ID升序 |
请求示例:
{ "create_org_id": 2}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"role_id": 2136,
"role_name": "测试10",
"org_rel_num": 2
},
{
"role_id": 2071,
"role_name": "新增1",
"org_rel_num": 6
},
{
"role_id": 2079,
"role_name": "贫寒",
"org_rel_num": 6
},
{
"role_id": 2077,
"role_name": "测试888",
"org_rel_num": 1
},
{
"role_id": 2075,
"role_name": "东山再起",
"org_rel_num": 1
},
{
"role_id": 2069,
"role_name": "新增5",
"org_rel_num": 1
},
{
"role_id": 2055,
"role_name": "测试1",
"org_rel_num": 3
},
{
"role_id": 2040,
"role_name": "乐怡测试1",
"org_rel_num": 1
},
{
"role_id": 1979,
"role_name": "新增1",
"org_rel_num": 1
},
{
"role_id": 1967,
"role_name": "新增2",
"org_rel_num": 1
},
{
"role_id": 42,
"role_name": "角色测试Y",
"org_rel_num": 1
},
{
"role_id": 20592,
"role_name": "管理员",
"org_rel_num": 1
}
],
"pageNo": 1,
"pageSize": 20,
"total": 12,
"totalPage": 1
}
出参字段变更说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
role_id | Int | 是 | 角色ID |
role_name | int | 是 | 角色名称 |
org_rel_num | int | 是 | 与该角色相关联的业务组织数量 |
select role_name, role_id,update_time, count(org_id) as org_rel_num from smart_cmty_org_role_rel where org_code like '100000001100000001%' group by role_id;
+-----------+---------+-------------+-------------+
| role_name | role_id | update_time | org_rel_num |
+-----------+---------+-------------+-------------+
| 新增1 | 2071 | NULL | 1 |
| 贫寒 | 2079 | NULL | 1 |
+-----------+---------+-------------+-------------+
6.1A 角色列表不分页查询 (smart_cmty_org_role_rel)
查询当前业务组织所关联的所有的角色列表。见接口【6.11 员工授权(获取业务组织与角色关联关系列表)】
6.2 角色删除(解除业务组织与角色的关联)(变更)【防止脏数据处理】
接口说明:解除一个角色与当前全局切换业务组织(create_org_id)自身及下级业务组织
关联关系并可以连同角色一起删除;
当一个角色除与当前全局切换业务组织(create_org_id)的上层业务组织相关联时,仅可以解除全局切换业务组织(create_org_id)自身及下级业务组织的关联关系,角色不会被删除,create_org_id与上层业务组织的关联关系依然存在。
URL: /v1/iot/main/orgrolerel/remove
Method: POST
body: JSON
JSON字段约定如下:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
role_id | Int | 是 | 角色ID |
delete_role | Boolean | 否 | 是否解除业务组织与角色之间的关联关系后是否册除角色?默认为false不删除;true:删除; |
create_org_id | Int | 是 | 全局切换org_id |
请求示例:
返回示例:
{
"code":"200",
"message":"成功"
}
6.3 角色加载/详情(变更)
请求信息: 从smart_cmty_org_role_rel表中加载详情
/v1/iot/main/orgrolerel/detail/{create_org_id}/{role_id}
Method: POST
body: 空
路径参数:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
role_id | Int | 是 | smart_cmty_role表的主键ID, 即role_id |
create_org_id | Int | 是 | 全局切换业务组织ID |
请求示例:
http://localhost:18089/v1/iot/main/orgrolerel/detail/2/42
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": {
"name": "角色测试Y",
"id": 42,
"list": [
2
]
}
}
成功返回result 对象的JSON属性如下:
字段 | 字段类型 | 是否一定输出字段 | 说明 |
---|---|---|---|
name | String | 是 | 角色名称。 |
id | int | 是 | 角色id |
list | Array | 是 | 返回与角色关联的业务组织机构id 集合。 |
6.4 角色修改(角色重新关联多个业务组织) 【防止脏数据处理】
需求设计原型: 角色编辑
请求信息
URL: /v1/iot/main/orgrolerel/edit
Method: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 角色表(smart_cmty_role)的ID,并非角色与业务业组织关联关系表(smart_cmty_org_role_rel)主键ID; |
name | String | 是 | 新的角色名称 |
list | Array | 是 | 新选中的业务组织ID, 一组业务组织ID数组 [123,118, 201]; 当新选中的业务组织ID集合为空,将解除当前角色与全局切换业务组织下的所有业务组织。 |
create_org_id | Int | 是 | 当前登录用户切换业务组织树的节点id(即切换至哪一个业务组织的id);由于角色不可游离,需要界定是由哪个业务组织创建的。 |
请求示例:
{
"id": 20589,
"name": "维护人员-2",
"list": [19872 ],
"create_org_id": 19872
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20740,
"org_id": 19872,
"role_id": 20589,
"org_name": "中海",
"org_code": "100000094",
"full_org_name": "中海",
"role_name": "维护人员-2",
"orderby": null,
"pageNo": 0,
"pageSize": 0
}
]
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
id | Int | 是 | smart_cmty_org_role_menu_rel表的主键 |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织name |
org_full_name | String | 是 | 业务组织完整理name |
org_id | Int | 是 | 业务组织ID |
role_id | Int | 是 | 角色ID |
role_name | int | 是 | 角色名称 |
6.5 组织授权(新增多个角色并关联到多个业务组织) 【防止脏数据处理】[接口废除]
N角色与N个业务组织关联
需求设计原型: 角色新增 ;
请求信息
URL: /v1/iot/main/orgrolerel/add/batch
Method: POST
body: JSON格式约定:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
names | Array | 是 | 角色名称集合["A","B" |
list | Array | 是 | 业务组织id集合, [123,119,91] |
create_org_id | Int | 是 | 当前登录用户切换业务组织树的节点id(即切换至哪一个业务组织的id);由于角色不可游离,需要界定是由哪个业务组织创建的。 |
请求示例:
{ "create_org_id": 15264, "names": ["维护人员", "售后人员"], "list": [15264,16432 ]}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20455,
"org_id": 15264,
"role_id": 20453,
"org_name": "美的置业-业务",
"org_code": "100000001",
"full_org_name": "美的置业-业务",
"role_name": "维护人员"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20456,
"org_id": 16432,
"role_id": 20453,
"org_name": "朱慧媛-新建集团-勿动",
"org_code": "100000092",
"full_org_name": "朱慧媛-新建集团-勿动",
"role_name": "维护人员"
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20457,
"org_id": 15264,
"role_id": 20454,
"org_name": "美的置业-业务",
"org_code": "100000001",
"full_org_name": "美的置业-业务",
"role_name": "售后人员",
"orderby": null,
"pageNo": 0,
"pageSize": 0
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20458,
"org_id": 16432,
"role_id": 20454,
"org_name": "朱慧媛-新建集团-勿动",
"org_code": "100000092",
"full_org_name": "朱慧媛-新建集团-勿动",
"role_name": "售后人员"
}
]
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
id | Int | 是 | smart_cmty_org_role_menu_rel表的主键 |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织name |
org_full_name | String | 是 | 业务组织完整理name |
org_id | Int | 是 | 业务组织ID |
role_id | Int | 是 | 角色ID |
role_name | int | 是 | 角色名称 |
6.6 组织授权(新增一个角色并关联到多个业务组织)【防止脏数据处理】
1个角色与多N个业务组织关联。 新增一个角色与多个业务组织的关联关系。 表:smart_cmty_org_role_rel
需求设计原型: 角色新增 ;
请求信息
URL: /v1/iot/main/orgrolerel/add
Method: POST
body: JSON格式约定:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
name | Array | name | 角色名称集合["A","B" |
list | Array | 是 | 业务组织id集合, [123,119,91], 不可为空 |
create_org_id | Int | 是 | 当前登录用户切换业务组织树的节点id(即切换至哪一个业务组织的id) |
请求示例:
{"create_org_id": 15264, "name": "维护人员", "list": [19872 ]}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 20460,
"org_id": 19872,
"role_id": 20459,
"org_name": "中海",
"org_code": "100000094",
"full_org_name": "中海",
"role_name": "维护人员",
"orderby": null,
"pageNo": 0,
"pageSize": 0
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
id | Int | 是 | smart_cmty_org_role_rel表的主键 |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织name |
org_full_name | String | 是 | 业务组织完整理name |
org_id | Int | 是 | 业务组织ID |
role_id | Int | 是 | 角色ID |
role_name | int | 是 | 角色名称 |
6.7 员工授权(对员工授予角色) 【防止脏数据处理】
新增两个接口说明:
4) 批量删除
5) 减去在 smart_cmty_org_role_rel 表中,依据org_id, role_id查询已关联的员工,可选的员工列表。
需求设计原型: 员工授权; 对多个员工批量授予一个角色
请求信息
URL: /v1/iot/main/orgroleadmin/rel
Method: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_id | Int | 是 | 业务组织ID |
role_id | int | 是 | 与业务组织关联的角色ID, 来源于smart_cmty_org_role_rel |
admin_ids | List | 是 | 员工的主键ID集合;来源于smart_cmty_admin表 |
create_org_id | Int | 是 | 全局切换的业务组织id |
请求示例:
{"org_id": 2, "role_id": 27, "admin_ids": [1], "create_org_id": 2}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 31,
"org_id": 2,
"org_code": "100000001",
"org_name": "测试顶级业务组织1",
"org_full_name": "测试顶级业务组织1",
"admin_name": "杨观超",
"admin_id": 1,
"role_id": 27,
"role_name": "test01",
"system_default": 1,
"admin_ids": null
}
]
}
返回字段描述:
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
id | Int | 是 | smart_cmty_org_role_menu_rel表的主键 |
admin_id | Int | 是 | 员工id |
admin_name | String | 是 | 员工名称 |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织name |
org_full_name | String | 是 | 业务组织完整理name |
org_id | Int | 是 | 业务组织ID |
role_id | Int | 是 | 角色ID |
role_name | int | 是 | 角色名称 |
6.7A 给员工新增普通角色或管理员角色(1个员工授予多个角色)
注意: 此接口是一个员工授予多个普通角色,是普通管理员的功能 。非平台超级管理员仅能通过此接口授予员工 普通角色,平台超级管理员仅可以通过该接口对员工新增内置管理员角色。此接口平台超级管理员和普通管理员共用。由系统自动由tokenInfo识别当前操作管理员的身份。
如果是向多个员工新增管理员角色请使用接口【1.3 向业务组织中的普通员工新增管理员角色】。
请求信息
URL: /v1/iot/main/orgroleadmin/orgroles2admin/rel
Method: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_role_ids | Array(String) | 是 | 业务组织-角色ID的集合。如: ["120-901", "230-902"] |
admin_id | Int | 是 | 员工的主键ID;来源于smart_cmty_admin表 |
create_org_id | Int | 是 | 全局切换的业务组织id |
请求示例:
返回示例:
返回字段描述:
6. 8员工查询(根据业务组织查询员工列表)
【7.1 分页查询员工 【原型设计中的添加员工接口的列表查询)】
6.9 修改员工与业务组织的关联关系 【接口暂不可用】
可以重新关联员工与业务组织、角色的关联,甚至将其已关联的角色清空。
请求信息
URL: /v1/iot/main/orgroleadmin/rel/reset
Method: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
role_ids | Array | 是 | 新角色ID集合,必须来源于 smart_cmty_org_role_rel;注意:role_ids传一个空的集合(如:[]) 将清除员工所有已授权的角色,但平台超级管理员授予的系统内置角色将不可清除。 |
org_id | Int | 是 | 业务组织ID;来源于smart_cmty_org_role_admin_rel表 |
admin_id | Int | 是 | 员工表主键ID;来源于smart_cmty_org_role_admin_rel表 |
create_org_id | Int | 是 | 全局切换的业务组织ID |
请求示例:
返回示例:
{"code":"200", "message":"成功"}
返回字段描述:
6.10 员工授权(获取业务组织树)
场景:进入页面补充一个根据全局create_org_id调用 ,获取一棵业务组织树。
可以 复用【3.5 行政/业务组织树加载】接口,请替换原接口中的org_id为 create_org_id。
6.11 员工授权(获取业务组织与角色关联关系列表)
由一个org_id查询一个业务组织及下级业务组织相关联的角色集合, 不分页。可用作角色列表不分页。
请求信息
URL: /v1/iot/main/orgrolerel/list
Method: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_id | Int | 是 | 业务组织ID;来源于smart_cmty_org_role_admin_rel表 |
create_org_id | Int | 是 | 全局切换的业务组织ID |
orderby | String | 是 | DESC:主键ID降序; ASC: 主键ID升序 |
请求示例:
{"org_id": 2, "create_org_id": 2}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 45,
"org_id": 2,
"role_id": 43,
"org_name": "测试顶级业务组织1",
"org_code": "100000001",
"full_org_name": "测试顶级业务组织1",
"role_name": "角色测试X",
"orderby": null,
"pageNo": 0,
"pageSize": 0,
"grant_by_supper": 1,
"create_org_id": null
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 33,
"org_id": 2,
"role_id": 20592,
"org_name": "测试顶级业务组织1",
"org_code": "100000001",
"full_org_name": "测试顶级业务组织1",
"role_name": "管理员",
"orderby": null,
"pageNo": 0,
"pageSize": 0,
"grant_by_supper": 1,
"create_org_id": null
}
]
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
id | Int | 是 | smart_cmty_org_role_menu_rel表的主键 |
admin_id | Int | 是 | 员工id |
admin_name | String | 是 | 员工名称 |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织name |
org_full_name | String | 是 | 业务组织完整理name |
org_id | Int | 是 | 业务组织ID |
role_id | Int | 是 | 角色ID |
role_name | int | 是 | 角色名称 |
6.12 员工授权(查询业务组织已授权的员工)[手机号、帐号 、姓名]
根据org_id, role_id 查询出与之关联的授权角色的员工列表,分页显示。系统将根据头部tokenInfo标识自动识别当前操作帐号的身份是普通管理员还是超级管理员,如果是超级管理员,仅查看已授权系统"内置管理员角色"的员工。
请求信息
URL: /v1/iot/main/orgroleadmin/rel/admins
Method: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_id | Int | 是 | 业务组织ID;来源于smart_cmty_org_role_admin_rel表 |
create_org_id | Int | 是 | 全局切换的业务组织ID |
mobile | String | 否 | 手机号模糊查询 |
job_number | String | 否 | 帐号模糊查询 |
name | String | 否 | 姓名模糊查询 |
role_id | Int | 否 | 角色ID, 不为空则同时根据业务组织ID和角色ID来全局过滤 |
orderby | String | 否 | DESC:主键ID降序; ASC: 主键ID升序 |
pageNo | Int | 否 | 不传默认为1; |
pageSize | int | 否 | 不传默认为20; |
请求示例:
{"org_id": 2, "create_org_id": 2}
6.12A 查询系统内置管理员
根据org_id, role_id 查询出与之关联的授权角色的员工列表,分页显示。系统将根据头部tokenInfo标识自动识别当前操作帐号的身份是普通管理员还是超级管理员,仅超级管理员查看已授权系统"内置管理员角色"的员工。
请求信息
URL: /v1/iot/main/orgroleadmin/rel/systemadmins
Method: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_id | Int | 是 | 业务组织ID;来源于smart_cmty_org_role_admin_rel表 |
create_org_id | Int | 是 | 全局切换的业务组织ID |
mobile | String | 否 | 手机号模糊查询 |
job_number | String | 否 | 帐号模糊查询 |
name | String | 否 | 姓名模糊查询 |
role_id | Int | 否 | 角色ID, 不为空则同时根据业务组织ID和角色ID来全局过滤 |
orderby | String | 否 | DESC:主键ID降序; ASC: 主键ID升序 |
pageNo | Int | 否 | 不传默认为1; |
pageSize | int | 否 | 不传默认为20; |
请求示例:
{"org_id": 2, "create_org_id": 2}
6.12与6.12A接口返回相同, 返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 1,
"user_id": null,
"org_id": 2,
"mobile": "13926003676",
"org_code": "100000000",
"src": 1,
"nickname": null,
"ico": null,
"job_number": "yanggc4",
"name": "杨观超",
"sex": null,
"email": null,
"identity": null,
"type": 1,
"status": 1,
"last_login_time": null,
"pwd_modify_time": null,
"lock_time": null,
"login_fail_times": 0,
"birthday": null,
"last_login": null,
"staff_no": null,
"position": null,
"is_supper": 1,
"face_ico": null,
"is_effective": 1,
"roleNames": null,
"groupNames": null,
"ids": null,
"userIds": null,
"relationId": null,
"relationIds": null,
"groupId": null,
"adminOrgCodes": null,
"adminIds": null,
"pageNo": null,
"pageSize": null,
"client_id": null,
"client_secret": null,
"orgName": null,
"fullOrgName": null,
"org_type": null,
"rel_org_id": null,
"authOrgId": null,
"communityId": null,
"oldFlag": null,
"upperOrgAdmin": false
}
],
"pageNo": 1,
"pageSize": 20,
"total": 1,
"totalPage": 1
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
id | Int | 是 | smart_cmty_org_admin表的主键 |
name | String | 是 | 员工姓名 |
job_number | String | 是 | 员工帐号 |
org_code | String | 是 | 行政组织code |
org_id | Int | 是 | 行政组织ID |
position | String | 是 | 职位 |
mobile | String | 是 | 手机号 |
6.13 员工授权(查询业务组织下未被授权的员工)[手机号、帐号 、姓名]
根据org_id,查询出与该业务组织相关联的行政组织下的所有的人。分页。
请求信息
URL: /v1/iot/main/orgroleadmin/unrel/admins
Method: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_id | Int | 是 | 业务组织ID;来源于smart_cmty_org_role_admin_rel表 |
create_org_id | Int | 是 | 全局切换的业务组织ID |
role_id | Int | 否 | 角色ID |
orderby | String | 否 | DESC:主键ID降序; ASC: 主键ID升序 |
pageNo | Int | 否 | 不传默认为1; |
pageSize | Int | 否 | 不传默认为20; |
name | String | 否 | 可以根据员工姓名模糊搜索 |
mobile | String | 否 | 可以根据员工手机号模糊搜索 |
job_number | String | 否 | 可以根所帐号模糊搜索 |
请求示例:
{"org_id": 2, "create_org_id": 2}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 1,
"user_id": null,
"org_id": 2,
"mobile": "13926003676",
"org_code": "100000000",
"src": 1,
"nickname": null,
"ico": null,
"job_number": "yanggc4",
"name": "杨观超",
"sex": null,
"email": null,
"identity": null,
"type": 1,
"status": 1,
"last_login_time": null,
"pwd_modify_time": null,
"lock_time": null,
"login_fail_times": 0,
"birthday": null,
"last_login": null,
"staff_no": null,
"position": null,
"is_supper": 1,
"face_ico": null,
"is_effective": 1,
"roleNames": null,
"groupNames": null,
"ids": null,
"userIds": null,
"relationId": null,
"relationIds": null,
"groupId": null,
"adminOrgCodes": null,
"adminIds": null,
"pageNo": null,
"pageSize": null,
"client_id": null,
"client_secret": null,
"orgName": null,
"fullOrgName": null,
"org_type": null,
"rel_org_id": null,
"authOrgId": null,
"communityId": null,
"oldFlag": null,
"upperOrgAdmin": false
}
],
"pageNo": 1,
"pageSize": 20,
"total": 1,
"totalPage": 1
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
id | Int | 是 | smart_cmty_org_admin表的主键 |
name | String | 是 | 员工姓名 |
job_number | String | 是 | 员工帐号 |
org_code | String | 是 | 行政组织code |
org_id | Int | 是 | 行政组织ID |
position | String | 是 | 职位 |
mobile | String | 是 | 手机号 |
6.14 业务组织角色(查询org_id 所关联的角色)
根据org_id 加载相关联的角色。
请求信息
URL: /v1/iot/main/orgrolerel/
Method: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_id | Int | 是 | 业务组织ID;来源于smart_cmty_org_role_admin_rel表 |
create_org_id | Int | 是 | 全局切换的业务组织ID |
请求示例:
{"org_id": 2, "create_org_id": 2}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 45,
"org_id": 2,
"role_id": 43,
"org_name": "测试顶级业务组织1",
"org_code": "100000001",
"full_org_name": "测试顶级业务组织1",
"role_name": "角色测试X",
"orderby": null,
"pageNo": 0,
"pageSize": 0,
"grant_by_supper": 1,
"create_org_id": null
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 33,
"org_id": 2,
"role_id": 20592,
"org_name": "测试顶级业务组织1",
"org_code": "100000001",
"full_org_name": "测试顶级业务组织1",
"role_name": "管理员",
"orderby": null,
"pageNo": 0,
"pageSize": 0,
"grant_by_supper": 1,
"create_org_id": null
}
]
}
出参字段说明:
字段 | 字段类型 | 是否必返回 | 说明 |
---|---|---|---|
id | Int | 是 | smart_cmty_org_role_menu_rel表的主键 |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织name |
org_full_name | String | 是 | 业务组织完整理name |
org_id | Int | 是 | 业务组织ID |
role_id | Int | 是 | 角色ID |
role_name | int | 是 | 角色名称 |
6.15 员工授权(批量删除用户关联的业务组织角色) 【防止脏数据处理】
根据org_id、role_id、员工ID集合,从smart_cmty_org_role_admin_rel表 删除多条记录。
请求信息
URL: /v1/iot/main/orgroleadmin/rel/delete
Method: POST
body: JSON格式约定
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
org_id | Int | 是 | 业务组织ID;来源于smart_cmty_org_role_admin_rel表 |
create_org_id | Int | 是 | 全局切换的业务组织ID |
role_id | Int | 是 | 角色ID |
admin_ids | Array | 是 | 员工ID集合; 不可为空,至少包含一个元素。 |
请求示例:
{"org_id": 2, "create_org_id": 2, "admin_ids":[1,2,3]}
返回示例:
{
"code": "200",
"message": "成功"
6.16 员工授权(查询员工授权的角色)
根据员工ID查询员工授予的角色
请求信息
URL: /v1/iot/main/orgroleadmin/grant/{id}
Method: POST
body: 空
路径参数:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Int | 是 | 员工ID,表smart_cmty_admin主键ID |
请求示例:
返回示例:
{
"code": "200",
"message": "成功"
6.17 根据项目和用户查询当前用户的角色
根据员工ID查询员工授予的角色
请求信息
URL: /v1/iot/main/orgroleadmin/{space_id}/{admin_id}
Method: POST
body: 空
路径参数:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
space_id | Int | 是 | 项目ID |
admin_id | Int | 是 | 员工 ID |
返回示例:
{
"code": "200",
"message": "成功"
"result": [110,209]
}
7 员工(Admin)
7.1 分页查询员工 【原型设计中的添加员工接口的列表查询)
请求信息
URL: /v1/iot/main/admin/query/page
Method: POST
body: JSON格式约定
减去在 smart_cmty_org_role_rel 表中,依据org_id, role_id查询已关联的员工,可选的员工列表。
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
pageNo | int | 是 | 当前页码。当分页参数默认为0时,不分页查询 |
pageSize | int | 是 | 每页条数。当分页参数默认为0时,不分页查询 |
job_number | String | 否 | 账号。有值时模糊查询 |
staff_no | String | 否 | 工号。有值时精确查询 |
mobile | String | 否 | 手机号。有值时模糊查询 |
name | String | 否 | 姓名。有值时模糊查询 |
identity | String | 否 | 身份证。有值时精确查询 |
type | int | 否 | 员工类型。(1:物管用户,4:商户用户,8:平台管理用户)有值时精确查询 |
status | int | 否 | 员工状态(1为正常、2为注销)。有值时精确查询 |
org_code | String | 是 | 用于做数据权限控制(数据隔离)。匹配出当前组织和子组织 |
org_id | Long | 是 | 组织id |
org_type | Integer | 是 | 机构类型: 1:行政组织,2:业务组织 |
is_effective | Integer | 否 | 账号是否有效( 1为启用、2为禁用),有值时精确查询 |
position | String | 否 | 职位。有值时精确查询(有职位管理模块后需调整成模糊查询) |
请求示例:
{
"org_type":1,
"org_id":6422,
"pageNo":1,
"pageSize":10,
"org_code":"101",
"mobile": "13400023666",
"src": 1,
"job_number": "00002",
"name": "zhu002",
"sex": 0,
"identity": "430421199307280002",
"status": 2,
"type": 1
}
或
{
"org_type":2,
"org_id":8829,
"pageNo":1,
"pageSize":10,
"org_code":"901",
"mobile": "13400023666",
"src": 1,
"job_number": "00002",
"name": "zhu002",
"sex": 0,
"identity": "430421199307280002",
"status": 2,
"type": 1
}
返回示例:
{
"code": "200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9160,
"user_id": 0,
"org_id": 6419,
"mobile": "13400023666",
"org_code": "101",
"src": 1,
"nickname": null,
"ico": null,
"job_number": "00002",
"pwd": null,
"name": "zhu002",
"sex": 0,
"email": "13418777777@163.com",
"identity": "430421199307280002",
"type": 1,
"status": 2,
"last_login_time": null,
"pwd_modify_time": null,
"lock_time": null,
"login_fail_times": null,
"birthday": null,
"last_login": null,
"staff_no": "00002",
"position": "java开发",
"is_supper": 1,
"face_ico": null,
"is_effective": null,
"roleNames": null,
"groupNames": null,
"ids": null,
"userIds": null,
"relationId": null,
"relationIds": null,
"groupId": null,
"adminOrgCodes": null,
"adminIds": null,
"pageNo": null,
"pageSize": null,
"client_id": null,
"client_secret": null,
"orgName": "美的集团", --组织简称
"fullOrgName": "美的集团" --组织全路径名称
}
],
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1
}
7.2 新增员工
请求信息
URL:/v1/iot/main/admin/update
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
user_id | Long | 是(前端非必填,同步必填) | 原tb_uhome_admin_user表的主键字段 | |
org_id | Long | 是 | 行政组织ID,smart_cmty_org 外键 | |
org_code | String | 是(前端必填,同步非必填) | 行政组织code | |
mobile | String | 是 | 是 | 手机号 |
staff_no | String | 是(前端必填,同步非必填) | 是 | 工号 |
position | String | 职务 | ||
job_number | String | 是 | 是 | 原tb_uhome_admin_user表的字段,账号,此属性针对物业员工 |
src | Integer | 是(前端非必填,同步必填) | 帐号来源,1:自研系统,2:4A | |
nickname | String | 昵称 | ||
ico | String | 原tb_uhome_admin_user表字段,头像, 存储图片相对路径 | ||
pwd | String | 原tb_uhome_admin_user表的主键字段,员工密码 | ||
name | String | 是 | 原tb_uhome_admin_user表字段,姓名 | |
sex | Integer | 原tb_uhome_admin_user表的字段,性别1为女,2为男 | ||
String | 原tb_uhome_admin_user表的字段,邮件 | |||
identity | String | 是 | 原tb_uhome_admin_user表的字段,身份证 | |
type | Integer | 是 | 原tb_uhome_admin_user表的字段,用户类型: 1:物管用户,4:商户用户,8:平台管理用户 | |
status | Integer | 原tb_uhome_admin_user表的字段,状态: 1为正常、2为注销 | ||
last_login_time | Date | 最后登陆时间 | ||
pwd_modify_time | Date | 原tb_uhome_admin_user表的字段,密码修改时间 | ||
lock_time | Date | 原tb_uhome_admin_user表的字段,密码锁定时间 | ||
login_fail_times | Integer | 原tb_uhome_admin_user表的字段,登陆失败次数 | ||
birthday | Date | 原tb_uhome_admin_user表的字段,生日 | ||
last_login | Date | 最近一次登录时间 |
请求示例:
{
"user_id":"1",
"org_id":"45",
"mobile":"13418776666",
"org_code":"107107",
"src":1,
"nickname":"依依1",
"ico":"ico_url",
"job_number":"zhuhy44",
"pwd":"111111",
"name":"易依依",
"sex":1,
"email":"13418777777@163.com",
"identity":"430421199307280002",
"type":1,
"status":1,
"staff_no":"20351122",
"position":"java开发"
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"id": 3410,
"user_id": 1,
"org_id": 45,
"mobile": "13418776666",
"org_code": "107107",
"src": 1,
"nickname": "依依1",
"ico": "ico_url",
"job_number": "zhuhy44",
"pwd": "111111",
"name": "易依依",
"sex": 1,
"email": "13418777777@163.com",
"identity": "430421199307280002",
"type": 1,
"status": 1,
"last_login_time": null,
"pwd_modify_time": null,
"lock_time": null,
"login_fail_times": null,
"birthday": null,
"last_login": null,
"create_time": null,
"update_time": "2020-11-07T02:15:30.581+0000",
"create_by": null,
"update_by": "system_insert",
"staff_no": "20351122",
"position": "java开发",
"relationRoleNums": 0,
"relationGroupNums": 0,
"roles": null,
"groups": null,
"pageNo": null,
"pageSize": null
}
}
7.3 修改员工
请求信息
URL:/v1/iot/main/admin/update
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
id | Long | 是 | 是 | 主键id |
user_id | Long | 是(前端非必填,同步必填) | 原tb_uhome_admin_user表的主键字段 | |
org_id | Long | 是 | 行政组织ID,smart_cmty_org 外键 | |
org_code | String | 是(前端必填,同步非必填) | 行政组织code | |
mobile | String | 是 | 是 | 手机号 |
staff_no | String | 是(前端必填,同步非必填) | 是 | 工号 |
position | String | 职务 | ||
job_number | String | 是 | 是 | 原tb_uhome_admin_user表的字段,账号,此属性针对物业员工 |
src | Integer | 是(前端非必填,同步必填) | 帐号来源,1:自研系统,2:4A | |
nickname | String | 昵称 | ||
ico | String | 原tb_uhome_admin_user表字段,头像, 存储图片相对路径 | ||
pwd | String | 原tb_uhome_admin_user表的主键字段,员工密码 | ||
name | String | 是 | 原tb_uhome_admin_user表字段,姓名 | |
sex | Integer | 原tb_uhome_admin_user表的字段,性别1为女,2为男 | ||
String | 原tb_uhome_admin_user表的字段,邮件 | |||
identity | String | 是 | 原tb_uhome_admin_user表的字段,身份证 | |
type | Integer | 是 | 原tb_uhome_admin_user表的字段,用户类型: 1:物管用户,4:商户用户,8:平台管理用户 | |
status | Integer | 原tb_uhome_admin_user表的字段,状态: 1为正常、2为注销 | ||
last_login_time | Date | 最后登陆时间 | ||
pwd_modify_time | Date | 原tb_uhome_admin_user表的字段,密码修改时间 | ||
lock_time | Date | 原tb_uhome_admin_user表的字段,密码锁定时间 | ||
login_fail_times | Integer | 原tb_uhome_admin_user表的字段,登陆失败次数 | ||
birthday | Date | 原tb_uhome_admin_user表的字段,生日 | ||
last_login | Date | 最近一次登录时间 |
请求示例:
{
"id":3410,
"user_id":"1",
"org_id":"45",
"mobile":"13418776666",
"org_code":"107107",
"src":1,
"nickname":"依依1",
"ico":"ico_url",
"job_number":"zhuhy44",
"pwd":"111111",
"name":"易依依",
"sex":1,
"email":"13418777777@163.com",
"identity":"430421199307280002",
"type":1,
"status":1,
"staff_no":"20351122",
"position":"java开发"
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"id": 3410,
"user_id": 1,
"org_id": 45,
"mobile": "13418776666",
"org_code": "107107",
"src": 1,
"nickname": "依依1",
"ico": "ico_url",
"job_number": "zhuhy44",
"pwd": "111111",
"name": "易依依",
"sex": 1,
"email": "13418777777@163.com",
"identity": "430421199307280002",
"type": 1,
"status": 1,
"last_login_time": null,
"pwd_modify_time": null,
"lock_time": null,
"login_fail_times": null,
"birthday": null,
"last_login": null,
"create_time": null,
"update_time": "2020-11-07T02:15:30.581+0000",
"create_by": null,
"update_by": "system_insert",
"staff_no": "20351122",
"position": "java开发",
"relationRoleNums": 0,
"relationGroupNums": 0,
"roles": null,
"groups": null,
"pageNo": null,
"pageSize": null
}
}
7.4 批量删除员工
请求信息
URL: /v1/iot/main/admin/delete
Method: DELETE
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
ids | 集合 | 否(和userIds两个必填一个,ids有值就根据id删除,否则根据userId删除) | 员工id集合 |
userIds | 集合 | 否(和ids两个必填一个,ids有值就根据id删除,否则根据userId删除) | userId集合 |
请求示例:
{
"ids":[3410,3411]
}
返回示例:
{
"code":"200",
"message": "成功",
"result": true
}
7.5 禁用/启用
请求信息
URL: /v1/iot/main/admin/change/effective
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Long | 是 | 员工id |
is_effective | Long | 是 | 账号是否有效 1为启用、2为禁用 |
请求示例:
{
"id":3409,
"is_effective":1
}
返回示例:
{
"code":"200",
"message": "成功",
"result": true
}
7.6 详情页
请求信息
URL: /v1/iot/main/admin/detail
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Long | 是 | 员工id |
请求示例:
{
"id":8852
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"create_by": "system_insert",
"update_by": null,
"create_time": "2020-11-09T09:53:11.000+0000",
"update_time": null,
"id": 8852,
"user_id": 1,
"org_id": 6419,
"mobile": "13418777766",
"org_code": "101",
"src": 2,
"nickname": "依依1",
"ico": "ico_url",
"job_number": "zhuhy57",
"pwd": "111111",
"name": "易依依",
"sex": 1,
"email": "13418777777@163.com",
"identity": "430421199307280651",
"type": 1,
"status": 1,
"last_login_time": null,
"pwd_modify_time": null,
"lock_time": null,
"login_fail_times": null,
"birthday": null,
"last_login": null,
"staff_no": "20351674",
"position": "java开发",
"is_supper": null,
"face_ico": null,
"is_effective": 1,
"roleNames": null,
"groupNames": [
"美的集团-组2"
],
"ids": null,
"userIds": null,
"relationId": null,
"relationIds": null,
"groupId": null,
"adminOrgCodes": null,
"adminIds": null,
"pageNo": null,
"pageSize": null
}
}
7.6 详情页 (包含项目id集合)
请求信息
URL: /v1/iot/main/admin/detail/moreInfo
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Long | 是 | 员工id |
请求示例:
{
"id":8852
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"returnExceptionData": false,
"result": {
"is_effective": 1,
"type": 1,
"staff_no": "test011",
"is_supper": 1,
"update_time": 1612162536000,
"face_ico": "https://iot-xlink-xfile.oss-cn-hangzhou.aliyuncs.com/customer/2021-01-22/218971611276142213.jpg",
"ico": "https://iot-xlink-xfile.oss-cn-hangzhou.aliyuncs.com/customer/2021-02-01/217701612162537779.jpg",
"nickname": "小美11",
"id": 21770,
"job_number": "test01",
"update_by": "system_insert",
"email": "test011@midea.com",
"orgName": "sit顶级行政组织456",
"src": 1,
"mobile": "13923003641",
"upperOrgAdmin": false,
"communityIds": [
23040,
23812
],
"groupNames": [
"sit新建专业11-1",
"哇哇哇1111",
"d"
],
"fullOrgName": "sit顶级行政组织456",
"org_id": 21896,
"name": "路人甲1",
"position": "秘书长",
"pwd": "{bcrypt}$2a$10$.EM24SzQKMKwntpZ.nuaLuEIJCN7P0N4jcGUjE19UFnqhf2xu3hlS",
"org_code": "100000149",
"status": 1
},
"data": null
}
7.7 文本框校验。校验mobile,staff_no,job_number,identity是否重复
请求信息
URL: /v1/iot/main/admin/unique/validate
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Long | 否 | 员工id,有值代表校验数据重复时排除该员工本身 |
type | Integer | 是 | 用户类型(1:物管用户,4:商户用户,8:平台管理用户) |
job_number | String | 否 | 有值则校验唯一性 |
staff_no | String | 否 | 有值则校验唯一性 |
identity | String | 否 | 有值则校验唯一性 |
mobile | String | 否 | 有值则校验唯一性 |
请求示例:
{
"type":1,
"job_number": "zhuhy57_1",
"staff_no": "20351674_1",
"identity": "430421199307280651_1",
"mobile": "13418777766"
}
返回示例:
{
"code": "1",
"message": "出现异常手机号码不能重复,身份证:13418777766",
"result": null
}
7.8 修改密码
请求信息
URL: /v1/iot/main/admin/update/pwd
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Long | 是 | 员工id |
pwd | String | 是 | 密码 |
请求示例:
{
"id":3408,
"pwd":"111"
}
返回示例:
{
"code":"200",
"message": "成功",
"result": true
}
7.9 根据条件查询员工 不分页 -- 微服务之间调用
请求信息
URL:/v1/iot/main/inner/admin/list
Method: POST
参数:queryParams格式约定
入参dto:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
communityId | Long | 否 | 小区空间id【communityId 和 (org_id,org_code,org_type)不能同时为空】 |
oldFlag | Boolean | 否 | 小区空间id是新空间id还是4格空间id标志。默认为新空间id,为true时为4格空间id |
org_id | Long | 否 | 组织id【communityId 和 (org_id,org_code,org_type)不能同时为空】 |
org_code | String | 否 | 组织编码【communityId 和 (org_id,org_code,org_type)不能同时为空】 |
org_type | Integer | 否 | 组织类型【communityId 和 (org_id,org_code,org_type)不能同时为空】 |
adminIds | List |
否 | 员工id集合 |
mobile | String | 否 | 手机号 |
job_number | String | 否 | 账号 |
name | String | 否 | 姓名 |
identity | String | 否 | 证件号 |
staff_no | String | 否 | 工号 |
status | Integer | 否 | 状态: 1为正常、2为注销 |
is_effective | Integer | 否 | 账号是否有效 默认为1 1为启用、2为禁用 |
请求示例:
{
"communityId":20316,
"oldFlag":false,
"adminIds":[21053,21052],
"name":"bb001",
"mobile":"1345566778",
"staff_no": "bb001",
"identity": "345778199407260002"
}
返回示例:
[
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 21052,
"user_id": 0,
"org_id": 20372,
"mobile": "13455667788",
"org_code": "100000109",
"src": 1,
"nickname": null,
"ico": null,
"job_number": "bb001",
"pwd": null,
"name": "bb001",
"sex": 0,
"email": "13455667788@163.com",
"identity": "345778199407260002",
"type": 1,
"status": 1,
"last_login_time": null,
"pwd_modify_time": null,
"lock_time": null,
"login_fail_times": null,
"birthday": null,
"last_login": null,
"staff_no": "bb001",
"position": null,
"is_supper": 1,
"face_ico": "",
"is_effective": 1,
"roleNames": null,
"groupNames": null,
"ids": null,
"userIds": null,
"relationId": null,
"relationIds": null,
"groupId": null,
"adminOrgCodes": null,
"adminIds": null,
"pageNo": null,
"pageSize": null,
"client_id": null,
"client_secret": null,
"orgName": "朱慧媛-美的置业-行政-勿动",
"fullOrgName": "朱慧媛-美的置业-行政-勿动",
"org_type": null,
"rel_org_id": null,
"authOrgId": null,
"communityId": null,
"oldFlag": null,
"upperOrgAdmin": false
}
]
7.10 根据条件查询员工 --分页 -- 微服务之间调用
请求信息
URL:/v1/iot/main/inner/admin/page
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
communityId | Long | 否 | 小区空间id【communityId 和 (org_id,org_code,org_type)不能同时为空】 |
oldFlag | Boolean | 否 | 小区空间id是新空间id还是4格空间id标志。默认为新空间id,为true时为4格空间id |
org_id | Long | 否 | 组织id【communityId 和 (org_id,org_code,org_type)不能同时为空】 |
org_code | String | 否 | 组织编码【communityId 和 (org_id,org_code,org_type)不能同时为空】 |
org_type | Integer | 否 | 组织类型【communityId 和 (org_id,org_code,org_type)不能同时为空】 |
adminIds | List |
否 | 员工id集合 |
mobile | String | 否 | 手机号 |
job_number | String | 否 | 账号 |
name | String | 否 | 姓名 |
identity | String | 否 | 证件号 |
staff_no | String | 否 | 工号 |
status | Integer | 否 | 状态: 1为正常、2为注销 |
is_effective | Integer | 否 | 账号是否有效 默认为1 1为启用、2为禁用 |
pageNo | Integer | 否 | 默认查第一页 |
pageSize | Integer | 否 | 默认查10条 |
请求示例:
{
"communityId":20316,
"oldFlag":false,
"pageNo": 1,
"pageSize": 2,
"adminIds":[21053,21052],
"name":"bb001",
"mobile":"1345566778",
"staff_no": "bb001",
"identity": "345778199407260002"
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 21052,
"user_id": 0,
"org_id": 20372,
"mobile": "13455667788",
"org_code": "100000109",
"src": 1,
"nickname": null,
"ico": null,
"job_number": "bb001",
"pwd": null,
"name": "bb001",
"sex": 0,
"email": "13455667788@163.com",
"identity": "345778199407260002",
"type": 1,
"status": 1,
"last_login_time": null,
"pwd_modify_time": null,
"lock_time": null,
"login_fail_times": null,
"birthday": null,
"last_login": null,
"staff_no": "bb001",
"position": null,
"is_supper": 1,
"face_ico": "",
"is_effective": 1,
"roleNames": null,
"groupNames": null,
"ids": null,
"userIds": null,
"relationId": null,
"relationIds": null,
"groupId": null,
"adminOrgCodes": null,
"adminIds": null,
"pageNo": null,
"pageSize": null,
"client_id": null,
"client_secret": null,
"orgName": "朱慧媛-美的置业-行政-勿动",
"fullOrgName": "朱慧媛-美的置业-行政-勿动",
"org_type": null,
"rel_org_id": null,
"authOrgId": null,
"communityId": null,
"oldFlag": null,
"upperOrgAdmin": false
}
],
"pageNo": 1,
"pageSize": 2,
"total": 1,
"totalPage": 1
}
8 员工分组(Admin)
8.1 分页查询员工分组
请求信息
URL: /v1/iot/main/adminGroup/query/page
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
business_org_code | String | 否 | 组织编码(用户数据权限控制)(和小区id不能同时为空) |
communityId | Long | 否 | 小区id(和组织code不能同时为空) |
group_name | String | 否 | 分组名称 |
needCountRelAdminNums | boolean | 否 | 是否需要统计每个分组的人数,true:统计 false:不统计;默认不统计 |
pageNo | Integer | 否 | 第几页(未传参时,默认为1) |
pageSize | Integer | 否 | 每页条数(未传参时,默认为10) |
请求示例:
{
"pageNo":1,
"pageSize":10,
"business_org_code":"901",
"group_name":"美的集团-组2",
"needCountRelAdminNums":true
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": 1604862718000,
"id": 8830,
"group_name": "美的集团-组2",
"business_org_id": 8829,
"business_org_code": "901",
"pageNo": null,
"pageSize": null,
"communityId": null,
"needCountRelAdminNums": true,//是否需要统计关联的员工数
"relAdminNums": 6,//分组关联的员工数
"hasRelAdmin": true //是否已经关联了员工
],
"communitys": null,
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1
}
8.2 保存员工分组
请求信息
URL: /v1/iot/main/adminGroup/save
Method: POST
body: JSON格式约定
入参dto:集合List groups
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
business_org_id | Integer | 是 | 所属组织id |
business_org_code | String | 是 | 所属组织code |
group_name | String | 是 | 分组名称 |
请求示例:
{
"groups":[
{
"business_org_id": 8831,
"business_org_code": "901105109",
"group_name":"产业技术研究部_组009"
},
{
"business_org_id": 8831,
"business_org_code": "901105109",
"group_name":"产业技术研究部_组010"
}
]
}
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": "system",
"update_by": null,
"create_time": "2020-11-13T06:19:44.218+0000",
"update_time": null,
"id": 9247,
"group_name": "产业技术研究部_组001",
"business_org_id": 8831,
"business_org_code": "901105109",
"pageNo": null,
"pageSize": null
},
{
"create_by": "system",
"update_by": null,
"create_time": "2020-11-13T06:19:44.218+0000",
"update_time": null,
"id": 9248,
"group_name": "产业技术研究部_组002",
"business_org_id": 8831,
"business_org_code": "901105109",
"pageNo": null,
"pageSize": null
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
8.3 修改员工分组
请求信息
URL: /v1/iot/main/adminGroup/save
Method: POST
body: JSON格式约定
入参dto:集合List groups
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Integer | 是 | 分组id |
business_org_id | Integer | 是 | 所属组织id |
business_org_code | String | 是 | 所属组织code |
group_name | String | 是 | 分组名称 |
请求示例:
{
"groups":[
{
"id": 9321,
"business_org_id": 8831,
"business_org_code": "901105109",
"group_name":"产业技术研究部_组009"
},
{
"id": 9322,
"business_org_id": 8831,
"business_org_code": "901105109",
"group_name":"产业技术研究部_组010"
}
]
}
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": "2020-11-13T06:21:30.013+0000",
"id": 9247,
"group_name": "产业技术研究部_组001_修改",
"business_org_id": 8831,
"business_org_code": "901105109",
"pageNo": null,
"pageSize": null
},
{
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": "2020-11-13T06:21:30.013+0000",
"id": 9248,
"group_name": "产业技术研究部_组002_修改",
"business_org_id": 8831,
"business_org_code": "901105109",
"pageNo": null,
"pageSize": null
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
8.4 删除员工分组
请求信息
URL: /v1/iot/main/adminGroup/delete
Method: POST
body: JSON格式约定
入参dto:集合List groups
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
id | Integer | 是 | 分组id |
请求示例:
{
"id":8829
}
返回示例:
{
"code": "1",
"message": "出现异常该分组绑定了员工,不可删除",
"result": null
}
9 员工关联分组(Admin)
9.1 分页查询指定分组已关联的员工列表
请求信息
URL:/v1/iot/main/adminGroupRel/query/page
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
groupId | long | 是 | 分组id |
name | String | 否 | 员工名,不为空时模糊查询 |
staff_no | String | 否 | 员工工号,不为空时精确查询 |
mobile | String | 否 | 手机号,不为空时模糊查询 |
String | 否 | 邮箱,不为空时模糊查询 | |
pageNo | Integer | 否 | 第几页(未传参时,默认为1) |
pageSize | Integer | 否 | 每页条数(未传参时,默认为10) |
请求示例:
{
"groupId":8830,
"pageNo":1,
"pageSize":10,
"name":"易",
"staff_no":"20351134",
"mobile":"13418778765",
"email":"13418777777@163.com"
}
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 8843,
"user_id": 1,
"org_id": 6419,
"mobile": "13418778765",
"org_code": "101",
"src": 2,
"nickname": "依依1",
"ico": "ico_url",
"job_number": "zhuhy51",
"pwd": "111111",
"name": "易依依",
"sex": 1,
"email": "13418777777@163.com",
"identity": "430421199307280011",
"type": 1,
"status": 1,
"last_login_time": null,
"pwd_modify_time": null,
"lock_time": null,
"login_fail_times": 0,
"birthday": null,
"last_login": null,
"staff_no": "20351134",
"position": "java开发",
"is_supper": 0,
"relationRoleNums": 0,
"relationGroupNums": 0,
"roles": null,
"groups": null,
"ids": null,
"userIds": null,
"relationId": 8934,
"relationIds": null,
"groupId": null,
"adminOrgCodes": null,
"adminIds": null,
"pageNo": null,
"pageSize": null
}
],
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1
}
9.2 指定分组删除员工
请求信息
URL:/v1/iot/main/adminGroupRel/delete
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
relationIds | List |
是 | 员工_分组关联id |
请求示例:
{
"relationIds":[8934]
}
返回示例:
{
"code":"200",
"message": "成功",
"result": null
}
9.3 分页查询指定分组可以获取的员工列表
请求信息
URL: /v1/iot/main/adminGroupRel/available/admins
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
groupId | long | 是 | 分组id |
name | String | 否 | 员工名,不为空时模糊查询 |
staff_no | String | 否 | 员工工号,不为空时精确查询 |
mobile | String | 否 | 手机号,不为空时模糊查询 |
String | 否 | 邮箱,不为空时模糊查询 | |
pageNo | Integer | 否 | 第几页(未传参时,默认为1) |
pageSize | Integer | 否 | 每页条数(未传参时,默认为10) |
请求示例:
{
"groupId":8830,
"pageNo":1,
"pageSize":10,
"name":"易",
"staff_no":"20351134",
"mobile":"13418778765",
"email":"13418777777@163.com"
}
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 8843,
"user_id": 1,
"org_id": 6419,
"mobile": "13418778765",
"org_code": "101",
"src": 2,
"nickname": "依依1",
"ico": "ico_url",
"job_number": "zhuhy51",
"pwd": "111111",
"name": "易依依",
"sex": 1,
"email": "13418777777@163.com",
"identity": "430421199307280011",
"type": 1,
"status": 1,
"last_login_time": null,
"pwd_modify_time": null,
"lock_time": null,
"login_fail_times": 0,
"birthday": null,
"last_login": null,
"staff_no": "20351134",
"position": "java开发",
"is_supper": 0,
"relationRoleNums": 0,
"relationGroupNums": 0,
"roles": null,
"groups": null,
"ids": null,
"userIds": null,
"relationId": null,
"relationIds": null,
"groupId": null,
"adminOrgCodes": null,
"adminIds": null,
"pageNo": null,
"pageSize": null
}
],
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1
}
9.4 指定分组关联员工
请求信息
URL: /v1/iot/main/adminGroupRel/save
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
groupId | Long | 是 | 分组id |
adminIds | List |
是 | 员工id集合 |
请求示例:
{
"groupId":8830,
"adminIds":[8843,8852]
}
返回示例:
{
"code":"200",
"message": "成功",
"result": true
}
10 客户(Customer)
10.1 4格数据同步(新增/修改)
请求信息
URL:/v1/iot/main/customer/4g/update
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
top_org_id | Long | 是 | 顶级组织ID(固定值:新组织表的顶级组织id) | |
top_org_code | String | 是 | 顶级组织编码(固定值:新组织表的顶级组织code) | |
customer_properties | Integer | 客户性质 1:个人客户;2:政企客户 | ||
customer_name | String | 是 | 姓名+手机号唯一 | 客户名称 |
customer_phone | String | 是 | 电话号码 | |
communityId | Long | 是 | 项目空间id | |
e_customerId | Long | 是 | 4格客户id | |
identity_type | Integer | 证件类型, 1:身份证, 2:护照,3:组织机构代码(针对政府), 4:统一社会信用代码(针对企业),5:香港身份证,6:澳门身份证,7:台湾身份证,8:其他证件 | ||
identity | String | 证件号码 | ||
sex | Integer | 性别 1:女,2:男 | ||
face_ico | String | 人脸, 存储图片相对路径 | ||
status | Integer | 客户状态:1:有效 ;2:无效 默认是1 | ||
src | Integer | 帐号来源,1:自研系统,2:4A (前端传入固定是1;同步固定是2) |
请求示例:
{
"top_org_id":8829,
"top_org_code":"901",
"customer_name":"客户14-1",
"customer_phone":"13418770014",
"communityId":2,
"e_customerId":7,
"customer_properties":1,
"identity_type":1,
"identity":"430421199307280014",
"sex":1,
"face_ico":"iejdj00",
"status":1,
"src":2
}
返回示例:
{
"code":"200",
"message": "成功",
"result": true
}
10.2 客户失效/生效
请求信息
URL:/v1/iot/main/customer/change/effective
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
id | Long | 否(和e_customerId二者必填一个) | 客户id |
e_customerId | Long | 否 | 4格客户id |
status | Integer | 是 | 客户状态:1:有效 ;2:无效 |
请求示例:
{
"id": 9146,
"status":2
}
或者
{
"e_customerId": 7,
"status":2
}
返回示例:
{
"code":"200",
"message": "成功",
"result": true
}
10.3 根据 证件类型+证件号码查询员工
请求信息
URL:/v1/iot/main/customer/query/Identity
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
identity | String | 是 | 证件号码 | |
identity_type | Integer | 是 | 证件类型, 1:身份证, 2:护照,3:组织机构代码(针对政府), 4:统一社会信用代码(针对企业),5:港澳台身份证 | |
authOrg | Org | 是 | 业务组织对象,用于数据权限控制 |
authOrg
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
id | Long | 是 | 业务组织id |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织名 |
请求示例:
{
"identity_type": 1,
"identity":"430421199307280051",
"authOrg":{
"id":8829,
"org_code":"901",
"org_name":"美的集团-业务组织"
}
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": "2020-11-17T07:49:16.000+0000",
"id": 9867,
"top_org_id": 8829,
"top_org_code": "901",
"customer_properties": 1,
"identity_type": 1,
"identity": "430421199307280051",
"customer_name": "客户51_修改",
"sex": 1,
"customer_phone": "13418770051",
"face_ico": "iejdj51",
"status": 2,
"src": 1,
"customer_level": null,
"ids": null,
"e_customerId": null,
"relationOrgList": null,
"orgList": null,
"communityId": null,
"orgName": null,
"pageNo": null,
"pageSize": null,
"ecustomerIdList": null
}
}
10.3 分页查询客户
请求信息
URL:/v1/iot/main/customer/query/page
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
identity | String | 否 | 证件号码 | |
customer_name | String | 是 | 客户名称 | |
customer_phone | String | 否 | 电话号码 | |
status | Integer | 否 | 客户状态:1:有效 ;2:无效 默认是1 | |
identity_type | Integer | 否 | 证件类型, 1:身份证, 2:护照,3:组织机构代码(针对政府), 4:统一社会信用代码(针对企业),5:港澳台身份证 | |
customer_properties | Integer | 否 | 客户性质 1:个人客户;2:政企客户 | |
pageNo | Integer | 否 | 第几页 | |
pageSize | Integer | 否 | 每页大小 | |
communityId | Long | 否 | 小区id:用户做数据权限控制的 | |
orgList | List |
否 | 业务组织集合:用户做数据权限控制的 | |
authOrg | Org | 是 | 业务组织:用户做数据权限控制的 |
说明:
communityId,orgList,authOrg均可用于做数据隔离,三者的目的均是获取业务组织,根据业务组织框定客户的数据范围。三者不能同时生效。
优先级由到到低依次为:communityId,orgList,authOrg
authOrg字段说明:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
id | Long | 是 | 业务组织id |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织名 |
请求示例:
{
"status": 1,
"customer_properties": 1,
"customer_name": "客户",
"customer_phone": "134",
"identity_type": 1,
"identity":430421199307280051,
"pageNo": 1,
"pageSize": 10,
"orgList":[
{
"org_code":"901105109100"
},
{
"org_code":"901105109103"
}
]
}
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9867,
"top_org_id": 8829,
"top_org_code": "901",
"customer_properties": 1,
"identity_type": 1,
"identity": "430421199307280051",
"customer_name": "客户51_修改",
"sex": 1,
"customer_phone": "13418770051",
"face_ico": "iejdj51",
"status": 1,
"src": 1,
"customer_level": null,
"ids": null,
"e_customerId": null,
"relationOrgList": null,
"orgList": null,
"communityId": null,
"orgName": null,
"pageNo": null,
"pageSize": null,
"ecustomerIdList": null
}
],
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1
}
10.4 新增/修改客户-前端使用
请求信息
URL:/v1/iot/main/customer/update
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
id | Long | 新增为空;修改比天大 | id为空为新增,id不为空为修改 | |
customer_properties | Integer | 是 | 客户性质 1:个人客户;2:政企客户 | |
identity_type | Integer | 是 | 证件类型, 1:身份证, 2:护照,3:组织机构代码(针对政府), 4:统一社会信用代码(针对企业),5:港澳台身份证上 | |
identity | String | 是 | 证件号码 | |
customer_name | String | 是 | 客户名称 | |
sex | Integer | 是 | 性别 1:女,2:男 | |
customer_phone | String | 是 | 电话号码 | |
face_ico | String | 否 | 人脸, 存储图片相对路径 | |
status | Integer | 否 | 客户状态:1:有效 ;2:无效 默认是1 | |
src | Integer | 是 | 帐号来源,1:自研系统,2:4A (前端传入固定是1;同步固定是2) | |
relationOrgList | List |
否 | 客户关联组织集合 | |
authOrg | Org对象 | 是 | 用于控制数据权限的业务组织对象 |
authOrg
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
id | Long | 是 | 业务组织id |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织名 |
请求示例:
{
"customer_properties":1,
"identity_type":1,
"identity":430421199307280051,
"customer_name":"客户51_修改",
"sex":1,
"customer_phone":"13418770051",
"face_ico":"iejdj51",
"status":1,
"src":1,
"relationOrgList":[ //关联的组织集合
{
"id":9099, //组织id
"org_code":"901105109100", //组织编码
"selected":true //是否选中 选中为true
},
{
"id":9103,
"org_code":"901105109101",
"selected":true
},
{
"id":9104,
"org_code":"901105109102",
"selected":false //是否选中,未选中为false
}
]
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": "2020-11-17T07:30:25.505+0000",
"id": 9867,
"top_org_id": 8829,
"top_org_code": "901",
"customer_properties": 1,
"identity_type": 1,
"identity": "430421199307280051",
"customer_name": "客户51_修改",
"sex": 1,
"customer_phone": "13418770051",
"face_ico": "iejdj51",
"status": 1,
"src": 1,
"customer_level": null,
"ids": null,
"e_customerId": null,
"relationOrgList": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9099,
"org_code": "901105109100",
"org_name": null,
"parent_code": null,
"parentid": null,
"full_org_name": null,
"org_type": null,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"selected": true
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9103,
"org_code": "901105109101",
"org_name": null,
"parent_code": null,
"parentid": null,
"full_org_name": null,
"org_type": null,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"selected": true
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9104,
"org_code": "901105109102",
"org_name": null,
"parent_code": null,
"parentid": null,
"full_org_name": null,
"org_type": null,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"selected": false
}
],
"orgList": null,
"communityId": null,
"orgName": null,
"pageNo": null,
"pageSize": null,
"ecustomerIdList": null
}
}
10.5 简要新增/修改客户-信息认证审核使用
请求信息
URL:/v1/iot/main/customer/update/brief
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
identity_type | Integer | 是 | 证件类型, 1:身份证 (先固定传1) | |
identity | String | 是 | 证件号码 | |
customer_name | String | 是 | 客户名称 | |
customer_phone | String | 是 | 电话号码 | |
authOrg | Org对象 | 是 | 用于控制数据权限的业务组织对象 | |
relationOrgList | List |
是 | 客户关联的业务组织(小区对应的业务组织) |
authOrg
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
id | Long | 是 | 业务组织id |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织名 |
请求示例:
{
"identity_type":1,
"identity":430421199307280051,
"customer_name":"客户51_修改",
"customer_phone":"13418770051",
"authOrg":{
"id":8829,
"org_code":"901",
"org_name":"美的集团-业务组织"
}
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": "2020-11-17T07:30:25.505+0000",
"id": 9867,
"top_org_id": 8829,
"top_org_code": "901",
"customer_properties": 1,
"identity_type": 1,
"identity": "430421199307280051",
"customer_name": "客户51_修改",
"sex": 1,
"customer_phone": "13418770051",
"face_ico": "iejdj51",
"status": 1,
"src": 1,
"customer_level": null,
"ids": null,
"e_customerId": null,
"relationOrgList": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9099,
"org_code": "901105109100",
"org_name": null,
"parent_code": null,
"parentid": null,
"full_org_name": null,
"org_type": null,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"selected": true
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9103,
"org_code": "901105109101",
"org_name": null,
"parent_code": null,
"parentid": null,
"full_org_name": null,
"org_type": null,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"selected": true
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9104,
"org_code": "901105109102",
"org_name": null,
"parent_code": null,
"parentid": null,
"full_org_name": null,
"org_type": null,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"selected": false
}
],
"orgList": null,
"communityId": null,
"orgName": null,
"pageNo": null,
"pageSize": null,
"ecustomerIdList": null
}
}
10.6 客户详情页
请求信息
URL:/v1/iot/main/customer/detail
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
id | Long | 是 | 客户id |
请求示例:
{
"id":9152
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": "2020-11-17T07:49:16.000+0000",
"id": 9867,
"top_org_id": 8829, //顶级组织
"top_org_code": "901",//顶级组织id
"customer_properties": 1,
"identity_type": 1,
"identity": "430421199307280051",
"customer_name": "客户51_修改",
"sex": 1,
"customer_phone": "13418770051",
"face_ico": "iejdj51",
"status": 1,
"src": 1,
"customer_level": null,
"ids": null,
"e_customerId": null,
"relationOrgList": null,
"orgList": null,
"communityId": null,
"orgName": null,
"pageNo": null,
"pageSize": null,
"ecustomerIdList": null
}
}
10.7 获取权限范围内可得到和已选中的项目组织集合(修改)
返回
请求信息
URL:/v1/iot/main/customer/query/projects
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
id | Long | 否 | 客户id(能查到客户就带id,查不到id传id为null) |
orgName | Integer | 否 | 组织名称(用来过滤的) |
authOrg | Org | 是 | 业务组织对象,用于数据权限控制的 |
authOrg
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
id | Long | 是 | 业务组织id |
org_code | String | 是 | 业务组织code |
org_name | String | 是 | 业务组织名 |
请求示例:
{
"id":9104,
"orgName":"花园",
"authOrg":{
"id":8829,
"org_code":"901",
"org_name":"美的集团-业务组织"
}
}
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9103,//组织id
"org_code": "901105109101",//组织编码
"org_name": "简岸花园小区",
"parent_code": "901105109",
"parentid": 8831,
"full_org_name": "美的集团/美的物业/产业发展事业部-业务组织/部门1",
"org_type": 2,
"sub_type": 1,
"org_id": 0,
"src": 1,
"parent_org_id": 0,
"parent_name": null,
"children": null,
"list": null,
"selected": false, //是否被选中,false为没有被勾选 true为被勾选
"hasPropertyRelations": false //是否有产权 true:有产权,去掉勾选 false:无产权,可勾选
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9104,
"org_code": "901105109102",
"org_name": "海岸花园小区",
"parent_code": "901105109",
"parentid": 8831,
"full_org_name": "美的集团/美的物业/产业发展事业部-业务组织/部门2",
"org_type": 2,
"sub_type": 1,
"org_id": 0,
"src": 1,
"parent_org_id": 0,
"parent_name": null,
"children": null,
"list": null,
"selected": false,
"hasPropertyRelations": false
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
11 产权关系
11.1获取权限范围(指定业务组织)内可得到项目空间集合
请求信息
URL:/v1/iot/main/customer/house/relation/query/communitys
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
org_code | String | 是 | 业务组织编码,用户数据权限控制的 |
space_name | Integer | 否 | 空间名称(用来过滤的) |
needReturnZoneCount | boolean | 否 | 是否需要返回小区片区数量,为true时后端返回片区数量,为false时后端不返回片区数量 默认不放回片区数量 |
请求示例:
{
"org_code":"901",
"space_name":"花园"
}
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"id": 3280, //空间id 小区id
"parentid": 1572, //空间父节点id
"space_id": null, //4格系统空间id
"parent_space_id": null,
"community_id": null,//4格(小区)表主键
"space_name": "16栋_1单元_2602", //空间名
"full_space_name": "美的君兰江山(北滘)/16栋/1单元/26/16栋_1单元_2602", //空间全路径名称
"parent_code": "1000101410001024",//父节点空间编码
"space_code": "10001014100010241001",//空间编码
"space_type": "HOUSE", //'空间类型(细分类): COMMUNITY:小区、ZONE:片区、STRUCTURE:建筑物、BUILDING:楼栋、UNIT:单元、FLOOR:楼层、HOUSE:房屋、\r\nPARK:车场、PARK_NAME:车场名称、PARK_AREA:车场区域、PARK_SPACE:车位、PUBLIC_AREA:公共区域、PRIMARY_AREA:一级区域、SECONDARY_AREA:二级区域、THIRD_AREA:三级区域'
"src": 1, //数据来源:1:自研平台,2:四格
"org_id": null,//空间对应的 业务组织ID
"create_by": null,
"update_by": null,
"create_time": "2020-11-06T09:11:55.000+0000",
"update_time": null,
"directZoneNums": 0, //片区数量
},
...
],
"pageNo": 1,
"totalPage": 96,
"total": 1919,
"pageSize": 20,
"type": null
}
或
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-07T10:21:57.000+0000",
"update_time": "2020-11-11T05:59:25.000+0000",
"id": 9885,
"parentid": null,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "简岸花园",
"full_space_name": "简岸花园",
"parent_code": null,
"space_code": "1000",
"space_type": "COMMUNITY",
"space_sort": "COMMUNITY",
"src": 1,
"org_id": 9103,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0.0,
"lat": 0.0,
"children": null,
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
},
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-07T10:21:57.000+0000",
"update_time": "2020-11-11T05:59:25.000+0000",
"id": 9887,
"parentid": null,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "海岸花园",
"full_space_name": "海岸花园",
"parent_code": null,
"space_code": "1002",
"space_type": "COMMUNITY",
"space_sort": "COMMUNITY",
"src": 1,
"org_id": 9104,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0.0,
"lat": 0.0,
"children": null,
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
11.2 获取指定小区指定类型空间集合
请求信息
URL:/v1/iot/main/customer/house/relation/query/spaces
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
space_code | String | 是 | 最深层级空间Code |
space_type | String | 是 | '空间类型(细分类): COMMUNITY:小区、ZONE:片区、STRUCTURE:建筑物、BUILDING:楼栋、UNIT:单元、FLOOR:楼层、HOUSE:房屋、\r\nPARK:车场、PARK_NAME:车场名称、PARK_AREA:车场区域、PARK_SPACE:车位、PUBLIC_AREA:公共区域、PRIMARY_AREA:一级区域、SECONDARY_AREA:二级区域、THIRD_AREA:三级区域', |
space_name | String | 否 | 用来根据空间名称过滤的 |
请求示例:
{
"space_code":"1003",
"space_type":"ZONE"
}
或
{
"space_code":"1003",
"space_type":"STRUCTURE"
}
或
{
"space_code":"1003",
"space_type":"BUILDING"
}
或
{
"space_code":"1003",
"space_type":"HOUSE"
}
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"id": 3456, //空间id
"parentid": 1572, //空间父节点id
"space_id": null, //4格系统空间id
"parent_space_id": null,
"community_id": null,//4格(小区)表主键
"space_name": "16栋_1单元_2602", //空间名
"full_space_name": "美的君兰江山(北滘)/16栋/1单元/26/16栋_1单元_2602", //空间全路径名称
"parent_code": "1000101410001024",//父节点空间编码
"space_code": "10001014100010241001",//空间编码
"space_type": "HOUSE", //'空间类型(细分类): COMMUNITY:小区、ZONE:片区、STRUCTURE:建筑物、BUILDING:楼栋、UNIT:单元、FLOOR:楼层、HOUSE:房屋、\r\nPARK:车场、PARK_NAME:车场名称、PARK_AREA:车场区域、PARK_SPACE:车位、PUBLIC_AREA:公共区域、PRIMARY_AREA:一级区域、SECONDARY_AREA:二级区域、THIRD_AREA:三级区域'
"src": 1, //数据来源:1:自研平台,2:四格
"org_id": null,//空间对应的 业务组织ID
"create_by": null,
"update_by": null,
"create_time": "2020-11-06T09:11:55.000+0000",
"update_time": null,
},
...
],
"pageNo": 1,
"totalPage": 96,
"total": 1919,
"pageSize": 20,
"type": null
}
或
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": "2020-11-07T10:21:57.000+0000",
"update_time": "2020-11-11T05:59:25.000+0000",
"id": 9890,
"parentid": 9889,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "8栋",
"full_space_name": "简岸花园-建筑物8-8栋",
"parent_code": "1005",
"space_code": "100010051006",
"space_type": "BUILDING",
"space_sort": "STRUCTURE",
"src": 1,
"org_id": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0.0,
"lat": 0.0,
"children": null,
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null
}
],
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
11.3 产权关系(新增/修改)——系统录入
请求信息
URL:/v1/iot/main/customer/house/relation/update
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
id | Long | 是(新增时为空,修改时必填) | 主键id,修改时不为空,新增时为空; | |
type | Int | 是 | 产权类型1房屋;2车位 | |
space_id | Long | 是 | 空间id(房屋id或者车位id) | |
space_code | String | 是 | 空间编码 | |
space_name | String | 是 | 空间名 | |
full_space_name | String | 是 | 空间名全称 | |
area | Float | 面积 | ||
community_id | Long | 是 | 小区id | |
community_code | String | 是 | 小区空间编码 | |
community_name | String | 是 | 小区名 | |
customer_id | Long | 是 | 客户id | |
customer_type | Int | 是 | 客户类型(1业主 ;2业主成员;3租客;4租客成员),前端默认传1 | |
main_flag | int | 是 | 主业主标示(0非主业;主1主业主),前端默认传0 | |
housing_status | int | 是 | 客户住房状态(1000在住,1001暂离,1003迁出 ,1004注销),前端默认传1000 | |
src | Integer | 是 | 帐号来源,1:自研系统,2:4A (前端传入固定是1;同步固定是2) |
请求示例:
{
"id": 10048,
"type":1,
"space_id":9892,
"space_code":"10001005100610071008",
"space_name":"602",
"full_space_name":"简岸花园-建筑物8-8栋-6层-602",
"area":20.2,
"community_id":9885,
"community_code":"1000",
"community_name":"简岸花园",
"customer_id":9148,
"customer_type":1,
"main_flag":1,
"housing_status":1000,
"src":1,
"create_by": "system",
"create_time": "2020-11-19T14:21:00.000+0000"
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"create_by": "system",
"update_by": "system",
"create_time": "2020-11-19T14:21:00.000+0000",
"update_time": "2020-11-19T06:23:24.272+0000",
"id": 10048,
"type": 1,
"space_id": 9892,
"space_code": "10001005100610071008",
"space_name": "602",
"full_space_name": "简岸花园-建筑物8-8栋-6层-602",
"area": 20.2,
"community_name": "简岸花园",
"community_id": 9885,
"community_code": "1000",
"customer_id": 9148,
"customer_type": 1,
"main_flag": 1,
"housing_status": 1000,
"e_cus_hou_rel_id": null,
"e_customer_id": null,
"e_space_id": null,
"e_community_id": null,
"src": 1,
"org_code": null,
"space_type": null,
"relationCustomers": null,
"housingRecords": null
}
}
11.4 产权关系(新增/修改)——同步4格
请求信息
URL:/v1/iot/main/customer/house/relation/4g/update
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
e_cus_hou_rel_id | Long | 是 | 四格产权关系id | |
type | Int | 是 | 产权类型1房屋;2车位 | |
e_space_id | Long | 是 | 4g空间id | |
space_code | String | 空间编码 | ||
space_name | String | 空间名 | ||
full_space_name | String | 空间名全称 | ||
area | Float | 面积 | ||
e_community_id | Long | 是 | 四格小区id | |
community_code | String | 小区空间编码 | ||
community_name | String | 小区名 | ||
e_customer_id | Long | 是 | 4格客户id | |
customer_type | Int | 是 | 客户类型(1业主 ;2业主成员;3租客;4租客成员),前端默认传1 | |
main_flag | int | 是 | 主业主标示(0非主业;主1主业主),前端默认传0 | |
housing_status | int | 是 | 客户住房状态(1000在住,1001暂离,1003迁出 ,1004注销),前端默认传1000 | |
src | Integer | 是 | 帐号来源,1:自研系统,2:4A (前端传入固定是1;同步固定是2) |
请求示例:
{
"e_cus_hou_rel_id":1,
"e_space_id":277937,
"e_community_id":610,
"e_customer_id":1,
"type":1,
"area":20.2,
"customer_type":1,
"main_flag":1,
"housing_status":1001,
"src":2
}
返回示例:
{
"code":"200",
"message": "成功",
"result": true
}
11.5 产权关系查看—详情
请求信息
URL:/v1/iot/main/customer/house/relation/detail/relId
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
id | Long | 是 | 产权关系id |
请求示例:
{
"id":1
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": "2020-11-19T08:54:55.000+0000",
"id": 1,
"type": 1,
"space_id": 4238,
"space_code": "39831001100010121000",
"space_name": "1栋_1单元_1301-1",
"full_space_name": "美的君兰江山(北滘)/1栋/1单元/13/1栋_1单元_1301-1",
"area": 20.2,
"community_name": "美的君兰江山(北滘)-同步",
"community_id": 10264,
"community_code": "4889",
"customer_id": 9343,
"customer_type": 1,
"main_flag": 1,
"housing_status": 1000,
"e_cus_hou_rel_id": 1,
"e_customer_id": 1,
"e_space_id": 277937,
"e_community_id": 610,
"src": 2,
"org_code": null,
"space_type": null,
"relationCustomers": [
{
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": "2020-11-16T03:49:09.000+0000",
"id": 9343,
"top_org_id": 8829,
"top_org_code": "901",
"customer_properties": 1,
"identity_type": 1,
"identity": "430421199307280013",
"customer_name": "客户13",
"sex": 1,
"customer_phone": "13418770013",
"face_ico": "iejdj00",
"status": 2,
"src": 2,
"customer_level": null,
"ids": null,
"e_customerId": null,
"relationOrgList": null,
"orgList": null,
"communityId": null,
"orgName": null,
"spaceId": null,
"pageNo": null,
"pageSize": null,
"ecustomerIdList": null
}
],
"housingRecords": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 10060,
"customer_house_rel_id": 1,
"space_id": 4238,
"customer_id": 9343,
"customer_name": "客户13",
"housing_status": 1000
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 10263,
"customer_house_rel_id": 1,
"space_id": 4238,
"customer_id": 9343,
"customer_name": "客户13",
"housing_status": 1004
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 10264,
"customer_house_rel_id": 1,
"space_id": 4238,
"customer_id": 9343,
"customer_name": "客户13",
"housing_status": 1001
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 10267,
"customer_house_rel_id": 1,
"space_id": 4238,
"customer_id": 9343,
"customer_name": "客户13",
"housing_status": 1004
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 10268,
"customer_house_rel_id": 1,
"space_id": 4238,
"customer_id": 9343,
"customer_name": "客户13",
"housing_status": 1000
}
]
}
}
或
{
"code":"200",
"message": "成功",
"result":{
"id":1,
"type":1,
"space_id":1,
"space_code":"11101111",
"space_name":"1111",
"full_space_name":"11101111",
"area":20.2,
"community_id":3456,
"community_code":"1000",
"community_name":"1000",
"customer_id":1,
"customer_type":1,
"main_flag":0,
"housing_status":1000,
"src":1,
"relationCustomers":[//管理的客户集合
{
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": "2020-11-17T07:49:16.000+0000",
"id": 9867,//客户id
"top_org_id": 8829, //顶级组织
"top_org_code": "901",//顶级组织id
"customer_properties": 1,//客户属性
"identity_type": 1,//客户证件类型
"identity": "430421199307280051",//客户证件id
"customer_name": "客户51_修改",//客户名称
"sex": 1,//客户性别
"customer_phone": "13418770051",//客户电话
"face_ico": "iejdj51",//客户人脸
"status": 1,//客户状态
"src": 1,//来源,1:自研系统,2:4A (前端传入固定是1;同步固定是2)
},
...
],
"housingRecords":[ //住房日志集合
{
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": "2020-11-17T07:49:16.000+0000",
"id": 9867,//住房日志记录id,主键,自增长id
"customer_house_rel_id":1,//产权关系id --外键
"space_id":1,//空间ID(房间或车位)
"customer_id":1,//客户ID
"customer_name":"xiao",//客户名称
"housing_status":1000 //客户住房状态(1000在住,1001暂离,1003迁出 ,1004注销)
},
...
]
}
"pageNo": 1,
"totalPage": 96,
"total": 1919,
"pageSize": 20,
"type": null
}
11.6 房屋产权关系详情——之房屋信息和入住日志
请求信息
URL:/v1/iot/main/customer/house/relation/detail/spaceId
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
space_id | Long | 是 | 房屋或者车位空间id |
请求示例:
{
"space_id":4238
}
返回示例:
{
"code":"200",
"message": "成功",
"result": {
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": null,
"type": null,
"space_id": null,
"space_code": null,
"space_name": null,
"full_space_name": "美的君兰江山(北滘)/1栋/1单元/13/1栋_1单元_1301-1",
"area": 20.2,
"community_name": null,
"community_id": null,
"community_code": null,
"customer_id": null,
"customer_type": null,
"main_flag": null,
"housing_status": null,
"e_cus_hou_rel_id": null,
"e_customer_id": null,
"e_space_id": null,
"e_community_id": null,
"src": null,
"org_code": null,
"space_type": null,
"relationCustomers": null,
"housingRecords": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 10060,
"customer_house_rel_id": 1,
"space_id": 4238,
"customer_id": 9343,
"customer_name": "客户13",
"housing_status": 1000
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 10263,
"customer_house_rel_id": 1,
"space_id": 4238,
"customer_id": 9343,
"customer_name": "客户13",
"housing_status": 1004
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 10264,
"customer_house_rel_id": 1,
"space_id": 4238,
"customer_id": 9343,
"customer_name": "客户13",
"housing_status": 1001
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 10267,
"customer_house_rel_id": 1,
"space_id": 4238,
"customer_id": 9343,
"customer_name": "客户13",
"housing_status": 1004
},
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 10268,
"customer_house_rel_id": 1,
"space_id": 4238,
"customer_id": 9343,
"customer_name": "客户13",
"housing_status": 1000
}
]
}
}
或
{
"code":"200",
"message": "成功",
"result":{
"id":1,
"type":1,
"space_id":1,
"space_code":"11101111",
"space_name":"1111",
"full_space_name":"11101111",
"area":20.2,
"community_id":3456,
"community_code":"1000",
"community_name":"1000",
"customer_id":1,
"customer_type":1,
"main_flag":0,
"housing_status":1000,
"src":1,
"relationCustomers":[//管理的客户集合
{
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": "2020-11-17T07:49:16.000+0000",
"id": 9867,//客户id
"top_org_id": 8829, //顶级组织
"top_org_code": "901",//顶级组织id
"customer_properties": 1,//客户属性
"identity_type": 1,//客户证件类型
"identity": "430421199307280051",//客户证件id
"customer_name": "客户51_修改",//客户名称
"sex": 1,//客户性别
"customer_phone": "13418770051",//客户电话
"face_ico": "iejdj51",//客户人脸
"status": 1,//客户状态
"src": 1,//来源,1:自研系统,2:4A (前端传入固定是1;同步固定是2)
},
...
],
"housingRecords":[ //住房日志集合
{
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": "2020-11-17T07:49:16.000+0000",
"id": 9867,//住房日志记录id,主键,自增长id
"customer_house_rel_id":1,//产权关系id --外键
"space_id":1,//空间ID(房间或车位)
"customer_id":1,//客户ID
"customer_name":"xiao",//客户名称
"housing_status":1000 //客户住房状态(1000在住,1001暂离,1003迁出 ,1004注销)
},
...
]
}
"pageNo": 1,
"totalPage": 96,
"total": 1919,
"pageSize": 20,
"type": null
}
11.7 房屋产权关系详情——之客户列表分页查询
请求信息
URL:/v1/iot/main/customer/house/relation/customers/spaceId
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
space_id | Long | 是 | 房屋或者车位空间id | |
needReturnUserId | Boolean | 否 | 需要存在用户认证记录(true:返回认证用户id;false:不返回认证用户id 默认为false) | |
pageNo | Integer | 第几页 | ||
pageSize | Integer | 每页大小 |
请求示例:
{
"space_id":4238,
"pageNo": 1,
"pageSize": 2
}
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9343,
"top_org_id": 8829,
"top_org_code": "901",
"customer_properties": 1,
"identity_type": 1,
"identity": "430421199307280013",
"customer_name": "客户13",
"sex": 1,
"customer_phone": "13418770013",
"face_ico": "iejdj00",
"status": 2,
"src": 2,
"customer_level": null,
"ids": null,
"e_customerId": null,
"relationOrgList": null,
"orgList": null,
"communityId": null,
"orgName": null,
"space_id": null,
"pageNo": null,
"pageSize": null,
"ecustomerIdList": null,
"userId":111
}
],
"pageNo": 1,
"pageSize": 2,
"total": 1,
"totalPage": 1
}
11.8 分页查询产权关系列表
请求信息
URL:/v1/iot/main/customer/house/relation/query/page
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
space_code | String | 是 | 最深层级空间code | |
customer_name | String | 产权人名 | ||
customer_phone | String | 产权人电话 | ||
full_space_name | String | 产权空间全路径名称 | ||
customer_type | Integer | 客户类型(1业主 ;2业主成员;3租客;4租客成员) | ||
main_flag | Integer | 主业主标示(0非主业;主1主业主) | ||
housing_status | Integer | 客户住房状态(1000在住,1001暂离,1003迁出 ,1004注销) | ||
type | Integer | 产权类型1房屋;2车位 | ||
customer_id | Long | 客户id(产权人Id) | ||
pageNo | Integer | 第几页 | ||
pageSize | Integer | 每页大小 |
请求示例:
{
"space_code":"3983",
"customer_name": "客户",
"customer_phone": "134187",
"full_space_name": "美的君兰江山",
"customer_type": 1,
"main_flag": 1,
"housing_status": 1000,
"type": 1,
"customer_id":9343
}
返回示例:
{
"code":"200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": "system",
"create_time": null,
"update_time": null,
"id": 1,
"type": 1,
"space_id": 4238,
"space_code": "39831001100010121000",
"space_name": "1栋_1单元_1301-1",
"full_space_name": "美的君兰江山(北滘)/1栋/1单元/13/1栋_1单元_1301-1",
"area": 20.2,
"community_name": "美的君兰江山(北滘)-同步",
"community_id": 10264,
"community_code": "4889",
"customer_id": 9343,
"customer_type": 1,
"main_flag": 1,
"housing_status": 1000,
"e_cus_hou_rel_id": 1,
"e_customer_id": 1,
"e_space_id": 277937,
"e_community_id": 610,
"src": 2,
"org_code": null,
"space_type": null,
"relationCustomers": null,
"housingRecords": null,
"pageNo": null,
"pageSize": null,
"customer_name": "客户13",
"customer_phone": "13418770013"
}
],
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1
}
11.9 据客户id和产权类型分页查询产权关系对象(客户详情页面中使用)
请求信息
URL:/v1/iot/main/customer/house/relation/query/byCustomerId
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 是否唯一(默认否) | 说明 |
---|---|---|---|---|
customer_id | Integer | 是 | 客户id | |
type | Integer | 是 | 产权类型1房屋;2车位 | |
pageNo | Integer | 第几页 | ||
pageSize | Integer | 每页大小 |
请求示例:
{
"customer_id":9343,
"type":2,
"pageNo": 1,
"pageSize": 2
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"space_id": 20704,
"space_code": "100001001100000000100000001100000000100000000100000000",
"space_name": "zt101",
"community_name": "悦然寓",
"community_code": "100001001",
"customer_type": 2,
"main_flag": 0,
"housing_status": 1000,
"name1": "南区",
"name2": "车场",
"name3": "中庭区域",
"park_no": "10111" --车位编号
},
{
"space_id": 20902,
"space_code": "100001000100000001100000000100000000100000000",
"space_name": "1",
"community_name": "朱慧媛-小区2-勿动",
"community_code": "100001000",
"customer_type": 2,
"main_flag": 0,
"housing_status": 1000,
"name2": "车场",
"name3": "车场区域1",
"park_no": "cw001"
}
],
"pageNo": 1,
"pageSize": 2,
"total": 4,
"totalPage": 2
}
11.10 判断指定空间下面否有有效的产权
请求信息
URL:/v1/iot/main/customer/house/relation/hasProperty
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 | ||
---|---|---|---|---|---|
space_id | Long | 是 | 小区id |
请求示例:
{
"space_id":22234
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": true
}
12 信息认证
12.1分页查询认证列表
请求信息
URL:/v1/iot/main/auth/query/page
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
communityIdList | List |
是 | 小区空间id集合 |
space_code | String | 否 | 空间编码(空间选择器) |
user_name | String | 否 | 用户姓名 |
user_phone | String | 否 | 用户手机号 |
identity | String | 否 | 身份证 |
type | Integer | 否 | 产权类型1房屋;2车位 |
auth_type | Integer | 否 | 认证客户类型(1业主 ;2业主成员;3租客;4租客成员) |
approved_status | Integer | 否 | 审核状态1待审核;2已拒绝;3已认证 |
approval_type | Integer | 否 | 审核渠道:1业主审核,2租户审核,3管家审核,4后台审核,5系统审核 |
begin_sent_time | Date | 否 | 开始提交时间 |
end_sent_time | Date | 否 | 结束提交时间 |
begin_approved_time | Date | 否 | 开始审核时间 |
end_approved_time | Date | 否 | 结束审核时间 |
请求示例:
{
"communityIdList":[9888],
"space_code":"1003",
"user_name":"客户",
"user_phone":"1341",
"identity":"430421199307280001",
"type":1,
"auth_type":1,
"approved_status":2,
"approval_type":4,
"begin_approved_time":1606207215000,
"end_approved_time":1606207215000
}
返回示例:
{
"code": "200",
"message": "成功",
"result": [
{
"create_by": "system",
"update_by": "system",
"create_time": 1606206502000,
"update_time": 1606207215000,
"id": 11266,
"type": 1,
"space_id": 10468,
"space_code": "1003100110011001100110011001",
"space_name": "房间01-1",
"full_space_name": "云悦江山-片区1-建筑物1-楼栋1-单元1-楼层1-房间01-1",
"community_name": "云悦江山",
"community_id": 9888,
"community_code": "1003",
"customer_id": 9148,
"approved_status": 2,
"identity_type": 0,
"identity": "430421199307280001",
"user_id": 1,
"user_name": "客户2_user",
"user_phone": "13418777026",
"auth_type": 1,
"e_user_id": 0,
"sent_time": null,
"approved_time": 1606207215000,
"approval_type": 4,
"customer_house_rel": 0,
"approval_id": 1,
"approval_acount": "admin",
"approval_name": "admin",
"top_org_id": 8829,
"top_org_name": "美的集团-业务组织",
"top_org_code": "901",
"owner_tenant_name": null,
"owner_tenant_phone": null,
"auth_client": 2,
"remark": null,
"communityIdList": null,
"customerName": null,
"customerPhone": null,
"customerIdentity": null,
"assembleName": "云悦江山-片区1-建筑物1-楼栋1-单元1-楼层1-房间01-1",
"orgList": null,
"pageNo": null,
"pageSize": null,
"begin_sent_time": null,
"end_sent_time": null,
"begin_approved_time": null,
"end_approved_time": null
}
],
"pageNo": 1,
"pageSize": 10,
"total": 1,
"totalPage": 1
}
12.2认证记录详情
请求信息
URL:/v1/iot/main/auth/detail
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
id | Long | 是 | 认证记录id |
请求示例:
{
"id":11266
}
返回示例:
{
"code": "200",
"message": "成功",
"result": {
"create_by": "system",
"update_by": "system",
"create_time": 1606206502000,
"update_time": 1606289506000,
"id": 11266,
"type": 1,
"space_id": 10468,
"space_code": "1003100110011001100110011001",
"space_name": "房间01-1",
"full_space_name": "云悦江山-片区1-建筑物1-楼栋1-单元1-楼层1-房间01-1",
"community_name": "云悦江山",
"community_id": 9888,
"community_code": "1003",
"customer_id": 9148,
"approved_status": 3,
"identity_type": null,
"identity": "430421199307280001",
"user_id": 1,
"user_name": "客户2_user",
"user_phone": "13418777026",
"auth_type": 1,
"e_user_id": null,
"sent_time": null,
"approved_time": 1606289506000,
"approval_type": 4,
"customer_house_rel": null,
"approval_id": 1,
"approval_acount": null,
"approval_name": "system",
"top_org_id": 8829,
"top_org_name": "美的集团-业务组织",
"top_org_code": "901",
"owner_tenant_name": null,
"owner_tenant_phone": null,
"auth_client": 2,
"remark": null,
"communityIdList": null,
"customerName": "客户2",
"customerPhone": "13418770002",
"customerIdentity": "430421199307280001",
"assembleName": "楼栋1单元1房间01-1",
"orgList": null,
"pageNo": null,
"pageSize": null,
"begin_sent_time": null,
"end_sent_time": null,
"begin_approved_time": null,
"end_approved_time": null,
"authOrg": null,
"building": {
"create_by": null,
"update_by": null,
"create_time": 1604744517000,
"update_time": 1605074365000,
"id": 10459,
"parentid": 10456,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "楼栋1",
"full_space_name": "云悦江山/片区1/建筑物1/楼栋1",
"parent_code": "100310011001",
"space_code": "1003100110011001",
"space_type": "BUILDING",
"space_sort": "STRUCTURE",
"src": 1,
"org_id": null,
"status": 1,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0.0,
"lat": 0.0,
"children": null,
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null,
"org_id_name": null,
"_only_sub": true
},
"unit": {
"create_by": null,
"update_by": null,
"create_time": 1604744517000,
"update_time": 1605074365000,
"id": 10462,
"parentid": 10459,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "单元1",
"full_space_name": "云悦江山/片区1/建筑物1/楼栋1/单元1",
"parent_code": "1003100110011001",
"space_code": "10031001100110011001",
"space_type": "UNIT",
"space_sort": "STRUCTURE",
"src": 1,
"org_id": null,
"status": 1,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0.0,
"lat": 0.0,
"children": null,
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null,
"org_id_name": null,
"_only_sub": true
},
"floor": {
"create_by": null,
"update_by": null,
"create_time": 1604744517000,
"update_time": 1605074365000,
"id": 10465,
"parentid": 10462,
"space_id": null,
"parent_space_id": null,
"community_id": null,
"space_name": "楼层1",
"full_space_name": "云悦江山/片区1/建筑物1/楼栋1/单元1/楼层1",
"parent_code": "10031001100110011001",
"space_code": "100310011001100110011001",
"space_type": "FLOOR",
"space_sort": "STRUCTURE",
"src": 1,
"org_id": null,
"status": 1,
"hasRelated": null,
"province": null,
"city": null,
"district": null,
"detail": null,
"lon": 0.0,
"lat": 0.0,
"children": null,
"parent_name": null,
"org_ids": null,
"pageNo": 0,
"pageSize": 0,
"list": null,
"org_id_name": null,
"_only_sub": true
},
"relationOrgList": [
{
"create_by": "system",
"update_by": null,
"create_time": 1605135867000,
"update_time": null,
"id": 9105,
"org_code": "901105109103",
"org_name": "云悦江山小区",
"parent_code": "901105109",
"parentid": 8831,
"full_org_name": "美的集团/美的物业/产业发展事业部/云悦江山小区",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": 0,
"pageSize": 0,
"status": 1,
"selected": false,
"hasPropertyRelations": false,
"_only_sub": false
}
]
}
}
12.3 PC-新增认证
请求信息
URL:/v1/iot/main/auth/update
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 | ||
---|---|---|---|---|---|
type | Integer | 是 | 产权类型1房屋;2车位 | ||
space_id | Long | 是 | 空间id(房屋id) | ||
space_code | String | 是 | 空间编码 | ||
space_name | String | 是 | 空间名 | ||
full_space_name | String | 是 | 空间全路径名 | ||
community_id | Long | 是 | 小区空间id | ||
community_code | String | 是 | 小区空间编码 | ||
community_name | String | 是 | 小区名 | ||
customer_id | Long | 是 | 客户id | ||
identity | String | 是 | 证件号 | ||
auth_type | Integer | 是 | 认证客户类型(1业主 ;2业主成员;3租客;4租客成员) | ||
moveOutOtherUser | Boolean | 否 | 是否迁出同一身份证其他用户的产权,默认时不迁出历史数据 | ||
请求示例:
{
"type":1,
"space_id":10468,
"space_code":"1003100110011001100110011001",
"space_name":"房间01-1",
"full_space_name":"云悦江山-片区1-建筑物1-楼栋1-单元1-楼层1-房间01-1",
"community_id":9888,
"community_code":"1003",
"community_name":"云悦江山",
"customer_id":9148,
"identity":"430421199307280001",
"auth_type":1
}
返回示例:
{
"code":"200",
"message":"成功",
"result":{
"operateCode":"1999",
"operateMessage":"当前产权已被客户张**的188****1234认证,请确认是否继续,继续将迁出该手机号"
}
}
这种返回需要前端弹出页面让用户二次确认,用户点击确认时,入参moveOutOtherUser传true
或
{
"code": "200",
"message": "成功",
"result": {
"create_by": "system",
"update_by": "system",
"create_time": 1606206501966,
"update_time": 1606206514851,
"id": 11266,
"type": 1,
"space_id": 10468,
"space_code": "1003100110011001100110011001",
"space_name": "房间01-1",
"full_space_name": "云悦江山-片区1-建筑物1-楼栋1-单元1-楼层1-房间01-1",
"community_name": "云悦江山",
"community_id": 9888,
"community_code": "1003",
"customer_id": 9148,
"approved_status": 3,
"identity_type": null,
"identity": "430421199307280001",
"user_id": 1,
"user_name": "客户2_user",
"user_phone": "13418777026",
"auth_type": 1,
"e_user_id": null,
"sent_time": null,
"approved_time": 1606206514851,
"approval_type": 4,
"customer_house_rel": null,
"approval_id": 1,
"approval_acount": null,
"approval_name": "system",
"top_org_id": 8829,
"top_org_name": "美的集团-业务组织",
"top_org_code": "901",
"owner_tenant_name": null,
"owner_tenant_phone": null,
"auth_client": 2,
"remark": null,
"communityIdList": null,
"customerName": null,
"customerPhone": null,
"customerIdentity": null,
"assembleName": null,
"orgList": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 8829,
"org_code": "901",
"org_name": null,
"parent_code": null,
"parentid": null,
"full_org_name": null,
"org_type": null,
"sub_type": null,
"org_id": null,
"src": 0,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"selected": false,
"hasPropertyRelations": false
}
],
"pageNo": null,
"pageSize": null
}
}
12.4 PC-认证审核
请求信息
URL:/v1/iot/main/auth/auth
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 | ||
---|---|---|---|---|---|
type | Integer | 是 | 产权类型1房屋;2车位 | ||
space_id | Long | 是 | 空间id(房屋id) | ||
space_code | String | 是 | 空间编码 | ||
space_name | String | 是 | 空间名 | ||
full_space_name | String | 是 | 空间全路径名 | ||
community_id | Long | 是 | 小区空间id | ||
community_code | String | 是 | 小区空间编码 | ||
community_name | String | 是 | 小区名 | ||
customer_id | Long | 是 | 客户id | ||
identity | String | 是 | 证件号 | ||
auth_type | Integer | 是 | 认证客户类型(1业主 ;2业主成员;3租客;4租客成员) | ||
top_org_id | Long | 是 | 顶级组织id | ||
top_org_code | String | 是 | 顶级组织code | ||
top_org_name | String | 是 | 顶级组织名 | ||
id | Integer | 是 | 认证记录id | ||
approved_status | Integer | 是 | 审核状态1待审核;2已拒绝;3已认证 | ||
。。。 | 其他详情页返回的字段 | ||||
moveOutOtherUser | Boolean | 否 | 是否迁出同一身份证其他用户的产权,默认时不迁出历史数据 | ||
。。。 |
请求示例:
{
"create_by": "system",
"update_by": "system",
"create_time": 1606206501966,
"update_time": 1606206514851,
"id": 11266,
"type": 1,
"space_id": 10468,
"space_code": "1003100110011001100110011001",
"space_name": "房间01-1",
"full_space_name": "云悦江山-片区1-建筑物1-楼栋1-单元1-楼层1-房间01-1",
"community_name": "云悦江山",
"community_id": 9888,
"community_code": "1003",
"customer_id": 9148,
"approved_status": 2,
"identity_type": null,
"identity": "430421199307280001",
"user_id": 1,
"user_name": "客户2_user",
"user_phone": "13418777026",
"auth_type": 1,
"e_user_id": null,
"sent_time": null,
"approved_time": 1606206514851,
"approval_type": 4,
"customer_house_rel": null,
"approval_id": 1,
"approval_acount": null,
"approval_name": "system",
"top_org_id": 8829,
"top_org_name": "美的集团-业务组织",
"top_org_code": "901",
"owner_tenant_name": null,
"owner_tenant_phone": null,
"auth_client": 2,
"remark": null
}
返回示例:
{
"code":"200",
"message":"成功",
"result":{
"operateCode":"1999",
"operateMessage":"当前产权已被客户张**的188****1234认证,请确认是否继续,继续将迁出该手机号"
}
}
这种返回需要前端弹出页面让用户二次确认,用户点击确认时,入参moveOutOtherUser传true
或
{
"code": "200",
"message": "成功",
"result": true
}
12.5 判断指定小区下面是否有已认证通过和待审核的认证记录
请求信息
URL:/v1/iot/main/auth/hasAuth
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 | ||
---|---|---|---|---|---|
community_id | Long | 是 | 小区id |
请求示例:
{
"community_id":22372
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": true
}
13.2 业务组织删除管理员
请求信息
URL:/v1/iot/main/orgAdminRel/delete
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
adminIds | List |
是 | 员工id集合 |
org_id | Long | 是 | 业务组织id |
org_code | String | 是 | 业务组织code |
请求示例:
{
"adminIds":[8811,8812,8813],
"org_id":8831,
"org_code":"901105109"
}
返回示例:
{
"code": "200",
"message": "成功",
"result": true
}
13.3 分页查询业务组织已关联的管理员列表
请求信息
URL:/v1/iot/main/orgAdminRel/query/related/admins
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
org_id | Long | 是 | 业务组织id |
org_code | String | 是 | 业务组织code |
mobile | String | 否 | 管理员手机号 |
name | String | 否 | 管理员姓名 |
job_number | String | 否 | 管理员工号 |
pageNo | Integer | 否 | 第几页 |
pageSize | Integer | 否 | 每页大小 |
请求示例:
{
"org_id":8831,
"org_code":"901105109",
"pageNo":1,
"pageSize":2,
"name": "黄汝平",
"mobile": "13300007916",
"job_number": "huangrp5"
}
返回示例:
{
"code": "200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 8813,
"user_id": 2158404,
"org_id": 6423,
"mobile": "13300007916",
"org_code": "101105109",
"src": 2,
"nickname": null,
"ico": null,
"job_number": "huangrp5",
"pwd": null,
"name": "黄汝平",
"sex": 2,
"email": "huangrp5@midea.com",
"identity": null,
"type": 1,
"status": 1,
"last_login_time": null,
"pwd_modify_time": null,
"lock_time": null,
"login_fail_times": null,
"birthday": null,
"last_login": null,
"staff_no": null,
"position": null,
"is_supper": 1,
"face_ico": null,
"is_effective": null,
"roleNames": null,
"groupNames": null,
"ids": null,
"userIds": null,
"relationId": null,
"relationIds": null,
"groupId": null,
"adminOrgCodes": null,
"adminIds": null,
"pageNo": null,
"pageSize": null,
"client_id": null,
"client_secret": null,
"orgName": null,
"fullOrgName": null,
"org_type": null,
"rel_org_id": 6423,
"upperOrgAdmin": false //是否是上级组织的管理员 true代表是上级组织管理员,不可删除
}
],
"pageNo": 1,
"pageSize": 2,
"total": 1,
"totalPage": 1
}
13.4 分页查询业务组织可关联的管理员列表
请求信息
URL:/v1/iot/main/orgAdminRel/query/available/admins
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
org_id | Long | 是 | 业务组织id |
org_code | String | 是 | 业务组织code |
name | String | 否 | 管理员姓名 |
mobile | String | 否 | 管理员手机号 |
job_number | String | 否 | 管理员工号 |
pageNo | Integer | 否 | 第几页 |
pageSize | Integer | 否 | 每页大小 |
请求示例:
{
"org_id":8831,
"org_code":"901105109",
"pageNo":1,
"pageSize":2,
"name": "zhu002",
"mobile": "13400023666",
"job_number": "00002"
}
返回示例:
{
"code": "200",
"message": "成功",
"result": [
{
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": 9160,
"user_id": 0,
"org_id": 6419,
"mobile": "13400023666",
"org_code": "101",
"src": 1,
"nickname": null,
"ico": null,
"job_number": "00002",
"pwd": null,
"name": "zhu002",
"sex": 0,
"email": "13418777777@163.com",
"identity": "430421199307280002",
"type": 1,
"status": 2,
"last_login_time": null,
"pwd_modify_time": null,
"lock_time": null,
"login_fail_times": null,
"birthday": null,
"last_login": null,
"staff_no": "00002",
"position": "java开发",
"is_supper": 1,
"face_ico": null,
"is_effective": null,
"roleNames": null,
"groupNames": null,
"ids": null,
"userIds": null,
"relationId": null,
"relationIds": null,
"groupId": null,
"adminOrgCodes": null,
"adminIds": null,
"pageNo": null,
"pageSize": null,
"client_id": null,
"client_secret": null,
"orgName": null,
"fullOrgName": null,
"org_type": null,
"rel_org_id": null,
"upperOrgAdmin": false
}
],
"pageNo": 1,
"pageSize": 2,
"total": 1,
"totalPage": 1
}
13.5 验证产权和审核的客户身份是否不匹配
请求信息
URL:/v1/iot/main/auth/validate
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
customer_id | Long | 是 | 客户id |
space_code | String | 是 | 空间code |
auth_type | Long | 是 | 客户身份类型 |
请求示例:
{
"customer_id": 20972,
"space_code": "100001000100000000100000000100000000100000003100000000",
"auth_type": 3
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": {
"create_by": null,
"update_by": null,
"create_time": null,
"update_time": null,
"id": null,
"type": null,
"space_id": null,
"space_code": "100001000100000000100000000100000000100000003100000000",
"space_name": null,
"full_space_name": null,
"community_name": null,
"community_id": null,
"community_code": null,
"customer_id": 20972,
"approved_status": null,
"identity_type": null,
"identity": null,
"user_id": null,
"user_name": null,
"user_phone": null,
"auth_type": 3,
"e_user_id": null,
"sent_time": null,
"approved_time": null,
"approval_type": null,
"customer_house_rel": null,
"approval_id": null,
"approval_acount": null,
"approval_name": null,
"top_org_id": null,
"top_org_name": null,
"top_org_code": null,
"owner_tenant_name": null,
"owner_tenant_phone": null,
"auth_client": null,
"remark": null,
"communityIdList": null,
"customerName": null,
"customerPhone": null,
"customerIdentity": null,
"assembleName": null,
"orgList": null,
"pageNo": null,
"pageSize": null,
"begin_sent_time": null,
"end_sent_time": null,
"begin_approved_time": null,
"end_approved_time": null,
"authOrg": null,
"building": null,
"unit": null,
"floor": null,
"relationOrgList": null,
"moveOutOtherUser": false,
"coverCustomerHouseRel": false,
"operateCode": "2000",
"operateMessage": "当前产权的客户类型是业主"
}
}
14 app授权业务集团
14.1 获取业务组织集团下拉列表
说明:根据appId 和 app类型 返回所有业务组织集团,beRelByThisApp标志为true代表已被该appId选中 ,beRelByOtherApp标志为true代表已被其他同类型appId选中(置灰),cannotBeUnbind标志为true代表该appId不可以解绑该业务组织(该appId该集团下已有用户认证产权,不允许解绑)
请求信息
URL:/v1/iot/main/appTopOrgRel/list/byAppIdAndType
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
appId | String | 是 | appId |
app_type | Integer | 是 | app类型(app类型 1社区app ; 2管家app) |
请求示例:
{
"appId":123,
"app_type":1
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": [
{
"create_by": null,
"update_by": null,
"create_time": 1607438488000,
"update_time": 1607455728000,
"id": 15264,
"org_code": "100000001",
"org_name": "美的置业-业务",
"parent_code": null,
"parentid": null,
"full_org_name": "美的置业-业务",
"org_type": 2,
"sub_type": 2,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": 1,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"beRelByThisApp": true,
"beRelByOtherApp": false,
"cannotBeUnbind":true,
"_only_sub": false
},
{
"create_by": null,
"update_by": null,
"create_time": 1607607183000,
"update_time": 1607607183000,
"id": 16432,
"org_code": "100000092",
"org_name": "朱慧媛-新建集团-勿动",
"parent_code": null,
"parentid": null,
"full_org_name": "朱慧媛-新建集团-勿动",
"org_type": 2,
"sub_type": 1,
"org_id": null,
"src": 1,
"parent_org_id": null,
"parent_name": null,
"children": null,
"list": null,
"pageNo": null,
"pageSize": null,
"status": 1,
"selected": false,
"space_id": null,
"hasPropertyRelations": false,
"orderby": null,
"is_super": null,
"beRelByThisApp": true,
"beRelByOtherApp": false,
"cannotBeUnbind":true,
"_only_sub": false
}
],
"communitys": null,
"pageNo": 0,
"pageSize": 0,
"total": 0,
"totalPage": 0
}
14.2 保存app授权业务组织
请求信息
URL:/v1/iot/main/appTopOrgRel/update
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
appId | String | 是 | appId |
app_type | Integer | 是 | app类型(app类型 1社区app ; 2管家app) |
topOrgIds | List |
否 | 级业务组织id集合 |
请求示例:
{
"appId":123,
"app_type":1,
"topOrgIds":[15264]
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": true
}
14.3 根据appId获取app作用类型
请求信息
URL:/iot/main/appTopOrgRel/getAppType
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
appId | String | 是 | appId |
请求示例:
{
"appId":123
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": 1 //app类型 1社区app ; 2管家app,为null时前端默认1
}
15 菜单操作指引
15.1 获取指定菜单的操作指引
URL:/v1/iot/main/guidance/get
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
menu_id | Long | 是 | 菜单id |
请求示例:
{
"menu_id":30281
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": {
"create_by": null,
"update_by": null,
"create_time": 1611643156000,
"update_time": 1611643211000,
"id": 32486,
"menu_id": 30281,
"content": "111",
"menu_name":"菜单名",
"full_menu_name":"菜单全路径名"
}
}
15.2 保存指定菜单的操作指引
URL:/v1/iot/main/guidance/update
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
id | Long | 否 | 操作指引id |
menu_id | Long | 是 | 菜单id |
content | String | 否 | 指引内容 |
请求示例:
{
"id": 32487,
"menu_id":30284,
"content":"222"
}
返回示例:
{
"code": "200",
"message": "成功",
"version": null,
"result": {
"create_by": null,
"update_by": null,
"create_time": 1611643237000,
"update_time": 1611643256541,
"id": 32487,
"menu_id": 30284,
"content": "222"
}
}
18 超级管理员行使租户帐号初始化
18.1 创建顶级/行政业务组织 /v1/iot/main/org/update
18.2 顶级业务和行政相关联 /v1/iot/main/orgrel/business_admin_rel
18.3 新增管理员(角色) /v1/iot/main/supper/orgRoleAdminRel/update
自动完成:role(系统内置) org_role_rel(grant_by_supper), org_role_admin_rel (grant_by_supper)
18.4 新增员工帐号(人员管理/新增员工)
/v1/iot/main/admin/update
18.5 修改密码(员工列表/查看/修改密码)
v1/iot/main/admin/update/pwd
18.6 新增管理员
1, 查员工
select * from smart_cmty_org_role_admin_rel where admin_id = 32979;
+-------+--------+-----------+----------+---------+-----------+----------------+---------------------+---------------------+-----------+-----------+--------------------------+--------------------------+------------+-----------------+
| id | org_id | org_code | admin_id | role_id | role_name | system_default | create_time | update_time | create_by | update_by | org_name | org_full_name | admin_name | grant_by_supper |
+-------+--------+-----------+----------+---------+-----------+----------------+---------------------+---------------------+-----------+-----------+--------------------------+--------------------------+------------+-----------------+
| 32984 | 32847 | 100000239 | 32979 | 20463 | 管理员 | 2 | 2021-01-27 10:17:07 | 2021-01-27 10:17:07 | supperadm | supperadm | 姜鹏集团顶级业务 | 姜鹏集团顶级业务 | 张小 | 2 |
+-------+--------+-----------+----------+---------+-----------+----------------+---------------------+---------------------+-----------+-----------+--------------------------+--------------------------+------------+-----------------+
1 row in set (0.07 sec)
2, 查角色
mysql> select org_id, role_id from smart_cmty_org_role_rel where org_id = 32847;
+--------+---------+
| org_id | role_id |
+--------+---------+
| 32847 | 20463 |
+--------+---------+
1 row in set (0.04 sec)
mysql> select org_id, role_id,menu_id,grant_by_supper from smart_cmty_org_role_menu_rel where org_id = 32847 and role_id = 32874;
Empty set (0.04 sec)
3,查角色的菜单
mysql> select org_id, role_id,menu_id,grant_by_supper from smart_cmty_org_role_menu_rel where org_id = 32847 and role_id = 20463;
+--------+---------+---------+-----------------+
| org_id | role_id | menu_id | grant_by_supper |
+--------+---------+---------+-----------------+
| 32847 | 20463 | 30281 | 2 |
| 32847 | 20463 | 30284 | 2 |
| 32847 | 20463 | 30314 | 2 |
| 32847 | 20463 | 30324 | 2 |
| 32847 | 20463 | 30326 | 2 |
| 32847 | 20463 | 30328 | 2 |
| 32847 | 20463 | 30392 | 2 |
| 32847 | 20463 | 30396 | 2 |
| 32847 | 20463 | 30398 | 2 |
| 32847 | 20463 | 30401 | 2 |
| 32847 | 20463 | 30404 | 2 |
| 32847 | 20463 | 30407 | 2 |
| 32847 | 20463 | 30409 | 2 |
| 32847 | 20463 | 30410 | 2 |
| 32847 | 20463 | 30429 | 2 |
| 32847 | 20463 | 30433 | 2 |
| 32847 | 20463 | 30434 | 2 |
| 32847 | 20463 | 30436 | 2 |
| 32847 | 20463 | 30438 | 2 |
| 32847 | 20463 | 30520 | 2 |
+--------+---------+---------+-----------------+
20 rows in set (0.05 sec)
4,查业务组织的菜单
mysql> select org_id, menu_id, grant_by_supper from smart_cmty_org_menu_rel where org_id = 32847;
+--------+---------+-----------------+
| org_id | menu_id | grant_by_supper |
+--------+---------+-----------------+
| 32847 | 30281 | 2 |
| 32847 | 30284 | 2 |
| 32847 | 30314 | 2 |
| 32847 | 30324 | 2 |
| 32847 | 30326 | 2 |
| 32847 | 30328 | 2 |
| 32847 | 30392 | 2 |
| 32847 | 30396 | 2 |
| 32847 | 30398 | 2 |
| 32847 | 30401 | 2 |
| 32847 | 30404 | 2 |
| 32847 | 30407 | 2 |
| 32847 | 30409 | 2 |
| 32847 | 30410 | 2 |
| 32847 | 30429 | 2 |
| 32847 | 30433 | 2 |
| 32847 | 30434 | 2 |
| 32847 | 30436 | 2 |
| 32847 | 30438 | 2 |
| 32847 | 30520 | 2 |
+--------+---------+-----------------+
20 rows in set (0.04 sec)
19 角色接口重大调整
1、2 接口内置管理员信息需要屏弊:
1, 角色列表:/orgrolerel/query/page
2,应用授权:orgrolemenu/query/page
3, 系统内置管理员角色之前:
3.1 提示:先授予顶级业务组织菜单范围
3.2 授予顶级业务组织菜单范围后,保存内置管理员角色的同时,批量关联顶级业务组织的全量菜单。
接口:/v1/iot/main/supper/orgRoleAdminRel/update
业务组织、角色、菜单授权(grant_by_supper=2统一更新为grant_by_supper=1)
/orgrolemenu/rel
/orgroleadmin/rel
/orgmenu/rel: 业务组织(1:N)重新授权应用:
1, org_role_menu_rel 表会有更新(普通)。
2, org_menu_rel 重新生成。
orgrolerel/query/page (超管:角色可见)
orgrolerel/query/page
20 订阅中心统一生产消息接口
URL : /v1/iot/main/event/produce
微服务名称:iot-main-entry
POST:
Body:
{"topic", ""
"payload": JSONOBject
"timestamp": 13099081
}
订阅中心发送:kafkaTemplate.send(topic, JSONOBject)
返回 :{"code":"200","message":"成功}
注:payload中的内容JSONOBject是各需要发送kafka消息的透传协议,由订阅中心统一生产消息。
21 管家app消息发送相关接口
21.1 app上传设备信息,注册设备信息到阿里云
说明:app登陆成功后调用,消息头需要带tokeninfo
请求信息
URL:/v1/iot/main/adminMessage/upload/device/info
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
appId | String | 是 | appId 、appCode,比如1120 |
adminId | Long | 是 | 员工id |
appDeviceId | String | 是 | 设备id |
appDeviceToken | String | 是 | 设备token |
providerNo | String | 是 | AliyunPush |
appDeviceOs | String | 是 | 设备操作系统类型 |
envType | Integer | 否 | app运行模式,0 debug, 1 release,默认0 |
请求示例:
{
"appId":"1120",
"adminId":15678,
"appDeviceId" : "8f6576ea22bf4d4690eaa1aed3377b0b",
"appDeviceOs" : "iOS",
"appDeviceToken" : "3258261 49e2bb0 dbc9dc3 8561617 90ea10f 188dbc0 5fc2755 cbdd281 f38666dd",
"providerNo" : "AliyunPush",
"envType":0
}
返回示例:
{
"code": "200",
"message": "成功",
"result": true
}
21.2 删除设备信息
说明:app注销登陆后,由后端调用
请求信息
URL:/v1/iot/main/adminMessage/delete/device/info
Method: POST
body: JSON格式约定
入参dto:
字段 | 字段类型 | 是否必填(默认否) | 说明 |
---|---|---|---|
appId | String | 是 | appId 、appCode,比如1120 |
adminId | Long | 是 | 员工id |
请求示例:
{
"appId":"1120",
"adminId":15678
}
返回示例:
{
"code": "200",
"message": "成功",
"result": true
}
22 列表
22.1 设备品牌列表
说明:设备的品牌分类
请求信息
URL:/v1/iot/main/device/brands
Method: POST
body: 空
返回 :
{
"code":"200",
"message":"成功",
"result":
[
{ label: '捷顺', value: '1' },
{ label: '富士', value: '2' },
{ label: '大华', value: '3' },
{ label: '海康', value: '4' },
{ label: '拓桥', value: '5' },
{ label: '日驰', value: '6' },
{ label: '立林', value: '7' },
{ label: '其他', value: '0' }
]
}