fast()获取实时轨迹,重构电子围栏

car-ser
王熙朝 2024-06-19 22:30:42 +08:00
parent 598dff8d71
commit dc61e01cea
10 changed files with 125 additions and 43 deletions

View File

@ -0,0 +1,16 @@
package com.business.common.dev;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CarFenceGroupsDev {
private Long carId;
private String groupsName;
}

View File

@ -1,4 +1,4 @@
package com.business.common.dev;
package com.business.common.middle;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.annotation.Excel;

View File

@ -1,4 +1,4 @@
package com.business.common.dev;
package com.business.common.middle;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.annotation.Excel;

View File

@ -1,4 +1,4 @@
package com.business.common.dev;
package com.business.common.middle;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -1,20 +1,15 @@
package com.muyu.goods.controller;
import com.business.common.dev.CarFenceDev;
import com.business.common.dev.CarGroupsDev;
import com.business.common.dev.GroupFenceDev;
import com.business.common.dev.CarFenceGroupsDev;
import com.business.common.middle.CarFenceDev;
import com.business.common.middle.CarGroupsDev;
import com.business.common.middle.GroupFenceDev;
import com.business.common.domain.Fence;
import com.business.common.domain.FenceGroups;
import com.business.common.domain.Path;
import com.business.common.psvm.Pences;
import com.dtflys.forest.annotation.Post;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.goods.service.IMapService;
import com.muyu.goods.service.impl.MapService;
import net.sf.jsqlparser.statement.select.Select;
import org.apache.commons.codec.language.bm.Rule;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -45,15 +40,35 @@ public class MapController extends BaseController {
}
/**
*
*
* @param carId
* @return
*/
@PostMapping("selectFenceGroupsById/{carId}")
public Result<FenceGroups> selectFenceGroupsById(@PathVariable Long carId){
public Result<List<FenceGroups>> selectFenceGroupsById(@PathVariable Long carId){
return success(iMapService.selectFenceGroupsById(carId));
}
/**
*
* @param groupsId
* @return
*/
@PostMapping("selectGroupsFenceDevById/{groupsId}")
public Result<List<GroupFenceDev>> selectGroupsFenceDevById(@PathVariable Long groupsId){
return success(iMapService.selectGroupsFenceDevById(groupsId));
}
/**
*
* @param carFenceGroupsDev
* @return
*/
@PostMapping("indexGroups")
public Result indexGroups(@RequestBody CarFenceGroupsDev carFenceGroupsDev){
return success(iMapService.indexGroups(carFenceGroupsDev));
}
/**
*
* @param list

View File

@ -1,8 +1,9 @@
package com.muyu.goods.mapper;
import com.business.common.dev.CarFenceDev;
import com.business.common.dev.CarGroupsDev;
import com.business.common.dev.GroupFenceDev;
import com.business.common.dev.CarFenceGroupsDev;
import com.business.common.middle.CarFenceDev;
import com.business.common.middle.CarGroupsDev;
import com.business.common.middle.GroupFenceDev;
import com.business.common.domain.Fence;
import com.business.common.domain.FenceGroups;
import org.apache.ibatis.annotations.Param;
@ -36,4 +37,10 @@ public interface MapMapper {
void deleteCarGroups(@Param("carId") Long carId);
void deleteCarFence(@Param("carId") Long carId);
int indexGroups(CarFenceGroupsDev carFenceGroupsDev);
FenceGroups selectFenceGroupsByOne();
void indexCarGroupsDev(@Param("carId") Long carId, @Param("groupsId") Long groupsId);
}

View File

@ -1,14 +1,12 @@
package com.muyu.goods.service;
import com.business.common.dev.CarFenceDev;
import com.business.common.dev.CarGroupsDev;
import com.business.common.dev.GroupFenceDev;
import com.business.common.dev.CarFenceGroupsDev;
import com.business.common.middle.CarFenceDev;
import com.business.common.middle.CarGroupsDev;
import com.business.common.middle.GroupFenceDev;
import com.business.common.domain.Fence;
import com.business.common.domain.FenceGroups;
import com.business.common.domain.Path;
import com.business.common.psvm.Pences;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
@ -18,8 +16,9 @@ public interface IMapService {
List<Fence> selectFence();
FenceGroups selectFenceGroupsById(Long carId);
List<CarGroupsDev> selectFenceGroupsById(Long carId);
List<GroupFenceDev> selectGroupsFenceDevById(Long groupsId);
String getSel(Pences list);
String deleteFence(Long fenceId);
@ -33,4 +32,6 @@ public interface IMapService {
List<CarGroupsDev> selectCarGroups();
List<GroupFenceDev> selectGroupFence();
String indexGroups(CarFenceGroupsDev carFenceGroupsDev);
}

View File

@ -1,6 +1,6 @@
package com.muyu.goods.service.impl;
import com.business.common.dev.GroupFenceDev;
import com.business.common.middle.GroupFenceDev;
import com.business.common.domain.Car;
import com.muyu.goods.mapper.MapMapper;
import lombok.extern.log4j.Log4j2;

View File

@ -1,21 +1,18 @@
package com.muyu.goods.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.business.common.dev.CarFenceDev;
import com.business.common.dev.CarGroupsDev;
import com.business.common.dev.GroupFenceDev;
import com.business.common.dev.CarFenceGroupsDev;
import com.business.common.middle.CarFenceDev;
import com.business.common.middle.CarGroupsDev;
import com.business.common.middle.GroupFenceDev;
import com.business.common.domain.Fence;
import com.business.common.domain.FenceGroups;
import com.business.common.domain.Path;
import com.business.common.psvm.Pences;
import com.muyu.goods.mapper.MapMapper;
import com.muyu.goods.service.IMapService;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.stream.Collectors;
@ -46,13 +43,22 @@ public class MapService implements IMapService {
}
/**
*
*
* @param carId
* @return
*/
@Override
public FenceGroups selectFenceGroupsById(Long carId) {
return null;
public List<CarGroupsDev> selectFenceGroupsById(Long carId) {
List<CarGroupsDev> carGroupsDevs = selectCarGroups();
List<CarGroupsDev> carGroupsDevList = carGroupsDevs.stream().filter(group -> group.getCarId() == carId).collect(Collectors.toList());
return carGroupsDevList;
}
@Override
public List<GroupFenceDev> selectGroupsFenceDevById(Long groupsId) {
List<GroupFenceDev> groupFenceDevs = selectGroupFence();
List<GroupFenceDev> groupFenceDevList = groupFenceDevs.stream().filter(group -> group.getGroupsId() == groupsId).collect(Collectors.toList());
return groupFenceDevList;
}
/**
@ -62,7 +68,8 @@ public class MapService implements IMapService {
*/
@Override
public String getSel(Pences pences) {
return null;
System.out.println(pences);
return JSONObject.toJSONString(pences);
}
/**
@ -109,18 +116,42 @@ public class MapService implements IMapService {
return "失败";
}
/**
*
* @return
*/
@Override
public List<CarFenceDev> selectCarFence() {
return mapMapper.selectCarFence();
}
/**
*
* @return
*/
@Override
public List<CarGroupsDev> selectCarGroups() {
return mapMapper.selectCarGroups();
}
/**
*
* @return
*/
@Override
public List<GroupFenceDev> selectGroupFence() {
return mapMapper.selectGroupFence();
}
@Override
@Transactional
public String indexGroups(CarFenceGroupsDev carFenceGroupsDev) {
int i = mapMapper.indexGroups(carFenceGroupsDev);
if (i>0) {
FenceGroups fenceGroups1 = mapMapper.selectFenceGroupsByOne();
mapMapper.indexCarGroupsDev(carFenceGroupsDev.getCarId(),fenceGroups1.getGroupsId());
return "成功";
}
return "失败";
}
}

View File

@ -19,11 +19,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="FenceGroupsVo">
select groups_id, car_id, groups_name from fence_groups
select groups_id, groups_name from fence_groups
</sql>
<sql id="FencesVo">
select fence_id, group_id, fence_name, fence_type, event_type, staut, polygon_points from fence
select fence_id, fence_name, fence_type, event_type, staut, polygon_points from fence
</sql>
<insert id="indexFenceGroups">
insert into fence_groups ( groups_id, car_id, groups_name )
@ -56,6 +56,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
insert into car_fence_middle
values (0,#{carId},#{fenceId});
</insert>
<insert id="indexGroups">
insert into fence_groups
values (0,#{groupsName});
</insert>
<insert id="indexCarGroupsDev">
insert into car_groups_middle
values (0,#{carId},#{groupsId});
</insert>
<update id="updateFence">
update fence
set staut = #{status}
@ -86,26 +94,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="FencesVo"></include>
where fence_id = #{fenceId}
</select>
<select id="selectGroupFenceMiddleOne" resultType="com.business.common.dev.GroupFenceDev">
<select id="selectGroupFenceMiddleOne" resultType="com.business.common.middle.GroupFenceDev">
select g.*,f.* from fence f
left join group_fence_middle m on f.fence_id = m.fence_id
left join fence_groups g on m.groups_id = g.groups_id;
</select>
<select id="selectCarFence" resultType="com.business.common.dev.CarFenceDev">
<select id="selectCarFence" resultType="com.business.common.middle.CarFenceDev">
select c.*,f.* from car c
left join car_fence_middle m on c.car_id = m.car_id
left join fence f on f.fence_id = m.fence_id
</select>
<select id="selectCarGroups" resultType="com.business.common.dev.CarGroupsDev">
<select id="selectCarGroups" resultType="com.business.common.middle.CarGroupsDev">
select c.*,g.* from car c
left join car_groups_middle m on c.car_id = m.car_id
left join fence_groups g on m.groups_id = g.groups_id
</select>
<select id="selectGroupFence" resultType="com.business.common.dev.GroupFenceDev">
<select id="selectGroupFence" resultType="com.business.common.middle.GroupFenceDev">
select g.*,f.* from fence f
left join group_fence_middle m on f.fence_id = m.fence_id
left join fence_groups g on m.groups_id = g.groups_id
</select>
<select id="selectFenceGroupsByOne" resultType="com.business.common.domain.FenceGroups">
<include refid="FenceGroupsVo"></include>
ORDER BY groups_id DESC LIMIT 1
</select>
</mapper>