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.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.annotation.Excel; 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.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.annotation.Excel; 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.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;

View File

@ -1,20 +1,15 @@
package com.muyu.goods.controller; package com.muyu.goods.controller;
import com.business.common.dev.CarFenceDev; import com.business.common.dev.CarFenceGroupsDev;
import com.business.common.dev.CarGroupsDev; import com.business.common.middle.CarFenceDev;
import com.business.common.dev.GroupFenceDev; import com.business.common.middle.CarGroupsDev;
import com.business.common.middle.GroupFenceDev;
import com.business.common.domain.Fence; import com.business.common.domain.Fence;
import com.business.common.domain.FenceGroups; import com.business.common.domain.FenceGroups;
import com.business.common.domain.Path;
import com.business.common.psvm.Pences; import com.business.common.psvm.Pences;
import com.dtflys.forest.annotation.Post;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.goods.service.IMapService; 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.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -45,15 +40,35 @@ public class MapController extends BaseController {
} }
/** /**
* *
* @param carId * @param carId
* @return * @return
*/ */
@PostMapping("selectFenceGroupsById/{carId}") @PostMapping("selectFenceGroupsById/{carId}")
public Result<FenceGroups> selectFenceGroupsById(@PathVariable Long carId){ public Result<List<FenceGroups>> selectFenceGroupsById(@PathVariable Long carId){
return success(iMapService.selectFenceGroupsById(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 * @param list

View File

@ -1,8 +1,9 @@
package com.muyu.goods.mapper; package com.muyu.goods.mapper;
import com.business.common.dev.CarFenceDev; import com.business.common.dev.CarFenceGroupsDev;
import com.business.common.dev.CarGroupsDev; import com.business.common.middle.CarFenceDev;
import com.business.common.dev.GroupFenceDev; import com.business.common.middle.CarGroupsDev;
import com.business.common.middle.GroupFenceDev;
import com.business.common.domain.Fence; import com.business.common.domain.Fence;
import com.business.common.domain.FenceGroups; import com.business.common.domain.FenceGroups;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -36,4 +37,10 @@ public interface MapMapper {
void deleteCarGroups(@Param("carId") Long carId); void deleteCarGroups(@Param("carId") Long carId);
void deleteCarFence(@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; package com.muyu.goods.service;
import com.business.common.dev.CarFenceDev; import com.business.common.dev.CarFenceGroupsDev;
import com.business.common.dev.CarGroupsDev; import com.business.common.middle.CarFenceDev;
import com.business.common.dev.GroupFenceDev; import com.business.common.middle.CarGroupsDev;
import com.business.common.middle.GroupFenceDev;
import com.business.common.domain.Fence; import com.business.common.domain.Fence;
import com.business.common.domain.FenceGroups; import com.business.common.domain.FenceGroups;
import com.business.common.domain.Path;
import com.business.common.psvm.Pences; 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; import java.util.List;
@ -18,8 +16,9 @@ public interface IMapService {
List<Fence> selectFence(); List<Fence> selectFence();
FenceGroups selectFenceGroupsById(Long carId); List<CarGroupsDev> selectFenceGroupsById(Long carId);
List<GroupFenceDev> selectGroupsFenceDevById(Long groupsId);
String getSel(Pences list); String getSel(Pences list);
String deleteFence(Long fenceId); String deleteFence(Long fenceId);
@ -33,4 +32,6 @@ public interface IMapService {
List<CarGroupsDev> selectCarGroups(); List<CarGroupsDev> selectCarGroups();
List<GroupFenceDev> selectGroupFence(); List<GroupFenceDev> selectGroupFence();
String indexGroups(CarFenceGroupsDev carFenceGroupsDev);
} }

View File

@ -1,6 +1,6 @@
package com.muyu.goods.service.impl; 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.business.common.domain.Car;
import com.muyu.goods.mapper.MapMapper; import com.muyu.goods.mapper.MapMapper;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;

View File

@ -1,21 +1,18 @@
package com.muyu.goods.service.impl; package com.muyu.goods.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.business.common.dev.CarFenceDev; import com.business.common.dev.CarFenceGroupsDev;
import com.business.common.dev.CarGroupsDev; import com.business.common.middle.CarFenceDev;
import com.business.common.dev.GroupFenceDev; import com.business.common.middle.CarGroupsDev;
import com.business.common.middle.GroupFenceDev;
import com.business.common.domain.Fence; import com.business.common.domain.Fence;
import com.business.common.domain.FenceGroups; import com.business.common.domain.FenceGroups;
import com.business.common.domain.Path;
import com.business.common.psvm.Pences; import com.business.common.psvm.Pences;
import com.muyu.goods.mapper.MapMapper; import com.muyu.goods.mapper.MapMapper;
import com.muyu.goods.service.IMapService; import com.muyu.goods.service.IMapService;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; 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.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -46,13 +43,22 @@ public class MapService implements IMapService {
} }
/** /**
* *
* @param carId * @param carId
* @return * @return
*/ */
@Override @Override
public FenceGroups selectFenceGroupsById(Long carId) { public List<CarGroupsDev> selectFenceGroupsById(Long carId) {
return null; 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 @Override
public String getSel(Pences pences) { 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 "失败";
} }
/**
*
* @return
*/
@Override @Override
public List<CarFenceDev> selectCarFence() { public List<CarFenceDev> selectCarFence() {
return mapMapper.selectCarFence(); return mapMapper.selectCarFence();
} }
/**
*
* @return
*/
@Override @Override
public List<CarGroupsDev> selectCarGroups() { public List<CarGroupsDev> selectCarGroups() {
return mapMapper.selectCarGroups(); return mapMapper.selectCarGroups();
} }
/**
*
* @return
*/
@Override @Override
public List<GroupFenceDev> selectGroupFence() { public List<GroupFenceDev> selectGroupFence() {
return mapMapper.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> </resultMap>
<sql id="FenceGroupsVo"> <sql id="FenceGroupsVo">
select groups_id, car_id, groups_name from fence_groups select groups_id, groups_name from fence_groups
</sql> </sql>
<sql id="FencesVo"> <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> </sql>
<insert id="indexFenceGroups"> <insert id="indexFenceGroups">
insert into fence_groups ( groups_id, car_id, groups_name ) 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 insert into car_fence_middle
values (0,#{carId},#{fenceId}); values (0,#{carId},#{fenceId});
</insert> </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 id="updateFence">
update fence update fence
set staut = #{status} set staut = #{status}
@ -86,26 +94,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="FencesVo"></include> <include refid="FencesVo"></include>
where fence_id = #{fenceId} where fence_id = #{fenceId}
</select> </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 select g.*,f.* from fence f
left join group_fence_middle m on f.fence_id = m.fence_id 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; left join fence_groups g on m.groups_id = g.groups_id;
</select> </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 select c.*,f.* from car c
left join car_fence_middle m on c.car_id = m.car_id left join car_fence_middle m on c.car_id = m.car_id
left join fence f on f.fence_id = m.fence_id left join fence f on f.fence_id = m.fence_id
</select> </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 select c.*,g.* from car c
left join car_groups_middle m on c.car_id = m.car_id 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 left join fence_groups g on m.groups_id = g.groups_id
</select> </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 select g.*,f.* from fence f
left join group_fence_middle m on f.fence_id = m.fence_id 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 left join fence_groups g on m.groups_id = g.groups_id
</select> </select>
<select id="selectFenceGroupsByOne" resultType="com.business.common.domain.FenceGroups">
<include refid="FenceGroupsVo"></include>
ORDER BY groups_id DESC LIMIT 1
</select>
</mapper> </mapper>