SSM实现网上商城 有聊天功能

1.项目介绍

     实现一个网上商城,商品信息展示,购物车,订单管理,个人中心,商品评价,商品搜索,地址管理,聊天,后台管理(商品增删改查),分类管理,活动管理,客服聊天回复

2.开发环境

  • 开发环境:IDEA/eclipse、Tomcat8.5+
  • 数据库:MySql
  • 前端主要使用Bootstrap以及JQuery,后端基于SpringMVC、Spring、MyBatis进行开发,使用Maven构建
  • activeMQ

SSM实现网上商城 有聊天功能_第1张图片

SSM实现网上商城 有聊天功能_第2张图片 

SSM实现网上商城 有聊天功能_第3张图片

SSM实现网上商城 有聊天功能_第4张图片 

SSM实现网上商城 有聊天功能_第5张图片 SSM实现网上商城 有聊天功能_第6张图片SSM实现网上商城 有聊天功能_第7张图片SSM实现网上商城 有聊天功能_第8张图片SSM实现网上商城 有聊天功能_第9张图片

相关代码

 

@Controller
public class OrderController {

    /*@Value("#{addressService}")*/
    @Autowired
    private AddressService addressService;

    @Autowired
    private ShopCartService shopCartService;

    @Autowired
    private GoodsService goodsService;

    @Autowired
    private OrderService orderService;

    @Autowired
    private ActivityService activityService;

    @RequestMapping("/order")
    public String showOrder(HttpSession session, Model model) {

        User user = (User) session.getAttribute("user");
        if (user == null) {
            return "redirect:/login";
        }

        //查询当前用户的收货地址
        AddressExample addressExample = new AddressExample();
        addressExample.or().andUseridEqualTo(user.getUserid());
        List
addressList = addressService.getAllAddressByExample(addressExample); model.addAttribute("address", addressList); //订单信息 //获取当前用户的购物车信息 ShopCartExample shopCartExample = new ShopCartExample(); shopCartExample.or().andUseridEqualTo(user.getUserid()); List shopCart = shopCartService.selectByExample(shopCartExample); //获取购物车中的商品信息 List goodsAndImage = new ArrayList<>(); Float totalPrice = new Float(0); Integer oldTotalPrice = 0; for (ShopCart cart:shopCart) { Goods goods = goodsService.selectById(cart.getGoodsid()); List imagePathList = goodsService.findImagePath(goods.getGoodsid()); goods.setImagePaths(imagePathList); goods.setNum(cart.getGoodsnum()); //活动信息 Activity activity = activityService.selectByKey(goods.getActivityid()); goods.setActivity(activity); if(activity.getDiscount() != 1) { goods.setNewPrice(goods.getPrice()*goods.getNum()* activity.getDiscount()); } else if(activity.getFullnum() != null) { if (goods.getNum() >= activity.getFullnum()) { goods.setNewPrice((float) (goods.getPrice()*(goods.getNum()-activity.getReducenum()))); } else { goods.setNewPrice((float) (goods.getPrice()*goods.getNum())); } } else { goods.setNewPrice((float) (goods.getPrice()*goods.getNum())); } totalPrice = totalPrice + goods.getNewPrice(); oldTotalPrice = oldTotalPrice + goods.getNum() * goods.getPrice(); goodsAndImage.add(goods); } model.addAttribute("totalPrice", totalPrice); model.addAttribute("oldTotalPrice", oldTotalPrice); model.addAttribute("goodsAndImage", goodsAndImage); return "orderConfirm"; } @RequestMapping("/orderFinish") @ResponseBody public Msg orderFinish(Float oldPrice, Float newPrice, Boolean isPay, Integer addressid,HttpSession session) { User user = (User) session.getAttribute("user"); //获取订单信息 ShopCartExample shopCartExample = new ShopCartExample(); shopCartExample.or().andUseridEqualTo(user.getUserid()); List shopCart = shopCartService.selectByExample(shopCartExample); //删除购物车 for (ShopCart cart : shopCart) { shopCartService.deleteByKey(new ShopCartKey(cart.getUserid(),cart.getGoodsid())); } //把订单信息写入数据库 Order order = new Order(null, user.getUserid(), new Date(), oldPrice, newPrice, isPay, false, false, false, addressid,null,null); orderService.insertOrder(order); //插入的订单号 Integer orderId = order.getOrderid(); //把订单项写入orderitem表中 for (ShopCart cart : shopCart) { orderService.insertOrderItem(new OrderItem(null, orderId, cart.getGoodsid(), cart.getGoodsnum())); } return Msg.success("购买成功"); } }
@Controller
public class MainController {

    @Autowired
    private CateService cateService;

    @Autowired
    private GoodsService goodsService;

    @RequestMapping("/main")
    public String showAllGoods(Model model, HttpSession session) {

        Integer userid;
        User user = (User) session.getAttribute("user");
        if (user == null) {
            userid = null;
        } else {
            userid = user.getUserid();
        }

        //数码分类
        List digGoods = getCateGoods("数码", userid);
        model.addAttribute("digGoods", digGoods);

        //家电
        List houseGoods = getCateGoods("家电", userid);
        model.addAttribute("houseGoods", houseGoods);

        //服饰
        List colGoods = getCateGoods("服饰", userid);
        model.addAttribute("colGoods", colGoods);

        //书籍
        List bookGoods = getCateGoods("书籍", userid);
        model.addAttribute("bookGoods", bookGoods);

        return "main";
    }

    public List getCateGoods(String cate, Integer userid) {
        //查询分类
        CategoryExample digCategoryExample = new CategoryExample();
        digCategoryExample.or().andCatenameLike(cate);
        List digCategoryList = cateService.selectByExample(digCategoryExample);

        if (digCategoryList.size() == 0) {
            return null;
        }

        //查询属于刚查到的分类的商品
        GoodsExample digGoodsExample = new GoodsExample();
        List digCateId = new ArrayList();
        for (Category tmp:digCategoryList) {
            digCateId.add(tmp.getCateid());
        }
        digGoodsExample.or().andCategoryIn(digCateId);

        List goodsList = goodsService.selectByExampleLimit(digGoodsExample);

        List goodsAndImage = new ArrayList<>();
        //获取每个商品的图片
        for (Goods goods:goodsList) {
            //判断是否为登录状态
            if (userid == null) {
                goods.setFav(false);
            } else {
                Favorite favorite = goodsService.selectFavByKey(new FavoriteKey(userid, goods.getGoodsid()));
                if (favorite == null) {
                    goods.setFav(false);
                } else {
                    goods.setFav(true);
                }
            }

            List imagePathList = goodsService.findImagePath(goods.getGoodsid());
            goods.setImagePaths(imagePathList);
            goodsAndImage.add(goods);
        }
        return goodsAndImage;
    }
}

 

 

你可能感兴趣的:(毕业设计)