Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
ims-ci-test
Commits
ae767e10
提交
ae767e10
authored
5月 19, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
全国网点
上级
2777ef8f
隐藏空白字符变更
内嵌
并排
正在显示
22 个修改的文件
包含
699 行增加
和
3 行删除
+699
-3
ImageInfoVO.java
...rc/main/java/com/mmc/csf/release/task/vo/ImageInfoVO.java
+9
-0
DummyFlyerDTO.java
...odel/src/main/java/com/mmc/csf/web/dto/DummyFlyerDTO.java
+26
-0
DummyUavDTO.java
...-model/src/main/java/com/mmc/csf/web/dto/DummyUavDTO.java
+27
-0
WebsiteDTO.java
...n-model/src/main/java/com/mmc/csf/web/dto/WebsiteDTO.java
+36
-0
WebsiteRangeDTO.java
...el/src/main/java/com/mmc/csf/web/dto/WebsiteRangeDTO.java
+31
-0
LocationVO.java
...on-model/src/main/java/com/mmc/csf/web/vo/LocationVO.java
+30
-0
WebsiteVO.java
...mon-model/src/main/java/com/mmc/csf/web/vo/WebsiteVO.java
+29
-0
LocationUtils.java
...ain/java/com/mmc/csf/common/util/other/LocationUtils.java
+44
-0
kustomization.yaml
kustomization/overlays/dev/kustomization.yaml
+1
-1
TaskController.java
...n/java/com/mmc/csf/release/controller/TaskController.java
+0
-2
WebsiteController.java
...ava/com/mmc/csf/release/controller/WebsiteController.java
+71
-0
WebsiteDao.java
...ice/src/main/java/com/mmc/csf/release/dao/WebsiteDao.java
+30
-0
DummyFlyerDO.java
...rc/main/java/com/mmc/csf/release/entity/DummyFlyerDO.java
+39
-0
DummyUavDO.java
.../src/main/java/com/mmc/csf/release/entity/DummyUavDO.java
+41
-0
WebsiteInfoDO.java
...c/main/java/com/mmc/csf/release/entity/WebsiteInfoDO.java
+53
-0
FlyerDummyService.java
...n/java/com/mmc/csf/release/service/FlyerDummyService.java
+10
-0
UavDummyService.java
...ain/java/com/mmc/csf/release/service/UavDummyService.java
+12
-0
WebsiteService.java
...main/java/com/mmc/csf/release/service/WebsiteService.java
+17
-0
FlyerDummyServiceImpl.java
...m/mmc/csf/release/service/impl/FlyerDummyServiceImpl.java
+32
-0
UavDummyServiceImpl.java
...com/mmc/csf/release/service/impl/UavDummyServiceImpl.java
+32
-0
WebsiteServiceImpl.java
.../com/mmc/csf/release/service/impl/WebsiteServiceImpl.java
+69
-0
WebsiteDao.xml
...-service/src/main/resources/mapper/website/WebsiteDao.xml
+60
-0
没有找到文件。
csf-common/csf-common-model/src/main/java/com/mmc/csf/release/task/vo/ImageInfoVO.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
release
.
task
.
vo
;
/**
* @Author LW
* @date 2023/5/19 20:26
* 概要:
*/
public
class
ImageInfoVO
{
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/web/dto/DummyFlyerDTO.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
web
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* Author: geDuo
* Date: 2022/5/24 15:18
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
value
=
"com.mmc.csf.flyer.dto.DummyFlyerDTO"
,
description
=
"飞手DTO"
)
public
class
DummyFlyerDTO
implements
Serializable
{
private
String
flyerName
;
private
String
phoneNum
;
private
Double
lon
;
private
Double
lat
;
private
Double
distance
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/web/dto/DummyUavDTO.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
web
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* Author: geDuo
* Date: 2022/5/24 16:08
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
value
=
"com.mmc.csf.repo.dto.DummyFlyerDTO"
,
description
=
"无人机DTO"
)
public
class
DummyUavDTO
implements
Serializable
{
private
String
ID
;
private
String
uavName
;
private
Integer
online
;
private
Double
lon
;
private
Double
lat
;
private
Double
distance
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/web/dto/WebsiteDTO.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
web
.
dto
;
import
com.alibaba.fastjson.JSONArray
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @Author LW
* @date 2022/4/21 19:56
* 概要:
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
value
=
"com.mmc.csf.model.dto.WebsiteDTO"
,
description
=
"网点信息"
)
public
class
WebsiteDTO
implements
Serializable
{
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"省编码"
)
private
String
adCode
;
@ApiModelProperty
(
value
=
"省市"
)
private
String
province
;
@ApiModelProperty
(
value
=
"地标信息"
)
private
JSONArray
location
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/web/dto/WebsiteRangeDTO.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
web
.
dto
;
import
com.mmc.csf.web.vo.LocationVO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @Author LW
* @date 2022/4/22 10:02
* 概要:
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
WebsiteRangeDTO
implements
Serializable
{
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"省编码"
)
private
String
adCode
;
@ApiModelProperty
(
value
=
"省"
)
private
String
province
;
@ApiModelProperty
(
value
=
"地址经纬度"
)
private
List
<
LocationVO
>
locationList
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/web/vo/LocationVO.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
web
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @Author LW
* @date 2022/4/22 10:04
* 概要:
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
LocationVO
implements
Serializable
{
@ApiModelProperty
(
value
=
"地址"
)
private
String
dizhi
;
@ApiModelProperty
(
value
=
"经度"
)
private
Double
jd
;
@ApiModelProperty
(
value
=
"纬度"
)
private
Double
wd
;
@ApiModelProperty
(
value
=
"距离"
)
private
Double
range
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/web/vo/WebsiteVO.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
web
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* @Author LW
* @date 2022/4/22 10:12
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
WebsiteVO
implements
Serializable
{
@ApiModelProperty
(
value
=
"省份编码"
)
@NotNull
(
message
=
"省份编码不能为空"
)
private
String
adCode
;
@ApiModelProperty
(
value
=
"经度"
)
@NotNull
(
message
=
"经度不能为空"
)
private
Double
lon
;
@ApiModelProperty
(
value
=
"纬度"
)
@NotNull
(
message
=
"纬度不能为空"
)
private
Double
lat
;
}
csf-common/csf-common-util/src/main/java/com/mmc/csf/common/util/other/LocationUtils.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
common
.
util
.
other
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年11月5日 下午5:48:59
* @explain 高德地图对应经纬度计算距离
*/
public
class
LocationUtils
{
// 地球赤道半径
private
static
double
EARTH_RADIUS
=
6378.137
;
private
static
double
rad
(
double
d
)
{
return
d
*
Math
.
PI
/
180.0
;
}
/**
* @描述 经纬度获取距离,单位为KM
* @参数 [lat1, lon1, lat2, lon2]
* @返回值 double
* @创建人 Young
* @创建时间 2019/3/13 20:33
**/
public
static
double
getDistance
(
double
lat1
,
double
lon1
,
double
lat2
,
double
lon2
)
{
double
radLat1
=
rad
(
lat1
);
double
radLat2
=
rad
(
lat2
);
double
a
=
radLat1
-
radLat2
;
double
b
=
rad
(
lon1
)
-
rad
(
lon2
);
double
s
=
2
*
Math
.
asin
(
Math
.
sqrt
(
Math
.
pow
(
Math
.
sin
(
a
/
2
),
2
)
+
Math
.
cos
(
radLat1
)
*
Math
.
cos
(
radLat2
)
*
Math
.
pow
(
Math
.
sin
(
b
/
2
),
2
)));
s
=
s
*
EARTH_RADIUS
;
s
=
Math
.
round
(
s
*
10000
d
)
/
10000
d
;
return
s
;
}
public
static
double
getDistanceByM
(
double
lat1
,
double
lon1
,
double
lat2
,
double
lon2
)
{
double
s
=
LocationUtils
.
getDistance
(
lat1
,
lon1
,
lat2
,
lon2
)
*
1000
;
return
s
;
}
public
static
void
main
(
String
[]
args
)
{
double
distance
=
getDistance
(
34.810487
,
117.323725
,
22.576802
,
113.94059
);
System
.
out
.
println
(
"距离"
+
distance
+
"KM"
);
}
}
kustomization/overlays/dev/kustomization.yaml
浏览文件 @
ae767e10
...
...
@@ -17,4 +17,4 @@ patches:
images
:
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly/ims
newTag
:
a295653b2ae6d6cb06abca41414e411d1ddb600b
newTag
:
e808927275ea9039eb60fca038d88eee63183d9f
release-service/src/main/java/com/mmc/csf/release/controller/TaskController.java
浏览文件 @
ae767e10
...
...
@@ -3,7 +3,6 @@ package com.mmc.csf.release.controller;
import
com.mmc.csf.common.util.group.Create
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.release.entity.AppTypeDO
;
import
com.mmc.csf.release.forum.vo.DynamicVO
;
import
com.mmc.csf.release.service.TaskService
;
import
com.mmc.csf.release.task.qo.TaskServiceQo
;
import
com.mmc.csf.release.task.vo.IndustryVO
;
...
...
@@ -15,7 +14,6 @@ import org.springframework.validation.annotation.Validated;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @Author LW
...
...
release-service/src/main/java/com/mmc/csf/release/controller/WebsiteController.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
release
.
controller
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.release.service.FlyerDummyService
;
import
com.mmc.csf.release.service.UavDummyService
;
import
com.mmc.csf.release.service.WebsiteService
;
import
com.mmc.csf.web.dto.WebsiteDTO
;
import
com.mmc.csf.web.dto.WebsiteRangeDTO
;
import
com.mmc.csf.web.vo.WebsiteVO
;
import
io.swagger.annotations.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
/**
* @Author LW
* @date 2022/4/21 19:13
* 概要:
*/
@Api
(
tags
=
{
"全国网点-api"
})
@RestController
@RequestMapping
(
"/website/"
)
public
class
WebsiteController
{
@Autowired
private
WebsiteService
websiteService
;
@Autowired
private
FlyerDummyService
flyerDummyService
;
@Autowired
private
UavDummyService
uavDummyService
;
@ApiOperation
(
value
=
"小程序--获取本省网点"
)
@ApiResponses
(
value
=
{
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
WebsiteDTO
.
class
)})
@GetMapping
(
"getWebsiteByAdCode"
)
public
ResultBody
getWebsiteByAdCode
(
@ApiParam
(
value
=
"省编码"
)
@RequestParam
(
value
=
"code"
)
String
adCode
)
{
return
websiteService
.
getWebsiteByAdCode
(
adCode
);
}
@ApiOperation
(
value
=
"获取全国网点"
)
@ApiResponses
(
value
=
{
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
WebsiteRangeDTO
.
class
)})
@GetMapping
(
"getWebsiteList"
)
public
ResultBody
getWebsiteList
(
@ApiParam
(
value
=
"用户当前经度"
,
required
=
true
)
@RequestParam
(
value
=
"lon"
)
Double
lon
,
@ApiParam
(
value
=
"用户当前纬度"
,
required
=
true
)
@RequestParam
(
value
=
"lat"
)
Double
lat
)
{
return
websiteService
.
getWebsiteList
(
lon
,
lat
);
}
@ApiOperation
(
value
=
"获取当前省份距离最近的网点"
)
@ApiResponses
(
value
=
{
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
WebsiteRangeDTO
.
class
)})
@PostMapping
(
"getProvinceWebsiteRange"
)
public
ResultBody
getProvinceWebsiteRange
(
@RequestBody
WebsiteVO
websiteVO
)
{
return
websiteService
.
getProvinceWebsiteRange
(
websiteVO
);
}
@ApiOperation
(
value
=
"全国飞手-海点数据-fake"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"/flyer/bitmap"
)
public
ResultBody
listFlyerDummyData
(
@RequestParam
Integer
pageNo
,
@RequestParam
Integer
pageSize
,
@RequestParam
Double
lon
,
@RequestParam
Double
lat
)
{
return
ResultBody
.
success
(
flyerDummyService
.
listDummyFlyer
(
pageNo
,
pageSize
,
lon
,
lat
));
}
@ApiOperation
(
value
=
"全国无人机-海点数据-fake"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"/uav/bitmap"
)
public
ResultBody
listUavDummys
(
@RequestParam
Integer
pageNo
,
@RequestParam
Integer
pageSize
,
@RequestParam
Double
lon
,
@RequestParam
Double
lat
)
{
return
ResultBody
.
success
(
uavDummyService
.
listDummyUav
(
pageNo
,
pageSize
,
lon
,
lat
));
}
}
release-service/src/main/java/com/mmc/csf/release/dao/WebsiteDao.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
release
.
dao
;
import
com.mmc.csf.release.entity.DummyFlyerDO
;
import
com.mmc.csf.release.entity.DummyUavDO
;
import
com.mmc.csf.release.entity.WebsiteInfoDO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @Author LW
* @date 2022/4/21 19:21
* 概要:
*/
@Mapper
public
interface
WebsiteDao
{
WebsiteInfoDO
getWebsiteByAdCode
(
String
adCode
);
List
<
WebsiteInfoDO
>
getWebsiteList
();
int
countDummyFlyer
();
List
<
DummyFlyerDO
>
listDummyFlyer
(
Double
lon
,
Double
lat
,
Integer
pageNo
,
Integer
pageSize
);
int
countDummyUav
();
List
<
DummyUavDO
>
listDummyUav
(
Double
lon
,
Double
lat
,
Integer
pageNo
,
Integer
pageSize
);
}
release-service/src/main/java/com/mmc/csf/release/entity/DummyFlyerDO.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
release
.
entity
;
import
com.mmc.csf.web.dto.DummyFlyerDTO
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* Author: geDuo
* Date: 2022/5/27 17:50
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
DummyFlyerDO
implements
Serializable
{
private
Integer
id
;
private
String
flyerName
;
private
String
phoneNum
;
private
Double
lon
;
private
Double
lat
;
private
Double
distance
;
public
DummyFlyerDO
(
DummyFlyerDTO
d
)
{
this
.
flyerName
=
d
.
getFlyerName
();
this
.
phoneNum
=
d
.
getPhoneNum
();
this
.
lon
=
d
.
getLon
();
this
.
lat
=
d
.
getLat
();
}
public
DummyFlyerDTO
buildDummyFlyerDTO
()
{
this
.
distance
=
this
.
distance
==
null
?
0
:
(
BigDecimal
.
valueOf
(
this
.
distance
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_DOWN
)).
doubleValue
();
return
DummyFlyerDTO
.
builder
().
flyerName
(
this
.
flyerName
).
phoneNum
(
this
.
phoneNum
).
lon
(
this
.
lon
).
lat
(
this
.
lat
).
distance
(
this
.
distance
/
1000
).
build
();
}
}
release-service/src/main/java/com/mmc/csf/release/entity/DummyUavDO.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
release
.
entity
;
import
com.mmc.csf.web.dto.DummyUavDTO
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* Author: geDuo
* Date: 2022/5/27 17:52
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
DummyUavDO
implements
Serializable
{
private
Integer
id
;
private
String
uavName
;
private
String
code
;
private
Integer
online
;
private
Double
lon
;
private
Double
lat
;
private
Double
distance
;
public
DummyUavDO
(
DummyUavDTO
d
)
{
this
.
uavName
=
d
.
getUavName
();
this
.
code
=
d
.
getID
();
this
.
online
=
d
.
getOnline
();
this
.
lon
=
d
.
getLon
();
this
.
lat
=
d
.
getLat
();
}
public
DummyUavDTO
buildDummyUavDTO
()
{
this
.
distance
=
this
.
distance
==
null
?
0
:
(
BigDecimal
.
valueOf
(
this
.
distance
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_DOWN
)).
doubleValue
();
return
DummyUavDTO
.
builder
().
uavName
(
this
.
uavName
).
ID
(
this
.
code
).
online
(
this
.
online
).
lon
(
this
.
lon
).
lat
(
this
.
lat
).
distance
(
this
.
distance
/
1000
).
build
();
}
}
release-service/src/main/java/com/mmc/csf/release/entity/WebsiteInfoDO.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
release
.
entity
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mmc.csf.web.dto.WebsiteDTO
;
import
com.mmc.csf.web.dto.WebsiteRangeDTO
;
import
com.mmc.csf.web.vo.LocationVO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author LW
* @date 2022/4/21 20:09
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
WebsiteInfoDO
implements
Serializable
{
private
Integer
id
;
private
String
adCode
;
private
String
province
;
private
String
location
;
private
Date
createTime
;
private
Date
updateTime
;
public
WebsiteDTO
buildWebsiteDTO
()
{
JSONArray
json
=
(
JSONArray
)
JSONObject
.
parse
(
this
.
location
);
return
WebsiteDTO
.
builder
()
.
id
(
this
.
id
)
.
adCode
(
this
.
adCode
)
.
province
(
this
.
province
)
.
location
(
json
)
.
createTime
(
this
.
createTime
)
.
build
();
}
public
WebsiteRangeDTO
buildWebsiteRangeDTO
()
{
List
<
LocationVO
>
list
=
JSONArray
.
parseArray
(
this
.
location
,
LocationVO
.
class
);
return
WebsiteRangeDTO
.
builder
()
.
id
(
this
.
id
)
.
province
(
this
.
province
)
.
adCode
(
this
.
adCode
)
.
locationList
(
list
)
.
build
();
}
}
release-service/src/main/java/com/mmc/csf/release/service/FlyerDummyService.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
release
.
service
;
import
com.mmc.csf.common.util.page.PageResult
;
public
interface
FlyerDummyService
{
PageResult
listDummyFlyer
(
Integer
pageNo
,
Integer
pageSize
,
Double
lon
,
Double
lat
);
}
release-service/src/main/java/com/mmc/csf/release/service/UavDummyService.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
release
.
service
;
import
com.mmc.csf.common.util.page.PageResult
;
/**
* Author: geDuo
* Date: 2022/5/24 16:05
*/
public
interface
UavDummyService
{
PageResult
listDummyUav
(
Integer
pageNo
,
Integer
pageSize
,
Double
lon
,
Double
lat
);
}
release-service/src/main/java/com/mmc/csf/release/service/WebsiteService.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
release
.
service
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.web.vo.WebsiteVO
;
/**
* @Author LW
* @date 2022/4/21 19:18
* 概要:
*/
public
interface
WebsiteService
{
ResultBody
getWebsiteByAdCode
(
String
adCode
);
ResultBody
getWebsiteList
(
Double
lon
,
Double
lat
);
ResultBody
getProvinceWebsiteRange
(
WebsiteVO
websiteVO
);
}
release-service/src/main/java/com/mmc/csf/release/service/impl/FlyerDummyServiceImpl.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
release
.
service
.
impl
;
import
com.mmc.csf.common.util.page.PageResult
;
import
com.mmc.csf.release.dao.WebsiteDao
;
import
com.mmc.csf.release.service.FlyerDummyService
;
import
com.mmc.csf.web.dto.DummyFlyerDTO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* Author: geDuo
* Date: 2022/5/24 15:21
*/
@Service
public
class
FlyerDummyServiceImpl
implements
FlyerDummyService
{
@Autowired
private
WebsiteDao
websiteDao
;
@Override
public
PageResult
listDummyFlyer
(
Integer
pageNo
,
Integer
pageSize
,
Double
lon
,
Double
lat
)
{
int
count
=
websiteDao
.
countDummyFlyer
();
if
(
count
==
0
)
{
return
PageResult
.
buildPage
(
pageNo
,
pageSize
,
count
);
}
List
<
DummyFlyerDTO
>
list
=
websiteDao
.
listDummyFlyer
(
lon
,
lat
,
(
pageNo
-
1
)
*
pageSize
,
pageSize
).
stream
().
map
(
d
->
d
.
buildDummyFlyerDTO
()).
collect
(
Collectors
.
toList
());
return
PageResult
.
buildPage
(
pageNo
,
pageSize
,
count
,
list
);
}
}
release-service/src/main/java/com/mmc/csf/release/service/impl/UavDummyServiceImpl.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
release
.
service
.
impl
;
import
com.mmc.csf.common.util.page.PageResult
;
import
com.mmc.csf.release.dao.WebsiteDao
;
import
com.mmc.csf.release.service.UavDummyService
;
import
com.mmc.csf.web.dto.DummyUavDTO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* Author: geDuo
* Date: 2022/5/24 16:13
*/
@Service
public
class
UavDummyServiceImpl
implements
UavDummyService
{
@Autowired
private
WebsiteDao
websiteDao
;
@Override
public
PageResult
listDummyUav
(
Integer
pageNo
,
Integer
pageSize
,
Double
lon
,
Double
lat
)
{
int
count
=
websiteDao
.
countDummyUav
();
if
(
count
==
0
)
{
return
PageResult
.
buildPage
(
pageNo
,
pageSize
,
count
);
}
List
<
DummyUavDTO
>
list
=
websiteDao
.
listDummyUav
(
lon
,
lat
,
(
pageNo
-
1
)
*
pageSize
,
pageSize
).
stream
().
map
(
d
->
d
.
buildDummyUavDTO
()).
collect
(
Collectors
.
toList
());
return
PageResult
.
buildPage
(
pageNo
,
pageSize
,
count
,
list
);
}
}
release-service/src/main/java/com/mmc/csf/release/service/impl/WebsiteServiceImpl.java
0 → 100644
浏览文件 @
ae767e10
package
com
.
mmc
.
csf
.
release
.
service
.
impl
;
import
com.mmc.csf.common.util.other.LocationUtils
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.release.dao.WebsiteDao
;
import
com.mmc.csf.release.entity.WebsiteInfoDO
;
import
com.mmc.csf.release.service.WebsiteService
;
import
com.mmc.csf.web.dto.WebsiteRangeDTO
;
import
com.mmc.csf.web.vo.LocationVO
;
import
com.mmc.csf.web.vo.WebsiteVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @Author LW
* @date 2022/4/21 19:19
* 概要:
*/
@Service
public
class
WebsiteServiceImpl
implements
WebsiteService
{
@Autowired
private
WebsiteDao
websiteDao
;
@Override
public
ResultBody
getWebsiteByAdCode
(
String
adCode
)
{
WebsiteInfoDO
websiteInfoDO
=
websiteDao
.
getWebsiteByAdCode
(
adCode
);
return
ResultBody
.
success
(
websiteInfoDO
.
buildWebsiteDTO
());
}
@Override
public
ResultBody
getWebsiteList
(
Double
lon
,
Double
lat
)
{
List
<
WebsiteInfoDO
>
list
=
websiteDao
.
getWebsiteList
();
List
<
WebsiteRangeDTO
>
rangeList
=
list
.
stream
()
.
map
(
WebsiteInfoDO:
:
buildWebsiteRangeDTO
)
.
collect
(
Collectors
.
toList
());
for
(
WebsiteRangeDTO
websiteRangeDTO
:
rangeList
)
{
for
(
LocationVO
d
:
websiteRangeDTO
.
getLocationList
())
{
double
distance
=
0
;
if
(
d
.
getJd
()
!=
null
&&
d
.
getJd
()
!=
0
&&
d
.
getWd
()
!=
null
&&
d
.
getWd
()
!=
0
)
{
distance
=
LocationUtils
.
getDistance
(
d
.
getWd
(),
d
.
getJd
(),
lat
,
lon
);
}
d
.
setRange
(
distance
);
}
websiteRangeDTO
.
getLocationList
().
sort
(
Comparator
.
comparing
(
LocationVO:
:
getRange
));
}
return
ResultBody
.
success
(
rangeList
);
}
@Override
public
ResultBody
getProvinceWebsiteRange
(
WebsiteVO
websiteVO
)
{
WebsiteInfoDO
website
=
websiteDao
.
getWebsiteByAdCode
(
websiteVO
.
getAdCode
());
WebsiteRangeDTO
websiteRangeDTO
=
website
.
buildWebsiteRangeDTO
();
// 获取位置信息
List
<
LocationVO
>
locationList
=
websiteRangeDTO
.
getLocationList
();
for
(
LocationVO
d
:
locationList
)
{
double
distance
=
0
;
if
(
d
.
getJd
()
!=
null
&&
d
.
getJd
()
!=
0
&&
d
.
getWd
()
!=
null
&&
d
.
getWd
()
!=
0
)
{
distance
=
LocationUtils
.
getDistance
(
d
.
getWd
(),
d
.
getJd
(),
websiteVO
.
getLat
(),
websiteVO
.
getLon
());
}
d
.
setRange
(
distance
);
}
locationList
.
sort
(
Comparator
.
comparing
(
LocationVO:
:
getRange
));
return
ResultBody
.
success
(
locationList
);
}
}
release-service/src/main/resources/mapper/website/WebsiteDao.xml
0 → 100644
浏览文件 @
ae767e10
<?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.mmc.csf.release.dao.WebsiteDao"
>
<resultMap
id=
"dummyFlyerResultMap"
type=
"com.mmc.csf.release.entity.DummyFlyerDO"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"flyerName"
column=
"flyer_name"
/>
<result
property=
"phoneNum"
column=
"phone_num"
/>
<result
property=
"lon"
column=
"lon"
/>
<result
property=
"lat"
column=
"lat"
/>
<result
property=
"distance"
column=
"distance"
/>
</resultMap>
<resultMap
id=
"dummyUavResultMap"
type=
"com.mmc.csf.release.entity.DummyUavDO"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"code"
column=
"code"
/>
<result
property=
"online"
column=
"online"
/>
<result
property=
"lat"
column=
"lat"
/>
<result
property=
"lon"
column=
"lon"
/>
<result
property=
"uavName"
column=
"uav_name"
/>
<result
property=
"distance"
column=
"distance"
/>
</resultMap>
<select
id=
"getWebsiteByAdCode"
resultType=
"com.mmc.csf.release.entity.WebsiteInfoDO"
>
select id, ad_code adCode, province, location, create_time createTime
from website_info
where ad_code = #{adCode}
</select>
<select
id=
"getWebsiteList"
resultType=
"com.mmc.csf.release.entity.WebsiteInfoDO"
>
select id, ad_code adCode, province, location, create_time createTime
from website_info
</select>
<select
id=
"countDummyFlyer"
resultType=
"Integer"
>
select count(*) from dummy_flyer
</select>
<select
id=
"listDummyFlyer"
resultMap=
"dummyFlyerResultMap"
>
SELECT id,flyer_name,phone_num,lon,lat,
st_distance_sphere(point(lon,lat),point(${lon},${lat})) as distance
FROM dummy_flyer
ORDER BY distance ASC
LIMIT #{pageNo},#{pageSize}
</select>
<select
id=
"countDummyUav"
resultType=
"Integer"
>
select count(*) from dummy_uav
</select>
<select
id=
"listDummyUav"
resultMap=
"dummyUavResultMap"
>
SELECT id,code,online,lon,lat,uav_name,
st_distance_sphere(point(lon,lat),point(${lon},${lat})) as distance
FROM dummy_uav
ORDER BY distance ASC
LIMIT #{pageNo},#{pageSize}
</select>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论