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

车辆黑白名单同步IOT设备

java110 лет назад: 5
Родитель
Сommit
f53e7e9fae

+ 2 - 0
java110-bean/src/main/java/com/java110/dto/machine/MachineTranslateDto.java

@@ -42,6 +42,8 @@ public class MachineTranslateDto extends PageDto implements Serializable {
     public static final String CMD_ADD_OWNER_CAR = "701";
     public static final String CMD_UPDATE_OWNER_CAR = "702";
     public static final String CMD_DELETE_OWNER_CAR = "703";
+    public static final String CMD_ADD_CAR_BLACK_WHITE = "801";
+    public static final String CMD_DELETE_CAR_BLACK_WHITE = "803";
     public static final String CMD_OPEN_DOOR = "5";
 
     //小区信息

+ 10 - 3
service-job/src/main/java/com/java110/job/adapt/hcIot/IotConstant.java

@@ -59,12 +59,19 @@ public class IotConstant {
     //删除停车场
     public static final String DELETE_PARKING_AREA_URL = "/extApi/parkingArea/deleteParkingArea";
 
-    //添加停车场
+    //添加车辆
     public static final String ADD_OWNER_CAR_URL = "/extApi/car/addCar";
-    //修改停车场
+    //修改车辆
     public static final String UPDATE_OWNER_CAR_URL = "/extApi/car/updateCar";
-    //删除停车场
+    //删除车辆
     public static final String DELETE_OWNER_CAR_URL = "/extApi/car/deleteCar";
+
+    //添加车辆
+    public static final String ADD_CAR_BLACK_WHITE_URL = "/extApi/car/addBlackWhite";
+
+    //删除车辆
+    public static final String DELETE_CAR_BLACK_WHITE_URL = "/extApi/car/deleteBlackWhite";
+
     //开门接口
     public static final String OPEN_DOOR = "/extApi/machine/openDoor";
     //重启接口

+ 4 - 0
service-job/src/main/java/com/java110/job/adapt/hcIot/asyn/IIotSendAsyn.java

@@ -110,4 +110,8 @@ public interface IIotSendAsyn {
     void updateOwnerCar(JSONObject postParameters);
 
     void deleteOwnerCar(JSONObject postParameters);
+
+    void addCarBlackWhite(JSONObject postParameters);
+
+    void deleteCarBlackWhite(JSONObject postParameters);
 }

+ 201 - 166
service-job/src/main/java/com/java110/job/adapt/hcIot/asyn/impl/IotSendAsynImpl.java

@@ -34,7 +34,11 @@ import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.*;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
@@ -51,6 +55,9 @@ import java.util.List;
 public class IotSendAsynImpl implements IIotSendAsyn {
     private static final Logger logger = LoggerFactory.getLogger(IotSendAsynImpl.class);
 
+    private static final String DEFAULT_MACHINE_CODE = "-";
+    private static final String DEFAULT_MACHINE_ID = "-";
+
 
     @Autowired
     private RestTemplate outRestTemplate;
@@ -99,17 +106,10 @@ public class IotSendAsynImpl implements IIotSendAsyn {
     @Override
     @Async
     public void addCommunity(JSONObject postParameters) {
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_ADD_COMMUNITY);
-        machineTranslateDto.setMachineCode("-");
-        machineTranslateDto.setMachineId("-");
-        machineTranslateDto.setObjId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setObjName(postParameters.getString("name"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_COMMUNITY);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters,
+                MachineTranslateDto.CMD_ADD_COMMUNITY,
+                DEFAULT_MACHINE_CODE,
+                DEFAULT_MACHINE_ID, "extCommunityId", "name", MachineTranslateDto.TYPE_COMMUNITY);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.ADD_COMMUNITY_URL);
         try {
@@ -138,17 +138,9 @@ public class IotSendAsynImpl implements IIotSendAsyn {
     @Override
     @Async
     public void editCommunity(JSONObject postParameters) {
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_UPDATE_COMMUNITY);
-        machineTranslateDto.setMachineCode("-");
-        machineTranslateDto.setMachineId("-");
-        machineTranslateDto.setObjId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setObjName(postParameters.getString("name"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_COMMUNITY);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters,
+                MachineTranslateDto.CMD_UPDATE_COMMUNITY,
+                DEFAULT_MACHINE_CODE, DEFAULT_MACHINE_ID, "extCommunityId", "name", MachineTranslateDto.TYPE_COMMUNITY);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.UPDATE_COMMUNITY_URL);
         try {
@@ -179,17 +171,10 @@ public class IotSendAsynImpl implements IIotSendAsyn {
     @Override
     @Async
     public void deleteCommunity(JSONObject postParameters) {
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_DELETE_COMMUNITY);
-        machineTranslateDto.setMachineCode("-");
-        machineTranslateDto.setMachineId("-");
-        machineTranslateDto.setObjId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setObjName(postParameters.getString("name"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_COMMUNITY);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters,
+                MachineTranslateDto.CMD_DELETE_COMMUNITY,
+                DEFAULT_MACHINE_CODE, DEFAULT_MACHINE_ID,
+                "extCommunityId", "name", MachineTranslateDto.TYPE_COMMUNITY);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.DELETE_COMMUNITY_URL);
         try {
@@ -225,17 +210,9 @@ public class IotSendAsynImpl implements IIotSendAsyn {
     @Override
     @Async
     public void addMachine(JSONObject postParameters, List<JSONObject> ownerDtos) {
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_ADD_MACHINE);
-        machineTranslateDto.setMachineCode(postParameters.getString("machineCode"));
-        machineTranslateDto.setMachineId(postParameters.getString("extMachineId"));
-        machineTranslateDto.setObjId(postParameters.getString("extMachineId"));
-        machineTranslateDto.setObjName(postParameters.getString("machineName"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_MACHINE);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters, MachineTranslateDto.CMD_ADD_MACHINE,
+                postParameters.getString("machineCode"), postParameters.getString("extMachineId"),
+                "extMachineId", "machineName", MachineTranslateDto.TYPE_MACHINE);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.ADD_MACHINE_URL);
         try {
@@ -287,17 +264,10 @@ public class IotSendAsynImpl implements IIotSendAsyn {
     @Override
     @Async
     public void updateMachine(JSONObject postParameters) {
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_UPDATE_MACHINE);
-        machineTranslateDto.setMachineCode(postParameters.getString("machineCode"));
-        machineTranslateDto.setMachineId(postParameters.getString("extMachineId"));
-        machineTranslateDto.setObjId(postParameters.getString("extMachineId"));
-        machineTranslateDto.setObjName(postParameters.getString("machineName"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_MACHINE);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters, MachineTranslateDto.CMD_UPDATE_MACHINE,
+                postParameters.getString("machineCode"),
+                postParameters.getString("extMachineId"),
+                "extMachineId", "machineName", MachineTranslateDto.TYPE_MACHINE);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.UPDATE_MACHINE_URL);
         try {
@@ -342,17 +312,12 @@ public class IotSendAsynImpl implements IIotSendAsyn {
 
     @Override
     public void deleteMachine(JSONObject postParameters) {
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_DELETE_MACHINE);
-        machineTranslateDto.setMachineCode(postParameters.getString("machineCode"));
-        machineTranslateDto.setMachineId(postParameters.getString("extMachineId"));
-        machineTranslateDto.setObjId(postParameters.getString("extMachineId"));
-        machineTranslateDto.setObjName(postParameters.getString("machineName"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_MACHINE);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters, MachineTranslateDto.CMD_DELETE_MACHINE,
+                postParameters.getString("machineCode"),
+                postParameters.getString("extMachineId"),
+                "extMachineId",
+                "machineName",
+                MachineTranslateDto.TYPE_MACHINE);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.DELETE_MACHINE_URL);
         try {
@@ -389,17 +354,12 @@ public class IotSendAsynImpl implements IIotSendAsyn {
     @Override
     public void addOwner(JSONObject postParameters) {
 
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_ADD_OWNER_FACE);
-        machineTranslateDto.setMachineCode(postParameters.getString("machineCode"));
-        machineTranslateDto.setMachineId(postParameters.getString("extMachineId"));
-        machineTranslateDto.setObjId(postParameters.getString("userId"));
-        machineTranslateDto.setObjName(postParameters.getString("name"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_OWNER);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters, MachineTranslateDto.CMD_ADD_OWNER_FACE,
+                postParameters.getString("machineCode"),
+                postParameters.getString("extMachineId"),
+                "userId",
+                "name",
+                MachineTranslateDto.TYPE_OWNER);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.ADD_OWNER);
         try {
@@ -438,17 +398,11 @@ public class IotSendAsynImpl implements IIotSendAsyn {
 
     @Override
     public void sendUpdateOwner(JSONObject postParameters) {
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_UPDATE_OWNER_FACE);
-        machineTranslateDto.setMachineCode(postParameters.getString("machineCode"));
-        machineTranslateDto.setMachineId(postParameters.getString("extMachineId"));
-        machineTranslateDto.setObjId(postParameters.getString("userId"));
-        machineTranslateDto.setObjName(postParameters.getString("name"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_OWNER);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters, MachineTranslateDto.CMD_UPDATE_OWNER_FACE,
+                postParameters.getString("machineCode"),
+                postParameters.getString("extMachineId"),
+                "userId", "name",
+                MachineTranslateDto.TYPE_OWNER);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.EDIT_OWNER);
         try {
@@ -487,17 +441,13 @@ public class IotSendAsynImpl implements IIotSendAsyn {
     @Override
     public void sendDeleteOwner(JSONObject postParameters) {
 
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_DELETE_OWNER_FACE);
-        machineTranslateDto.setMachineCode(postParameters.getString("machineCode"));
-        machineTranslateDto.setMachineId(postParameters.getString("extMachineId"));
-        machineTranslateDto.setObjId(postParameters.getString("userId"));
-        machineTranslateDto.setObjName(postParameters.getString("name"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_OWNER);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters,
+                MachineTranslateDto.CMD_DELETE_OWNER_FACE,
+                postParameters.getString("machineCode"),
+                postParameters.getString("extMachineId"),
+                "userId",
+                "name",
+                MachineTranslateDto.TYPE_OWNER);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.DELETE_OWNER);
         try {
@@ -573,17 +523,12 @@ public class IotSendAsynImpl implements IIotSendAsyn {
 
     @Override
     public void addParkingArea(JSONObject postParameters) {
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_ADD_PARKING_AREA);
-        machineTranslateDto.setMachineCode("-");
-        machineTranslateDto.setMachineId("-");
-        machineTranslateDto.setObjId(postParameters.getString("extPaId"));
-        machineTranslateDto.setObjName(postParameters.getString("num"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_PARKING_AREA);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters, MachineTranslateDto.CMD_ADD_PARKING_AREA,
+                DEFAULT_MACHINE_CODE,
+                DEFAULT_MACHINE_ID,
+                "extPaId",
+                "num",
+                MachineTranslateDto.TYPE_PARKING_AREA);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.ADD_PARKING_AREA_URL);
         try {
@@ -624,17 +569,12 @@ public class IotSendAsynImpl implements IIotSendAsyn {
 
     @Override
     public void updateParkingArea(JSONObject postParameters) {
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_UPDATE_PARKING_AREA);
-        machineTranslateDto.setMachineCode("-");
-        machineTranslateDto.setMachineId("-");
-        machineTranslateDto.setObjId(postParameters.getString("extPaId"));
-        machineTranslateDto.setObjName(postParameters.getString("num"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_PARKING_AREA);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters, MachineTranslateDto.CMD_UPDATE_PARKING_AREA,
+                DEFAULT_MACHINE_CODE,
+                DEFAULT_MACHINE_ID,
+                "extPaId",
+                "num",
+                MachineTranslateDto.TYPE_PARKING_AREA);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.UPDATE_PARKING_AREA_URL);
         try {
@@ -675,17 +615,12 @@ public class IotSendAsynImpl implements IIotSendAsyn {
 
     @Override
     public void deleteParkingArea(JSONObject postParameters) {
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_DELETE_PARKING_AREA);
-        machineTranslateDto.setMachineCode("-");
-        machineTranslateDto.setMachineId("-");
-        machineTranslateDto.setObjId(postParameters.getString("extPaId"));
-        machineTranslateDto.setObjName(postParameters.getString("num"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_PARKING_AREA);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters, MachineTranslateDto.CMD_DELETE_PARKING_AREA,
+                DEFAULT_MACHINE_CODE,
+                DEFAULT_MACHINE_ID,
+                "extPaId",
+                "num",
+                MachineTranslateDto.TYPE_PARKING_AREA);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.DELETE_PARKING_AREA_URL);
         try {
@@ -726,17 +661,13 @@ public class IotSendAsynImpl implements IIotSendAsyn {
 
     @Override
     public void addOwnerCar(JSONObject postParameters) {
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_ADD_OWNER_CAR);
-        machineTranslateDto.setMachineCode("-");
-        machineTranslateDto.setMachineId("-");
-        machineTranslateDto.setObjId(postParameters.getString("extCarId"));
-        machineTranslateDto.setObjName(postParameters.getString("carNum"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_OWNER_CAR);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters,
+                MachineTranslateDto.CMD_ADD_OWNER_CAR,
+                DEFAULT_MACHINE_CODE,
+                DEFAULT_MACHINE_ID,
+                "extCarId",
+                "carNum",
+                MachineTranslateDto.TYPE_OWNER_CAR);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.ADD_OWNER_CAR_URL);
         try {
@@ -777,17 +708,12 @@ public class IotSendAsynImpl implements IIotSendAsyn {
 
     @Override
     public void updateOwnerCar(JSONObject postParameters) {
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_UPDATE_OWNER_CAR);
-        machineTranslateDto.setMachineCode("-");
-        machineTranslateDto.setMachineId("-");
-        machineTranslateDto.setObjId(postParameters.getString("extCarId"));
-        machineTranslateDto.setObjName(postParameters.getString("carNum"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_OWNER_CAR);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters, MachineTranslateDto.CMD_UPDATE_OWNER_CAR,
+                DEFAULT_MACHINE_CODE,
+                DEFAULT_MACHINE_ID,
+                "extCarId",
+                "carNum",
+                MachineTranslateDto.TYPE_OWNER_CAR);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.UPDATE_OWNER_CAR_URL);
         try {
@@ -828,17 +754,12 @@ public class IotSendAsynImpl implements IIotSendAsyn {
 
     @Override
     public void deleteOwnerCar(JSONObject postParameters) {
-        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
-        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
-        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
-        machineTranslateDto.setMachineCmd(MachineTranslateDto.CMD_DELETE_OWNER_CAR);
-        machineTranslateDto.setMachineCode("-");
-        machineTranslateDto.setMachineId("-");
-        machineTranslateDto.setObjId(postParameters.getString("extCarId"));
-        machineTranslateDto.setObjName(postParameters.getString("carNum"));
-        machineTranslateDto.setTypeCd(MachineTranslateDto.TYPE_OWNER_CAR);
-        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
-        machineTranslateDto.setRemark("同步物联网系统成功");
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters, MachineTranslateDto.CMD_DELETE_OWNER_CAR,
+                DEFAULT_MACHINE_CODE,
+                DEFAULT_MACHINE_ID,
+                "extCarId",
+                "carNum",
+                MachineTranslateDto.TYPE_OWNER_CAR);
         ResponseEntity<String> responseEntity = null;
         String url = IotConstant.getUrl(IotConstant.DELETE_OWNER_CAR_URL);
         try {
@@ -877,6 +798,120 @@ public class IotSendAsynImpl implements IIotSendAsyn {
         }
     }
 
+    @Override
+    public void addCarBlackWhite(JSONObject postParameters) {
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters,
+                MachineTranslateDto.CMD_ADD_CAR_BLACK_WHITE,
+                DEFAULT_MACHINE_CODE,
+                DEFAULT_MACHINE_ID,
+                "extBwId",
+                "carNum",
+                MachineTranslateDto.TYPE_OWNER_CAR);
+        ResponseEntity<String> responseEntity = null;
+        String url = IotConstant.getUrl(IotConstant.ADD_CAR_BLACK_WHITE_URL);
+        try {
+            postParameters.put("taskId", machineTranslateDto.getMachineTranslateId());
+            HttpEntity httpEntity = new HttpEntity(postParameters.toJSONString(), getHeaders());
+            responseEntity = outRestTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
+
+            logger.debug("调用HC IOT信息:" + responseEntity);
+
+            if (responseEntity.getStatusCode() != HttpStatus.OK) {
+                machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR);
+                machineTranslateDto.setRemark(responseEntity.getBody());
+                saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url);
+                return;
+            }
+            JSONObject tokenObj = JSONObject.parseObject(responseEntity.getBody());
+
+            if (!tokenObj.containsKey("code") || ResultVo.CODE_OK != tokenObj.getInteger("code")) {
+                machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR);
+                machineTranslateDto.setRemark(tokenObj.getString("msg"));
+                //保存 失败报文
+                saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url);
+
+                return;
+            }
+        } catch (Exception e) {
+            machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR);
+            machineTranslateDto.setRemark(e.getLocalizedMessage());
+            //保存 失败报文
+            saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url);
+
+            return;
+        } finally {
+            saveTranslateLog(machineTranslateDto);
+            refreshAccessToken(responseEntity);
+        }
+    }
+
+    @Override
+    public void deleteCarBlackWhite(JSONObject postParameters) {
+        MachineTranslateDto machineTranslateDto = getMachineTranslateDto(postParameters,
+                MachineTranslateDto.CMD_DELETE_CAR_BLACK_WHITE,
+                DEFAULT_MACHINE_CODE,
+                DEFAULT_MACHINE_ID,
+                "extCarId",
+                "carNum",
+                MachineTranslateDto.TYPE_OWNER_CAR);
+        ResponseEntity<String> responseEntity = null;
+        String url = IotConstant.getUrl(IotConstant.DELETE_CAR_BLACK_WHITE_URL);
+        try {
+            postParameters.put("taskId", machineTranslateDto.getMachineTranslateId());
+            HttpEntity httpEntity = new HttpEntity(postParameters.toJSONString(), getHeaders());
+            responseEntity = outRestTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
+
+            logger.debug("调用HC IOT信息:" + responseEntity);
+
+            if (responseEntity.getStatusCode() != HttpStatus.OK) {
+                machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR);
+                machineTranslateDto.setRemark(responseEntity.getBody());
+                saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url);
+                return;
+            }
+            JSONObject tokenObj = JSONObject.parseObject(responseEntity.getBody());
+
+            if (!tokenObj.containsKey("code") || ResultVo.CODE_OK != tokenObj.getInteger("code")) {
+                machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR);
+                machineTranslateDto.setRemark(tokenObj.getString("msg"));
+                //保存 失败报文
+                saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url);
+
+                return;
+            }
+        } catch (Exception e) {
+            machineTranslateDto.setState(MachineTranslateDto.STATE_ERROR);
+            machineTranslateDto.setRemark(e.getLocalizedMessage());
+            //保存 失败报文
+            saveTranslateError(machineTranslateDto, postParameters.toJSONString(), responseEntity != null ? responseEntity.getBody() : "", url);
+
+            return;
+        } finally {
+            saveTranslateLog(machineTranslateDto);
+            refreshAccessToken(responseEntity);
+        }
+    }
+
+    private MachineTranslateDto getMachineTranslateDto(JSONObject postParameters, String cmd,
+                                                       String machineCode,
+                                                       String machineId,
+                                                       String objId,
+                                                       String objName,
+                                                       String typeCd) {
+        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
+        machineTranslateDto.setMachineTranslateId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
+        machineTranslateDto.setCommunityId(postParameters.getString("extCommunityId"));
+        machineTranslateDto.setMachineCmd(cmd);
+        machineTranslateDto.setMachineCode(machineCode);
+        machineTranslateDto.setMachineId(machineId);
+        machineTranslateDto.setObjId(postParameters.getString(objId));
+        machineTranslateDto.setObjName(postParameters.getString(objName));
+        machineTranslateDto.setTypeCd(typeCd);
+        machineTranslateDto.setState(MachineTranslateDto.STATE_SUCCESS);
+        machineTranslateDto.setRemark("同步物联网系统成功");
+        return machineTranslateDto;
+    }
+
 
     /**
      * 存储交互 记录

+ 112 - 0
service-job/src/main/java/com/java110/job/adapt/hcIot/car/AddCarBlackWhiteToIotAdapt.java

@@ -0,0 +1,112 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.job.adapt.hcIot.car;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.machine.CarBlackWhiteDto;
+import com.java110.entity.order.Business;
+import com.java110.intf.common.ICarBlackWhiteInnerServiceSMO;
+import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
+import com.java110.job.adapt.DatabusAdaptImpl;
+import com.java110.job.adapt.hcIot.asyn.IIotSendAsyn;
+import com.java110.po.car.CarBlackWhitePo;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * HC iot 车辆黑白名单同步适配器
+ * <p>
+ * 接口协议地址: https://gitee.com/java110/MicroCommunityThings/blob/master/back/docs/api.md
+ *
+ * @desc add by 吴学文 18:58
+ */
+@Component(value = "addCarBlackWhiteToIotAdapt")
+public class AddCarBlackWhiteToIotAdapt extends DatabusAdaptImpl {
+
+    @Autowired
+    private IIotSendAsyn hcCarBlackWhiteAsynImpl;
+
+
+    @Autowired
+    private ICarBlackWhiteInnerServiceSMO carBlackWhiteInnerServiceSMOImpl;
+
+    @Autowired
+    private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
+
+
+    /**
+     * accessToken={access_token}
+     * &extCommunityUuid=01000
+     * &extCommunityId=1
+     * &devSn=111111111
+     * &name=设备名称
+     * &positionType=0
+     * &positionUuid=1
+     *
+     * @param business   当前处理业务
+     * @param businesses 所有业务信息
+     */
+    @Override
+    public void execute(Business business, List<Business> businesses) {
+        JSONObject data = business.getData();
+        if (data.containsKey(CarBlackWhitePo.class.getSimpleName())) {
+            Object bObj = data.get(CarBlackWhitePo.class.getSimpleName());
+            JSONArray businessCarBlackWhites = null;
+            if (bObj instanceof JSONObject) {
+                businessCarBlackWhites = new JSONArray();
+                businessCarBlackWhites.add(bObj);
+            } else if (bObj instanceof List) {
+                businessCarBlackWhites = JSONArray.parseArray(JSONObject.toJSONString(bObj));
+            } else {
+                businessCarBlackWhites = (JSONArray) bObj;
+            }
+            //JSONObject businessCarBlackWhite = data.getJSONObject("businessCarBlackWhite");
+            for (int bCarBlackWhiteIndex = 0; bCarBlackWhiteIndex < businessCarBlackWhites.size(); bCarBlackWhiteIndex++) {
+                JSONObject businessCarBlackWhite = businessCarBlackWhites.getJSONObject(bCarBlackWhiteIndex);
+                doSendCarBlackWhite(business, businessCarBlackWhite);
+            }
+        }
+    }
+
+    private void doSendCarBlackWhite(Business business, JSONObject businessCarBlackWhite) {
+
+        CarBlackWhitePo carBlackWhitePo = BeanConvertUtil.covertBean(businessCarBlackWhite, CarBlackWhitePo.class);
+
+        CarBlackWhiteDto carBlackWhiteDto = new CarBlackWhiteDto();
+        carBlackWhiteDto.setCarNum(carBlackWhitePo.getCarNum());
+        carBlackWhiteDto.setCommunityId(carBlackWhitePo.getCommunityId());
+        List<CarBlackWhiteDto> carBlackWhiteDtos = carBlackWhiteInnerServiceSMOImpl.queryCarBlackWhites(carBlackWhiteDto);
+
+        Assert.listOnlyOne(carBlackWhiteDtos, "未找到车辆黑白名单");
+
+
+        JSONObject postParameters = new JSONObject();
+
+        postParameters.put("carNum", carBlackWhiteDtos.get(0).getCarNum());
+        postParameters.put("startTime", carBlackWhiteDtos.get(0).getStartTime());
+        postParameters.put("endTime", carBlackWhiteDtos.get(0).getEndTime());
+        postParameters.put("extPaId", carBlackWhiteDtos.get(0).getPaId());
+        postParameters.put("blackWhite", carBlackWhiteDtos.get(0).getBlackWhite());
+        postParameters.put("extBwId", carBlackWhiteDtos.get(0).getBwId());
+        postParameters.put("extCommunityId", carBlackWhiteDtos.get(0).getCommunityId());
+        hcCarBlackWhiteAsynImpl.addCarBlackWhite(postParameters);
+    }
+}

+ 1 - 1
service-job/src/main/java/com/java110/job/adapt/hcIot/car/AddCarToIotAdapt.java

@@ -35,7 +35,7 @@ import org.springframework.stereotype.Component;
 import java.util.List;
 
 /**
- * HC iot 停车场同步适配器
+ * HC iot 车辆同步适配器
  * <p>
  * 接口协议地址: https://gitee.com/java110/MicroCommunityThings/blob/master/back/docs/api.md
  *

+ 102 - 0
service-job/src/main/java/com/java110/job/adapt/hcIot/car/DeleteCarBlackWhiteToIotAdapt.java

@@ -0,0 +1,102 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.job.adapt.hcIot.car;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.machine.CarBlackWhiteDto;
+import com.java110.dto.parking.ParkingSpaceDto;
+import com.java110.entity.order.Business;
+import com.java110.intf.common.ICarBlackWhiteInnerServiceSMO;
+import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
+import com.java110.job.adapt.DatabusAdaptImpl;
+import com.java110.job.adapt.hcIot.asyn.IIotSendAsyn;
+import com.java110.po.car.CarBlackWhitePo;
+import com.java110.utils.constant.StatusConstant;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * HC iot 删除名单同步iot
+ *
+ * <p>
+ * 接口协议地址: https://gitee.com/java110/MicroCommunityThings/blob/master/back/docs/api.md
+ *
+ * @desc add by 吴学文 18:58
+ */
+@Component(value = "deleteCarBlackWhiteToIotAdapt")
+public class DeleteCarBlackWhiteToIotAdapt extends DatabusAdaptImpl {
+
+    @Autowired
+    private IIotSendAsyn hcCarBlackWhiteAsynImpl;
+
+    @Autowired
+    private ICarBlackWhiteInnerServiceSMO carBlackWhiteInnerServiceSMOImpl;
+
+    @Autowired
+    private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
+
+    /**
+     * {
+     * "extCarBlackWhiteId": "702020042194860037"
+     * }
+     *
+     * @param business   当前处理业务
+     * @param businesses 所有业务信息
+     */
+    @Override
+    public void execute(Business business, List<Business> businesses) {
+        JSONObject data = business.getData();
+        if (data.containsKey(CarBlackWhitePo.class.getSimpleName())) {
+            Object bObj = data.get(CarBlackWhitePo.class.getSimpleName());
+            JSONArray businessCarBlackWhites = null;
+            if (bObj instanceof JSONObject) {
+                businessCarBlackWhites = new JSONArray();
+                businessCarBlackWhites.add(bObj);
+            } else if (bObj instanceof List) {
+                businessCarBlackWhites = JSONArray.parseArray(JSONObject.toJSONString(bObj));
+            } else {
+                businessCarBlackWhites = (JSONArray) bObj;
+            }
+            //JSONObject businessCarBlackWhite = data.getJSONObject("businessCarBlackWhite");
+            for (int bCarBlackWhiteIndex = 0; bCarBlackWhiteIndex < businessCarBlackWhites.size(); bCarBlackWhiteIndex++) {
+                JSONObject businessCarBlackWhite = businessCarBlackWhites.getJSONObject(bCarBlackWhiteIndex);
+                doSendCarBlackWhite(business, businessCarBlackWhite);
+            }
+        }
+    }
+
+    private void doSendCarBlackWhite(Business business, JSONObject businessCarBlackWhite) {
+        CarBlackWhitePo carBlackWhitePo = BeanConvertUtil.covertBean(businessCarBlackWhite, CarBlackWhitePo.class);
+        CarBlackWhiteDto carBlackWhiteDto = new CarBlackWhiteDto();
+        carBlackWhiteDto.setBwId(carBlackWhitePo.getBwId());
+        carBlackWhiteDto.setStatusCd(StatusConstant.STATUS_CD_INVALID);
+        List<CarBlackWhiteDto> carBlackWhiteDtos = carBlackWhiteInnerServiceSMOImpl.queryCarBlackWhites(carBlackWhiteDto);
+        Assert.listOnlyOne(carBlackWhiteDtos, "未找到停车场");
+
+        JSONObject postParameters = new JSONObject();
+        postParameters.put("extBwId", carBlackWhiteDtos.get(0).getBwId());
+        postParameters.put("carNum", carBlackWhiteDtos.get(0).getCarNum());
+        postParameters.put("extPaId", carBlackWhiteDtos.get(0).getPaId());
+        postParameters.put("extCommunityId", carBlackWhiteDtos.get(0).getCommunityId());
+        hcCarBlackWhiteAsynImpl.deleteCarBlackWhite(postParameters);
+    }
+}