源码获取:俺的博客首页 "资源" 里下载!
项目介绍
主要功能包括:
旅游资源网站的主要使用者分为管理员和用户,实现功能包括:
管理员:首页、个人中心、用户管理、景点信息管理、购票信息管理、酒店信息管理、客房类型管理、客房信息管理、客房预订管理、交流论坛、系统管理
用户:首页、个人中心、购票信息管理、客房预订管理、我的收藏管理,前台首页;首页、景点信息、酒店信息、客房信息、交流论坛、红色文化、个人中心、后台管理、客服咨询
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目;
6.数据库:MySql 5.7/8.0等版本均可;
技术栈
后端:SSM(Spring+SpringMVC+Mybatis)
前端:ElementUI+Vue
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
3. 将项目中db.xml配置文件中的数据库配置改为自己的配置,然后运行;
用户管理控制层:
@Controller
@RequestMapping("/manager")
public class UserController extends BaseController {
@Autowired
UserService userService;
@RequestMapping("/userList")
public ModelAndView userList(PageParam pageParam, @RequestParam(value = "query", required = false) String query) {
ModelAndView mv = this.getModeAndView();
if(pageParam.getPageNumber()<1){
pageParam =new PageParam();
long count = 0;
try {
count = userService.count();
} catch (Exception e) {
e.printStackTrace();
}
pageParam.setCount(count);
if(count<=10){
pageParam.setSize(1);
}else{
pageParam.setSize(count%10==0?count/10:count/10+1);
}
pageParam.setPageNumber(1);
pageParam.setPageSize(10);
}
List<User> list = userService.findByPage(pageParam.getPageNumber(),pageParam.getPageSize(), query);
mv.addObject("pageData", list);
if (Tools.notEmpty(query)) {
mv.addObject("query", query);
pageParam.setCount(list.size());
if (list.size() > pageParam.getPageSize()) {
pageParam.setSize(list.size() / pageParam.getPageSize());
} else {
pageParam.setSize(1);
}
}
mv.addObject("pageParam",pageParam);
mv.setViewName("user/allUsers");
return mv;
}
@RequestMapping("/userAdd")
public ModelAndView userAdd(){
ModelAndView mv = this.getModeAndView();
mv.addObject("entity",new User());
mv.setViewName("user/userEdit");
return mv;
}
@RequestMapping("/userView")
public ModelAndView userView(String id){
ModelAndView mv = this.getModeAndView();
try {
mv.addObject("entity",userService.findById(id));
}catch (Exception e){
e.printStackTrace();
}
mv.setViewName("user/userView");
return mv;
}
@RequestMapping("/userEdit")
public ModelAndView userEdit(String id){
ModelAndView mv = this.getModeAndView();
try {
mv.addObject("entity",userService.findById(id));
}catch (Exception e){
e.printStackTrace();
}
mv.setViewName("user/userEdit");
return mv;
}
@RequestMapping("/userSave")
public ModelAndView userSave(HttpServletRequest request, String id, RedirectAttributes redirectAttributes){
ModelAndView mv = this.getModeAndView();
User entity = null;
try {
if(Tools.notEmpty(id)){
entity = userService.findById(id);
}else{
entity = new User();
}
this.bindValidateRequestEntity(request,entity);
if (Tools.isEmpty(entity.getId())){
User object = userService.findByUserName(entity.getUserName());
if (object != null) {
mv.addObject("message","用户名已存在!");
mv.addObject("entity",entity);
mv.setViewName("user/userEdit");
return mv;
}
entity.setId(Tools.getUUID());
userService.save(entity);
}else{
userService.update(entity);
}
} catch (Exception e) {
e.printStackTrace();
}
mv.addObject("pageData", userService.findByPage(1, 10,null));
PageParam pageParam =new PageParam();
long count = 0;
try {
count = userService.count();
} catch (Exception e) {
e.printStackTrace();
}
pageParam.setCount(count);
if(count<=10){
pageParam.setSize(1);
}else{
pageParam.setSize(count%10==0?count/10:count/10+1);
}
pageParam.setPageNumber(1);
pageParam.setPageSize(10);
mv.addObject("pageParam",pageParam);
mv.setViewName("user/allUsers");
return mv;
}
@RequestMapping("/userDelete")
public String userDelete(String id){
if(Tools.notEmpty(id)){
try {
userService.deleteByid(id);
}catch (Exception e){
e.printStackTrace();
}
}
return REDIRECT+"/manager/userList";
}
}
管理员订单管理控制层:
@Controller
@RequestMapping("/manager")
public class OrderController extends BaseController {
@Autowired
OrderService orderService;
@RequestMapping("/orderList")
public ModelAndView orderList(PageParam pageParam, @RequestParam(value = "query", required = false) String query) {
ModelAndView mv = this.getModeAndView();
if(pageParam.getPageNumber()<1){
pageParam =new PageParam();
long count = 0;
try {
count = orderService.count();
} catch (Exception e) {
e.printStackTrace();
}
pageParam.setCount(count);
if(count<=10){
pageParam.setSize(1);
}else{
pageParam.setSize(count%10==0?count/10:count/10+1);
}
pageParam.setPageNumber(1);
pageParam.setPageSize(10);
}
List<Order> list = orderService.findByPage(pageParam.getPageNumber(),pageParam.getPageSize(), query);
mv.addObject("pageData", list);
if (Tools.notEmpty(query)) {
mv.addObject("query", query);
pageParam.setCount(list.size());
if (list.size() > pageParam.getPageSize()) {
pageParam.setSize(list.size() / pageParam.getPageSize());
} else {
pageParam.setSize(1);
}
}
mv.addObject("pageParam",pageParam);
mv.setViewName("order/orderList");
return mv;
}
@RequestMapping("/orderAdd")
public ModelAndView travelRouteAdd(){
ModelAndView mv = this.getModeAndView();
mv.addObject("entity",new Order());
mv.setViewName("order/orderEdit");
return mv;
}
@RequestMapping("/orderView")
public ModelAndView orderView(String id){
ModelAndView mv = this.getModeAndView();
try {
mv.addObject("entity",orderService.findById(id));
}catch (Exception e){
e.printStackTrace();
}
mv.setViewName("order/orderView");
return mv;
}
@RequestMapping("/orderEdit")
public ModelAndView orderEdit(String id){
ModelAndView mv = this.getModeAndView();
try {
mv.addObject("entity",orderService.findById(id));
}catch (Exception e){
e.printStackTrace();
}
mv.setViewName("order/orderEdit");
return mv;
}
@RequestMapping("/orderSave")
public String orderSave(HttpServletRequest request, String id){
Order entity = null;
try {
if(Tools.notEmpty(id)){
entity = orderService.findById(id);
}else{
entity = new Order();
}
this.bindValidateRequestEntity(request,entity);
if (Tools.isEmpty(entity.getId())){
entity.setId(Tools.getUUID());
orderService.save(entity);
}else{
orderService.update(entity);
}
} catch (Exception e) {
e.printStackTrace();
}
return REDIRECT+"/manager/orderList";
}
@RequestMapping("/orderDelete")
public String orderDelete(String id){
if(Tools.notEmpty(id)){
try {
orderService.deleteByid(id);
}catch (Exception e){
e.printStackTrace();
}
}
return REDIRECT+"/manager/orderList";
}
}
旅行路线管理控制层:
@Controller
@RequestMapping("/manager")
public class TravelRouteController extends BaseController {
@Autowired
TravelRouteService travelRouteService;
@Value("${yuanlrc.filePath}")
private String filePath;
@RequestMapping("/travelRouteList")
public ModelAndView travelRouteList(PageParam pageParam, @RequestParam(value = "query", required = false) String query){
ModelAndView mv = this.getModeAndView();
if(pageParam.getPageNumber()<1){
pageParam =new PageParam();
long count = 0;
try {
count = travelRouteService.count();
} catch (Exception e) {
e.printStackTrace();
}
pageParam.setCount(count);
if(count<=10){
pageParam.setSize(1);
}else{
pageParam.setSize(count%10==0?count/10:count/10+1);
}
pageParam.setPageNumber(1);
pageParam.setPageSize(10);
}
List<TravelRoute> list = travelRouteService.findByPage(pageParam.getPageNumber(),pageParam.getPageSize(), query);
mv.addObject("pageData", list);
if (Tools.notEmpty(query)) {
mv.addObject("query", query);
pageParam.setCount(list.size());
if (list.size() > pageParam.getPageSize()) {
pageParam.setSize(list.size() / pageParam.getPageSize());
} else {
pageParam.setSize(1);
}
}
mv.addObject("pageParam",pageParam);
mv.setViewName("travelRoute/travelRouteList");
return mv;
}
@RequestMapping("/travelRouteAdd")
public ModelAndView travelRouteAdd(){
ModelAndView mv = this.getModeAndView();
mv.addObject("entity",new TravelRoute());
mv.setViewName("travelRoute/travelRouteEdit");
return mv;
}
@RequestMapping("/travelRouteView")
public ModelAndView travelRouteView(String id){
ModelAndView mv = this.getModeAndView();
try {
mv.addObject("entity",travelRouteService.findById(id));
}catch (Exception e){
e.printStackTrace();
}
mv.setViewName("travelRoute/travelRouteView");
return mv;
}
@RequestMapping("/travelRouteEdit")
public ModelAndView travelRouteEdit(String id){
ModelAndView mv = this.getModeAndView();
try {
mv.addObject("entity",travelRouteService.findById(id));
}catch (Exception e){
e.printStackTrace();
}
mv.setViewName("travelRoute/travelRouteEdit");
return mv;
}
@RequestMapping("/travelRouteSave")
public String travelRouteSave(HttpServletRequest request, String id, @RequestParam("fileName") MultipartFile file){
TravelRoute entity = null;
try {
if(Tools.notEmpty(id)){
entity = travelRouteService.findById(id);
}else{
entity = new TravelRoute();
}
this.bindValidateRequestEntity(request,entity);
if(file != null && !file.isEmpty()){
String fileName = file.getOriginalFilename();
int size = (int) file.getSize();
System.out.println(fileName + "-->" + size);
String path =filePath+"/travelRoute";
File dest = new File(path + "/" + fileName);
if(!dest.getParentFile().exists()){ //判断文件父目录是否存在
dest.getParentFile().mkdir();
}
try {
file.transferTo(dest); //保存文件
entity.setImgUrl("/travelRoute/" + fileName);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
if (Tools.isEmpty(entity.getId())){
entity.setId(Tools.getUUID());
travelRouteService.save(entity);
}else{
travelRouteService.update(entity);
}
} catch (Exception e) {
e.printStackTrace();
}
return REDIRECT+"/manager/travelRouteList";
}
@RequestMapping("/travelRouteDelete")
public String travelRouteDelete(String id){
if(Tools.notEmpty(id)){
try {
travelRouteService.deleteByid(id);
}catch (Exception e){
e.printStackTrace();
}
}
return REDIRECT+"/manager/travelRouteList";
}
}
源码获取:俺的博客首页 "资源" 里下载!