From 4e12aa79fa3affb0d0dc3e5f9d368814702f8d2b Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 31 三月 2023 16:22:14 +0800
Subject: [PATCH] optimize owner member
---
service-common/src/main/java/com/java110/common/api/MachineApi.java | 95 +++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 87 insertions(+), 8 deletions(-)
diff --git a/service-common/src/main/java/com/java110/common/api/MachineApi.java b/service-common/src/main/java/com/java110/common/api/MachineApi.java
old mode 100644
new mode 100755
index 7ed714b..2a42916
--- a/service-common/src/main/java/com/java110/common/api/MachineApi.java
+++ b/service-common/src/main/java/com/java110/common/api/MachineApi.java
@@ -1,23 +1,23 @@
package com.java110.common.api;
import com.alibaba.fastjson.JSONObject;
+import com.java110.common.bmo.machine.IMachineHeartbeatBMO;
import com.java110.common.bmo.machine.IMachineOpenDoorBMO;
import com.java110.common.bmo.machine.ISaveMachineRecordBMO;
import com.java110.common.bmo.machine.IUpdateMachineTransactionStateBMO;
import com.java110.common.bmo.machineTranslateError.IGetMachineTranslateErrorBMO;
+import com.java110.dto.machine.MachineDto;
import com.java110.dto.machine.MachineRecordDto;
import com.java110.dto.machine.MachineTranslateDto;
import com.java110.dto.machineTranslateError.MachineTranslateErrorDto;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
+import org.slf4j.Logger;
+import com.java110.core.log.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestHeader;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
/**
* 璁惧鐩稿叧鎺ュ彛绫�
@@ -28,7 +28,10 @@
@RequestMapping(value = "/machine")
public class MachineApi {
+ private static Logger logger = LoggerFactory.getLogger(MachineApi.class);
+
private static final String USER_ROLE_OWNER = "owner";
+
@Autowired
private IMachineOpenDoorBMO machineOpenDoorBMOImpl;
@@ -40,6 +43,9 @@
@Autowired
private IUpdateMachineTransactionStateBMO updateMachineTransactionStateBMOImpl;
+
+ @Autowired
+ private IMachineHeartbeatBMO machineHeartbeatBMOImpl;
/**
* 璁惧寮�闂ㄥ姛鑳�
@@ -58,8 +64,48 @@
if (!USER_ROLE_OWNER.equals(reqJson.getString("userRole"))) { //杩欑涓� 鍛樺伐鐨勬儏鍐靛憿
reqJson.put("userId", userId);
}
- Assert.hasKeyAndValue(reqJson, "userId", "璇锋眰鎶ユ枃涓湭鍖呭惈璁惧淇℃伅");
+ Assert.hasKeyAndValue(reqJson, "userId", "璇锋眰鎶ユ枃涓湭鍖呭惈鐢ㄦ埛淇℃伅");
return machineOpenDoorBMOImpl.openDoor(reqJson);
+ }
+
+ /**
+ * 璁惧寮�闂ㄥ姛鑳�
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /machine/closeDoor
+ * @path /app/machine/closeDoor
+ */
+ @RequestMapping(value = "/closeDoor", method = RequestMethod.POST)
+ public ResponseEntity<String> closeDoor(@RequestBody JSONObject reqJson,
+ @RequestHeader(value = "user-id", required = false) String userId) {
+ Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈灏忓尯淇℃伅");
+ Assert.hasKeyAndValue(reqJson, "machineCode", "璇锋眰鎶ユ枃涓湭鍖呭惈璁惧淇℃伅");
+ Assert.hasKeyAndValue(reqJson, "userRole", "璇锋眰鎶ユ枃涓湭鍖呭惈鐢ㄦ埛瑙掕壊");
+ if (!USER_ROLE_OWNER.equals(reqJson.getString("userRole"))) { //杩欑涓� 鍛樺伐鐨勬儏鍐靛憿
+ reqJson.put("userId", userId);
+ }
+ Assert.hasKeyAndValue(reqJson, "userId", "璇锋眰鎶ユ枃涓湭鍖呭惈鐢ㄦ埛淇℃伅");
+ return machineOpenDoorBMOImpl.closeDoor(reqJson);
+ }
+
+
+
+ /**
+ * 璁惧浜岀淮鐮�
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /machine/getQRcode
+ * @path /app/machine/getQRcode
+ */
+ @RequestMapping(value = "/getQRcode", method = RequestMethod.POST)
+ public ResponseEntity<String> getQRcode(@RequestBody JSONObject reqJson) {
+ Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈灏忓尯淇℃伅");
+ Assert.hasKeyAndValue(reqJson, "userId", "璇锋眰鎶ユ枃涓湭鍖呭惈鐢ㄦ埛淇℃伅");
+ Assert.hasKeyAndValue(reqJson, "machineCode", "璇锋眰鎶ユ枃涓湭鍖呭惈璁惧淇℃伅");
+
+ return machineOpenDoorBMOImpl.getQRcode(reqJson);
}
/**
@@ -127,13 +173,23 @@
Assert.hasKeyAndValue(reqJson, "machineCode", "鏈寘鍚澶囩紪鐮�");
Assert.hasKeyAndValue(reqJson, "openTypeCd", "鏈寘鍚紑闂ㄦ柟寮�");
Assert.hasKeyAndValue(reqJson, "similar", "鏈寘鍚紑闂ㄧ浉浼煎害");
- Assert.hasKeyAndValue(reqJson, "photo", "鏈寘鍚姄鎷嶇収鐗�");
+ //Assert.hasKeyAndValue(reqJson, "photo", "鏈寘鍚姄鎷嶇収鐗�");
Assert.hasKeyAndValue(reqJson, "dateTime", "鏈寘鍚紑闂ㄦ椂闂�");
Assert.hasKeyAndValue(reqJson, "extCommunityId", "鏈寘鍚皬鍖轰俊鎭�");
Assert.hasKeyAndValue(reqJson, "recordTypeCd", "鏈寘鍚褰曠被鍨�");
MachineRecordDto machineRecordDto = BeanConvertUtil.covertBean(reqJson, MachineRecordDto.class);
machineRecordDto.setCommunityId(reqJson.getString("extCommunityId"));
machineRecordDto.setName(reqJson.getString("userName"));
+ if (reqJson.containsKey("idNumber")) {
+ machineRecordDto.setIdCard(reqJson.getString("idNumber"));
+ } else {
+ machineRecordDto.setIdCard("-1");
+ }
+ if (reqJson.containsKey("tel")) {
+ machineRecordDto.setTel(reqJson.getString("tel"));
+ } else {
+ machineRecordDto.setTel("-1");
+ }
return saveMachineRecordBMOImpl.saveRecord(machineRecordDto);
}
@@ -158,4 +214,27 @@
return updateMachineTransactionStateBMOImpl.update(machineRecordDto);
}
+ /**
+ * 鐗╄仈缃戠郴缁熻澶囧績璺�
+ *
+ * @param reqJson
+ * @return
+ * @serviceCode /machine/heartbeat
+ * @path /app/machine/heartbeat
+ */
+ @RequestMapping(value = "/heartbeat", method = RequestMethod.POST)
+ public ResponseEntity<String> heartbeat(@RequestBody JSONObject reqJson) {
+ Assert.hasKeyAndValue(reqJson, "taskId", "鏈寘鍚换鍔′俊鎭�");
+ Assert.hasKeyAndValue(reqJson, "machineCode", "鏈寘鍚澶囩紪鐮�");
+ Assert.hasKeyAndValue(reqJson, "heartbeatTime", "鏈寘鍚績璺虫椂闂�");
+ Assert.hasKeyAndValue(reqJson, "extCommunityId", "鏈寘鍚皬鍖篒D");
+ MachineDto machineDto = new MachineDto();
+ machineDto.setMachineCode(reqJson.getString("machineCode"));
+ machineDto.setCommunityId(reqJson.getString("extCommunityId"));
+ //machineDto.setHeartbeatTime(reqJson.getString("heartbeatTime"));
+ machineDto.setHeartbeatTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));//杩欓噷鑷繁鐢熸垚 涓嶈幏鍙栦紶閫掓椂闂� 鍥犱负鍙兘鏃堕挓涓嶄竴鑷� 瀵艰嚧鍓嶅彴鐘舵�佹樉绀轰笉姝e父
+
+ return machineHeartbeatBMOImpl.heartbeat(machineDto);
+ }
+
}
\ No newline at end of file
--
Gitblit v1.8.0