Procházet zdrojové kódy

site查询接口拆分

yq před 4 roky
rodič
revize
ad37afd704

+ 7 - 1
fiveep-controller/src/main/java/com/bizmatics/controller/web/SiteController.java

@@ -45,10 +45,16 @@ public class SiteController {
      * @return
      */
     @GetMapping("list")
-    public ApiResult<List<SiteVO>> list(@RequestParam(required = false) String name){
+    public ApiResult<List<Site>> list(@RequestParam(required = false) String name){
         return ApiResult.success(siteService.list(name));
     }
 
+
+    @GetMapping("listStatus")
+    public ApiResult<List<SiteVO>> siteAndStatus(@RequestParam(required = false) String name){
+        return ApiResult.success(siteService.siteAndStatusList(name));
+    }
+
     /**
      * 查看站点详情
      * @param siteId 站点id

+ 1 - 1
fiveep-persistence/src/main/resources/mapper/mysql/SiteMapper.xml

@@ -47,7 +47,7 @@
                 and us.user_id = #{userId}
             </if>
             <if test="name != null and name != ''">
-                and s.site_name = #{name}
+                and s.site_name LIKE CONCAT(CONCAT('%', #{name}), '%')
             </if>
         </where>
     </select>

+ 12 - 1
fiveep-service/src/main/java/com/bizmatics/service/SiteService.java

@@ -30,7 +30,18 @@ public interface SiteService extends CrudService<Site> {
      * @param name
      * @return
      */
-    List<SiteVO> list(String name);
+    List<Site> list(String name);
+
+
+    /**
+     * 查看站点和状态
+     * @param name
+     * @return
+     */
+    List<SiteVO> siteAndStatusList(String name);
+
+
+
 
     /**
      * 查看站点详情

+ 30 - 20
fiveep-service/src/main/java/com/bizmatics/service/impl/SiteServiceImpl.java

@@ -13,6 +13,7 @@ import com.bizmatics.service.enums.DeviceStatusCode;
 import com.bizmatics.service.util.SessionLocal;
 import com.bizmatics.service.vo.DeviceCountVO;
 import com.bizmatics.service.vo.SiteVO;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -28,6 +29,7 @@ import java.util.Optional;
  * @author ya
  * @since 2021-07-07
  */
+@Slf4j
 @Service
 public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> implements SiteService {
 
@@ -45,28 +47,16 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
     }
 
     @Override
-    public List<SiteVO> list(String name) {
+    public List<Site> list(String name) {
+        return baseMapper.list(SessionLocal.getUserId(),name);
+
+    }
+
+    @Override
+    public List<SiteVO> siteAndStatusList(String name) {
         List<SiteVO> list = new ArrayList<>();
-        List<Site> sites = baseMapper.list(SessionLocal.getUserId(),name);
         Integer userId = SessionLocal.getUserId();
-        for (Site site:sites) {
-            SiteVO siteVo = BeanMapperUtils.map(site, SiteVO.class);
-            siteVo.setDeviceCount(deviceMapper.selectCount(userId,siteVo.getId(),null,null,null,null));
-            int deviceCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.DEVICE.getValue());
-            int offLineCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.OFFLINE.getValue());
-            int faultCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.FAULT.getValue());
-            siteVo.setAlarmPowerCount(deviceCount);
-            if (deviceCount > 0){
-                siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
-            }else if (offLineCount > 0){
-                siteVo.setStatus(DeviceStatusCode.OFFLINE.getDescribe());
-            }else if (faultCount > 0){
-                siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
-            }else {
-                siteVo.setStatus(DeviceStatusCode.NORMAL.getDescribe());
-            }
-            list.add(siteVo);
-        }
+        baseMapper.list(SessionLocal.getUserId(), name).forEach(site -> list.add(enhanceSite(site,userId)));
         return list;
     }
 
@@ -75,4 +65,24 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
         Site site = baseMapper.selectOne(Wrappers.lambdaQuery(Site.class).eq(Site::getId, siteId));
         return Optional.ofNullable(site).map(st -> BeanMapperUtils.map(site,SiteVO.class)).orElseThrow(() -> new BusinessException("站点信息不存在"));
     }
+
+
+    public SiteVO enhanceSite(Site site,Integer userId){
+        SiteVO siteVo = BeanMapperUtils.map(site, SiteVO.class);
+        siteVo.setDeviceCount(deviceMapper.selectCount(userId,siteVo.getId(),null,null,null,null));
+        int deviceCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.DEVICE.getValue());
+        int offLineCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.OFFLINE.getValue());
+        int faultCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.FAULT.getValue());
+        siteVo.setAlarmPowerCount(deviceCount);
+        if (deviceCount > 0){
+            siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
+        }else if (offLineCount > 0){
+            siteVo.setStatus(DeviceStatusCode.OFFLINE.getDescribe());
+        }else if (faultCount > 0){
+            siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
+        }else {
+            siteVo.setStatus(DeviceStatusCode.NORMAL.getDescribe());
+        }
+        return siteVo;
+    }
 }