基于javaweb+mysql的ssm汽车配件商城系统(java+ssm+jsp+jquery+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM汽车配件商城系统(java+ssm+jsp+jquery+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.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7、8.0等版本均可;
技术栈
-
后端:Spring+springmvc+mybatis
-
前端:JSP+css+javascript+jQuery
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2.使用IDEA/Eclipse/MyEclipse导入项目,配置tomcat;
- 将项目中config/jdbc.properties配置文件中的数据库配置改为自己的配置;
4.运行项目,前台地址:http://localhost:8080/snack/shop/index
用户账号/密码: user/123456
后台地址:http://localhost:8080/snack/admin/login/adminLogin
管理员账号/密码:admin/admin
obj.put("code", 0);
obj.put("count", info.getTotal());
obj.put("data", info.getList());
return obj;
@RequestMapping("updateOrder")@ResponseBodypublic String updateOrder(Order order){
Integerrs= orderService.updateOrder(order);
if(rs>0){
return"success";
}else{
return"fail";
@RequestMapping("deliverOrder")@ResponseBodypublic String deliverOrder(String orderId,String expressNo){
if(!expressNo.trim().equals("")){
name[i]=goodsList.get(i).getGoodsName();
volume[i]=goodsList.get(i).getGoodsVolume();
JSONObject obj=newJSONObject();
obj.put("name", name);
obj.put("volume", volume);
return obj;
@RequestMapping("chaozan")@ResponseBodypublic JSONObject chaozan(Integer goodsId,HttpServletRequest request){
HttpSessionsession= request.getSession();
Users user=(Users) session.getAttribute("user");
Integerrs= goodsService.chaozan(user.getUserId(),goodsId);
Goodsgoods= goodsService.findById(goodsId);
JSONObject obj=newJSONObject();
if(rs>0){
IntegergoodsId= Integer.valueOf(s);
rs = goodsService.deleteGoods(goodsId);
if(rs>0){
return"success";
}else{
return"fail";
@RequestMapping(value="uploadImg",method={RequestMethod.POST})@ResponseBodypublic Object uploadGoodsImg(@PathVariable(value="file")MultipartFile file,HttpServletRequest request){
Stringstr= file.getOriginalFilename();
String name=UUIDUtil.getUUID()+str.substring(str.lastIndexOf("."));
String path=request.getSession().getServletContext().getRealPath("/upload")+"/"+name;
try {
file.transferTo(newFile(path));
} catch (IllegalStateException | IOException e) {
@Autowiredprivate IGuessService guessService;
@RequestMapping("takeOrder")public String takeOrder(Integer[] goodslist,Integer addr,Model model,HttpServletRequest request){
List<Cart> cartList=newArrayList<Cart>();
List<OrderDetail> detailList=newArrayList<OrderDetail>();
Double totalPrice=0D;
for (Integer i : goodslist) {
Cartcart= cartService.findCartById(i);
totalPrice+=cart.getCartNum()*cart.getCartGoods().getGoodsPrice();
cartList.add(cart);
OrderDetail detail=newOrderDetail(cart.getCartGoods(), cart.getCartGoods().getGoodsPrice()*cart.getCartNum(), cart.getCartNum());
detailList.add(detail);
@Controller@RequestMapping("/goods")publicclassGoodsController {
@Autowiredprivate IGoodsService goodsService;
@Autowiredprivate IGuessService guessService;
@Autowiredprivate IEvaluateService evaluateService;
@RequestMapping("findAll")public String findAllGoods(Model model){
List<Goods> list = goodsService.findAll();
model.addAttribute("goodsList", list);
return"list";
@RequestMapping("/findGoodsDiscounts")@ResponseBodypublic JSONObject findGoodsDiscounts(){
PageInfo<Goods> info = goodsService.findGoodsDiscounts();
JSONObjectobj=newJSONObject();
obj.put("msg", "");
obj.put("code", 0);
obj.put("count", info.getTotal());
List<Goods> goodsList = goodsService.findGoodsByVolume(5);
String[] name=newString[5];
Integer[] volume=newInteger[5];
for(int i=0;i<goodsList.size();i++){
name[i]=goodsList.get(i).getGoodsName();
volume[i]=goodsList.get(i).getGoodsVolume();
JSONObject obj=newJSONObject();
obj.put("name", name);
obj.put("volume", volume);
return obj;
@RequestMapping("chaozan")@ResponseBodypublic JSONObject chaozan(Integer goodsId,HttpServletRequest request){
return"success";
}else{
return"fail";
@RequestMapping("findOrderBySplitPage")@ResponseBodypublic JSONObject findOrderBySplitPage(Integer page,Integer limit,OrderSearchVO vo){
if(vo!=null){
System.out.println(vo.getOrderState()+"========================");
PageInfo<Order> info = orderService.findOrdersBySplitPage(page, limit,vo);
JSONObject obj=newJSONObject();
obj.put("msg", "");
obj.put("code", 0);
Cartcart= cartService.findCartById(cartId);
cart.setCartNum(cart.getCartNum()+1);
Integerrs= cartService.updateCart(cart);
if(rs>0){
return"success";
}else{
return"fail";
@RequestMapping("preOrder")public String preOrder(Integer[] goodslist,Model model,HttpServletRequest request){
List<Cart> cartList=newArrayList<Cart>();
for (Integer i : goodslist) {
try {
file.transferTo(newFile(path));
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
JSONObject obj=newJSONObject();
obj.put("src", name);
return obj;
@RequestMapping("addGoods")@ResponseBodypublic String addGoods(Goods goods){
Integerrs= goodsService.addGoods(goods);
if(rs>0){
@RequestMapping("findHotGoods")@ResponseBodypublic List<Goods> findHotGoods(){
return goodsService.findHotGoods(4);
@RequestMapping("search")public ModelAndView searchGoodsByName(String keyWord){
ModelAndView mv=newModelAndView();
List<Goods> list = goodsService.findGoodsLikeName(keyWord);
mv.addObject("searchList",list);
mv.setViewName("userview/search");
return mv;
@RequestMapping("searchPre")@ResponseBodypublic List<Goods> searchPreGoods(String keyword){
List<Goods> list = goodsService.findGoodsLikeName(keyword);
@RequestMapping("toPay")@ResponseBodypublic JSONObject toPayFor(String orderId,HttpServletResponse response){
Orderout_trade_no= orderService.findOrderById(orderId);
Integerrs= orderService.payForOrder(orderId);
if(rs>0){
System.out.println("同步通知支付成功");
JSONObject obj=newJSONObject();
obj.put("result", "paysuccess");
return obj;
/**
AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
//设置请求参数
OrdertakeOrder= orderService.takeOrder(order);
for (Cart c : cartList) {
Goodsgoods= goodsService.findById(c.getCartGoods().getGoodsId());
goods.setGoodsNum(goods.getGoodsNum()-c.getCartNum());
goods.setGoodsVolume(goods.getGoodsVolume()+c.getCartNum());
goodsService.update(goods);
cartService.deleteCart(c.getCartId());
model.addAttribute("order",takeOrder);
List<Guess> guessList = guessService.findGuessGoodsByUserId(user.getUserId(), 4);
model.addAttribute("guessList", guessList);
return"userview/takeorder";
@RequestMapping("findReadPayOrder")@ResponseBodypublic List<Order> findReadyPayOrder(HttpServletRequest request){
HttpSessionsession= request.getSession();
JSONObjectobj=newJSONObject();
obj.put("msg", "");
obj.put("code", 0);
obj.put("count", info.getTotal());
obj.put("data", info.getList());
return obj;
@RequestMapping("{goodsId}")public String findAllGoods(@PathVariable("goodsId")Integer goodsId,Model model){
Goodsgoods= goodsService.findById(goodsId);
List<Evaluate> evaList = evaluateService.findEvaluateByGoodsId(goodsId);
model.addAttribute("goods", goods);
model.addAttribute("evaList", evaList);
return"detail";
mv.addObject("searchList",list);
mv.setViewName("userview/search");
return mv;
@RequestMapping("searchPre")@ResponseBodypublic List<Goods> searchPreGoods(String keyword){
List<Goods> list = goodsService.findGoodsLikeName(keyword);
return list;
@RequestMapping("delete")@ResponseBodypublic String deleteGoods(Integer goodsId){
Integerrs= goodsService.deleteGoods(goodsId);
if(rs>0){
return"success";
}else{
return"fail";
@RequestMapping("updateGoods")@ResponseBodypublic String updateGoods(Goods goods){
model.addAttribute("goods", goods);
return"update";
@RequestMapping("findBySplitPage")@ResponseBodypublic JSONObject findBySplitPage(Integer page,Integer limit,String keyword){
PageInfo<Goods> info = goodsService.findBySplitPage(page, limit,keyword);
JSONObject obj=newJSONObject();
obj.put("msg", "");
obj.put("code", 0);
obj.put("count", info.getTotal());
obj.put("data", info.getList());
return obj;
@RequestMapping("findGoodsByType")@ResponseBodypublic List<Goods> findGoodsByType(Integer typeId){
3、校验通知中的seller_id(或者seller_email) 是否为out_trade_no这笔单据的对应的操作方(有的时候,一个商户可能有多个seller_id/seller_email)
4、验证app_id是否为该商户本身。
*/
PrintWriter out=null;
try {
out = response.getWriter();
} catch (IOException e) {
e.printStackTrace();
if(signVerified) {//验证成功//商户订单号
String out_trade_no="";
//交易状态
String trade_status="";
try {
}else{
return"fail";
@RequestMapping("preOrder")public String preOrder(Integer[] goodslist,Model model,HttpServletRequest request){
List<Cart> cartList=newArrayList<Cart>();
for (Integer i : goodslist) {
Cartcart= cartService.findCartById(i);
cartList.add(cart);
model.addAttribute("cartList", cartList);
HttpSessionsession= request.getSession();
Usersuser= (Users) session.getAttribute("user");
List<Address> addrList = addressService.findAddressByUserId(user.getUserId());
if(rs>0){
return"success";
}else{
return"fail";
}else{
return"fail";
@RequestMapping("findOrderById")@ResponseBodypublic Order findOrderById(String orderId){
Orderorder= orderService.findOrderById(orderId);
return order;
@RequestMapping("findTotalOrder")@ResponseBodypublic JSONObject findOrderTotalMoney(){
List<OrderVO> list = orderService.findTotalMoneyByMonth(6);
String[] month=newString[6];