Browse Source

规范售货机对接接口

LuoDLeo 6 months ago
parent
commit
9adffbfedd

+ 7 - 7
src/main/java/org/springblade/common/aspect/VendingFlagAspect.java

@@ -43,19 +43,19 @@ public class VendingFlagAspect {
         String requestURI = request.getRequestURI();
         //获取请求参数
         JSONObject reqParam = this.readReqParam(request);
-        String machine_id =  reqParam.get("machine_id").toString();
-        if (Objects.isNull(machine_id)) {
+        String machineId =  reqParam.get("machineId").toString();
+        if (Objects.isNull(machineId)) {
             return joinPoint.proceed();
         } else {
-            boolean redisLock = redisTool.getRedisLock(machine_id + ":" + requestURI, "1");
+            boolean redisLock = redisTool.getRedisLock(machineId + ":" + requestURI, "1");
             if (!redisLock) {
                 VendingOrderRes vendingOrderRes = new VendingOrderRes();
-                vendingOrderRes.setMachine_id(machine_id);
+                vendingOrderRes.setMachineId(machineId);
                 vendingOrderRes.setSaleSn("");
                 vendingOrderRes.setChannelNum("0");
-                vendingOrderRes.setSaledata(new ArrayList<>());
+                vendingOrderRes.setSaleData(new ArrayList<>());
                 this.notifyReturn(response, vendingOrderRes);
-                log.info("设备:" + machine_id + "请求接口:" + requestURI + "被限流!");
+                log.info("设备:" + machineId + "请求接口:" + requestURI + "被限流!");
                 return response;
             }
             Object proceed;//请求过程
@@ -63,7 +63,7 @@ public class VendingFlagAspect {
                 proceed = joinPoint.proceed();
             } finally {
                 //移除redis标识
-                redisTool.unRedisLock(machine_id + ":" + requestURI);
+                redisTool.unRedisLock(machineId + ":" + requestURI);
             }
             return proceed;
         }

+ 8 - 8
src/main/java/org/springblade/modules/api/controller/ApiVendingController.java

@@ -69,11 +69,11 @@ public class ApiVendingController {
 
         //封装返回
         VendingOrderRes vendingOrderRes = new VendingOrderRes();
-        vendingOrderRes.setMachine_id(vendingOrderReq.getMachine_id());
+        vendingOrderRes.setMachineId(vendingOrderReq.getMachineId());
         if (CollectionUtil.isEmpty(vendingOrderVOs)) {
             vendingOrderRes.setSaleSn("");
             vendingOrderRes.setChannelNum("0");
-            vendingOrderRes.setSaledata(new ArrayList<>());
+            vendingOrderRes.setSaleData(new ArrayList<>());
             this.notifyReturn(response, vendingOrderRes);
         } else {
             //一次只返回一个订单
@@ -83,7 +83,7 @@ public class ApiVendingController {
             if (Objects.isNull(backOrder)) {
                 vendingOrderRes.setSaleSn("");
                 vendingOrderRes.setChannelNum("0");
-                vendingOrderRes.setSaledata(new ArrayList<>());
+                vendingOrderRes.setSaleData(new ArrayList<>());
                 this.notifyReturn(response, vendingOrderRes);
                 return;
             }
@@ -103,7 +103,7 @@ public class ApiVendingController {
                 saledataList.add(vendingOrderGoodsRes);
             }
 
-            vendingOrderRes.setSaledata(saledataList);
+            vendingOrderRes.setSaleData(saledataList);
             this.notifyReturn(response, vendingOrderRes);
         }
 
@@ -171,19 +171,19 @@ public class ApiVendingController {
     @ApiOperation(value = "设备心跳", notes = "设备心跳")
     @PostMapping("heartbeat")
     public void heartbeat(@Valid @RequestBody VendingHeartReq req) {
-        Facility facility = facilityService.getById(req.getMachine_id());
+        Facility facility = facilityService.getById(req.getMachineId());
         if (Objects.isNull(facility)) {
             log.info("设备心跳,未找到设备信息");
             return;
         }
         Date now = new Date();
         facility.setHeartbeatTime(now);
-        if ("0".equals(req.getErrorNum())) {
+        if ("0".equals(req.getErrorNum()) || "OK".equals(req.getStatus())) {
             facility.setFacilityStatus(FacilityStatusEnum.ON_LINE.getValue());
             facilityService.updateById(facility);
 
             FacilityFault facilityFault = new FacilityFault();
-            facilityFault.setFacilityId(req.getMachine_id());
+            facilityFault.setFacilityId(req.getMachineId());
             facilityFault.setFaultDesc(FacilityFaultStatusEnum.getDesc("0"));
             facilityFault.setFaultStatus("0");
             facilityFault.setCreateTime(now);
@@ -200,7 +200,7 @@ public class ApiVendingController {
             List<FacilityFault> facilityFaults = new ArrayList<>();
             for (String status : split) {
                 FacilityFault facilityFault = new FacilityFault();
-                facilityFault.setFacilityId(req.getMachine_id());
+                facilityFault.setFacilityId(req.getMachineId());
                 facilityFault.setFaultDesc(FacilityFaultStatusEnum.getDesc(status));
                 facilityFault.setFaultStatus(status);
                 facilityFault.setCreateTime(now);

+ 2 - 2
src/main/java/org/springblade/modules/api/mapper/VendingOrderMapper.xml

@@ -7,7 +7,7 @@
         from t_order_goods a
                  left join t_order b on a.order_id = b.id
         where b.order_state = 2
-          and a.device_id = #{param.machine_id}
+          and a.device_id = #{param.machineId}
         order by b.create_time asc
     </select>
 
@@ -16,7 +16,7 @@
         from t_order a
                  left join t_order_goods b on a.id = b.order_id
         where a.order_state = 2
-          and b.device_id = #{param.machine_id}
+          and b.device_id = #{param.machineId}
         order by a.create_time asc
     </select>
 

+ 14 - 7
src/main/java/org/springblade/modules/api/request/VendingHeartReq.java

@@ -3,28 +3,35 @@ package org.springblade.modules.api.request;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+
 /**
  * 设备心跳数据
  */
 @Data
 public class VendingHeartReq {
 
-    //心跳:正常{"machine_id":"1814145843008155650","Status":"OK","ErrorNum":"0","ErrorArray":{},"Location":"N,ddmm.mmmm,E,dddmm.mmmm"}
-    //心跳:故障{"machine_id":"1814145843008155650","Status":"FAIL","ErrorNum":"2","ErrorArray":{"1001,2001"},"Location":"N,ddmm.mmmm,E,dddmm.mmmm"}
+    //心跳:正常{"machineId":"1814145843008155650","status":"OK","errorNum":"0","errorArray":"","location":"N,ddmm.mmmm,E,dddmm.mmmm"}
+    //心跳:故障{"machineId":"1814145843008155650","status":"FAIL","errorNum":"2","errorArray":"1001,2001","location":"N,ddmm.mmmm,E,dddmm.mmmm"}
 
     @ApiModelProperty(value = "设备id")
-    private String machine_id;
+    @NotBlank(message = "设备id不能为空")
+    private String machineId;
 
     @ApiModelProperty(value = "设备状态")
-    private String Status;
+    @NotBlank(message = "设备状态不能为空")
+    private String status;
 
     @ApiModelProperty(value = "错误码数量")
-    private String ErrorNum;
+    @NotBlank(message = "错误码数量不能为空")
+    private String errorNum;
 
     @ApiModelProperty(value = "错误代码")
-    private String ErrorArray;
+    @NotBlank(message = "错误代码不能为空")
+    private String errorArray;
 
     @ApiModelProperty(value = "设备地址")
-    private String Location;
+    @NotBlank(message = "设备地址不能为空")
+    private String location;
 
 }

+ 1 - 1
src/main/java/org/springblade/modules/api/request/VendingOrderReq.java

@@ -15,6 +15,6 @@ public class VendingOrderReq {
 
     @NotBlank(message = "机器id不能为空")
     @ApiModelProperty(value = "机器id")
-    private String machine_id;
+    private String machineId;
 
 }

+ 16 - 8
src/main/java/org/springblade/modules/api/request/VendingShipReq.java

@@ -3,31 +3,39 @@ package org.springblade.modules.api.request;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+
 /**
  * 设备出货回调
  */
 @Data
 public class VendingShipReq {
 
-    //成功:{"machine_id":"001","SaleSn":"1234567890","OrderGoodsId":"789456132","ChannelNum":"1","Channel":"2","Status":"OK"}
-    //失败:{"machine_id":"001","SaleSn":"1234567890","OrderGoodsId":"789456132","ChannelNum":"1","Channel":"2","Status":"FAIL"}
+    //成功:{"machineId":"001","orderId":"1234567890","orderGoodsId":"789456132","channelNum":"1","channel":"2","status":"OK"}
+    //失败:{"machineId":"001","orderId":"1234567890","orderGoodsId":"789456132","channelNum":"1","channel":"2","status":"FAIL"}
 
     @ApiModelProperty(value = "设备id")
-    private String machine_id;
+    @NotBlank(message = "设备id不能为空")
+    private String machineId;
 
     @ApiModelProperty(value = "订单号")
-    private String SaleSn;
+    @NotBlank(message = "订单号不能为空")
+    private String saleSn;
 
     @ApiModelProperty(value = "出货的货道编号")
-    private String OrderGoodsId;
+    @NotBlank(message = "出货的货道编号不能为空")
+    private String orderGoodsId;
 
     @ApiModelProperty(value = "出货的货道编号")
-    private String Channel;
+    @NotBlank(message = "出货的货道编号不能为空")
+    private String channel;
 
     @ApiModelProperty(value = "货道出货数量")
-    private String ChannelNum;
+    @NotBlank(message = "货道出货数量不能为空")
+    private String channelNum;
 
     @ApiModelProperty(value = "出货状态")
-    private String Status;
+    @NotBlank(message = "出货状态不能为空")
+    private String status;
 
 }

+ 3 - 3
src/main/java/org/springblade/modules/api/response/VendingOrderGoodsRes.java

@@ -10,12 +10,12 @@ import lombok.Data;
 public class VendingOrderGoodsRes {
 
     @ApiModelProperty(value = "出货的货道编号")
-    private String OrderGoodsId;
+    private String orderGoodsId;
 
     @ApiModelProperty(value = "出货的货道编号")
-    private String Channel;
+    private String channel;
 
     @ApiModelProperty(value = "货道出货数量")
-    private String ChannelNum;
+    private String channelNum;
 
 }

+ 6 - 6
src/main/java/org/springblade/modules/api/response/VendingOrderRes.java

@@ -10,23 +10,23 @@ import java.util.List;
 @ApiModel(value = "售货机订单返回", description = "售货机订单返回")
 public class VendingOrderRes {
 
-//    machine_id=001;//机器码
+//    machineId=001;//机器码
 //    SaleSn=1234567890;//订单号
 //    ChannelNum=3;//出货的货道数量
 //    Saledata;//出货信息。Saledata后面跟着货道号和对应的数量,下面例子中1货道1个,3货道2个,6货道1个。
 //
-//    {"machine_id":"001","SaleSn":"1234567890","OrderGoodsId":"789456132","ChannelNum":"3","Saledata":{"1":"1","3":"2","6":"1"}}
+//    {"machineId":"001","orderId":"1234567890","channelNum":"3","saleData":{"1":"1","3":"2","6":"1"}}
 
     @ApiModelProperty(value = "机器码")
-    private String machine_id;
+    private String machineId;
 
     @ApiModelProperty(value = "订单号")
-    private String SaleSn;
+    private String saleSn;
 
     @ApiModelProperty(value = "货道总出货数量")
-    private String ChannelNum;
+    private String channelNum;
 
     @ApiModelProperty(value = "出货商品信息")
-    private List<VendingOrderGoodsRes> Saledata;
+    private List<VendingOrderGoodsRes> saleData;
 
 }