项目介绍
主要功能包括:
登陆页,房间信息,房间管理,开取房间,房间查询,会员管理,食物管理,查看订单,查询订单,查看房间消费使用情况等功能。
环境需要
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.数据库:MySql 5.7版本;
技术栈
- 后端:Spring+SpringMVC+Mybatis
- 前端:HTML+CSS+JavaScript+jsp
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
- 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
- 将项目中application.yml配置文件中的数据库配置改为自己的配置;
- 运行项目,输入localhost:8080/ 登录
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
return admin_productImage_list(pid,request);
}
//添加房间图片
@RequestMapping(value = "/admin_productImage_add",produces = "text/html;charset=UTF-8")
@ResponseBody
public ModelAndView admin_productImage_add(@RequestParam("filepath") MultipartFile filepath,@RequestParam("type") String type,@RequestParam("pid") int pid,HttpServletRequest request) throws IOException {
Productimage productimage = new Productimage();
productimage.setPid(pid);
productimage.setType(type);
Integer imageId = productService.insertImage(productimage);
// Mac系统参考路径 注:此处必须为本地src及target下category的路径
String path1 = "";
String path2 = "";
if (type.equals("type_detail")){
// windows系统参考路径 注:此处必须为本地src及target下productDetail的路径
path1 = imgPath+"src\\main\\webapp\\img\\productDetail\\"+imageId.toString()+".jpg";
path2 = imgPath+"target\\Gotrip-1.0-SNAPSHOT\\img\\productDetail\\"+imageId.toString()+".jpg";
// Mac系统参考路径
// path1 = imgPath+"src/main/webapp/img/productDetail/"+imageId.toString()+".jpg";
// path2 = imgPath+"target/Gotrip-1.0-SNAPSHOT/img/productDetail/"+imageId.toString()+".jpg";
filepath.transferTo(new File(path1));
FileUtils.copyFile(new File(path1),new File(path2));
}
if (type.equals("type_single")){
// windows系统参考路径
path1 = imgPath+"src\\main\\webapp\\img\\productSingle\\"+imageId.toString()+".jpg";
}
//提交更新房间属性值
@RequestMapping(value = "/admin_product_updatePropertyValue",produces = "text/html;charset=UTF-8")
@ResponseBody
public String admin_product_updatePropertyValue(Integer id, Integer pvid, String value){
productService.updatePropertyValue(pvid, value);
return "success";
}
//提交房间修改信息
@RequestMapping(value = "/admin_product_update",produces = "text/html;charset=UTF-8")
@ResponseBody
public ModelAndView admin_product_update(Product product){
productService.update(product);
dataList.add(objs);
}
String fileName = "exportUserExcel";
//执行导出
ExportExcel.exportExcel(request,response,fileName, rowsName, dataList, "yyyy-MM-dd HH:mm:ss");
}
//删除用户
@RequestMapping(value = "/admin_user_delete",produces = "text/html;charset=UTF-8")
@ResponseBody
public ModelAndView admin_user_delete(Integer id, HttpServletRequest request){
try{
userService.deleteByPrimaryKey(id);
}catch (Exception e){
* @return
* @throws Exception
*/
@RequestMapping(value = "/forebuyone",produces = "text/html;charset=UTF-8")
@ResponseBody
public ModelAndView forebuyone(HttpServletRequest request, Orderitem orderitem) throws Exception{
User user = (User) request.getSession().getAttribute("user");
Map map = orderItemService.buyOne(user, orderitem);
request.getSession(true).setAttribute("order",map.get("order"));
request.getSession(true).setAttribute("pid",orderitem.getPid());
Product product = productService.getProduct(orderitem.getPid());
product.setSaleCount(product.getSaleCount()+orderitem.getNumber());
product.setStock(product.getStock()-orderitem.getNumber());
productService.update(product);
modelAndView.addObject("ois",map.get("ois"));
modelAndView.addObject("total",((Order)map.get("order")).getTotal());
modelAndView.setViewName("/buy");
return modelAndView;
}
@RequestMapping(value = "/home",produces = "text/html;charset=UTF-8")
@ResponseBody
public ModelAndView home(HttpServletRequest request) throws Exception{
List<Category> c = categoryService.listTwoCategory();
for(Category cs: c){
cs.setProducts(productService.listProducts(cs.getId()));
}
modelAndView.addObject("cs",c);
modelAndView.addObject("o",origin_order);
modelAndView.setViewName("/confirmPay");
return modelAndView;
}
/**
* 确认支付,订单状态:waitReview
* @param oid
* @return
* @throws Exception
*/
@RequestMapping(value = "/foreorderConfirmed", produces = "text/html; charset=UTF-8")
@ResponseBody
public ModelAndView confirm(Integer oid) throws Exception{
Order order = orderService.getOrder(oid);
order.setStatus("waitReview");
orderService.update(order);
modelAndView.setViewName("orderConfirmed");
return 0;
}
/**
* 预定房间按钮点击后的操作,此时便创建了order,订单状态:waitConfirm
* @param request
* @param orderitem
* @return
* @throws Exception
*/
@RequestMapping(value = "/forebuyone",produces = "text/html;charset=UTF-8")
@ResponseBody
public ModelAndView forebuyone(HttpServletRequest request, Orderitem orderitem) throws Exception{
User user = (User) request.getSession().getAttribute("user");
Map map = orderItemService.buyOne(user, orderitem);
request.getSession(true).setAttribute("order",map.get("order"));
request.getSession(true).setAttribute("pid",orderitem.getPid());
Product product = productService.getProduct(orderitem.getPid());
product.setSaleCount(product.getSaleCount()+orderitem.getNumber());
product.setStock(product.getStock()-orderitem.getNumber());
productService.update(product);
modelAndView.addObject("ois",map.get("ois"));
modelAndView.addObject("total",((Order)map.get("order")).getTotal());
modelAndView.setViewName("/buy");
return modelAndView;
mav.setViewName("admin/listCategory");
return mav;
}
//打印页面
@RequestMapping(value = "/admin_print_category_list",produces = "text/html;charset=UTF-8")
@ResponseBody
public ModelAndView printListCategory(){
List<Category> categories = categoryService.listAll();
mav.addObject("thecs", categories);
mav.setViewName("admin/printListCategory");
return mav;
}
//导出分类EXCEL文件
@RequestMapping(value = "/admin_export_category_list",produces = "text/html;charset=UTF-8")
@ResponseBody
public void exportListCategory(HttpServletRequest request, HttpServletResponse response) throws Exception{
List<Category> categories = categoryService.listAll();
order.setOrderItems(orderItemService.getOrderItem(order.getId()));
modelAndView.addObject("o",order);
modelAndView.setViewName("confirmPay");
return modelAndView;
}
/**
* 跳转到支付页面
* @return
* @throws Exception
*/
@RequestMapping(value = "/forealipay",produces = "text/html; charset=UTF-8")
@ResponseBody
public ModelAndView alipay() throws Exception{
modelAndView.setViewName("alipay");
return modelAndView;
}
/**
* 跳转到评价页面
* @param oid:订单id
* @param request
* @return
* @throws Exception
*/
@RequestMapping(value = "/forereview", produces = "text/html; charset=UTF-8")
@ResponseBody
public ModelAndView review(int oid, HttpServletRequest request)throws Exception{
Order order = orderService.getOrder(oid);
//修改订单信息页面
@RequestMapping(value = "/admin_order_edit",produces = "text/html;charset=UTF-8")
@ResponseBody
public ModelAndView admin_order_edit(Integer id, HttpServletRequest request){
Order order = orderService.getOrder(id);
request.getSession().setAttribute("oid",id);
mav.addObject("c",order);
mav.setViewName("/admin/editOrder");
return mav;
}
//条件查询订单
@RequestMapping(value = "/select_order_list",produces = "text/html;charset=UTF-8")
@ResponseBody
public ModelAndView select_order_list(@RequestParam("status") String status, @RequestParam("min") Integer min, @RequestParam("max") Integer max){
if(status==null || status.equals("")){
status = "%";
}
if(min==null){
min = -1;
}
if(max==null){
max = Integer.MAX_VALUE;
}
List<Order> orders = orderService.selectOrder(status,min,max);
for(Order order:orders){
}
modelAndView.addObject("cs",c);
modelAndView.setViewName("home");
return modelAndView;
}
/**
* 创建订单;订单状态:waitPay
* @param order
* @param request
* @return
* @throws Exception
*/
@RequestMapping(value = "/forecreateOrder",produces = "text/html;charset=UTF-8")
@ResponseBody
public ModelAndView buy(Order order, HttpServletRequest request) throws Exception{
/**确定支付**/
Order origin_order = (Order)request.getSession().getAttribute("order");
origin_order.setOrderCode(UUID.randomUUID().toString().replace("-", "").toLowerCase());
origin_order.setReceiver(order.getReceiver());
origin_order.setMobile(order.getMobile());
origin_order.setUserMessage(order.getUserMessage());
origin_order.setStatus("waitPay");
origin_order.setPayDate(new Date());
if(order.getReceiver()==null || order.getReceiver().equals("")){
User user = (User)request.getSession().getAttribute("user");