Java项目:165SpringBoot的手机商城系统

发布时间:2024年01月21日

?

??作者主页:源码空间站2022????????

?简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

基于SpringBoot手机商城 有前台和后台
用户可以登录注册 收藏商品 购物车 结算商品 收货地址管理等
管理员则可以对用户,商品,订单进行管理操作

使用人群:
正在做毕设的学生,或者需要项目实战练习的Java学习者

由于本程序规模不大,可供课程设计,毕业设计学习演示之用

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;?
4.数据库:MySql 5.7/8.0版本均可;

5.是否Maven项目:是;

技术栈

后端:SpringBot(Spring+SpringMVC+Mybatis)

前端: ?HTML+Layui+thymeleaf

使用说明

项目运行:
1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
4. 运行项目,运行成功后在浏览器中输入地址:
前台地址:http://localhost:8080
用户名密码:321/123

后台地址: http://localhost:8080/adminLogin
管理员账号密码:12580/123

运行截图

前台界面

后管界面

相关代码

GoodController

package com.controller;


import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.common.utils.DateUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.pojo.Comment;
import com.pojo.Good;
import com.pojo.User;
import com.pojo.result.Result;
import com.pojo.result.ResultPage;
import com.service.CommentService;
import com.service.GoodService;
import com.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

/**
 * <p>
 * 积分物品表 前端控制器
 * </p>
 *
 * @author chen
 * @since 2022-01-30
 */
@RestController
@RequestMapping("/good")
public class GoodController {

    @Autowired
    private GoodService goodService;

    @Autowired
    private UserService userService;

    @Autowired
    private CommentService commentService;

    //添加商品
    @PostMapping("/add")
    public Result add(Good good) {
        //验证表单信息
        if (goodService.getOne(new LambdaQueryWrapper<Good>().eq(Good::getName, good.getName())) != null) {
            return Result.failure("已有相同名称的商品,请重新命名");
        } else {
            return Result.decide(goodService.save(good));
        }
    }

    //删除商品
    @PostMapping("/delete")
    public Result delete(@RequestParam(value = "id") String id) {
        return Result.decide(goodService.removeById(id));
    }

    //修改商品
    @PostMapping("/update")
    public Result update(Good good) {
        Good currentGood = goodService.getById(good.getId());
        //验证表单信息
        if (goodService.getOne(new LambdaQueryWrapper<Good>().eq(Good::getName, good.getName())) != null
                && !good.getName().equals(currentGood.getName())) {
            return Result.failure("已有相同名称的商品,请重新命名");
        } else {
            return Result.decide(goodService.updateById(good));
        }
    }

    //根据id获取商品
    @PostMapping("/getOne")
    public Result getOne(@RequestParam(value = "id") String id) {
        return Result.success(goodService.getById(id));
    }

    //条件分页获取分类
    @RequestMapping("/getAll")
    public ResultPage getAll(@RequestParam(value = "name", required = false) String name,
                             @RequestParam(value = "categoryId", required = false) String categoryId,
                             @RequestParam(value = "page") Integer page,
                             @RequestParam(value = "limit") Integer limit) {
        //分页条件
        PageHelper.startPage(page, limit);
        List<Good> bookList = goodService.getAll(name, categoryId);
        PageInfo<Good> goodPageInfo = new PageInfo<>(bookList, limit);
        return new ResultPage(0, (int) goodPageInfo.getTotal(), goodPageInfo.getList());
    }

    //前台获取全部商品
    @RequestMapping("/getAllGood")
    public ModelAndView getAllGood(String goodName, String categoryId) {
        ModelAndView mv = new ModelAndView();
        LambdaQueryWrapper<Good> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Good::getStatus, 1);
        if (!StringUtils.isEmpty(goodName)) {
            queryWrapper.like(Good::getName, goodName);
        }
        if (!StringUtils.isEmpty(categoryId)) {
            queryWrapper.like(Good::getCategoryId, categoryId);
        }
        mv.addObject("goodList", goodService.list(queryWrapper));
        mv.setViewName("index/goodList.html");
        return mv;
    }

    //前台获取商品详情信息
    @RequestMapping("/getGoodDetail")
    public ModelAndView getGoodDetail(String goodId) {
        ModelAndView mv = new ModelAndView();
        //商品信息
        mv.addObject("good", goodService.getById(goodId));
        //评论信息
        LambdaQueryWrapper<Comment> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Comment::getGoodId, goodId);
        List<Comment> ls = commentService.list(queryWrapper);
        for (Comment comment : ls) {
            User user = userService.getById(comment.getUserId());
            comment.setUserAvatar(user.getAvatar());
            comment.setUserName(user.getName());
            comment.setFmtDateTime(DateUtils.dateFmt(comment.getCreateTime()));
        }
        mv.addObject("commentList", ls);
        mv.setViewName("index/goodDetail.html");
        return mv;
    }
}

如果也想学习本系统,下面领取。关注并回复:165springboot

文章来源:https://blog.csdn.net/m0_74967853/article/details/135660984
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。