Commit 2e01412c by 宋珺琪

点位设备信息的查、改、增、获取接口(西藏)

parent edf4246c
......@@ -70,6 +70,10 @@ public class SkPointlocation extends Model<SkPointlocation> {
*/
private String isdeleted;
/**
* 空间字段
*/
private String coordinates;
/**
* 是否删除,0代表未删除,1代表删除
*/
@TableField(exist = false)
......
package com.founder.commonutils.model.vo.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
/**
* 点位传参类
......@@ -30,22 +32,28 @@ public class SkPointlocationParam {
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date jssj;
/**
@ApiModelProperty(value = "经纬度集合")
private List<Point> geometrys;
@ApiModelProperty(value = "半径")
private String radius;
/* *//**
* 结束纬度
*/
*//*
private String endLat;
/**
*//**
* 结束经度
*/
*//*
private String endLng;
/**
*//**
* 开始纬度
*/
*//*
private String startLat;
/**
*//**
* 开始经度
*/
private String startLng;
*//*
private String startLng;*/
/**
* 行数
*/
......
......@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.founder.commonutils.model.newPublicEntity.MapRestResult;
import com.founder.commonutils.model.vo.param.Point;
import com.founder.commonutils.model.vo.param.SkPointlocationParam;
import com.founder.commonutils.model.vo.param.SkPointlocationParams;
import com.founder.commonutils.util.DateUtil;
......@@ -18,6 +19,7 @@ import com.founder.publicapi.service.SkPointlocationService;
import com.founder.commonutils.util.SpringUtil;
import com.founder.servicebase.service.SkDictionaryService;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -48,18 +50,13 @@ public class SkPointlocationController extends ApiController implements ExcelCon
@ApiOperation(value = "新增点位信息")
@OperLog(message = "新增点位信息", operation = OperationType.ADD)
public MapRestResult save(SkPointlocation skPointlocation) {
skPointlocation.setXxzjbh(KeyUtil.getUUIDKey("SB"));
skPointlocation.setObjectname(skDictionaryService.findDmmcByDmAndClass(skPointlocation.getObjecttype(), "SkPointlocation"));
String x = skPointlocation.getX();
String y = skPointlocation.getY();
String xxzjbh = KeyUtil.getUUIDKey("SB");
String objectname = skDictionaryService.findDmmcByDmAndClass(skPointlocation.getObjecttype(), "SkPointlocation");
String time = DateUtil.getTimeStamp(skPointlocation.getDate());
try {
skPointlocation.setTime(DateUtil.getTimeStamp(skPointlocation.getDate()));
} catch (Exception e) {
e.printStackTrace();
}
boolean save = skPointlocationService.save(skPointlocation);
boolean save = skPointlocationService.addData(skPointlocation, xxzjbh, objectname, time, x, y);
if (save) {
return new MapRestResult();
} else {
......@@ -74,15 +71,11 @@ public class SkPointlocationController extends ApiController implements ExcelCon
@ApiOperation(value = "修改点位信息")
@OperLog(message = "修改点位信息", operation = OperationType.UPDATE)
public MapRestResult update(SkPointlocation skPointlocation) {
skPointlocation.setObjectname(skDictionaryService.findDmmcByDmAndClass(skPointlocation.getObjecttype(), "SkPointlocation"));
try {
skPointlocation.setTime(DateUtil.getTimeStamp(skPointlocation.getDate()));
} catch (Exception e) {
e.printStackTrace();
}
boolean update = skPointlocationService.updateById(skPointlocation);
String x = skPointlocation.getX();
String y = skPointlocation.getY();
String objectname = skDictionaryService.findDmmcByDmAndClass(skPointlocation.getObjecttype(), "SkPointlocation");
String time = DateUtil.getTimeStamp(skPointlocation.getDate());
boolean update = skPointlocationService.upData(skPointlocation, objectname, time, x, y);
if (update) {
return new MapRestResult();
} else {
......@@ -116,7 +109,8 @@ public class SkPointlocationController extends ApiController implements ExcelCon
@ApiOperation(value = "查询点位详情信息")
@OperLog(message = "查询点位详情信息", operation = OperationType.QUERY)
public MapRestResult detail(String xxzjbh) {
SkPointlocation byId = skPointlocationService.getById(xxzjbh);
SkPointlocation byId = skPointlocationService.selectByXxzjbh(xxzjbh);
// SkPointlocation byId = skPointlocationService.getById(xxzjbh);
if (byId == null) {
return new MapRestResult().error("不存在该数据");
} else {
......@@ -144,7 +138,7 @@ public class SkPointlocationController extends ApiController implements ExcelCon
if (skPointlocationParam.getLikeValue() != null && !skPointlocationParam.getLikeValue().equals("")) {
queryWrapper.like("deviceName", skPointlocationParam.getLikeValue());
}
//纬度
/* //纬度
if (skPointlocationParam.getStartLat() != null && !skPointlocationParam.getStartLat().equals("")) {
queryWrapper.ge("CAST(y AS decimal(16,8))", Double.parseDouble(skPointlocationParam.getStartLat()));
}
......@@ -157,7 +151,7 @@ public class SkPointlocationController extends ApiController implements ExcelCon
}
if (skPointlocationParam.getEndLng() != null && !skPointlocationParam.getEndLng().equals("")) {
queryWrapper.le("CAST(x AS decimal(16,8))", Double.parseDouble(skPointlocationParam.getEndLng()));
}
}*/
//时间
if (skPointlocationParam.getKssj() != null) {
queryWrapper.ge("str_to_date(date,'%Y-%m-%d %H:%i:%s')", skPointlocationParam.getKssj());
......@@ -166,6 +160,25 @@ public class SkPointlocationController extends ApiController implements ExcelCon
queryWrapper.le("str_to_date(date,'%Y-%m-%d %H:%i:%s')", skPointlocationParam.getJssj());
}
List<Point> geoametrys = skPointlocationParam.getGeometrys();
if (geoametrys!=null){
if(geoametrys.size()>0) {
// 多个点位即为多边形
if (geoametrys.size()>1) {
String geoametryStr = "";
for (int i = 0; i < geoametrys.size(); i++) {
if (i == geoametrys.size()-1) {
geoametryStr += geoametrys.get(i).getX() + " " + geoametrys.get(i).getY();
} else {
geoametryStr += geoametrys.get(i).getX() + " " + geoametrys.get(i).getY() + ",";
}
}
queryWrapper.apply("ST_CONTAINS(ST_GEOMFROMTEXT('POLYGON((" + geoametryStr + "))'), coordinates)");
} else if(StringUtils.isNotEmpty(skPointlocationParam.getRadius())){
queryWrapper.apply("ST_Distance_Sphere(coordinates, POINT(" + geoametrys.get(0).getX()+","+ geoametrys.get(0).getY() + ")) < " + skPointlocationParam.getRadius());
}
}
}
IPage page1 = skPointlocationService.page(page, queryWrapper);
return new MapRestResult(200, "OK", page1.getTotal(), page1.getRecords());
......
......@@ -2,6 +2,7 @@ package com.founder.publicapi.mapper.mysqlMapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.founder.commonutils.model.newPublicEntity.SkPointlocation;
import org.apache.ibatis.annotations.Param;
/**
* (SkPointlocation)表数据库访问层
......@@ -11,5 +12,12 @@ import com.founder.commonutils.model.newPublicEntity.SkPointlocation;
*/
public interface SkPointlocationMapper extends BaseMapper<SkPointlocation> {
boolean addData(@Param("skPointlocation")SkPointlocation skPointlocation, @Param("xxzjbh")String xxzjbh, @Param("objectname")String objectname, @Param("time")String time, @Param("x")String x, @Param("y")String y);
boolean upData(@Param("skPointlocation")SkPointlocation skPointlocation, @Param("objectname")String objectname, @Param("time")String time, @Param("x")String x, @Param("y")String y);
SkPointlocation selectByXxzjbh(String xxzjbh);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.founder.publicapi.mapper.mysqlMapper.SkPointlocationMapper">
<insert id="addData" parameterType="com.founder.commonutils.model.newPublicEntity.SkPointlocation">
INSERT INTO sk_pointlocation(
xxzjbh,
deviceId,
deviceName,
x,
y,
address,
objectType,
objectName,
time,
date,
isDeleted,
coordinates
) VALUES
(
#{xxzjbh},
#{skPointlocation.deviceid},
#{skPointlocation.devicename},
#{x},
#{y},
#{skPointlocation.address},
#{skPointlocation.objecttype},
#{objectname},
#{time},
#{skPointlocation.date},
'0',
POINT(#{x},#{y}));
</insert>
<update id="upData" parameterType="com.founder.commonutils.model.newPublicEntity.SkPointlocation">
UPDATE sk_pointlocation SET
deviceId= #{skPointlocation.deviceid},
deviceName= #{skPointlocation.devicename},
x = #{x},
y = #{y},
address = #{skPointlocation.address},
objectType = #{skPointlocation.objecttype},
objectName = #{objectname},
time = #{time},
date = #{skPointlocation.date},
coordinates = POINT(#{x},#{y})
WHERE xxzjbh = #{skPointlocation.xxzjbh}
</update>
<select id="selectByXxzjbh" resultType="com.founder.commonutils.model.newPublicEntity.SkPointlocation">
select
xxzjbh,
deviceId,
deviceName,
x,
y,
address,
objectType,
objectName,
time,
date,
isDeleted,
ST_AsText(coordinates) as coordinates
from sk_pointlocation
where xxzjbh = #{xxzjbh}
</select>
</mapper>
......@@ -10,6 +10,11 @@ import com.founder.commonutils.model.newPublicEntity.SkPointlocation;
* @since 2022-03-01 10:46:17
*/
public interface SkPointlocationService extends IService<SkPointlocation> {
boolean addData(SkPointlocation skPointlocation, String xxzjbh, String objectname, String time,String x , String y);
boolean upData(SkPointlocation skPointlocation, String objectname, String time,String x , String y);
SkPointlocation selectByXxzjbh(String xxzjbh);
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.founder.commonutils.model.newPublicEntity.SkPointlocation;
import com.founder.publicapi.mapper.mysqlMapper.SkPointlocationMapper;
import com.founder.publicapi.service.SkPointlocationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
......@@ -14,6 +15,21 @@ import org.springframework.stereotype.Service;
*/
@Service("skPointlocationService")
public class SkPointlocationServiceImpl extends ServiceImpl<SkPointlocationMapper, SkPointlocation> implements SkPointlocationService {
@Autowired
SkPointlocationMapper skPointlocationMapper;
@Override
public boolean addData(SkPointlocation skPointlocation, String xxzjbh, String objectname, String time,String x,String y) {
return skPointlocationMapper.addData(skPointlocation,xxzjbh,objectname,time,x,y);
}
@Override
public boolean upData(SkPointlocation skPointlocation, String objectname, String time,String x,String y) {
return skPointlocationMapper.upData(skPointlocation,objectname,time,x,y);
}
@Override
public SkPointlocation selectByXxzjbh(String xxzjbh) {
return skPointlocationMapper.selectByXxzjbh(xxzjbh);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment