基于javaweb+mysql的ssm二手汽车商城管理系统(java+jsp+bootstrap+ssm+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM二手汽车商城管理系统(java+jsp+bootstrap+ssm+mysql)
项目介绍
本项目共分为管理员、用户、店员三种角色: 管理员角色包含以下功能: 管理员登录,在售车辆管理,品牌管理,品牌分类管理,推荐车辆,订单管理,销量统计等功能。
用户角色包含以下功能: 用户登录,用户角色首页,购物商城,查看购物车,订单管理,个人信息修改,关于我们等功能。
店员角色包含以下功能: 添加删除修改二手车,订单管理,销量统计,个人信息修改等功能。
环境需要
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/8.0版本均可; 6.是否Maven项目:否;
技术栈
- 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+JavaScript+jQuery+BootStrap
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中DB.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录
private PriceService priceService;
@Autowired
private ShopCartService shopCartService;
@Autowired
private PageService pageService;
//导航栏的搜索框
@RequestMapping("/navQueryIdOrName")
public String navQueryIdOrName(Map<String, Object> map, String car_name){
List<Car> onlineCarList = carService.queryOnlineCarByIdOrName(car_name);
map.put("onlineCarList", onlineCarList);
map.put("brandList", brandService.queryBeQueryBrand());
map.put("priceList",priceService.getAllPrice());
map.put("recommandList", carService.queryAllRecommandCar());
return "user/shop/shopIndex";
}
//初始化商店界面
@RequestMapping("/shopInit")
public String shopInit(Map<String, Object> map, String currentpage){
List<Car> onlineCarList = carService.queryAllOnlineCar();
Page page = pageService.pageToCar(onlineCarList.size(), currentpage);
int subEnd = (page.getCurrentpage()-1)*page.getSize() + page.getSize() > onlineCarList.size() ? onlineCarList.size() : (page.getCurrentpage()-1)*page.getSize() + page.getSize();
onlineCarList = onlineCarList.subList( (page.getCurrentpage()-1)*page.getSize() , subEnd);
map.put("page", page);
map.put("onlineCarList", onlineCarList);
map.put("brandList", brandService.queryBeQueryBrand());
map.put("priceList",priceService.getAllPrice());
map.put("recommandList", carService.queryAllRecommandCar());
return "user/shop/shopIndex";
}
//多添加查询商品
@RequestMapping("/queryCarByClassifys")
public String queryCarByClassifys(String brand_id, String price_low, String price_high, String time_start, String time_end, Map<String, Object> map){
if(time_start == null || time_start.equals("不限制")) time_start = "1000-01-01 00:00:01";
if(time_end == null || time_end.equals("不限制")) time_end = "5000-01-01 00:00:01";
ShopQuery shopQuery = new ShopQuery(Integer.parseInt(price_low), Integer.parseInt(price_high), brand_id, time_start, time_end);
List<Car> onlineCarList = carService.queryCarByClassifys(shopQuery);
map.put("onlineCarList", onlineCarList);
map.put("brandList", brandService.queryBeQueryBrand());
map.put("priceList",priceService.getAllPrice());
map.put("recommandList", carService.queryAllRecommandCar());
if(!brand_id.equals("all")){
String name = brandService.queryBrandById(brand_id).getBrand_name();
}
}
//修改用户的密码
@RequestMapping("/changePassword")
public String changePassword(String oldPwd, String newPwd, Map<String, Object> map, HttpSession session){
Login login = (Login) session.getAttribute("loginSession");
if(login == null){
return "redirect:/loginInitAction";
}else if( !login.getLogin_permission().equals("user")){
return "redirect:/loginInitAction";
}
if( ! login.getLogin_password().equals(oldPwd)){ //输入密码错误
map.put("changePwdError", "您输入的原密码错误");
return "user/userInfo/changePassword";
}
login.setLogin_password(newPwd);
loginSevice.saveLogin(login);
map.put("changePwdSuccess", "恭喜您,修改密码成功");
return "user/userInfo/changePassword";
}
}
package com.carSystem.action.admin;
@Controller
@RequestMapping("/adminRecommandManage")
public class RecommandManageAction {
@Autowired
private CarService carService;
//查询全部的在售车辆,从中找出推荐和不推荐
@RequestMapping("/recommandList")
public String recommandList(Map<String, Object> map){
List<Car> onlineList = carService.queryAllOnlineCar();
//推荐和不推荐的list
List<Car> notList = new ArrayList(10);
List<Car> yesList = new ArrayList(10);
for(int i=0; i<onlineList.size(); i++){
System.out.println("============>" + onlineList.get(i).getCar_status_recommend() + "=========");
}
package com.carSystem.action;
@Controller
public class LoginAction {
@Autowired
private LoginService loginService;
@Autowired
private PersonService personService;
//登录初始化页面
@RequestMapping("/loginInitAction")
public String loginInitAction(){
return "login";
}
//注册
@RequestMapping("/register")
public String register(String passwd, String username, String tel, String login_permession, Map<String, Object> map, HttpSession session){
if(personService.textTelExist(tel)){
map.put("registerTelError", "对不起,您输入的手机号码已经被注册过了。");
return "login";
}
String newId = loginService.getNewId();
loginService.addLogin(passwd, newId, login_permession);
personService.addPerson(username, newId, tel);
Login loginInfo = loginService.getRegisterLoginEntity();
@Controller
@RequestMapping("/admin")
public class CarManageAction {
@Autowired
private CarService carService;
@Autowired
private BrandService brandService;
@Autowired
private PageService pageService;
//查询全部在售车辆
@RequestMapping("/queryAllOnlineCar")
public String queryAllOnlineCar(Map<String, Object> map, String currentpage){
List<Car> onlineCarList = carService.queryAllOnlineCar();
Page page = pageService.pageToCar(onlineCarList.size(), currentpage);
int subEnd = (page.getCurrentpage()-1)*page.getSize() + page.getSize() > onlineCarList.size() ? onlineCarList.size() : (page.getCurrentpage()-1)*page.getSize() + page.getSize();
@RequestMapping("/carUpdateDownShelf")
public String carUpdateDownShelf(Map<String, Object> map, String car_id){
map.put("carUpdateDownShelf", carService.queryDownShelfCarById(car_id).get(0));
map.put("brandList",brandService.queryAllBrand());
return "admin/carManage/car_update_downShelf";
}
//保存修改后的下架汽车
@RequestMapping(value="/saveDownShelfCar", method=RequestMethod.POST)
public String saveDownShelfCar(@RequestParam("imgSrc")MultipartFile mf, Map<String, Object> map, Car car) throws IOException{
if(mf.getSize() != 0){
InputStream is = mf.getInputStream();
File target = new File(Constants.IMAGEPATH + mf.getOriginalFilename());
OutputStream os = null;
try{
os = new FileOutputStream(target, true);
int templeng = 0;
byte[] tempbyte = new byte[4096];
while((templeng = is.read(tempbyte)) != -1){
os.write(tempbyte, 0, templeng);
os.flush();
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
is.close();
os.close();
}catch (IOException e) {
e.printStackTrace();
}
}
File deleteFile = new File(Constants.IMAGEPATH + car.getCar_img());
if (deleteFile.exists() && !car.getCar_img().equals("demo.jpg")){
//deleteFile.delete();
}
car.setCar_img(mf.getOriginalFilename());
}
carService.saveCar(car);
return "redirect:/admin/queryAllDownShelfCar";
}
//根据编号查询下架车辆信息
@RequestMapping("/queryDownShelfCarById")
public String queryDownShelfCarById(Map<String, Object> map, String car_id, String currentpage){
}catch (IOException e) {
e.printStackTrace();
}
}
File deleteFile = new File(Constants.IMAGEPATH + car.getCar_img());
if (deleteFile.exists() && !car.getCar_img().equals("demo.jpg")){
//deleteFile.delete();
}
car.setCar_img(mf.getOriginalFilename());
}
carService.saveCar(car);
return "redirect:/shop/queryAllOnlineCar";
}
//根据车辆将汽车下架
@RequestMapping("/carDownShelf")
public String carDownShelf(String car_id){
String operaDeleteId = carService.queryOnlineCarByIdOrName(car_id).get(0).getCar_shop_id();
carService.carDownShelf(car_id, operaDeleteId);
return "redirect:/shop/queryAllOnlineCar";
}
//下架车辆列表
@RequestMapping("/queryAllDownShelfCar")
public String queryAllDownShelfCar(Map<String, Object> map, HttpSession session, String currentpage){
Login login = (Login) session.getAttribute("shoploginSession");
if(login == null || !login.getLogin_permission().equals("shop")){
return "redirect:/loginInitAction";
}
List<Car> downCarList = carService.shopQueryAllDownShelfCar(login.getLogin_id());
Page page = pageService.pageToCar(downCarList.size(), currentpage);
int subEnd = (page.getCurrentpage()-1)*page.getSize() + page.getSize() > downCarList.size() ? downCarList.size() : (page.getCurrentpage()-1)*page.getSize() + page.getSize();
downCarList = downCarList.subList( (page.getCurrentpage()-1)*page.getSize() , subEnd);
map.put("queryKind", "all");
map.put("carDownShelfList", downCarList);
map.put("page", page);
return "shop/carManage/car_downShelf_list";
}
Page page = pageService.pageToOrder(orderList.size(), currentpage);
int subEnd = (page.getCurrentpage()-1)*page.getSize() + page.getSize() > orderList.size() ? orderList.size() : (page.getCurrentpage()-1)*page.getSize() + page.getSize();
orderList = orderList.subList( (page.getCurrentpage()-1)*page.getSize() , subEnd);
map.put("page", page);
map.put("queryKind", "idOrName");
map.put("HistoryOrder", orderList);
map.put("queryString", order_id);
return "shop/orderManage/order_history";
}
//用户已经删除订单(回收站订单)
@RequestMapping("/orderDeleteList")
public String orderDeleteList(Map<String, Object> map, String order_shop_id, String currentpage, HttpSession session){
List<Order> orderList = orderService.shopQueryAllDeleteOrder(order_shop_id);
Page page = pageService.pageToOrder(orderList.size(), currentpage);
int subEnd = (page.getCurrentpage()-1)*page.getSize() + page.getSize() > orderList.size() ? orderList.size() : (page.getCurrentpage()-1)*page.getSize() + page.getSize();
orderList = orderList.subList( (page.getCurrentpage()-1)*page.getSize() , subEnd);
map.put("page", page);
map.put("queryKind", "all");
map.put("DeleteOrderList", orderList);
return "shop/orderManage/order_delete";
}
//根据id查询回收站的订单
@RequestMapping("/queryDeleteById")
public String queryDeleteById(Map<String, Object> map, String order_id, String order_shop_id, String currentpage){
List<Order> orderList = orderService.shopQueryDeleteOrderById(order_id, order_shop_id);
Page page = pageService.pageToOrder(orderList.size(), currentpage);
int subEnd = (page.getCurrentpage()-1)*page.getSize() + page.getSize() > orderList.size() ? orderList.size() : (page.getCurrentpage()-1)*page.getSize() + page.getSize();
orderList = orderList.subList( (page.getCurrentpage()-1)*page.getSize() , subEnd);
map.put("page", page);
map.put("queryKind", "idOrName");
map.put("DeleteOrderList", orderList);
map.put("queryString", order_id);
return "shop/orderManage/order_delete";
}
//根据id彻底删除回收站的订单
@RequestMapping("/orderDeleteById")
public String orderDeleteById(String order_id, String order_shop_id, Map<String, Object> map, String currentpage){
orderService.orderDeleteById(order_id);
List<Order> orderTimeList = new ArrayList<Order>();
if(year == null || year.equals("")){
year = "2017";
}
if( !year.equals("2017")){
map.put("year", year);
map.put("month", monthArray);
return "shop/saleCountManage/countByTime";
}
orderTimeList = orderService.shopSaleOrderTime(login.getLogin_id());
int numSumMonth[] = new int[13];
int priceSumMonth[] = new int[13];
// List<ArrayList<Order>> orderMonthList = new ArrayList<ArrayList<Order>>(13);
// for(int i=0; i<13; i++){
// ArrayList<Order> list = new ArrayList<Order>(1);
// orderMonthList.add(list);
// }
for(int i=0; i<orderTimeList.size(); i++){
String month = orderTimeList.get(i).getOrder_time_receive().substring(5, 7); //订单完成时间的月份
int monthInt = Integer.parseInt(month);
numSumMonth[monthInt]++; //时间加进去
priceSumMonth[monthInt]+=orderTimeList.get(i).getCar_price_new(); //销量加进去
// orderMonthList.get(monthInt).add( orderTimeList.get(i) ); //订单列表
}
map.put("month", monthArray);
map.put("year", year);
map.put("numSum", numSumMonth);
map.put("priceSum", priceSumMonth);
// map.put("orderList", orderMonthList);
return "shop/saleCountManage/countByTime";
}
//(商家)月份订单详情
@RequestMapping("/saleOrderByMonth")
public String saleOrderByMonth(String month, Map<String, Object> map, String shop_id, String year){
List<Order> orderList = orderService.shopSaleOrderByMonth(year, month, shop_id);
return "redirect:/loginInitAction";
}
int[] monthArray = new int[]{0,1,2,3,4,5,6,7,8,9,10,11,12};
List<Order> orderTimeList = new ArrayList<Order>();
if(year == null || year.equals("")){
year = "2017";
}
if( !year.equals("2017")){
map.put("year", year);
map.put("month", monthArray);
return "shop/saleCountManage/countByTime";
}
orderTimeList = orderService.shopSaleOrderTime(login.getLogin_id());
int numSumMonth[] = new int[13];
int priceSumMonth[] = new int[13];
// List<ArrayList<Order>> orderMonthList = new ArrayList<ArrayList<Order>>(13);
// for(int i=0; i<13; i++){
// ArrayList<Order> list = new ArrayList<Order>(1);
// orderMonthList.add(list);
// }
for(int i=0; i<orderTimeList.size(); i++){
String month = orderTimeList.get(i).getOrder_time_receive().substring(5, 7); //订单完成时间的月份
int monthInt = Integer.parseInt(month);
numSumMonth[monthInt]++; //时间加进去
priceSumMonth[monthInt]+=orderTimeList.get(i).getCar_price_new(); //销量加进去
// orderMonthList.get(monthInt).add( orderTimeList.get(i) ); //订单列表
}
map.put("month", monthArray);
map.put("year", year);
map.put("numSum", numSumMonth);
map.put("priceSum", priceSumMonth);
// map.put("orderList", orderMonthList);
return "shop/saleCountManage/countByTime";
}
//(商家)月份订单详情
@RequestMapping("/saleOrderByMonth")
public String saleOrderByMonth(String month, Map<String, Object> map, String shop_id, String year){
List<Order> orderList = orderService.shopSaleOrderByMonth(year, month, shop_id);
map.put("month", month);
map.put("monthOrderList", orderList);
return "shop/saleCountManage/monthOrderDetails";
}
}else{
onlineList = carService.queryOnlineCarById(car_id);
}
//推荐和不推荐的list
List<Car> notList = new ArrayList(10);
List<Car> yesList = new ArrayList(10);
for(int i=0; i<onlineList.size(); i++){
if(onlineList.get(i).getCar_status_recommend().equals("0")){
Car car = onlineList.get(i);
notList.add(car);
}
if(onlineList.get(i).getCar_status_recommend().equals("1")){
Car car = onlineList.get(i);
yesList.add(car);
}
}
map.put("queryString", car_id);
map.put("yesList", yesList);
map.put("notList", notList);
return "admin/recommandManage/carRecommand";
}
//修改是否推荐状态
@RequestMapping("/changeRecommandStatus")
public String changeRecommandStatus(Map<String, Object> map, String car_id, String newStatus){
carService.changeRecommandStatus(car_id, newStatus);
return "redirect:/adminRecommandManage/recommandList";
}
}
package com.carSystem.action.admin;
carService.addCar(car);
return "redirect:/shop/queryAllOnlineCar";
}
//查看单个车辆详情
@RequestMapping("/carDetail")
public String carDetails(Map<String, Object> map, String car_id){
List<Car> list = carService.queryOnlineCarById(car_id);
map.put("carDetail", list.get(0));
return "shop/carManage/car_details";
}
//在线车辆信息更新初始化页面
@RequestMapping("/carUpdateInit")
public String carUpdateInit(Map<String, Object> map, String car_id){
map.put("carUpdate", carService.queryOnlineCarById(car_id).get(0));
map.put("brandList",brandService.queryAllBrand());
return "shop/carManage/car_update";
}
//保存修改后的在售汽车
@RequestMapping(value="/saveCar", method=RequestMethod.POST)
public String saveOnlineCar(@RequestParam("imgSrc")MultipartFile mf, Map<String, Object> map, Car car) throws IOException{
if(mf.getSize() != 0){
InputStream is = mf.getInputStream();
File target = new File(Constants.IMAGEPATH + mf.getOriginalFilename());
OutputStream os = null;
try{
os = new FileOutputStream(target, true);
int templeng = 0;
byte[] tempbyte = new byte[4096];
while((templeng = is.read(tempbyte)) != -1){
os.write(tempbyte, 0, templeng);
os.flush();
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
is.close();
os.close();
}catch (IOException e) {
e.printStackTrace();
}
}
File deleteFile = new File(Constants.IMAGEPATH + car.getCar_img());
if (deleteFile.exists() && !car.getCar_img().equals("demo.jpg")){
//deleteFile.delete();
}finally{
try{
is.close();
os.close();
}catch (IOException e) {
e.printStackTrace();
}
}
File deleteFile = new File(Constants.IMAGEPATH + car.getCar_img());
if (deleteFile.exists() && !car.getCar_img().equals("demo.jpg")){
//deleteFile.delete();
}
car.setCar_img(mf.getOriginalFilename());
}
carService.saveCar(car);
return "redirect:/shop/queryAllOnlineCar";
}
//根据车辆将汽车下架
@RequestMapping("/carDownShelf")
public String carDownShelf(String car_id){
String operaDeleteId = carService.queryOnlineCarByIdOrName(car_id).get(0).getCar_shop_id();
carService.carDownShelf(car_id, operaDeleteId);
return "redirect:/shop/queryAllOnlineCar";
}
//下架车辆列表
@RequestMapping("/queryAllDownShelfCar")
public String queryAllDownShelfCar(Map<String, Object> map, HttpSession session, String currentpage){
Login login = (Login) session.getAttribute("shoploginSession");
if(login == null || !login.getLogin_permission().equals("shop")){
return "redirect:/loginInitAction";
}
List<Car> downCarList = carService.shopQueryAllDownShelfCar(login.getLogin_id());
Page page = pageService.pageToCar(downCarList.size(), currentpage);
int subEnd = (page.getCurrentpage()-1)*page.getSize() + page.getSize() > downCarList.size() ? downCarList.size() : (page.getCurrentpage()-1)*page.getSize() + page.getSize();
downCarList = downCarList.subList( (page.getCurrentpage()-1)*page.getSize() , subEnd);
map.put("queryKind", "all");
map.put("carDownShelfList", downCarList);
map.put("page", page);
return "shop/carManage/car_downShelf_list";
}
//下架车辆信息修改
@RequestMapping("/carUpdateDownShelf")
public String carUpdateDownShelf( Map<String, Object> map, String car_id){
}
//根据编号删除某个品牌
@RequestMapping("/deleteBrand")
public String deleteBrand(String brand_id){
brandService.deleteBrand(brand_id);
return "redirect:/admin/brandListInit";
}
}
package com.carSystem.action.user;
@Controller
@RequestMapping("/shopCart")
public class ShopCartAction {
@Autowired
private ShopCartService shopCartService;
//购物车信息表
@RequestMapping("/shopCartList")
public String shopCartList(HttpSession session, Map<String, Object> map){
Login login = (Login) session.getAttribute("loginSession");
if(login == null){
return "redirect:/loginInitAction";
}else if( !login.getLogin_permission().equals("user")){
return "redirect:/loginInitAction";
}
List<ShopCart> shopCartList = shopCartService.getAllByPersonId(login.getLogin_id());
map.put("shopCartList", shopCartList);
return "user/shopCart/shopCart_list";
}
//删除全部购物车信息
@RequestMapping("/deleteAll")
public String deleteAll(){
shopCartService.deleteAll();
return "redirect:/user/updateInfoInit";
}
//利用ajax确定修改后的电话号码没有被注册
@RequestMapping("/ajaxTextTelExist")
public void ajaxGetStu_name(HttpServletRequest request, HttpServletResponse response, String person_tel) throws UnsupportedEncodingException{
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
boolean boolTel = personService.textTelExist(person_tel);
String json = new Gson().toJson(boolTel);
try {
response.getWriter().print(json);
} catch (IOException e) {
e.printStackTrace();
}
}
//修改用户的密码
@RequestMapping("/changePassword")
public String changePassword(String oldPwd, String newPwd, Map<String, Object> map, HttpSession session){
Login login = (Login) session.getAttribute("loginSession");
if(login == null){
return "redirect:/loginInitAction";
}else if( !login.getLogin_permission().equals("user")){
return "redirect:/loginInitAction";
}
if( ! login.getLogin_password().equals(oldPwd)){ //输入密码错误
map.put("changePwdError", "您输入的原密码错误");
return "user/userInfo/changePassword";
}
login.setLogin_password(newPwd);
loginSevice.saveLogin(login);
map.put("changePwdSuccess", "恭喜您,修改密码成功");
return "user/userInfo/changePassword";
}
}
package com.carSystem.action.admin;
Login queryLogin = loginService.queryLoginById(login.getLogin_id());
if(queryLogin == null){ //账号不存在
map.put("loginError", "账号或密码输入错误");
return "login";
}else if(! queryLogin.getLogin_password().equals(login.getLogin_password()) ){ //密码错误
System.out.println("---------error-------");
map.put("permission", queryLogin.getLogin_permission());
map.put("loginError1", "账号或密码输入错误");
return "login";
}else if(queryLogin.getLogin_permission().equals("admin")){ //管理员
System.out.println("---------admin-------");
session.setAttribute("adminloginSession", queryLogin);
return "admin/index";
}else if(queryLogin.getLogin_permission().equals("shop")){ //商家
System.out.println("---------shop-------");
session.setAttribute("shoploginSession", queryLogin);
session.setAttribute("shoploginSession_name", personService.queryPersonById(queryLogin.getLogin_id()).getPerson_name());
return "shop/index";
}else{ //用户
System.out.println("---------user--------");
session.setAttribute("loginSession", queryLogin);
session.setAttribute("loginSession_name", personService.queryPersonById(queryLogin.getLogin_id()).getPerson_name());
return "redirect:/indexInitAction";
}
}
//跳转到(用户或商家)主页。
@RequestMapping("/indexInitAction")
public String indexInit(HttpSession session, Map<String, Object> map){
Login login = (Login)session.getAttribute("loginSession");
if(login != null && login.getLogin_permission().equals("user") ){
Person person = personService.queryPersonById(login.getLogin_id());
session.setAttribute("loginSession_name", person.getPerson_name());
System.out.println("==========index=========" + login.getLogin_permission() + "===========");
}
return "/user/index";
}
//利用ajax确定修改后的电话号码没有被注册
@RequestMapping("/ajaxTextIdAndTel")
public void ajaxTextIdAndTel(HttpServletRequest request, HttpServletResponse response, String person_tel, String login_id) throws UnsupportedEncodingException{
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
boolean boolReturn = true;
Login login = loginService.queryLoginById(login_id);
List<Car> yesList = new ArrayList(10);
for(int i=0; i<onlineList.size(); i++){
System.out.println("============>" + onlineList.get(i).getCar_status_recommend() + "=========");
if(onlineList.get(i).getCar_status_recommend().equals("0")){
Car car = onlineList.get(i);
notList.add(car);
}
if(onlineList.get(i).getCar_status_recommend().equals("1")){
Car car = onlineList.get(i);
yesList.add(car);
}
}
map.put("yesList", yesList);
map.put("notList", notList);
return "admin/recommandManage/carRecommand";
}
//根据id查询全部的在售车辆,从中找出推荐和不推荐
@RequestMapping("/queryRecommandCarById")
public String queryRecommandCarById(Map<String, Object> map, String car_id){
List<Car> onlineList;
if(car_id==null || car_id.equals("")){
onlineList = carService.queryAllOnlineCar();
}else{
onlineList = carService.queryOnlineCarById(car_id);
}
//推荐和不推荐的list
List<Car> notList = new ArrayList(10);
List<Car> yesList = new ArrayList(10);
for(int i=0; i<onlineList.size(); i++){
if(onlineList.get(i).getCar_status_recommend().equals("0")){
Car car = onlineList.get(i);
notList.add(car);
}
if(onlineList.get(i).getCar_status_recommend().equals("1")){
Car car = onlineList.get(i);
yesList.add(car);
}
}
map.put("queryString", car_id);
map.put("yesList", yesList);
map.put("notList", notList);
return "admin/recommandManage/carRecommand";
}
//修改是否推荐状态
//deleteFile.delete();
}
car.setCar_img(mf.getOriginalFilename());
}
carService.saveCar(car);
return "redirect:/admin/queryAllOnlineCar";
}
//根据车辆将汽车下架
@RequestMapping("/carDownShelf")
public String carDownShelf(String car_id, HttpSession session){
Login login = (Login)session.getAttribute("adminloginSession");
carService.carDownShelf(car_id, login.getLogin_id());
return "redirect:/admin/queryAllOnlineCar";
}
//下架车辆列表
@RequestMapping("/queryAllDownShelfCar")
public String queryAllDownShelfCar(Map<String, Object> map, String currentpage){
List<Car> downCarList = carService.queryAllDownShelfCar();
Page page = pageService.pageToCar(downCarList.size(), currentpage);
int subEnd = (page.getCurrentpage()-1)*page.getSize() + page.getSize() > downCarList.size() ? downCarList.size() : (page.getCurrentpage()-1)*page.getSize() + page.getSize();
downCarList = downCarList.subList( (page.getCurrentpage()-1)*page.getSize() , subEnd);
map.put("queryKind", "all");
map.put("page", page);
map.put("carDownShelfList", downCarList);
return "admin/carManage/car_downShelf_list";
}
//下架车辆信息修改
@RequestMapping("/carUpdateDownShelf")
public String carUpdateDownShelf(Map<String, Object> map, String car_id){
map.put("carUpdateDownShelf", carService.queryDownShelfCarById(car_id).get(0));
map.put("brandList",brandService.queryAllBrand());
return "admin/carManage/car_update_downShelf";
}
//保存修改后的下架汽车
@RequestMapping(value="/saveDownShelfCar", method=RequestMethod.POST)
public String saveDownShelfCar(@RequestParam("imgSrc")MultipartFile mf, Map<String, Object> map, Car car) throws IOException{
if(mf.getSize() != 0){
//保存用户修改后的个人信息
@RequestMapping("/saveUpdatePersonInfo")
public String saveUpdatePersonInfo(Person person, Map<String, Object> map){
personService.saveUpdatePersonInfo(person);
return "redirect:/user/updateInfoInit";
}
//利用ajax确定修改后的电话号码没有被注册
@RequestMapping("/ajaxTextTelExist")
public void ajaxGetStu_name(HttpServletRequest request, HttpServletResponse response, String person_tel) throws UnsupportedEncodingException{
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
boolean boolTel = personService.textTelExist(person_tel);
String json = new Gson().toJson(boolTel);
try {
response.getWriter().print(json);
} catch (IOException e) {
e.printStackTrace();
}
}
//修改用户的密码
@RequestMapping("/changePassword")
public String changePassword(String oldPwd, String newPwd, Map<String, Object> map, HttpSession session){
Login login = (Login) session.getAttribute("loginSession");
if(login == null){
return "redirect:/loginInitAction";
}else if( !login.getLogin_permission().equals("user")){
return "redirect:/loginInitAction";
}
if( ! login.getLogin_password().equals(oldPwd)){ //输入密码错误
map.put("changePwdError", "您输入的原密码错误");
return "user/userInfo/changePassword";
}
login.setLogin_password(newPwd);
loginSevice.saveLogin(login);
map.put("changePwdSuccess", "恭喜您,修改密码成功");
return "user/userInfo/changePassword";
}
}
package com.carSystem.action.admin;
@RequestMapping("/carDownShelf")
public String carDownShelf(String car_id, HttpSession session){
Login login = (Login)session.getAttribute("adminloginSession");
carService.carDownShelf(car_id, login.getLogin_id());
return "redirect:/admin/queryAllOnlineCar";
}
//下架车辆列表
@RequestMapping("/queryAllDownShelfCar")
public String queryAllDownShelfCar(Map<String, Object> map, String currentpage){
List<Car> downCarList = carService.queryAllDownShelfCar();
Page page = pageService.pageToCar(downCarList.size(), currentpage);
int subEnd = (page.getCurrentpage()-1)*page.getSize() + page.getSize() > downCarList.size() ? downCarList.size() : (page.getCurrentpage()-1)*page.getSize() + page.getSize();
downCarList = downCarList.subList( (page.getCurrentpage()-1)*page.getSize() , subEnd);
map.put("queryKind", "all");
map.put("page", page);
map.put("carDownShelfList", downCarList);
return "admin/carManage/car_downShelf_list";
}
//下架车辆信息修改
@RequestMapping("/carUpdateDownShelf")
public String carUpdateDownShelf(Map<String, Object> map, String car_id){
map.put("carUpdateDownShelf", carService.queryDownShelfCarById(car_id).get(0));
map.put("brandList",brandService.queryAllBrand());
return "admin/carManage/car_update_downShelf";
}
//保存修改后的下架汽车
@RequestMapping(value="/saveDownShelfCar", method=RequestMethod.POST)
public String saveDownShelfCar(@RequestParam("imgSrc")MultipartFile mf, Map<String, Object> map, Car car) throws IOException{
if(mf.getSize() != 0){
InputStream is = mf.getInputStream();
File target = new File(Constants.IMAGEPATH + mf.getOriginalFilename());
OutputStream os = null;
try{
os = new FileOutputStream(target, true);
try {
response.getWriter().print(json);
} catch (IOException e) {
e.printStackTrace();
}
}
//保存用户找回的的密码
@RequestMapping("/findSaveNewPwd")
public String findSaveNewPwd(Map<String, Object> map,Login login, HttpSession session){
loginService.saveLogin(login);
Login loginInfo = loginService.queryLoginById(login.getLogin_id());
if(loginInfo.getLogin_permission().equals("shop")){
session.setAttribute("shoploginSession", loginInfo);
}else{
session.setAttribute("loginSession", loginInfo);
}
return "redirect:/indexInitAction";
}
}
package com.carSystem.action.shop;
@Controller
@RequestMapping("/shopSaleCountManage")
List<Car> onlineList;
if(car_id==null || car_id.equals("")){
onlineList = carService.queryAllOnlineCar();
}else{
onlineList = carService.queryOnlineCarById(car_id);
}
//推荐和不推荐的list
List<Car> notList = new ArrayList(10);
List<Car> yesList = new ArrayList(10);
for(int i=0; i<onlineList.size(); i++){
if(onlineList.get(i).getCar_status_recommend().equals("0")){
Car car = onlineList.get(i);
notList.add(car);
}
if(onlineList.get(i).getCar_status_recommend().equals("1")){
Car car = onlineList.get(i);
yesList.add(car);
}
}
map.put("queryString", car_id);
map.put("yesList", yesList);
map.put("notList", notList);
return "admin/recommandManage/carRecommand";
}
//修改是否推荐状态
@RequestMapping("/changeRecommandStatus")
public String changeRecommandStatus(Map<String, Object> map, String car_id, String newStatus){
carService.changeRecommandStatus(car_id, newStatus);
return "redirect:/adminRecommandManage/recommandList";
}
}
package com.carSystem.action.admin;
}
map.put("saleNum", saleNum);
map.put("salePrice", salePrice);
map.put("brandList", brandList);
return "shop/saleCountManage/countByBrand";
}
//某个品牌销售详情
@RequestMapping("/saleOrderByBrand")
public String saleOrderByBrand(String brand_id,String shop_id, Map<String, Object> map){
List<Order> orderList = orderService.shopSaleOrderByBrandId(brand_id, shop_id);
map.put("brand_name", brandService.queryBrandById(brand_id).getBrand_name() );
map.put("brandOrderList", orderList);
return "shop/saleCountManage/brandOrderDetails";
}
//商家订单根据时间统计销量(从订单分析)
@RequestMapping("/saleOrderByTime")
public String saleOrderTime(Map<String, Object> map, HttpSession session, String year){
Login login = (Login) session.getAttribute("shoploginSession");
if(login == null || !login.getLogin_permission().equals("shop")){
return "redirect:/loginInitAction";
}
int[] monthArray = new int[]{0,1,2,3,4,5,6,7,8,9,10,11,12};
List<Order> orderTimeList = new ArrayList<Order>();
if(year == null || year.equals("")){
year = "2017";
}
if( !year.equals("2017")){
map.put("year", year);
map.put("month", monthArray);
return "shop/saleCountManage/countByTime";
}
orderTimeList = orderService.shopSaleOrderTime(login.getLogin_id());
int numSumMonth[] = new int[13];
int priceSumMonth[] = new int[13];
// List<ArrayList<Order>> orderMonthList = new ArrayList<ArrayList<Order>>(13);
// for(int i=0; i<13; i++){
// ArrayList<Order> list = new ArrayList<Order>(1);
// orderMonthList.add(list);
// }
for(int i=0; i<orderTimeList.size(); i++){
String month = orderTimeList.get(i).getOrder_time_receive().substring(5, 7); //订单完成时间的月份
int monthInt = Integer.parseInt(month);
numSumMonth[monthInt]++; //时间加进去
priceSumMonth[monthInt]+=orderTimeList.get(i).getCar_price_new(); //销量加进去
// orderMonthList.get(monthInt).add( orderTimeList.get(i) ); //订单列表
//修改用户的密码
@RequestMapping("/changePassword")
public String changePassword(String oldPwd, String newPwd, Map<String, Object> map, HttpSession session){
Login login = (Login) session.getAttribute("loginSession");
if(login == null){
return "redirect:/loginInitAction";
}else if( !login.getLogin_permission().equals("user")){
return "redirect:/loginInitAction";
}
if( ! login.getLogin_password().equals(oldPwd)){ //输入密码错误
map.put("changePwdError", "您输入的原密码错误");
return "user/userInfo/changePassword";
}
login.setLogin_password(newPwd);
loginSevice.saveLogin(login);
map.put("changePwdSuccess", "恭喜您,修改密码成功");
return "user/userInfo/changePassword";
}
}
package com.carSystem.action.admin;
@Controller
@RequestMapping("/adminRecommandManage")
public class RecommandManageAction {
@Autowired
private CarService carService;
//查询全部的在售车辆,从中找出推荐和不推荐
@RequestMapping("/recommandList")
public String recommandList(Map<String, Object> map){
List<Car> onlineList = carService.queryAllOnlineCar();
//推荐和不推荐的list
List<Car> notList = new ArrayList(10);
List<Car> yesList = new ArrayList(10);
for(int i=0; i<onlineList.size(); i++){
System.out.println("============>" + onlineList.get(i).getCar_status_recommend() + "=========");
if(onlineList.get(i).getCar_status_recommend().equals("0")){
Login login = (Login)session.getAttribute("adminloginSession");
carService.carDownShelf(car_id, login.getLogin_id());
return "redirect:/admin/queryAllOnlineCar";
}
//下架车辆列表
@RequestMapping("/queryAllDownShelfCar")
public String queryAllDownShelfCar(Map<String, Object> map, String currentpage){
List<Car> downCarList = carService.queryAllDownShelfCar();
Page page = pageService.pageToCar(downCarList.size(), currentpage);
int subEnd = (page.getCurrentpage()-1)*page.getSize() + page.getSize() > downCarList.size() ? downCarList.size() : (page.getCurrentpage()-1)*page.getSize() + page.getSize();
downCarList = downCarList.subList( (page.getCurrentpage()-1)*page.getSize() , subEnd);
map.put("queryKind", "all");
map.put("page", page);
map.put("carDownShelfList", downCarList);
return "admin/carManage/car_downShelf_list";
}
//下架车辆信息修改
@RequestMapping("/carUpdateDownShelf")
public String carUpdateDownShelf(Map<String, Object> map, String car_id){
map.put("carUpdateDownShelf", carService.queryDownShelfCarById(car_id).get(0));
map.put("brandList",brandService.queryAllBrand());
return "admin/carManage/car_update_downShelf";
}
//保存修改后的下架汽车
@RequestMapping(value="/saveDownShelfCar", method=RequestMethod.POST)
public String saveDownShelfCar(@RequestParam("imgSrc")MultipartFile mf, Map<String, Object> map, Car car) throws IOException{
if(mf.getSize() != 0){
InputStream is = mf.getInputStream();
File target = new File(Constants.IMAGEPATH + mf.getOriginalFilename());
OutputStream os = null;
try{
os = new FileOutputStream(target, true);
int templeng = 0;
byte[] tempbyte = new byte[4096];
while((templeng = is.read(tempbyte)) != -1){
os.write(tempbyte, 0, templeng);
os.flush();
}
}catch(Exception e){
//登录处理
@RequestMapping("/loginAction")
public String loginAction(Login login, Map<String, Object> map, HttpSession session){
Login queryLogin = loginService.queryLoginById(login.getLogin_id());
if(queryLogin == null){ //账号不存在
map.put("loginError", "账号或密码输入错误");
return "login";
}else if(! queryLogin.getLogin_password().equals(login.getLogin_password()) ){ //密码错误
System.out.println("---------error-------");
map.put("permission", queryLogin.getLogin_permission());
map.put("loginError1", "账号或密码输入错误");
return "login";
}else if(queryLogin.getLogin_permission().equals("admin")){ //管理员
System.out.println("---------admin-------");
session.setAttribute("adminloginSession", queryLogin);
return "admin/index";
}else if(queryLogin.getLogin_permission().equals("shop")){ //商家
System.out.println("---------shop-------");
session.setAttribute("shoploginSession", queryLogin);
session.setAttribute("shoploginSession_name", personService.queryPersonById(queryLogin.getLogin_id()).getPerson_name());
return "shop/index";
}else{ //用户
System.out.println("---------user--------");
session.setAttribute("loginSession", queryLogin);
session.setAttribute("loginSession_name", personService.queryPersonById(queryLogin.getLogin_id()).getPerson_name());
return "redirect:/indexInitAction";
}
}
//跳转到(用户或商家)主页。
@RequestMapping("/indexInitAction")
public String indexInit(HttpSession session, Map<String, Object> map){
Login login = (Login)session.getAttribute("loginSession");
if(login != null && login.getLogin_permission().equals("user") ){
Person person = personService.queryPersonById(login.getLogin_id());
session.setAttribute("loginSession_name", person.getPerson_name());
System.out.println("==========index=========" + login.getLogin_permission() + "===========");
}
return "/user/index";
}
//利用ajax确定修改后的电话号码没有被注册
}
car.setCar_img(mf.getOriginalFilename());
}
carService.saveCar(car);
return "redirect:/shop/queryAllOnlineCar";
}
//根据车辆将汽车下架
@RequestMapping("/carDownShelf")
public String carDownShelf(String car_id){
String operaDeleteId = carService.queryOnlineCarByIdOrName(car_id).get(0).getCar_shop_id();
carService.carDownShelf(car_id, operaDeleteId);
return "redirect:/shop/queryAllOnlineCar";
}
//下架车辆列表
@RequestMapping("/queryAllDownShelfCar")
public String queryAllDownShelfCar(Map<String, Object> map, HttpSession session, String currentpage){
Login login = (Login) session.getAttribute("shoploginSession");
if(login == null || !login.getLogin_permission().equals("shop")){
return "redirect:/loginInitAction";
}
List<Car> downCarList = carService.shopQueryAllDownShelfCar(login.getLogin_id());
Page page = pageService.pageToCar(downCarList.size(), currentpage);
int subEnd = (page.getCurrentpage()-1)*page.getSize() + page.getSize() > downCarList.size() ? downCarList.size() : (page.getCurrentpage()-1)*page.getSize() + page.getSize();
downCarList = downCarList.subList( (page.getCurrentpage()-1)*page.getSize() , subEnd);
map.put("queryKind", "all");
map.put("carDownShelfList", downCarList);
map.put("page", page);
return "shop/carManage/car_downShelf_list";
}
//下架车辆信息修改
@RequestMapping("/carUpdateDownShelf")
public String carUpdateDownShelf( Map<String, Object> map, String car_id){
map.put("carUpdateDownShelf", carService.queryDownShelfCarById(car_id).get(0));
map.put("brandList",brandService.queryAllBrand());
return "shop/carManage/car_update_downShelf";
}