fast()预警报警,优化电子围栏

car-ser
王熙朝 2024-06-23 22:35:15 +08:00
parent 32e2ff6ee6
commit 9b0a07484a
18 changed files with 104 additions and 49 deletions

View File

@ -11,6 +11,10 @@ import java.util.Date;
@Data @Data
public class BreakdownSel{ public class BreakdownSel{
/**
*
*/
private String vin;
/** /**
* *
*/ */

View File

@ -1,5 +1,6 @@
package com.business.common.domain; package com.business.common.domain;
import com.business.common.middle.GroupFenceDev;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
@ -17,4 +18,9 @@ public class FenceGroups {
* *
*/ */
private String groupsName; private String groupsName;
/**
*
*/
private List<GroupFenceDev> fenceList;
} }

View File

@ -6,14 +6,18 @@ import com.business.common.domain.FaultCode;
import com.business.common.domain.Sources; import com.business.common.domain.Sources;
import com.business.common.psvm.FaultInfo; import com.business.common.psvm.FaultInfo;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.goods.incident.mq.Producer; import com.muyu.goods.incident.mq.Producer;
import com.muyu.goods.service.IBreakdownService; import com.muyu.goods.service.IBreakdownService;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -27,21 +31,26 @@ public class BreakdownController extends BaseController {
@Autowired @Autowired
private Producer producer; private Producer producer;
/**
*
* @return
*/
/**
*
*/
@GetMapping("/list") @GetMapping("/list")
public Result<TableDataInfo<Breakdown>> list( ) public Result<TableDataInfo<Breakdown>> list(Breakdown breakdown)
{ {
startPage(); startPage();
List<Breakdown> list = service.selectBreakdownList(); List<Breakdown> list = service.selectBreakdownList(breakdown);
return getDataTable(list); return getDataTable(list);
} }
/**
*
*/
@Log(title = "故障", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, Breakdown breakdown)
{
List<Breakdown> list = service.selectBreakdownList(breakdown);
ExcelUtil<Breakdown> util = new ExcelUtil<Breakdown>(Breakdown.class);
util.exportExcel(response, list, "故障数据");
}
@PostMapping("/lists") @PostMapping("/lists")
public Result<List<Breakdown>> lists() { public Result<List<Breakdown>> lists() {
List<Breakdown> list = service.lists(); List<Breakdown> list = service.lists();

View File

@ -1,6 +1,7 @@
package com.muyu.goods.controller; package com.muyu.goods.controller;
import com.business.common.dev.CarFenceGroupsDev; import com.business.common.dev.CarFenceGroupsDev;
import com.business.common.domain.Path;
import com.business.common.middle.CarFenceDev; import com.business.common.middle.CarFenceDev;
import com.business.common.middle.CarGroupsDev; import com.business.common.middle.CarGroupsDev;
import com.business.common.middle.GroupFenceDev; import com.business.common.middle.GroupFenceDev;
@ -45,7 +46,7 @@ public class MapController extends BaseController {
* @return * @return
*/ */
@PostMapping("selectFenceGroupsById/{carId}") @PostMapping("selectFenceGroupsById/{carId}")
public Result<List<List<GroupFenceDev>>> selectFenceGroupsById(@PathVariable Long carId){ public Result<List<GroupFenceDev>> selectFenceGroupsById(@PathVariable Long carId){
return success(iMapService.selectFenceGroupsById(carId)); return success(iMapService.selectFenceGroupsById(carId));
} }
@ -66,7 +67,7 @@ public class MapController extends BaseController {
* @return * @return
*/ */
@PostMapping("getSel") @PostMapping("getSel")
public Result getSel(@RequestBody Pences list){ public Result getSel(@RequestBody List<Path> list){
return success(iMapService.getSel(list)); return success(iMapService.getSel(list));
} }

View File

@ -4,7 +4,6 @@ import com.business.common.Select.BreakdownSel;
import com.business.common.domain.Breakdown; import com.business.common.domain.Breakdown;
import com.business.common.domain.Car; import com.business.common.domain.Car;
import com.business.common.domain.FaultCode; import com.business.common.domain.FaultCode;
import com.business.common.psvm.FaultInfo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -19,7 +18,13 @@ public interface BreakdownMapper {
Car selectVinCar(@Param("vin") String vin); Car selectVinCar(@Param("vin") String vin);
List<Breakdown> selectBreakdownList(); /**
*
*
* @param breakdown
* @return
*/
public List<Breakdown> selectBreakdownList(Breakdown breakdown);
List<Map<String, Object>> pies(BreakdownSel breakdownSel); List<Map<String, Object>> pies(BreakdownSel breakdownSel);

View File

@ -12,7 +12,7 @@ import java.util.List;
public interface MapMapper { public interface MapMapper {
List<FenceGroups> selectFenceGroups(); List<FenceGroups> selectFenceGroups();
List<Fence> selectFence(); List<Fence> selectFence();
@ -43,4 +43,6 @@ public interface MapMapper {
FenceGroups selectFenceGroupsByOne(); FenceGroups selectFenceGroupsByOne();
void indexCarGroupsDev(@Param("carId") Long carId, @Param("groupsId") Long groupsId); void indexCarGroupsDev(@Param("carId") Long carId, @Param("groupsId") Long groupsId);
void indexFence(Fence fence);
} }

View File

@ -4,17 +4,18 @@ import com.business.common.Select.BreakdownSel;
import com.business.common.domain.Breakdown; import com.business.common.domain.Breakdown;
import com.business.common.domain.FaultCode; import com.business.common.domain.FaultCode;
import com.business.common.domain.Sources; import com.business.common.domain.Sources;
import com.business.common.psvm.FaultInfo;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public interface IBreakdownService { public interface IBreakdownService {
/** /**
* *
* @return *
* @param breakdown
* @return
*/ */
List<Breakdown> selectBreakdownList(); public List<Breakdown> selectBreakdownList(Breakdown breakdown);
List<Breakdown> lists(); List<Breakdown> lists();

View File

@ -1,6 +1,7 @@
package com.muyu.goods.service; package com.muyu.goods.service;
import com.business.common.dev.CarFenceGroupsDev; import com.business.common.dev.CarFenceGroupsDev;
import com.business.common.domain.Path;
import com.business.common.middle.CarFenceDev; import com.business.common.middle.CarFenceDev;
import com.business.common.middle.CarGroupsDev; import com.business.common.middle.CarGroupsDev;
import com.business.common.middle.GroupFenceDev; import com.business.common.middle.GroupFenceDev;
@ -17,9 +18,9 @@ public interface IMapService {
List<Fence> selectFence(); List<Fence> selectFence();
List<List<GroupFenceDev>> selectFenceGroupsById(Long carId); List<GroupFenceDev> selectFenceGroupsById(Long carId);
String getSel(Pences list); String getSel(List<Path> list);
String deleteFence(Long fenceId); String deleteFence(Long fenceId);

View File

@ -5,7 +5,6 @@ import com.business.common.domain.Breakdown;
import com.business.common.domain.Car; import com.business.common.domain.Car;
import com.business.common.domain.FaultCode; import com.business.common.domain.FaultCode;
import com.business.common.domain.Sources; import com.business.common.domain.Sources;
import com.business.common.psvm.FaultInfo;
import com.muyu.common.goods.domain.Enterprise; import com.muyu.common.goods.domain.Enterprise;
import com.muyu.common.goods.remote.RemoteSourcesService; import com.muyu.common.goods.remote.RemoteSourcesService;
import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.SysUser;
@ -29,13 +28,15 @@ public class BreakdownService implements IBreakdownService {
private RemoteSourcesService remoteSourcesService; private RemoteSourcesService remoteSourcesService;
/** /**
* *
* @param breakdown *
* @return * @param breakdown
* @return
*/ */
@Override @Override
public List<Breakdown> selectBreakdownList() { public List<Breakdown> selectBreakdownList(Breakdown breakdown)
return mapper.selectBreakdownList(); {
return mapper.selectBreakdownList(breakdown);
} }
@Override @Override

View File

@ -2,6 +2,7 @@ package com.muyu.goods.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.business.common.dev.CarFenceGroupsDev; import com.business.common.dev.CarFenceGroupsDev;
import com.business.common.domain.Path;
import com.business.common.middle.CarFenceDev; import com.business.common.middle.CarFenceDev;
import com.business.common.middle.CarGroupsDev; import com.business.common.middle.CarGroupsDev;
import com.business.common.middle.GroupFenceDev; import com.business.common.middle.GroupFenceDev;
@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Random;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
@ -30,6 +32,10 @@ public class MapService implements IMapService {
@Override @Override
public List<FenceGroups> selectFenceGroups() { public List<FenceGroups> selectFenceGroups() {
List<FenceGroups> fenceGroupsList = mapMapper.selectFenceGroups(); List<FenceGroups> fenceGroupsList = mapMapper.selectFenceGroups();
for (FenceGroups fenceGroups : fenceGroupsList) {
List<GroupFenceDev> groupFenceDevs = selectGroupFence().stream().filter(groupFenceDev -> groupFenceDev.getGroupsId() == fenceGroups.getGroupsId()).collect(Collectors.toList());
fenceGroups.setFenceList(groupFenceDevs);
}
return fenceGroupsList; return fenceGroupsList;
} }
@ -49,16 +55,19 @@ public class MapService implements IMapService {
* @return * @return
*/ */
@Override @Override
public List<List<GroupFenceDev>> selectFenceGroupsById(Long carId) { public List<GroupFenceDev> selectFenceGroupsById(Long carId) {
List<CarGroupsDev> carGroupsDevs = selectCarGroups(); List<CarGroupsDev> carGroupsDevs = selectCarGroups();
List<CarGroupsDev> carGroupsDevList = carGroupsDevs.stream().filter(group -> group.getCarId() == carId).collect(Collectors.toList()); List<CarGroupsDev> groupsDevs = carGroupsDevs.stream().filter(carGroupsDev -> carGroupsDev.getCarId() == carId).collect(Collectors.toList());
List<List<GroupFenceDev>> listList = new ArrayList<>(); //围栏组和电子围栏
List<GroupFenceDev> groupFenceDevs = selectGroupFence(); List<GroupFenceDev> groupFenceDevs = selectGroupFence();
for (CarGroupsDev carGroupsDev : carGroupsDevList) { List<GroupFenceDev> groupFenceDevList = new ArrayList<>();
List<GroupFenceDev> groupFenceDevList = groupFenceDevs.stream().filter(group -> group.getGroupsId() == carGroupsDev.getGroupsId()).collect(Collectors.toList()); for (CarGroupsDev groupsDev : groupsDevs) {
listList.add(groupFenceDevList); for (GroupFenceDev groupFenceDev : groupFenceDevs.stream().filter(groupFenceDev -> groupFenceDev.getGroupsId() == groupsDev.getGroupsId()).collect(Collectors.toList())) {
groupFenceDevList.add(groupFenceDev);
}
} }
return listList; System.out.println(groupFenceDevList);
return groupFenceDevList;
} }
/** /**
@ -67,9 +76,17 @@ public class MapService implements IMapService {
* @return * @return
*/ */
@Override @Override
public String getSel(Pences pences) { public String getSel(List<Path> list) {
System.out.println(pences); Fence fence = new Fence();
return JSONObject.toJSONString(pences); String jsonString = JSONObject.toJSONString(list);
System.out.println(jsonString);
fence.setPolygonPoints(jsonString);
Random random = new Random();
int i = random.nextInt(4);
fence.setFenceName(String.valueOf(i));
System.out.println(fence);
// mapMapper.indexFence(fence);
return jsonString;
} }
/** /**

View File

@ -23,14 +23,6 @@ spring:
# 共享配置 # 共享配置
shared-configs: shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
kafka:
bootstrap-servers: 129.211.23.219:9200 # kafka集群地址
consumer:
group-id: my-group #消费者组id
auto-offset-reset: earliest #默认偏移量位置
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer #键序列化器
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer #值序列化器
enable-auto-commit: false # 是否自动提交offset
logging: logging:
level: level:
com.muyu.rule.mapper: DEBUG com.muyu.rule.mapper: DEBUG

View File

@ -60,12 +60,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select * select *
from car where vin = #{vin}; from car where vin = #{vin};
</select> </select>
<select id="selectBreakdownList" resultType="com.business.common.domain.Breakdown"> <select id="selectBreakdownList" resultType="com.business.common.domain.Breakdown" resultMap="BreakdownResult">
<include refid="selectBreakdownVo"></include> <include refid="selectBreakdownVo"/>
<where>
<if test="vin != null and vin != ''"> and vin = #{vin}</if>
<if test="faultStartTime != null">and fault_start_time >= #{faultStartTime} </if>
<if test="faultEndTime != null ">and fault_start_time &lt;= #{faultEndTime} </if>
</where>
</select> </select>
<select id="pies" resultType="java.util.Map"> <select id="pies" resultType="java.util.Map">
select fault_code name, count(fault_code) value from breakdown select fault_code name, count(fault_code) value from breakdown
<where> <where>
<if test="vin != null and vin != ''"> and vin = #{vin}</if>
<if test="faultStartTime != null">and fault_start_time >= #{faultStartTime} </if> <if test="faultStartTime != null">and fault_start_time >= #{faultStartTime} </if>
<if test="faultEndTime != null ">and fault_start_time &lt;= #{faultEndTime} </if> <if test="faultEndTime != null ">and fault_start_time &lt;= #{faultEndTime} </if>
</where> </where>

View File

@ -32,7 +32,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<insert id="indexFence"> <insert id="indexFence">
insert into fence insert into fence
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="groupId != null">group_id,</if>
<if test="fenceName != null">fence_name,</if> <if test="fenceName != null">fence_name,</if>
<if test="fenceType != null">fence_type,</if> <if test="fenceType != null">fence_type,</if>
<if test="eventType != null">event_type,</if> <if test="eventType != null">event_type,</if>
@ -40,7 +39,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="polygonPoints != null">polygon_points,</if> <if test="polygonPoints != null">polygon_points,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="groupId != null">#{groupId},</if>
<if test="fenceName != null">#{fenceName},</if> <if test="fenceName != null">#{fenceName},</if>
<if test="fenceType != null">#{fenceType},</if> <if test="fenceType != null">#{fenceType},</if>
<if test="eventType != null">#{eventType},</if> <if test="eventType != null">#{eventType},</if>

View File

@ -43,4 +43,9 @@ public class CloudController {
public Result<List<Status>> list(@RequestHeader("saas") String saas) { public Result<List<Status>> list(@RequestHeader("saas") String saas) {
return Result.success(cloudService.list(saas)); return Result.success(cloudService.list(saas));
} }
@PostMapping("index")
public Result index(String name) {
return Result.success(cloudService.index(name));
}
} }

View File

@ -15,4 +15,5 @@ public interface CloudMapper extends BaseMapper<Status> {
// List<Status> list(); // List<Status> list();
<T> List<Status> list(QueryWrapper<T> tQueryWrapper); <T> List<Status> list(QueryWrapper<T> tQueryWrapper);
} }

View File

@ -8,4 +8,6 @@ public interface CloudService {
Object selSource(); Object selSource();
List<Status> list(String saas); List<Status> list(String saas);
Object index(String name);
} }

View File

@ -23,4 +23,9 @@ public class CloudServiceImpl implements CloudService {
public List<Status> list(String saas) { public List<Status> list(String saas) {
return cloudMapper.list(new QueryWrapper<>()); return cloudMapper.list(new QueryWrapper<>());
} }
@Override
public Object index(String name) {
return null;
}
} }

View File

@ -4,7 +4,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.muyu.cloud.mapper.CloudMapper"> <mapper namespace="com.muyu.cloud.mapper.CloudMapper">
<select id="selSource" resultType="java.lang.Object"> <select id="selSource" resultType="java.lang.Object">
select * from status select * from status
</select> </select>