Просмотр исходного кода

加入业主对应的门禁设备

wuxw лет назад: 6
Родитель
Сommit
eee6c77a4c

+ 119 - 0
Api/src/main/java/com/java110/api/listener/owner/ListOwnerMachines.java

@@ -0,0 +1,119 @@
+package com.java110.api.listener.owner;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.api.listener.AbstractServiceApiListener;
+import com.java110.core.annotation.Java110Listener;
+import com.java110.core.context.DataFlowContext;
+import com.java110.core.smo.hardwareAdapation.IMachineInnerServiceSMO;
+import com.java110.core.smo.owner.IOwnerInnerServiceSMO;
+import com.java110.core.smo.room.IRoomInnerServiceSMO;
+import com.java110.dto.RoomDto;
+import com.java110.dto.hardwareAdapation.MachineDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.event.service.api.ServiceDataFlowEvent;
+import com.java110.utils.constant.ServiceCodeConstant;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.api.machine.ApiMachineDataVo;
+import com.java110.vo.api.machine.ApiMachineVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 查询业主或成员 对应门禁设备,一般是房屋门,单元门 小区大门
+ */
+@Java110Listener("listOwnerMachines")
+public class ListOwnerMachines extends AbstractServiceApiListener {
+
+    @Autowired
+    private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+
+    @Autowired
+    private IMachineInnerServiceSMO machineInnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
+
+    @Override
+    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "memberId", "请求报文中未包含业主信息");
+        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区信息");
+
+    }
+
+    @Override
+    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+        String communityId = reqJson.getString("communityId");
+        String memberId = reqJson.getString("memberId");
+
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setCommunityId(communityId);
+        ownerDto.setMemberId(memberId);
+        List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
+        Assert.listOnlyOne(ownerDtos, "存在多条业主数据或未找到业主数据");
+        String ownerId = ownerDtos.get(0).getOwnerId();
+
+        RoomDto roomDto = new RoomDto();
+        roomDto.setOwnerId(ownerId);
+        List<RoomDto> rooms = roomInnerServiceSMOImpl.queryRoomsByOwner(roomDto);
+
+        MachineDto machineDto = new MachineDto();
+        machineDto.setCommunityId(communityId);
+        List<String> locationObjIds = new ArrayList<>();
+        locationObjIds.add(communityId);
+        for (RoomDto tmpRoomDto : rooms) {
+            locationObjIds.add(tmpRoomDto.getUnitId());
+            locationObjIds.add(tmpRoomDto.getRoomId());
+        }
+        machineDto.setLocationObjIds(locationObjIds.toArray(new String[locationObjIds.size()]));
+        List<MachineDto> machineDtos = machineInnerServiceSMOImpl.queryMachines(machineDto);
+        if (machineDtos == null) {
+            machineDtos = new ArrayList<>();
+        }
+
+        ApiMachineVo apiMachineVo = new ApiMachineVo();
+        apiMachineVo.setPage(1);
+        apiMachineVo.setRecords(1);
+        apiMachineVo.setRows(machineDtos.size());
+        apiMachineVo.setMachines(BeanConvertUtil.covertBeanList(machineDtos, ApiMachineDataVo.class));
+        ResponseEntity responseEntity = new ResponseEntity(JSONObject.toJSONString(apiMachineVo), HttpStatus.OK);
+        context.setResponseEntity(responseEntity);
+    }
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeConstant.LIST_OWNER_MACHINES;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.GET;
+    }
+
+    @Override
+    public int getOrder() {
+        return DEFAULT_ORDER;
+    }
+
+    public IRoomInnerServiceSMO getRoomInnerServiceSMOImpl() {
+        return roomInnerServiceSMOImpl;
+    }
+
+    public void setRoomInnerServiceSMOImpl(IRoomInnerServiceSMO roomInnerServiceSMOImpl) {
+        this.roomInnerServiceSMOImpl = roomInnerServiceSMOImpl;
+    }
+
+    public IMachineInnerServiceSMO getMachineInnerServiceSMOImpl() {
+        return machineInnerServiceSMOImpl;
+    }
+
+    public void setMachineInnerServiceSMOImpl(IMachineInnerServiceSMO machineInnerServiceSMOImpl) {
+        this.machineInnerServiceSMOImpl = machineInnerServiceSMOImpl;
+    }
+}

+ 1 - 0
docs/document/_sidebar.md

@@ -83,6 +83,7 @@
   * [停车费清单](api/money/getParkingSpacePayFee.md)
   * [停车费清单](api/money/getParkingSpacePayFee.md)
   * [物业费清单](api/money/getPropertyPayFee.md)
   * [物业费清单](api/money/getPropertyPayFee.md)
   * [业主绑定](api/owner/appUserBindingOwner.md)
   * [业主绑定](api/owner/appUserBindingOwner.md)
+  * [业主门禁](api/owner/listOwnerMachines.md)
   
   
   
   
 
 

+ 83 - 0
docs/document/api/owner/listOwnerMachines.md

