ソースを参照

Merge branch 'master' into prod

lijin 10 ヶ月 前
コミット
1cf2b32808

+ 15 - 15
device-api-service/src/main/java/com/xy/service/DeviceCreateIdsServiceImpl.java

@@ -22,6 +22,7 @@ import com.xy.dto.SysWorkUser.ListDto;
 import com.xy.dto.SysWorkUser.SysWorkVo;
 import com.xy.dto.be.MercDto;
 import com.xy.entity.DeviceCreateIds;
+import com.xy.entity.DeviceInfo;
 import com.xy.mapper.DeviceCreateIdsMapper;
 import com.xy.service.be.MercService;
 import com.xy.utils.*;
@@ -31,6 +32,7 @@ import lombok.Data;
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -61,7 +63,7 @@ import static com.xy.utils.PlusBeans.toPageBean;
  */
 @Slf4j
 @Service
-@RequiredArgsConstructor
+@RequiredArgsConstructor(onConstructor_ = @Lazy)
 @Api(tags = "设备-机器ID号生成")
 public class DeviceCreateIdsServiceImpl extends ServiceImpl<DeviceCreateIdsMapper, DeviceCreateIds> implements DeviceCreateIdsService {
 
@@ -71,6 +73,8 @@ public class DeviceCreateIdsServiceImpl extends ServiceImpl<DeviceCreateIdsMappe
 
     private final MercService mercService;
 
+    private final DeviceInfoServiceImpl deviceInfoService;
+
     @SneakyThrows
     @PostMapping("save")
     @ApiOperation("添加")
@@ -213,11 +217,12 @@ public class DeviceCreateIdsServiceImpl extends ServiceImpl<DeviceCreateIdsMappe
     @PostMapping("getQrCode")
     @ApiOperation("获取二维码")
     public R<List<String>> getQrCode(@RequestBody @Validated DeviceQualityDto.Qrcode qrcode) {
-        DeviceCreateIds deviceCreateIds = getById(qrcode.getDeviceId());
-        //查询商户特有二维码地址
+        //默认二维码
         String qrUrl = SysDictUtils.getValue(EnumDeviceQrCode.Code.CODE.getCode(), EnumDeviceQrCode.URL.getCode(), String.class);
-        if (Emptys.check(deviceCreateIds.getDeviceQrMercId()) && deviceCreateIds.getDeviceQrMercId() > 0) {
-            MercDeviceQrConfigDto.Vo mercDeviceQrConfig = mercDeviceQrConfigService.obj(new MercDeviceQrConfigDto.Vo().setMercId(deviceCreateIds.getDeviceQrMercId())).getData();
+        //查询商户特有二维码地址
+        DeviceCreateIds deviceCreateIds = getById(qrcode.getDeviceId());
+        if (Emptys.check(deviceCreateIds.getDeviceQrMercId())) {
+            MercDeviceQrConfigDto.Vo mercDeviceQrConfig = mercDeviceQrConfigService.getQrUrl(new MercDeviceQrConfigDto.GetQrUrl().setMercId(deviceCreateIds.getDeviceQrMercId())).getData();
             if (Emptys.check(mercDeviceQrConfig)) {
                 qrUrl = mercDeviceQrConfig.getQrUrl() + "?deviceId=";
             }
@@ -229,6 +234,7 @@ public class DeviceCreateIdsServiceImpl extends ServiceImpl<DeviceCreateIdsMappe
                 .set(qrUrl + deviceId);
         JList<String> deviceIdInfos = new JArrayList<String>()
                 .set(deviceId);
+
         if (deviceCreateIds.getDeviceType() == deviceType) {
             deviceIds.clear();
             deviceIdInfos.clear();
@@ -251,20 +257,14 @@ public class DeviceCreateIdsServiceImpl extends ServiceImpl<DeviceCreateIdsMappe
         List<String> deviceIdInfos = new ArrayList<>();
         List<DeviceCreateIds> updateDeviceCreateIds = new ArrayList<>();
         JList<DeviceCreateIds> deviceCreateIdss = new JArrayList<>(listByIds(exportQrCode.getDeviceIds()));
-        //查询商户特有二维码地址
-        JMap<Long, MercDeviceQrConfigDto.Vo> mercDeviceQrConfigsJMas;
-        JList<Long> mercIds = deviceCreateIdss.filter().isNotNull(DeviceCreateIds::getDeviceQrMercId).gt(DeviceCreateIds::getDeviceQrMercId, 0).list().getProperty(DeviceCreateIds::getDeviceQrMercId);
-        if (Emptys.check(mercIds)) {
-            List<MercDeviceQrConfigDto.Vo> mercDeviceQrConfigs = mercDeviceQrConfigService.list(new MercDeviceQrConfigDto.SelectList().setMercId(mercIds)).getData();
-            mercDeviceQrConfigsJMas = new JArrayList<>(mercDeviceQrConfigs).toMap(MercDeviceQrConfigDto.Vo::getMercId).cover();
-        } else {
-            mercDeviceQrConfigsJMas = new JHashMap<>();
-        }
+        List<DeviceInfo> deviceInfos = deviceInfoService.listByIds(exportQrCode.getDeviceIds());
+        JMap<Long, DeviceInfo> deviceInfoJMaps = new JArrayList<>(deviceInfos).toMap(DeviceInfo::getDeviceId).cover();
         //循环
         deviceCreateIdss.forEach(deviceCreateIds -> {
             String qrUrl = url;
+            //查询商户特有二维码地址
             if (Emptys.check(deviceCreateIds.getDeviceQrMercId())) {
-                MercDeviceQrConfigDto.Vo mercDeviceQrConfig = mercDeviceQrConfigsJMas.get(deviceCreateIds.getDeviceQrMercId());
+                MercDeviceQrConfigDto.Vo mercDeviceQrConfig = mercDeviceQrConfigService.getQrUrl(new MercDeviceQrConfigDto.GetQrUrl().setMercId(deviceCreateIds.getDeviceQrMercId())).getData();
                 if (Emptys.check(mercDeviceQrConfig)) {
                     qrUrl = mercDeviceQrConfig.getQrUrl() + "?deviceId=";
                 }

+ 3 - 3
device-api-service/src/main/java/com/xy/service/DeviceMqttConsumerImpl.java

@@ -188,9 +188,9 @@ public class DeviceMqttConsumerImpl implements DeviceMqttConsumer {
                         Map<String, Object> params = MapUtil.newHashMap();
                         if (MercAuthUtils.sendMsgToCM(mercCode)) {
                             //设备编号:{{character_string2.DATA}} 故障类型:{{thing6.DATA}} 报障时间:{{time8.DATA}}
-                            params.put("keyword1", deviceName);
-                            params.put("keyword2", msg);
-                            params.put("keyword3", DateUtil.format(createTime, DatePattern.NORM_DATETIME_PATTERN));
+                            params.put("character_string2", deviceId);
+                            params.put("thing6", msg);
+                            params.put("time8", DateUtil.format(createTime, DatePattern.NORM_DATETIME_PATTERN));
                         } else {
                             params.put("keyword1", deviceName);
                             params.put("keyword2", msg);