李进 hace 2 años
padre
commit
58b6a4973d

+ 17 - 17
device-api-service/src/main/java/com/xy/service/DeviceQualityServiceImpl.java

@@ -133,7 +133,7 @@ public class DeviceQualityServiceImpl extends ServiceImpl<DeviceQualityMapper, D
     }
 
     @PostMapping("rest")
-    @ApiOperation("重置多项质检")
+    @ApiOperation(value = "重置多项质检", hidden = true)
     public R rest(@RequestBody DeviceQualityDto.Rest rest) {
         SysDictRedis sysDictRedis1 = SysDictUtils.get(DictEnum.DEVICE_QUALITY_STATUS.getKey(), DictSonEnum.DEVICE_QUALITY_STATUS_QUALIFIED.getKey());
         SysDictRedis sysDictRedis2 = SysDictUtils.get(DictEnum.DEVICE_FACTORY_STATUS.getKey(), DictSonEnum.DEVICE_FACTORY_STATUS_CAN_SHIPPED.getKey());
@@ -207,22 +207,7 @@ public class DeviceQualityServiceImpl extends ServiceImpl<DeviceQualityMapper, D
         return R.ok();
     }
 
-    @PostMapping("getQrCode")
-    @ApiOperation("获取二维码")
-    public R<String> getQrCode(@RequestBody DeviceQualityDto.Qrcode qrcode) {
-        String deviceId = qrcode.getDeviceId().toString();
-        String base64 = QRCodeUtils.create(deviceId, 400, 400, "back1.png", deviceId).base64();
-        return R.ok(base64);
-    }
-
-    @PostMapping("exportQrCode")
-    @ApiOperation("导出二维码")
-    public void exportQrCode(@RequestBody DeviceQualityDto.Qrcode qrcode) {
-        String deviceId = qrcode.getDeviceId().toString();
-        QRCodeUtils.create(deviceId, 400, 400, "back1.png", deviceId).download(deviceId);
-    }
-
-    @ApiOperation("质检结果通知")
+    @ApiOperation(value = "质检结果通知", hidden = true)
     @PostMapping("qualityResultBack")
     public R qualityResultBack(@RequestBody DeviceQualityDto.QualityResultBack qualityResultBack) {
         Long deviceId = qualityResultBack.getDeviceId();
@@ -254,4 +239,19 @@ public class DeviceQualityServiceImpl extends ServiceImpl<DeviceQualityMapper, D
         return R.ok();
     }
 
+    @PostMapping("getQrCode")
+    @ApiOperation("获取二维码")
+    public R<String> getQrCode(@RequestBody DeviceQualityDto.Qrcode qrcode) {
+        String deviceId = qrcode.getDeviceId().toString();
+        String base64 = QRCodeUtils.create(deviceId, 400, 400, "back1.png", deviceId).base64();
+        return R.ok(base64);
+    }
+
+    @PostMapping("exportQrCode")
+    @ApiOperation("导出二维码")
+    public void exportQrCode(@RequestBody DeviceQualityDto.Qrcode qrcode) {
+        String deviceId = qrcode.getDeviceId().toString();
+        QRCodeUtils.create(deviceId, 400, 400, "back1.png", deviceId).download(deviceId);
+    }
+
 }

+ 7 - 4
device-api-service/src/main/java/com/xy/service/MqttServiceImpl.java

@@ -6,10 +6,7 @@ import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.xy.annotate.Runners;
 import com.xy.annotate.Timer;
-import com.xy.dto.AckMqttDto;
-import com.xy.dto.CommandMqtt;
-import com.xy.dto.MqttDto;
-import com.xy.dto.PaterDto;
+import com.xy.dto.*;
 import com.xy.entity.MqttCommand;
 import com.xy.mapper.MqttCommandMapper;
 import com.xy.producer.MqttProducer;
@@ -179,6 +176,12 @@ public class MqttServiceImpl implements MqttService {
         return R.ok();
     }
 
+    @ApiOperation("指令结果通知")
+    @PostMapping("commandResultBack")
+    public R commandResultBack(@RequestBody @Validated MqttDto.ResultBack resultBack) {
+        return SpringBeanUtils.getBean(CmdTypeEnum.getEnum(resultBack.getCmdType()).getCmdServiceClass()).resultBack(resultBack);
+    }
+
     @PostMapping("snByCmdAndResult")
     @ApiOperation("sn查询指令和结果数据")
     public R<MqttDto.Vo3> snByCmdAndResult(@RequestBody MqttDto.SnByCmdAndResult snByCmdAndResult) {

+ 8 - 0
device-api-service/src/main/java/com/xy/service/factory/CmdService.java

@@ -17,4 +17,12 @@ public interface CmdService {
      * @return
      */
     R senCommand(List<MqttDto> mqttDtos);
+
+    /**
+     * 结果通知
+     *
+     * @param resultBack
+     * @return
+     */
+    R resultBack(MqttDto.ResultBack resultBack);
 }

+ 10 - 0
device-api-service/src/main/java/com/xy/service/factory/QualityCmdServiceImpl.java

@@ -7,6 +7,7 @@ import com.xy.dto.PaterDto;
 import com.xy.entity.DeviceQuality;
 import com.xy.error.CommRuntimeException;
 import com.xy.service.DeviceQualityServiceImpl;
+import com.xy.utils.Emptys;
 import com.xy.utils.LambdaUtils;
 import com.xy.utils.R;
 import lombok.AllArgsConstructor;
@@ -53,4 +54,13 @@ public class QualityCmdServiceImpl implements CmdService {
         });
         return R.ok();
     }
+
+    @Override
+    public R resultBack(MqttDto.ResultBack resultBack) {
+        DeviceQualityDto.QualityResultBack qualityResultBack = resultBack.getQualityResultBack();
+        if(!Emptys.check(qualityResultBack)){
+            return R.fail(LambdaUtils.getProperty(MqttDto.ResultBack::getQualityResultBack) + "不能为空");
+        }
+        return deviceQualityService.qualityResultBack(qualityResultBack);
+    }
 }

+ 5 - 0
device-api-service/src/main/java/com/xy/service/factory/SetsCmdServiceImpl.java

@@ -16,4 +16,9 @@ public class SetsCmdServiceImpl implements CmdService {
     public R senCommand(List<MqttDto> mqttDtos) {
         return null;
     }
+
+    @Override
+    public R resultBack(MqttDto.ResultBack resultBack) {
+        return null;
+    }
 }

+ 5 - 0
device-api-service/src/main/java/com/xy/service/factory/TaskCmdServiceImpl.java

@@ -16,4 +16,9 @@ public class TaskCmdServiceImpl implements CmdService {
     public R senCommand(List<MqttDto> mqttDtos) {
         return null;
     }
+
+    @Override
+    public R resultBack(MqttDto.ResultBack resultBack) {
+        return null;
+    }
 }

+ 12 - 0
device-api/src/main/java/com/xy/dto/MqttDto.java

@@ -34,6 +34,18 @@ public class MqttDto {
     @ApiModelProperty(value = "指令对象")
     private PaterDto pater;
 
+    @Data
+    @Accessors(chain = true)
+    public static class ResultBack {
+
+        @NotBlank(message = "cmdType不能为空")
+        @ApiModelProperty(value = "业务类型", required = true)
+        private String cmdType;
+
+        @ApiModelProperty(value = "质检通知对象")
+        private DeviceQualityDto.QualityResultBack qualityResultBack;
+    }
+
     @Data
     @Accessors(chain = true)
     public static class SnByCmdAndResult {