@@ -0,0 +1,83 @@
+
+
+**1\. 查询业主对应的位置设备信息**
+###### 接口功能
+> 用户通过APP查询业主对应的位置设备
+
+###### URL
+> [http://api.java110.com:8008/api/owner.queryOwnerMembers](http://api.java110.com:8008/api/owner.queryOwnerMembers)
+
+###### 支持格式
+> JSON
+
+###### HTTP请求方式
+> GET
+
+###### 请求参数(header部分)
+|参数名称|约束|类型|长度|描述|取值说明|
+| :-: | :-: | :-: | :-: | :-: | :-:|
+|app_id|1|String|30|应用ID|Api服务分配                      |
+|transaction_id|1|String|30|请求流水号|不能重复 1000000000+YYYYMMDDhhmmss+6位序列 |
+|sign|1|String|-|签名|请参考签名说明|
+|req_time|1|String|-|请求时间|YYYYMMDDhhmmss|
+
+###### 请求参数(url部分)
+|参数名称|约束|类型|长度|描述|取值说明|
+| :-: | :-: | :-: | :-: | :-: | :-: |
+|memberId|1|String|30|业主成员ID|-|
+|communityId|1|String|30|小区ID|-|
+
+###### 返回协议
+
+当http返回状态不为200 时请求处理失败 body内容为失败的原因
+
+当http返回状态为200时请求处理成功,body内容为返回内容,
+
+|父参数名称|参数名称|约束|类型|长度|描述|取值说明|
+| :-: | :-: | :-: | :-: | :-: | :-: | :-: |
+|-|machines|1|Array|-|设备信息|-|
+|machines|machineId|1|String|30|设备ID|-|
+|machines|machineCode|1|String|30|设备编码|-|
+|machines|machineVersion|1|String|12|设备版本|-|
+|machines|machineName|1|String|100|设备名称|-|
+|machines|locationTypeCd|1|String|12|位置类型|位置类型,1000 东大门  1001 西大门 1002 北大门 1003 南大门 2000 单元门 3000 房屋门|
+|machines|locationObjName|?|String|30|位置名称|-|
+|machines|locationObjId|?|String|12|位置对象ID|-|
+
+
+
+
+###### 举例
+> 地址:[http://api.java110.com:8008/api/owner.queryOwnerMembers?memberId=772019091360360003&communityId=7020181217000001](http://api.java110.com:8008/api/owner.queryOwnerMembers?memberId=772019091360360003&communityId=7020181217000001)
+
+``` javascript
+请求头信息:
+Content-Type:application/json
+USER_ID:1234
+APP_ID:8000418002
+TRANSACTION_ID:10029082726
+REQ_TIME:20181113225612
+SIGN:aabdncdhdbd878sbdudn898
+请求报文:
+
+无
+
+返回报文:
+{
+	"machines": [{
+		"age": "1",
+		"machineId": "123",
+		"machineCode": "Acc009",
+		"machineVersion": "v1.0",
+		"machineName": "门禁大门位置测试",
+		"locationTypeCd": "1000",
+		"locationObjName": "东大门",
+		"locationObjId": "7020181217000001"
+	}],
+	"page": 0,
+	"records": 1,
+	"rows": 0,
+	"total": 1
+}
+
+```

+ 1 - 2
docs/document/api/owner/queryOwnerMembers.md

@@ -5,7 +5,7 @@
 > 用户通过web端或APP查询业主成员信息
 > 用户通过web端或APP查询业主成员信息
 
 
 ###### URL
 ###### URL
-> [http://api.java110.com:8008/api/owner.queryOwnerMembers](http://api.java110.com:8008/api/owner.queryOwnerMembers)
+> [http://api.java110.com:8008/api/owner.listOwnerMachines](http://api.java110.com:8008/api/owner.listOwnerMachines)
 
 
 ###### 支持格式
 ###### 支持格式
 > JSON
 > JSON
@@ -26,7 +26,6 @@
 | :-: | :-: | :-: | :-: | :-: | :-: |
 | :-: | :-: | :-: | :-: | :-: | :-: |
 |ownerId|1|String|30|业主ID|-|
 |ownerId|1|String|30|业主ID|-|
 |communityId|1|String|30|小区ID|-|
 |communityId|1|String|30|小区ID|-|
-|ownerTypeCd|1|String|12|业主成员1002|-|
 
 
 ###### 返回协议
 ###### 返回协议
 
 

+ 5 - 0
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeConstant.java

@@ -442,6 +442,11 @@ public class ServiceCodeConstant {
      */
      */
     public static final String LIST_APPUSERBINDINGOWNERS = "owner.listAppUserBindingOwners";
     public static final String LIST_APPUSERBINDINGOWNERS = "owner.listAppUserBindingOwners";
 
 
+    /**
+     * 查询 业主门禁
+     */
+    public static final String LIST_OWNER_MACHINES = "owner.listOwnerMachines";
+
 
 
     /**
     /**
      * 修改 审核业主绑定
      * 修改 审核业主绑定