Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
8291d678
Commit
8291d678
authored
Jul 05, 2019
by
libin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
campsite bug 修复
parent
5103f818
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
172 additions
and
96 deletions
+172
-96
CampsiteShopDetailDTO.java
...com/xxfc/platform/campsite/dto/CampsiteShopDetailDTO.java
+3
-0
CampsiteShopDetailVo.java
...a/com/xxfc/platform/campsite/vo/CampsiteShopDetailVo.java
+3
-0
CampSiteApplication.java
.../java/com/xxfc/platform/campsite/CampSiteApplication.java
+0
-1
CampsiteShopBiz.java
.../java/com/xxfc/platform/campsite/biz/CampsiteShopBiz.java
+160
-92
RedisConfiguration.java
...com/xxfc/platform/campsite/config/RedisConfiguration.java
+5
-2
CampsiteShopMapper.xml
...e-server/src/main/resources/mapper/CampsiteShopMapper.xml
+1
-1
No files found.
xx-campsite/xx-campsite-api/src/main/java/com/xxfc/platform/campsite/dto/CampsiteShopDetailDTO.java
View file @
8291d678
...
...
@@ -65,4 +65,7 @@ public class CampsiteShopDetailDTO {
@ApiModelProperty
(
value
=
"纬度"
)
private
Double
latitude
;
@ApiModelProperty
(
value
=
"电话"
)
private
String
phone
;
}
xx-campsite/xx-campsite-api/src/main/java/com/xxfc/platform/campsite/vo/CampsiteShopDetailVo.java
View file @
8291d678
...
...
@@ -89,4 +89,7 @@ public class CampsiteShopDetailVo {
*/
@ApiModelProperty
(
"轮播图列表"
)
private
List
<
CampsiteShopCarouselDetailVo
>
campsiteShopCarouselDetailVos
;
@ApiModelProperty
(
value
=
"電話"
)
private
String
phone
;
}
xx-campsite/xx-campsite-server/src/main/java/com/xxfc/platform/campsite/CampSiteApplication.java
View file @
8291d678
...
...
@@ -26,7 +26,6 @@ import tk.mybatis.spring.annotation.MapperScan;
@EnableScheduling
@EnableFeignClients
(
value
=
{
"com.github.wxiaoqi.security.auth.client.feign"
,
"com.github.wxiaoqi.security.admin.feign"
,
"com.xxfc.platform"
},
defaultConfiguration
=
HeaderConfig
.
class
)
@EnableAceCache
@EnableCaching
@MapperScan
(
basePackages
=
"com.xxfc.platform.campsite.mapper"
)
public
class
CampSiteApplication
{
public
static
void
main
(
String
[]
args
)
{
...
...
xx-campsite/xx-campsite-server/src/main/java/com/xxfc/platform/campsite/biz/CampsiteShopBiz.java
View file @
8291d678
package
com
.
xxfc
.
platform
.
campsite
.
biz
;
import
com.ace.cache.annotation.Cache
;
import
com.ace.cache.annotation.CacheClear
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.github.wxiaoqi.security.common.vo.GoodDataVO
;
...
...
@@ -10,6 +12,9 @@ import lombok.extern.slf4j.Slf4j;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.HashOperations
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.ValueOperations
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.campsite.entity.CampsiteShop
;
...
...
@@ -18,6 +23,7 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.time.Instant
;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
...
...
@@ -33,25 +39,48 @@ import java.util.stream.Collectors;
*/
@Service
@Slf4j
public
class
CampsiteShopBiz
extends
BaseBiz
<
CampsiteShopMapper
,
CampsiteShop
>
{
/**
public
class
CampsiteShopBiz
extends
BaseBiz
<
CampsiteShopMapper
,
CampsiteShop
>
{
/**
* 地球半径,单位 km
*/
private
static
final
double
EARTH_RADIUS
=
6378.137
;
private
static
final
double
EARTH_RADIUS
=
6378.137
;
@Autowired
private
CampsiteShopTagBiz
campsiteShopTagBiz
;
@Autowired
private
CampsiteShopCarouselBiz
campsiteShopCarouselBiz
;
@Autowired
private
RedisTemplate
<
String
,
String
>
redisTemplate
;
@Resource
(
name
=
"customRedisTemplate"
)
HashOperations
<
String
,
String
,
String
>
campHashOperations
;
@Autowired
private
CampsiteShopTagBiz
campsiteShopTagBiz
;
@Resource
(
name
=
"customRedisTemplate"
)
ValueOperations
<
String
,
String
>
campsiteValueOperations
;
@Autowired
private
CampsiteShopCarouselBiz
campsiteShopCarouselBiz
;
private
static
final
String
CAMPSITE_CACHE
=
"campsite_cache:"
;
private
static
final
String
CAMSITE_DETAIL_CACHE
=
"campsite:detail:cache:"
;
private
static
final
String
CAMPSITE_CACHE_ALL
=
"all"
;
/**
* 根据店铺类型查找列表
*
* @param type
* @return
*/
public
PageDataVO
<
CampsiteShopPageVo
>
findCampsiteShopPageByType
(
Integer
type
,
Integer
pageNo
,
Integer
pageSize
)
{
//根据type类型查找店铺
public
PageDataVO
<
CampsiteShopPageVo
>
findCampsiteShopPageByType
(
Integer
type
,
Integer
pageNo
,
Integer
pageSize
)
{
//根据type类型查找店铺
String
result
=
null
;
if
(
Objects
.
isNull
(
type
))
{
result
=
campHashOperations
.
get
(
CAMPSITE_CACHE
,
CAMPSITE_CACHE_ALL
);
}
else
{
result
=
campHashOperations
.
get
(
CAMPSITE_CACHE
,
String
.
format
(
"%s%d%d"
,
String
.
valueOf
(
type
),
pageNo
,
pageSize
));
}
if
(
result
!=
null
)
{
return
JSONObject
.
parseObject
(
result
,
new
TypeReference
<
PageDataVO
<
CampsiteShopPageVo
>>(){});
}
PageDataVO
<
CampsiteShopPageDTO
>
pageDataVO
=
PageDataVO
.
pageInfo
(
pageNo
,
pageSize
,
()
->
mapper
.
findAllCampsiteShopsByType
(
type
));
List
<
CampsiteShopPageDTO
>
campsiteShopPageDTOS
=
pageDataVO
.
getData
();
...
...
@@ -60,77 +89,91 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> {
campsiteShopPageDataVO
.
setTotalCount
(
pageDataVO
.
getTotalCount
());
campsiteShopPageDataVO
.
setPageSize
(
pageDataVO
.
getPageSize
());
campsiteShopPageDataVO
.
setPageNum
(
pageDataVO
.
getPageNum
());
if
(
CollectionUtils
.
isEmpty
(
campsiteShopPageDTOS
)){
if
(
CollectionUtils
.
isEmpty
(
campsiteShopPageDTOS
))
{
campsiteShopPageDataVO
.
setData
(
new
ArrayList
<
CampsiteShopPageVo
>());
return
campsiteShopPageDataVO
;
return
campsiteShopPageDataVO
;
}
if
(
log
.
isDebugEnabled
()){
log
.
debug
(
"根据type=【{}】查询到的店铺数据:【{}】"
,
type
,
campsiteShopPageDTOS
);
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"根据type=【{}】查询到的店铺数据:【{}】"
,
type
,
campsiteShopPageDTOS
);
}
List
<
CampsiteShopPageVo
>
campsiteShopPageVoList
=
new
ArrayList
<>();
campsiteShopPageDTOS
=
campsiteShopPageDTOS
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
for
(
CampsiteShopPageDTO
campsiteShopPageDTO
:
campsiteShopPageDTOS
)
{
CampsiteShopPageVo
campsiteShopPageVo
=
new
CampsiteShopPageVo
();
BeanUtils
.
copyProperties
(
campsiteShopPageDTO
,
campsiteShopPageVo
);
BeanUtils
.
copyProperties
(
campsiteShopPageDTO
,
campsiteShopPageVo
);
campsiteShopPageVoList
.
add
(
campsiteShopPageVo
);
}
campsiteShopPageVoList
.
sort
(
Comparator
.
comparing
(
CampsiteShopPageVo:
:
getHot
).
reversed
().
thenComparing
(
CampsiteShopPageVo:
:
getCrtTime
).
reversed
());
campsiteShopPageDataVO
.
setData
(
campsiteShopPageVoList
);
if
(
Objects
.
isNull
(
type
))
{
campHashOperations
.
put
(
CAMPSITE_CACHE
,
CAMPSITE_CACHE_ALL
,
JSONObject
.
toJSONString
(
campsiteShopPageDataVO
));
}
else
{
campHashOperations
.
put
(
CAMPSITE_CACHE
,
String
.
format
(
"%s%d%d"
,
String
.
valueOf
(
type
),
pageNo
,
pageSize
),
JSONObject
.
toJSONString
(
campsiteShopPageDataVO
));
}
return
campsiteShopPageDataVO
;
}
/**
* 根据店铺id查询店铺详情
*
* @param id
* @return
*/
public
CampsiteShopDetailVo
findCampsiteShopDetailById
(
Integer
id
,
Double
longitude
,
Double
latitude
)
{
public
CampsiteShopDetailVo
findCampsiteShopDetailById
(
Integer
id
,
Double
longitude
,
Double
latitude
)
{
String
result
=
campsiteValueOperations
.
get
(
String
.
format
(
"%s%d"
,
CAMSITE_DETAIL_CACHE
,
id
));
if
(
Objects
.
nonNull
(
result
)){
return
JSONObject
.
parseObject
(
result
,
new
TypeReference
<
CampsiteShopDetailVo
>(){});
}
CampsiteShopDetailVo
campsiteShopDetailVo
=
new
CampsiteShopDetailVo
();
//从店铺表根据店铺id查询
CampsiteShopDetailDTO
campsiteShopDetailDTO
=
mapper
.
findCampsiteShopDetailById
(
id
);
if
(
log
.
isDebugEnabled
()){
log
.
debug
(
"根据店铺id=【{}】查询出店铺信息【{}】"
,
id
,
campsiteShopDetailDTO
);
}
BeanUtils
.
copyProperties
(
campsiteShopDetailDTO
,
campsiteShopDetailVo
);
//从轮播表根据店铺id查询
List
<
CampsiteShopCarouselDetailDTO
>
campsiteShopCarouselDTOS
=
campsiteShopCarouselBiz
.
findByCampsiteShopId
(
id
);
if
(
log
.
isDebugEnabled
()){
log
.
debug
(
"根据店铺id=【{}】查询出店铺轮播图信息:【{}】"
,
id
,
campsiteShopCarouselDTOS
);
}
List
<
CampsiteShopCarouselDetailVo
>
campsiteShopCarouselDetailVos
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
campsiteShopCarouselDTOS
))
{
campsiteShopCarouselDTOS
.
forEach
(
campsiteShopCarouselDetailDTO
->
{
CampsiteShopCarouselDetailVo
carouselDetailVo
=
new
CampsiteShopCarouselDetailVo
();
BeanUtils
.
copyProperties
(
campsiteShopCarouselDetailDTO
,
carouselDetailVo
);
campsiteShopCarouselDetailVos
.
add
(
carouselDetailVo
);
});
}
campsiteShopDetailVo
.
setCampsiteShopCarouselDetailVos
(
campsiteShopCarouselDetailVos
);
//从店铺类型表根据店铺id查询 -->类型列表拼接
CampsiteShopDetailDTO
campsiteShopDetailDTO
=
mapper
.
findCampsiteShopDetailById
(
id
);
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"根据店铺id=【{}】查询出店铺信息【{}】"
,
id
,
campsiteShopDetailDTO
);
}
if
(
Objects
.
isNull
(
campsiteShopDetailDTO
)){
return
campsiteShopDetailVo
;
}
BeanUtils
.
copyProperties
(
campsiteShopDetailDTO
,
campsiteShopDetailVo
);
//从轮播表根据店铺id查询
List
<
CampsiteShopCarouselDetailDTO
>
campsiteShopCarouselDTOS
=
campsiteShopCarouselBiz
.
findByCampsiteShopId
(
id
);
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"根据店铺id=【{}】查询出店铺轮播图信息:【{}】"
,
id
,
campsiteShopCarouselDTOS
);
}
List
<
CampsiteShopCarouselDetailVo
>
campsiteShopCarouselDetailVos
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
campsiteShopCarouselDTOS
))
{
campsiteShopCarouselDTOS
.
forEach
(
campsiteShopCarouselDetailDTO
->
{
CampsiteShopCarouselDetailVo
carouselDetailVo
=
new
CampsiteShopCarouselDetailVo
();
BeanUtils
.
copyProperties
(
campsiteShopCarouselDetailDTO
,
carouselDetailVo
);
campsiteShopCarouselDetailVos
.
add
(
carouselDetailVo
);
});
}
campsiteShopDetailVo
.
setCampsiteShopCarouselDetailVos
(
campsiteShopCarouselDetailVos
);
//从店铺类型表根据店铺id查询 -->类型列表拼接
List
<
CampsiteShopTagDTO
>
shopTagDTOS
=
campsiteShopTagBiz
.
findByCampsiteShopId
(
id
);
if
(
log
.
isDebugEnabled
()){
log
.
debug
(
"根据店铺id=【{}】查询出店铺类型:【{}】"
,
id
,
shopTagDTOS
);
}
campsiteShopDetailVo
.
setTypeNames
(
shopTagDTOS
==
null
?
Collections
.
EMPTY_LIST
:
shopTagDTOS
.
stream
().
map
(
CampsiteShopTagDTO:
:
getName
).
collect
(
Collectors
.
toList
()));
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"根据店铺id=【{}】查询出店铺类型:【{}】"
,
id
,
shopTagDTOS
);
}
campsiteShopDetailVo
.
setTypeNames
(
shopTagDTOS
==
null
?
Collections
.
EMPTY_LIST
:
shopTagDTOS
.
stream
().
map
(
CampsiteShopTagDTO:
:
getName
).
collect
(
Collectors
.
toList
()));
//根据经纬度算距离
double
distance
=
getDistance
(
campsiteShopDetailDTO
.
getLongitude
(),
campsiteShopDetailDTO
.
getLatitude
(),
longitude
,
latitude
);
if
(
log
.
isDebugEnabled
()){
log
.
debug
(
"根据店铺经度=【{}】,纬度=【{}】和自己所在位置的经度=【{}】,纬度=【{}】计算出的距离:【{}km】"
,
campsiteShopDetailDTO
.
getLongitude
(),
campsiteShopDetailDTO
.
getLatitude
(),
longitude
,
latitude
,
distance
);
}
campsiteShopDetailVo
.
setDistance
(
String
.
format
(
"%.1f"
,
distance
));
return
campsiteShopDetailVo
;
double
distance
=
getDistance
(
campsiteShopDetailDTO
.
getLongitude
(),
campsiteShopDetailDTO
.
getLatitude
(),
longitude
,
latitude
);
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"根据店铺经度=【{}】,纬度=【{}】和自己所在位置的经度=【{}】,纬度=【{}】计算出的距离:【{}km】"
,
campsiteShopDetailDTO
.
getLongitude
(),
campsiteShopDetailDTO
.
getLatitude
(),
longitude
,
latitude
,
distance
);
}
campsiteShopDetailVo
.
setDistance
(
String
.
format
(
"%.1f"
,
distance
));
campsiteValueOperations
.
set
(
String
.
format
(
"%s%d"
,
CAMSITE_DETAIL_CACHE
,
id
),
JSONObject
.
toJSONString
(
campsiteShopDetailVo
));
return
campsiteShopDetailVo
;
}
/**
* 根据创建时间或营地名称来查找营地列表
*
* @param campsiteShopAdminFindDTO
* @return
*/
public
PageDataVO
<
CampsiteShopAdminPageVo
>
findCampsiteShopPage
(
CampsiteShopAdminFindDTO
campsiteShopAdminFindDTO
)
{
if
(
log
.
isDebugEnabled
()){
log
.
debug
(
"查询条件:【{}】"
,
campsiteShopAdminFindDTO
);
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"查询条件:【{}】"
,
campsiteShopAdminFindDTO
);
}
//筛选时间处理
...
...
@@ -146,21 +189,21 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> {
campsiteShopAdminFindDTO.setStartTime(processStartTime(startTime));
campsiteShopAdminFindDTO.setEndTime(processEndTime(endTime));
}*/
PageDataVO
<
CampsiteShopAdminPageDTO
>
campsiteShopAdminpageDTOPageDataVO
=
PageDataVO
.
pageInfo
(
campsiteShopAdminFindDTO
.
getPage
(),
campsiteShopAdminFindDTO
.
getLimit
(),()->
mapper
.
findAllCampsiteShops
(
campsiteShopAdminFindDTO
));
PageDataVO
<
CampsiteShopAdminPageDTO
>
campsiteShopAdminpageDTOPageDataVO
=
PageDataVO
.
pageInfo
(
campsiteShopAdminFindDTO
.
getPage
(),
campsiteShopAdminFindDTO
.
getLimit
(),
()
->
mapper
.
findAllCampsiteShops
(
campsiteShopAdminFindDTO
));
List
<
CampsiteShopAdminPageDTO
>
campsiteShopAdminPageDTOS
=
campsiteShopAdminpageDTOPageDataVO
.
getData
();
if
(
log
.
isDebugEnabled
()){
log
.
debug
(
"查询结果:【{}】"
,
campsiteShopAdminPageDTOS
);
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"查询结果:【{}】"
,
campsiteShopAdminPageDTOS
);
}
PageDataVO
<
CampsiteShopAdminPageVo
>
campsiteShopAdminPageDataVos
=
new
PageDataVO
<>();
if
(
CollectionUtils
.
isEmpty
(
campsiteShopAdminPageDTOS
)){
if
(
CollectionUtils
.
isEmpty
(
campsiteShopAdminPageDTOS
))
{
return
campsiteShopAdminPageDataVos
;
}
//转换成营地ids
List
<
Integer
>
campsiteShopIds
=
campsiteShopAdminPageDTOS
.
stream
().
map
(
CampsiteShopAdminPageDTO:
:
getId
).
collect
(
Collectors
.
toList
());
//根据营地ids查询营地对应的标签 键营地id 值对应的标签列表
Map
<
Integer
,
List
<
String
>>
shopTagsMap
=
campsiteShopTagBiz
.
findByCampsiteShopIds
(
campsiteShopIds
);
if
(
log
.
isDebugEnabled
()){
log
.
debug
(
"营地id为:【{}】的类型【{}】"
,
campsiteShopIds
,
shopTagsMap
);
Map
<
Integer
,
List
<
String
>>
shopTagsMap
=
campsiteShopTagBiz
.
findByCampsiteShopIds
(
campsiteShopIds
);
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"营地id为:【{}】的类型【{}】"
,
campsiteShopIds
,
shopTagsMap
);
}
campsiteShopAdminPageDTOS
=
campsiteShopAdminPageDTOS
.
stream
().
peek
(
campsiteShopAdminPageDTO
->
{
if
(
Objects
.
nonNull
(
shopTagsMap
))
{
...
...
@@ -173,52 +216,56 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> {
campsiteShopAdminPageDataVos
.
setTotalCount
(
campsiteShopAdminpageDTOPageDataVO
.
getTotalCount
());
campsiteShopAdminPageDataVos
.
setPageSize
(
campsiteShopAdminpageDTOPageDataVO
.
getPageSize
());
campsiteShopAdminPageDataVos
.
setPageNum
(
campsiteShopAdminpageDTOPageDataVO
.
getPageNum
());
campsiteShopAdminPageDataVos
.
setData
(
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
campsiteShopAdminPageDTOS
),
new
TypeReference
<
List
<
CampsiteShopAdminPageVo
>>(){}));
campsiteShopAdminPageDataVos
.
setData
(
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
campsiteShopAdminPageDTOS
),
new
TypeReference
<
List
<
CampsiteShopAdminPageVo
>>()
{
}));
return
campsiteShopAdminPageDataVos
;
}
/**
* 营地保存或更新
*
* @param campsiteShopAdminDTO
* @return
*/
@Transactional
(
rollbackFor
=
Exception
.
class
,
propagation
=
Propagation
.
REQUIRED
)
@Transactional
(
rollbackFor
=
Exception
.
class
,
propagation
=
Propagation
.
REQUIRED
)
public
int
saveCampsiteShop
(
CampsiteShopAdminDTO
campsiteShopAdminDTO
)
{
CampsiteShop
campsiteShop
=
new
CampsiteShop
();
campsiteShopAdminDTO
.
setName
(
campsiteShopAdminDTO
.
getName
()
==
null
?
null
:
campsiteShopAdminDTO
.
getName
().
trim
());
BeanUtils
.
copyProperties
(
campsiteShopAdminDTO
,
campsiteShop
);
campsiteShopAdminDTO
.
setName
(
campsiteShopAdminDTO
.
getName
()
==
null
?
null
:
campsiteShopAdminDTO
.
getName
().
trim
());
BeanUtils
.
copyProperties
(
campsiteShopAdminDTO
,
campsiteShop
);
int
effectRows
=
0
;
if
(
Objects
.
nonNull
(
campsiteShopAdminDTO
.
getId
())){
if
(
log
.
isDebugEnabled
()){
log
.
debug
(
"更新营地的信息:【{}】"
,
campsiteShop
);
if
(
Objects
.
nonNull
(
campsiteShopAdminDTO
.
getId
()))
{
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"更新营地的信息:【{}】"
,
campsiteShop
);
}
//更新操作
//更新操作
campsiteShop
.
setUpdTime
(
Instant
.
now
().
toEpochMilli
());
effectRows
=
mapper
.
updateByPrimaryKeySelective
(
campsiteShop
);
}
else
{
effectRows
=
mapper
.
updateByPrimaryKeySelective
(
campsiteShop
);
}
else
{
//保存操作
//保存营地信息
if
(
log
.
isDebugEnabled
()){
log
.
debug
(
"保存营地的信息:【{}】"
,
campsiteShop
);
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"保存营地的信息:【{}】"
,
campsiteShop
);
}
campsiteShop
.
setCrtTime
(
Instant
.
now
().
toEpochMilli
());
effectRows
=
mapper
.
insertSelective
(
campsiteShop
);
effectRows
=
mapper
.
insertSelective
(
campsiteShop
);
}
//保存或更新 * 营地与 轮播图信息
List
<
CampsiteShopCarouselDTO
>
carouselDTOS
=
campsiteShopAdminDTO
.
getCarouselDTOS
();
if
(
CollectionUtils
.
isNotEmpty
(
carouselDTOS
))
{
carouselDTOS
.
stream
().
peek
(
campsiteShopCarouselDTO
->
campsiteShopCarouselDTO
.
setShopId
(
campsiteShop
.
getId
())).
count
();
}
campsiteShopCarouselBiz
.
saveBatch
(
carouselDTOS
,
campsiteShop
.
getId
());
campsiteShopCarouselBiz
.
saveBatch
(
carouselDTOS
,
campsiteShop
.
getId
());
//保存或更新 * 营地与营地类型信息
List
<
Integer
>
campsiteTagDTOS
=
campsiteShopAdminDTO
.
getCampsiteTagDTOS
();
campsiteShopTagBiz
.
saveBatch
(
campsiteTagDTOS
,
campsiteShop
.
getId
());
campsiteShopTagBiz
.
saveBatch
(
campsiteTagDTOS
,
campsiteShop
.
getId
());
redisTemplate
.
delete
(
CAMPSITE_CACHE
);
return
effectRows
;
}
/**
* 编辑查询
*
* @param id
* @return
*/
...
...
@@ -251,50 +298,67 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> {
});
campsiteShopAdminVO
.
setCampsiteTagListVos
(
shopTagVos
);
}
campsiteShopAdminVO
.
setCarouse
(
campsiteShopAdminVO
.
getCarouse
()==
null
?
new
ArrayList
<
CampsiteShopCarouselVo
>():
campsiteShopAdminVO
.
getCarouse
());
campsiteShopAdminVO
.
setCampsiteTagListVos
(
campsiteShopAdminVO
.
getCampsiteTagListVos
()==
null
?
new
ArrayList
<
CampsiteTagListVo
>():
campsiteShopAdminVO
.
getCampsiteTagListVos
());
campsiteShopAdminVO
.
setCarouse
(
campsiteShopAdminVO
.
getCarouse
()
==
null
?
new
ArrayList
<
CampsiteShopCarouselVo
>()
:
campsiteShopAdminVO
.
getCarouse
());
campsiteShopAdminVO
.
setCampsiteTagListVos
(
campsiteShopAdminVO
.
getCampsiteTagListVos
()
==
null
?
new
ArrayList
<
CampsiteTagListVo
>()
:
campsiteShopAdminVO
.
getCampsiteTagListVos
());
redisTemplate
.
delete
(
String
.
format
(
"%s%d"
,
CAMSITE_DETAIL_CACHE
,
id
));
redisTemplate
.
delete
(
CAMPSITE_CACHE
);
return
campsiteShopAdminVO
;
}
/**
* 逻辑删除
*
* @param id
* @return
*/
public
int
updateCampsiteSatus
(
int
id
)
{
return
mapper
.
updateCampsiteStatusById
(
id
,
1
);
int
effectRows
=
mapper
.
updateCampsiteStatusById
(
id
,
1
);
if
(
effectRows
>
0
){
redisTemplate
.
delete
(
String
.
format
(
"%s%d"
,
CAMSITE_DETAIL_CACHE
,
id
));
redisTemplate
.
delete
(
CAMPSITE_CACHE
);
}
return
effectRows
;
}
/**
* 上下架
*
* @param id
* @param status
* @return
*/
public
int
updateCampsiteSaleStatus
(
Integer
id
,
Integer
status
)
{
return
mapper
.
updateCampsiteSaleStatusById
(
id
,
status
);
int
effectRows
=
mapper
.
updateCampsiteSaleStatusById
(
id
,
status
);
if
(
effectRows
>
0
){
redisTemplate
.
delete
(
String
.
format
(
"%s%d"
,
CAMSITE_DETAIL_CACHE
,
id
));
redisTemplate
.
delete
(
CAMPSITE_CACHE
);
}
return
effectRows
;
}
/**
* 检验营地名称是否存在
*
* @param id
* @param name
* @return
*/
public
Boolean
chekcCampsiteNameExist
(
Integer
id
,
String
name
)
{
int
count
=
mapper
.
checkNameExist
(
id
,
name
);
if
(
count
==
0
)
{
return
false
;
}
int
count
=
mapper
.
checkNameExist
(
id
,
name
);
if
(
count
==
0
)
{
return
false
;
}
return
true
;
}
/**
* 处理开始时间
*
* @param time
* @return
*/
private
long
processStartTime
(
Long
time
){
return
LocalDateTime
.
ofInstant
(
new
Date
(
time
).
toInstant
(),
ZoneOffset
.
ofHours
(+
8
))
private
long
processStartTime
(
Long
time
)
{
return
LocalDateTime
.
ofInstant
(
new
Date
(
time
).
toInstant
(),
ZoneOffset
.
ofHours
(+
8
))
.
withHour
(
0
)
.
withMinute
(
0
)
.
withSecond
(
0
)
...
...
@@ -305,18 +369,20 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> {
/**
* 处理结束时间
*
* @param time
* @return
*/
private
long
processEndTime
(
Long
time
){
return
LocalDateTime
.
ofInstant
(
new
Date
(
time
).
toInstant
(),
ZoneOffset
.
ofHours
(+
8
))
.
withHour
(
23
)
.
withMinute
(
59
)
.
withSecond
(
59
)
.
withNano
(
999
)
.
toInstant
(
ZoneOffset
.
ofHours
(+
8
))
.
toEpochMilli
();
private
long
processEndTime
(
Long
time
)
{
return
LocalDateTime
.
ofInstant
(
new
Date
(
time
).
toInstant
(),
ZoneOffset
.
ofHours
(+
8
))
.
withHour
(
23
)
.
withMinute
(
59
)
.
withSecond
(
59
)
.
withNano
(
999
)
.
toInstant
(
ZoneOffset
.
ofHours
(+
8
))
.
toEpochMilli
();
}
/**
* 根据经纬度,计算两点间的距离
*
...
...
@@ -341,20 +407,22 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> {
double
s
=
2
*
Math
.
asin
(
Math
.
sqrt
(
Math
.
pow
(
Math
.
sin
(
a
/
2
),
2
)
+
Math
.
cos
(
lat1
)
*
Math
.
cos
(
lat2
)
*
Math
.
pow
(
Math
.
sin
(
b
/
2
),
2
)));
// 弧长乘地球半径, 返回单位: 千米
s
=
s
*
EARTH_RADIUS
;
s
=
s
*
EARTH_RADIUS
;
return
s
;
}
/**
* 首页营地列表
*
* @param page
* @param limit
* @return
*/
public
List
<
GoodDataVO
>
getAllByHome
(
Integer
page
,
Integer
limit
)
{
return
mapper
.
findAllByHome
((
page
-
1
)*
limit
,
limit
);
}
;
public
List
<
GoodDataVO
>
getAllByHome
(
Integer
page
,
Integer
limit
)
{
return
mapper
.
findAllByHome
((
page
-
1
)
*
limit
,
limit
);
}
;
}
\ No newline at end of file
xx-campsite/xx-campsite-server/src/main/java/com/xxfc/platform/campsite/config/RedisConfiguration.java
View file @
8291d678
...
...
@@ -5,9 +5,12 @@ import org.springframework.context.annotation.Configuration;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer
;
import
org.springframework.data.redis.serializer.RedisSerializer
;
import
org.springframework.data.redis.serializer.StringRedisSerializer
;
import
java.util.Objects
;
/**
* ${DESCRIPTION}
*
...
...
@@ -19,7 +22,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
@Primary
public
class
RedisConfiguration
{
@Bean
@Bean
(
"customRedisTemplate"
)
public
RedisTemplate
<
String
,
Object
>
customRedisTemplate
(
RedisConnectionFactory
factory
)
{
RedisTemplate
redisTemplate
=
new
RedisTemplate
();
redisTemplate
.
setConnectionFactory
(
factory
);
...
...
@@ -27,7 +30,7 @@ public class RedisConfiguration {
redisTemplate
.
setKeySerializer
(
stringSerializer
);
redisTemplate
.
setValueSerializer
(
stringSerializer
);
redisTemplate
.
setHashKeySerializer
(
stringSerializer
);
redisTemplate
.
setHashValueSerializer
(
stringSerializer
);
redisTemplate
.
setHashValueSerializer
(
new
Jackson2JsonRedisSerializer
<
Object
>(
Object
.
class
)
);
redisTemplate
.
afterPropertiesSet
();
return
redisTemplate
;
}
...
...
xx-campsite/xx-campsite-server/src/main/resources/mapper/CampsiteShopMapper.xml
View file @
8291d678
...
...
@@ -58,7 +58,7 @@
<!--根据id查询详情-->
<select
id=
"findCampsiteShopDetailById"
resultType=
"com.xxfc.platform.campsite.dto.CampsiteShopDetailDTO"
>
select `name` as `name`,`province_name` as `provinceName`,`city_name` as `cityName`,`address` as `address`,
select `name` as `name`,`province_name` as `provinceName`,`city_name` as `cityName`,`address` as `address`,
`service_phone` as `phone`,
`content` as `content`,`configure` as `configure`,`longitude` as `longitude`,`latitude` as `latitude` from `campsite_shop` where `id`=#{id}
</select>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment