开发工具:eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
<div class="main-tabs">
<a th:href="@{/reserve/reserveAttractionsListUI}">更多 <i
class="fa fa-angle-right"></i></a>
</li>
</ul>
</div>
</div>
</div>
<div class="main-cont">
<div class="tab-content">
<div class="tab-pane active" id="cp01">
<div id="oc-kx" class="owl-carousel owl-theme">
<div th:each="attractions:${top10Attractions}" class="item">
</div>
<div class="page-container">
<div class="container">
<div class="row med_toppadder50 med_bottompadder50">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<h1>我发布的攻略</h1>
<div style="min-height: 150px" class="cy-news-grid-item" th:each="travelStrategy:${page.content}">
<div class="cy-ib-thumbnail pull-left">
</div>
<div class="booklet-cont">
<h5><a th:href="@{/strategy/travelStrategyDetailsUI(id=${travelStrategy.id})}"
th:text="'攻略标题: ' + ${travelStrategy.title}"></a></h5>
<div class="cy-summary-intro">
<p th:text="${travelStrategy.describe}">
</p>
<div align="right" style="float:right" th:if="${travelStrategy.status == 2}">
<button type="button" th:onclick="aaa([[${travelStrategy.errorMessage}]])"
class="btn btn-default btn-danger">审核不通过,查看原因
User user = userRepository.findUserByUsername(cookie.getValue());
UserAttractions userAttractions = userAttractionsRepository.findUserAttractionsByAttractionsAndUser(attractions, user);
//存在值就是取消预约.不存在值就是预约
if (userAttractions != null) {
userAttractionsRepository.delete(userAttractions);
} else {
UserAttractions newUserAttractions = new UserAttractions();
newUserAttractions.setId(IdGenerator.id());
newUserAttractions.setCreateDate(new Date());
newUserAttractions.setUser(user);
newUserAttractions.setAttractions(attractions);
userAttractionsRepository.saveAndFlush(newUserAttractions);
}
return ResultGenerator.genSuccessResult();
//景点name模糊查询
if (!StringUtils.isEmpty(searchName)) {
predicates.add((cb.like(root.get("name"), "%" + searchName + "%")));
}
query.where(predicates.toArray(new Predicate[]{}));
query.orderBy(cb.desc(root.get("createDate")));
return null;
}, pageable);
return attractionsPage;
}
public Attractions findAttractionsById(String id) {
return attractionsRepository.findById(id).orElseThrow(() -> new ServiceException("景点id错误!"));
}
public List<UserHotel> getReserveHotelByUser(HttpServletRequest request) {
Cookie cookie = CookieUitl.get(request, "username");
if (cookie == null) {
throw new ServiceException("未能获得正确的用户名");
}
User user = userRepository.findUserByUsername(cookie.getValue());
return userHotelRepository.findUserHotelsByUser(user);
@Autowired
private UserRepository userRepository;
@Autowired
private UserRouteRepository userRouteRepository;
public Page<TravelRoute> TravelRouteListUI(String searchName, Pageable pageable) {
//查询启用的旅游路线列表
Page<TravelRoute> travelRoutePage = travelRouteRepository.findAll((root, query, cb) -> {
List<Predicate> predicates = new ArrayList<>();
//status状态,查询状态为0,启动的路线
predicates.add((cb.equal(root.get("status"), 0)));
//旅游路线name模糊查询
if (!StringUtils.isEmpty(searchName)) {
predicates.add((cb.like(root.get("name"), "%" + searchName + "%")));
}
query.where(predicates.toArray(new Predicate[]{}));
query.orderBy(cb.desc(root.get("createDate")));
return null;
}, pageable);
return travelRoutePage;
}
</div>
</div>
</div>
</div>
<!--main section end-->
<script src="js/jquery_min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/wow.min.js"></script>
<script src="plugins/slider-pro/js/jquery.sliderPro.min.js"></script>
<script src="plugins/owlcarousel/js/owl.carousel.min.js"></script>
<script src="js/custom.js"></script>
<!--js code-->
<script type="text/javascript">
$(document).ready(function () {
$('#my-slider').sliderPro({
arrows: true,
waitForLayers: true,
autoplay: false,
fade: true,
buttons: false,
autoScaleLayers: false,
width: 1170,
height: 400
});
$('.image_fade').hover(function () {
$(this).filter(':not(:animated)').animate({opacity: 0.8}, 400);
}, function () {
</div>
</div>
</div>
<script th:src="@{/js/jquery_min.js}"></script>
<script th:src="@{/js/bootstrap.min.js}"></script>
<script th:src="@{/js/wow.min.js}"></script>
<script th:src="@{/js/custom.js}"></script>
<script th:src="@{/plugins/slider-pro/js/jquery.sliderPro.min.js}"></script>
<script th:src="@{/plugins/owlcarousel/js/owl.carousel.min.js}"></script>
<script th:src="@{/layer/layer.js}"></script>
<script th:inline="javascript">
function cancelTravelStrategyReserve(id) {
$.ajax({
url: '/travel/strategy/cancelTravelStrategyReserve',
data: {"id": id},
type: 'post',
dataType: 'json',
success: function (result) {
if (result.code === 200) {
//默认为停用
travelRoute.setStatus(StatusEnum.DOWM_STATUS.getCode());
travelRoute.setCollectNumber(0);
travelRoute.setCreateDate(new Date());
}
} else {
//有id的情况
TravelRoute oldTravelRoute = getTravelRouteById(travelRoute.getId());
travelRoute.setStatus(oldTravelRoute.getStatus());
travelRoute.setCollectNumber(oldTravelRoute.getCollectNumber());
travelRoute.setCreateDate(oldTravelRoute.getCreateDate());
}
travelRouteRepository.saveAndFlush(travelRoute);
return ResultGenerator.genSuccessResult();
}
@Transactional(rollbackFor = Exception.class)
public Result saveTravelStrategy(HttpServletRequest request,TravelStrategy travelStrategy) {
if (StringUtils.isEmpty(travelStrategy.getId())) {//没有id的情况
travelStrategy.setId(IdGenerator.id());
if (travelStrategy.getStatus() == null) {
//默认为停用
travelStrategy.setStatus(StatusEnum.DOWM_STATUS.getCode());
travelStrategy.setCreateDate(new Date());
}
} else {
//有id的情况
TravelStrategy oldTravelStrategy = getTravelStrategyById(travelStrategy.getId());
travelStrategy.setStatus(StatusEnum.Third_STATUS.getCode());
travelStrategy.setCreateDate(oldTravelStrategy.getCreateDate());
travelStrategy.setUser(oldTravelStrategy.getUser());
travelStrategy.setTitle(oldTravelStrategy.getTitle());
travelStrategy.setDescribe(oldTravelStrategy.getDescribe());
travelStrategy.setErrorMessage(request.getParameter("errorMessage"));
}
travelStrategyRepository.saveAndFlush(travelStrategy);
return ResultGenerator.genSuccessResult();
}
}
package com.demo.service;
import com.demo.common.core.Result;
<a th:href="@{/strategy/travelStrategyListUI}">更多 <i
class="fa fa-angle-right"></i></a>
</li>
</ul>
</div>
</div>
</div>
<ul class="main-cy-thesis">
<li th:each="strategy:${top10Strategy}"><a th:href="@{/strategy/travelStrategyDetailsUI(id=${strategy.id})}"
data-toggle="tooltip" data-container="body"
th:title="${strategy.title}" th:text="${strategy.title}">xxxxxxxxxxxx</a>
</li>
</ul>
<div class="cy-title">
<h2>热门路线</h2>
<div class="pull-right">
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
技术框架
JavaWeb SpringBoot JPA Thymeleaf HTML Bootstrap JavaScript SpringMVC MySQL
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
前台:路线收藏、攻略发布与收藏、景点预定、酒店预定等……
后台: 管理审核用户、酒店、景点、攻略、路线等……
前台
后台