Jelajahi Sumber

设备故障信息查询反显商户名称

tanbin 1 tahun lalu
induk
melakukan
a11ddc9bf1

+ 23 - 1
device-api-service/src/main/java/com/xy/service/DeviceFaultInfoServiceImpl.java

@@ -1,13 +1,18 @@
 package com.xy.service;
 
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xy.collections.list.JArrayList;
+import com.xy.collections.map.JMap;
 import com.xy.dto.DeviceFaultInfoDto;
+import com.xy.dto.be.MercDto;
 import com.xy.entity.DeviceFaultInfo;
 import com.xy.entity.DeviceFaultLog;
 import com.xy.mapper.DeviceFaultInfoMapper;
+import com.xy.service.be.MercService;
 import com.xy.utils.Emptys;
 import com.xy.utils.MybatisPlusQuery;
 import com.xy.utils.PageBean;
@@ -22,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 
 import java.time.LocalDateTime;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import static com.xy.utils.Beans.copy;
 import static com.xy.utils.PlusBeans.toIPage;
@@ -42,6 +48,7 @@ import static com.xy.utils.PlusBeans.toPageBean;
 public class DeviceFaultInfoServiceImpl extends ServiceImpl<DeviceFaultInfoMapper, DeviceFaultInfo> implements DeviceFaultInfoService {
 
     private final DeviceFaultLogServiceImpl deviceFaultLogService;
+    private final MercService mercService;
 
     @PostMapping("obj")
     @ApiOperation("对象查询")
@@ -68,7 +75,22 @@ public class DeviceFaultInfoServiceImpl extends ServiceImpl<DeviceFaultInfoMappe
         PageBean pageBean = page.getPage();
         LambdaQueryWrapper<DeviceFaultInfo> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, DeviceFaultInfo.class).build();
         IPage<DeviceFaultInfo> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
-        return R.ok(toPageBean(DeviceFaultInfoDto.Vo.class, iPage));
+        PageBean<DeviceFaultInfoDto.Vo> data = toPageBean(DeviceFaultInfoDto.Vo.class, iPage);
+        List<DeviceFaultInfoDto.Vo> records = data.getRecords();
+        if (CollUtil.isNotEmpty(records)) {
+            List<Long> mercIds = records.stream().map(DeviceFaultInfoDto.Vo::getMercId).distinct().collect(Collectors.toList());
+            List<MercDto.Vo> mercs = mercService.list(new MercDto.SelectList().setMercIds(mercIds)).getData();
+            JMap<Long, MercDto.Vo> longVoJMap = new JArrayList<>(mercs).toMap(MercDto.Vo::getId).cover();
+            records.forEach(r -> {
+                Long mercId = r.getMercId();
+                if (longVoJMap.get(mercId) != null) {
+                    r.setMercName(longVoJMap.get(mercId).getName());
+                }
+            });
+            data.setRecords(records);
+        }
+
+        return R.ok(data);
     }
 
     @PostMapping("save")

+ 3 - 0
device-api/src/main/java/com/xy/dto/DeviceFaultInfoDto.java

@@ -55,6 +55,9 @@ public class DeviceFaultInfoDto {
         @ApiModelProperty(value = "商户ID")
         private Long mercId;
 
+        @ApiModelProperty(value = "商户名称")
+        private String mercName;
+
         @ApiModelProperty(value = "设备编号")
         private Long deviceId;