基于javaweb和mysql的springboot在线商城系统(前后端分离+java+vue+springboot+ssm+mysql+maven)

私信源码获取及调试交流

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行

前端:WebStorm/VSCode/HBuilderX等均可

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的SpringBoot在线商城系统(前后端分离+java+vue+springboot+ssm+mysql+maven)

一、项目简述

本系统功能包括: 前台展示+后台管理,包括最基本的用户登录注册,下单, 购物车,购买,结算,订单查询,收货地址,后台商品管 理,订单管理,用户管理等等功能,小伙伴一起来看看 吧。

二、项目运行

环境配置: Jdk1.8 + Mysql + HBuilderX (Webstorm也 行)+ Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts都支 持)。

项目技术: Springboot + Maven + Mybatis + Vue + HTML 等 等组成,B/S模式+ Maven管理等等。


    /**
     * 向表中添加一条记录
     */
    @PostMapping("/user/register")
    public Result save(@RequestBody User user) {
        user.setRoleId(4);
        if (StringUtils.isEmpty(user.getPassword())){
            user.setPassword(ShaUtil.getSHA256("123456"));
        } else {
            user.setPassword(ShaUtil.getSHA256(user.getPassword()));
        }
        if (userService.save(user)){
            return Result.getSuccessResult("","注册成功");
        }
        return Result.getFailResult("","注册失败");
    }

    /**
     * 商品搜索
     * @param param
     * @return
     */
    @GetMapping("/goods/search")
    public Result getList(@RequestParam Map<String, Object> param) {
        int num = 1;
        if (!StringUtils.isEmpty(param.get("page"))){
            num = Integer.parseInt(param.get("page").toString());
        }
        QueryWrapper<Goods> wrapper = new QueryWrapper<>();
        wrapper.eq("active",1);
        Object name = param.get("name");
        if (!StringUtils.isEmpty(name)) {

            wrapper.like("name",name).or().like("detail",name);
        }
        IPage<Goods> page = new Page<>(num, 8);
        return Result.getSuccessResult(goodsService.page(page, wrapper));
    }

    /**
     * 通过主键id在表中查找信息
     */
    @GetMapping("/goods/{id}")
    public Result getById(@PathVariable int id) {
        Goods iGoods = goodsService.getById(id);
        if (iGoods == null) {
            return Result.getFailResult("","无记录");
        }

/**
* <p>
    *  前端控制器
    * </p>
*
*/
@RestController
@Slf4j
@RequestMapping("/address")
public class AddressController {

    @Resource
    private IAddressService iAddressService;

    private void judge(HttpServletRequest request,int id){
        QueryWrapper<Address> wrapper = new QueryWrapper<>();
        String token = request.getHeader("Authorization");
        int userId = JWT.decode(token).getClaim("id").asInt();
        wrapper.eq("user_id",userId).eq("id",id);
        if (iAddressService.getOne(wrapper)==null){
           throw new NotExistException();
        }
    }

    /**
    * 进行分页查询
    */
    @GetMapping
    public Result getList(HttpServletRequest request) {
        QueryWrapper<Address> wrapper = new QueryWrapper<>();
        String token = request.getHeader("Authorization");
        int userId = JWT.decode(token).getClaim("id").asInt();
        wrapper.eq("active",1).eq("user_id",userId);
        return Result.getSuccessResult(iAddressService.list());
    }

    /**
    * 通过主键id在表中查找信息
    */
    @GetMapping("/{id}")

/**
* <p>
    * 角色 前端控制器
    * </p>
*
*/
@RestController
@Slf4j
@RequestMapping("/roles")
public class RoleController {

    @Resource
    private IRoleService iRoleService;

    /**
    * 进行分页查询
    */
    @GetMapping
    public Result getList(@RequestParam Map<String, Object> param) {
        InitUtil.initPage(param);
        int num = Integer.parseInt(param.get("page").toString());
        int limit = Integer.parseInt(param.get("limit").toString());
        QueryWrapper<Role> wrapper = new QueryWrapper<>();
        InitUtil.initLike(param, wrapper, "name");
        InitUtil.initEq(param, wrapper, "active");
        IPage<Role> page = new Page<>(num, limit);
        return Result.getSuccessResult(iRoleService.page(page, wrapper));
    }

    /**
     * 获取所有角色
     * @return
     */

/**
* <p>
    *  前端控制器
    * </p>
*
*/
@RestController
@Slf4j
@RequestMapping("/goods")
public class GoodsController {

    @Value("${server.port}")
    private String port;

    @Resource
    private IGoodsService iGoodsService;

    /**
    * 进行分页查询
    */
    @GetMapping
    public Result getList(@RequestParam Map<String, Object> param) {
        InitUtil.initPage(param);
        int num = Integer.parseInt(param.get("page").toString());
        int limit = Integer.parseInt(param.get("limit").toString());
        QueryWrapper<Goods> wrapper = new QueryWrapper<>();
        InitUtil.initEq(param, wrapper, "active","user_id");
        IPage<Goods> page = new Page<>(num, limit);
        return Result.getSuccessResult(iGoodsService.page(page, wrapper));
    }

    * active 字段 相当于激活一样 设置字段的有效性 active=0 无效 逻辑删除
    */
    @PutMapping("/del/{id}")
    public Result loginDel(@PathVariable int id) {
        Goods iGoods = new Goods();
        iGoods.setId(id);
        iGoods.setActive(0);
        if (iGoodsService.updateById(iGoods)){
            return Result.getSuccessResult("","设置失效成功");
        }
        return Result.getFailResult("","设置失效失败");
    }

    /**
    * 批量设置 active=0
    */
    @PutMapping("/batchDel")
    public Result LoginBatchDel(@RequestParam String ids) {
        Goods iGoods = new Goods();
        iGoods.setActive(0);
        String[] idList = ids.split(",");
        for (String id : idList) {
            iGoods.setId(Integer.parseInt(id));
            iGoodsService.updateById(iGoods);
        }
        return Result.getSuccessResult("","批量失效成功");
    }

    /**
    * 在数据表中真正的删除一条记录
    */
    @DeleteMapping("/{id}")
    public Result delById(@PathVariable int id) {
        if (id<21) {
            return Result.getFailResult("","不能删除系统预留项");
        }
        if (iGoodsService.removeById(id)){
            return Result.getSuccessResult("","删除成功");
        }
        return Result.getFailResult("","删除失败");
@Transactional(noRollbackFor={MyException.class},rollbackFor = Exception.class)
public class OrderController {
    @Resource
    private IOrderdetailService orderDetailService;

    @Resource
    private IOrdersService ordersService;

    @Resource
    private IGoodsService goodsService;

    @Resource
    private IShoppingcartService cartService;

    @Resource
    private IAddressService addressService;

    @Resource
    private IPayService payService;

    @PostMapping()
    public Result addOrder(@RequestBody Map<String,Object> param , HttpServletRequest request){
        int userId = JwtUtil.getUserId(request);
        String orderNo = System.currentTimeMillis()+""+userId;
        Orders orders = new Orders();
        orders.setPayment(new BigDecimal(param.get("payment").toString()));
        orders.setOrderNo(orderNo);
        orders.setUserId(userId);
        if (!ordersService.save(orders)){
            return Result.getFailResult("订单创建失败");
        }
        QueryWrapper<Shoppingcart> wrapper = new QueryWrapper<>();
        String ids=param.get("ids").toString();
        wrapper.inSql("id",ids);
        List<Shoppingcart> goods = cartService.list(wrapper);
        List<Orderdetail> orderList = new ArrayList<>();
        for (Shoppingcart i:goods){
            Orderdetail order = new Orderdetail();
            order.setOrderNo(orderNo);
            order.setUserId(userId);
            order.addOrderItem(i);
            orderList.add(order);
        }

/**
* <p>
    *  前端控制器
    * </p>
*
*/
@RestController
@Slf4j
@RequestMapping("/users")
public class UserController {

    @Resource
    private IUserService iUserService;

    /**
     * 进行分页查询
     */
    @GetMapping
    public Result getList(@RequestParam Map<String, Object> param) {
        InitUtil.initPage(param);
        int num = Integer.parseInt(param.get("page").toString());
        int limit = Integer.parseInt(param.get("limit").toString());
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        InitUtil.initEq(param, wrapper, "active","username");
        IPage<User> page = new Page<>(num, limit);
        return Result.getSuccessResult(iUserService.page(page, wrapper));
    }

    /**
    * 通过主键id在表中查找信息
    */
    @GetMapping("/{id}")
    public Result getById(@PathVariable int id) {
        User iUser = iUserService.getById(id);
        if (iUser == null) {
            return Result.getFailResult("","无记录");
        }
        return Result.getSuccessResult(iUser);
    }

    /**
    * name : 需要检查那个字段的value是否在数据库存在
    * 比如/check/RegistworkName?value=阿司匹林  :检查数据库是否存在RegistworkName='阿司匹林'
    */
    @GetMapping("/check/{name}")
        return Result.getSuccessResult(iUser);
    }

    /**
    * name : 需要检查那个字段的value是否在数据库存在
    * 比如/check/RegistworkName?value=阿司匹林  :检查数据库是否存在RegistworkName='阿司匹林'
    */
    @GetMapping("/check/{name}")
    public Result checkName(@PathVariable String name,@RequestParam String value){
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.eq(name, value);
        if (iUserService.getOne(wrapper) != null){
        return Result.getFailResult();
        }
        return Result.getSuccessResult();
    }

    /**
    * 向表中添加一条记录
    */
    @PostMapping()
    public Result save(@RequestBody User iUser) {
        if (StringUtils.isEmpty(iUser.getPassword())){
            iUser.setPassword(ShaUtil.getSHA256("123456"));
        } else {
            iUser.setPassword(ShaUtil.getSHA256(iUser.getPassword()));
        }
        if (iUserService.save(iUser)){
            return Result.getSuccessResult("","添加成功");
        }
        return Result.getFailResult("","添加失败");
    }

    /**
    * 根据表中的主键修改 根据表中字段相应的修改,如果存在则修改
    */
    @PutMapping("/{id}")
    public Result update(@RequestBody User iUser, @PathVariable int id) {
        iUser.setId(id);
        if (!StringUtils.isEmpty(iUser.getPassword())){
            iUser.setPassword(ShaUtil.getSHA256(iUser.getPassword()));
        }
        if (iUserService.updateById(iUser)){
        return Result.getSuccessResult("","修改成功");
        }
        return Result.getFailResult("","修改失败");
    }

    /**
    * name : 需要检查那个字段的value是否在数据库存在
    * 比如/check/RegistworkName?value=阿司匹林  :检查数据库是否存在RegistworkName='阿司匹林'
    */
    @GetMapping("/check/{name}")
    public Result checkName(@PathVariable String name,@RequestParam String value){
        QueryWrapper<Role> wrapper = new QueryWrapper<>();
        wrapper.eq(name, value);
        if (iRoleService.getOne(wrapper) != null){
        return Result.getFailResult();
        }
        return Result.getSuccessResult();
    }

    /**
    * 向表中添加一条记录
    */
    @PostMapping()
    public Result save(@RequestBody Role iRole) {
        if (iRoleService.save(iRole)){
            return Result.getSuccessResult("","添加成功");
        }
        return Result.getFailResult("","添加失败");
    }

    /**
    * 根据表中的主键修改 根据表中字段相应的修改,如果存在则修改
    */
    @PutMapping("/{id}")
    public Result update(@RequestBody Role iRole, @PathVariable int id) {
        iRole.setId(id);
        if (iRoleService.updateById(iRole)){
        return Result.getSuccessResult("","修改成功");
        }
        return Result.getFailResult("","修改失败");
    }

    /**
    * active 字段 相当于激活一样 设置字段的有效性 active=1 有效
    */
    @PutMapping("/back/{id}")
    public Result back(@PathVariable int id) {
        Role iRole = new Role();
        iRole.setId(id);
        iRole.setActive(1);
        if (iRoleService.updateById(iRole)){
            return Result.getSuccessResult("","激活成功");
        }
        return Result.getFailResult("","激活失败");
    }

    /**
    * active 字段 相当于激活一样 设置字段的有效性 active=0 无效 逻辑删除
            User user = new User();
            user.setId(JWT.decode(token).getClaim("id").asInt());
            user.setUsername(JWT.decode(token).getClaim("username").asString());
            return user;
        }catch (Exception e) {
            e.printStackTrace();
            throw new MyException(e.getMessage());
        }
    }

    public static void main(String[] args){
        User user = new User();
        user.setId(1);
        user.setUsername("admin");
        System.out.println(user);
        String token = create(user);
        System.out.println("-------------------token----------------");
        System.out.println(getUser(token));
    }
}

@RestController
@Slf4j
@RequestMapping("/user")
public class UserControl {
    
    @Resource
    private IUserService userService;

    @GetMapping("/info")
    public Result getUserById(HttpServletRequest request){
        User user = userService.getUserById(JwtUtil.getUserId(request));
        return Result.getSuccessResult(user);
    }

        return Result.getSuccessResult("","批量失效成功");
    }

    /**
    * 在数据表中真正的删除一条记录
    */
    @DeleteMapping("/{id}")
    public Result delById(@PathVariable int id) {
        if (iPayService.removeById(id)){
            return Result.getSuccessResult("","删除成功");
        }
        return Result.getFailResult("","删除失败");
    }

}

@RequestMapping("/shop")
@RestController
@Slf4j
public class indexController {

    @Resource
    private ICategoryService categoryService;

    @Resource
    private IGoodsService goodsService;

    @Resource
* <p>
    *  前端控制器
    * </p>
*
*/
@RestController
@Slf4j
@RequestMapping("/users")
public class UserController {

    @Resource
    private IUserService iUserService;

    /**
     * 进行分页查询
     */
    @GetMapping
    public Result getList(@RequestParam Map<String, Object> param) {
        InitUtil.initPage(param);
        int num = Integer.parseInt(param.get("page").toString());
        int limit = Integer.parseInt(param.get("limit").toString());
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        InitUtil.initEq(param, wrapper, "active","username");
        IPage<User> page = new Page<>(num, limit);
        return Result.getSuccessResult(iUserService.page(page, wrapper));
    }

    /**
    * 通过主键id在表中查找信息
    */
    @GetMapping("/{id}")
    public Result getById(@PathVariable int id) {
        User iUser = iUserService.getById(id);
        if (iUser == null) {
            return Result.getFailResult("","无记录");
        }
        return Result.getSuccessResult(iUser);
    }
    }

    /**
    * 根据表中的主键修改 根据表中字段相应的修改,如果存在则修改
    */
    @PutMapping("/{id}")
    public Result update(@RequestBody Shoppingcart iShoppingcart, @PathVariable int id) {
        iShoppingcart.setId(id);
        if (iShoppingcartService.updateById(iShoppingcart)){
        return Result.getSuccessResult("","修改成功");
        }
        return Result.getFailResult("","修改失败");
    }

    /**
    * active 字段 相当于激活一样 设置字段的有效性 active=1 有效
    */
    @PutMapping("/back/{id}")
    public Result back(@PathVariable int id) {
        Shoppingcart iShoppingcart = new Shoppingcart();
        iShoppingcart.setId(id);
        iShoppingcart.setActive(1);
        if (iShoppingcartService.updateById(iShoppingcart)){
            return Result.getSuccessResult("","激活成功");
        }
        return Result.getFailResult("","激活失败");
    }

    /**
    * active 字段 相当于激活一样 设置字段的有效性 active=0 无效 逻辑删除
    */
    @PutMapping("/del/{id}")
    public Result loginDel(@PathVariable int id) {
        Shoppingcart iShoppingcart = new Shoppingcart();
        iShoppingcart.setId(id);
        iShoppingcart.setActive(0);
        if (iShoppingcartService.updateById(iShoppingcart)){
            return Result.getSuccessResult("","设置失效成功");
        }
        return Result.getFailResult("","设置失效失败");
    }

    /**
    /**
    * 进行分页查询
    */
    @GetMapping
    public Result getList(@RequestParam Map<String, Object> param) {
        InitUtil.initPage(param);
        int num = Integer.parseInt(param.get("page").toString());
        int limit = Integer.parseInt(param.get("limit").toString());
        QueryWrapper<Goods> wrapper = new QueryWrapper<>();
        InitUtil.initEq(param, wrapper, "active","user_id");
        IPage<Goods> page = new Page<>(num, limit);
        return Result.getSuccessResult(iGoodsService.page(page, wrapper));
    }

    /**
    * 通过主键id在表中查找信息
    */
    @GetMapping("/{id}")
    public Result getById(@PathVariable int id) {
        Goods iGoods = iGoodsService.getById(id);
        if (iGoods == null) {
            return Result.getFailResult("","无记录");
        }
        return Result.getSuccessResult(iGoods);
    }

    /**
    * name : 需要检查那个字段的value是否在数据库存在
    * 比如/check/RegistworkName?value=阿司匹林  :检查数据库是否存在RegistworkName='阿司匹林'
    */
    @GetMapping("/check/{name}")
    public Result checkName(@PathVariable String name,@RequestParam String value){
        QueryWrapper<Goods> wrapper = new QueryWrapper<>();
        wrapper.eq(name, value);
        if (iGoodsService.getOne(wrapper) != null){
        return Result.getFailResult();
        }
        return Result.getSuccessResult();
    }

    /**
    public Result getById(@PathVariable int id) {
        Address iAddress = iAddressService.getById(id);
        if (iAddress == null) {
            return Result.getFailResult("","无记录");
        }
        return Result.getSuccessResult(iAddress);
    }

    /**
    * 向表中添加一条记录
    */
    @PostMapping()
    public Result save(@RequestBody Address iAddress,HttpServletRequest request) {
        QueryWrapper<Address> wrapper = new QueryWrapper<>();
        String token = request.getHeader("Authorization");
        int userId = JWT.decode(token).getClaim("id").asInt();
        iAddress.setUserId(userId);
        if (iAddressService.save(iAddress)){
            return Result.getSuccessResult("","添加成功");
        }
        return Result.getFailResult("","添加失败");
    }

    /**
    * 根据表中的主键修改 根据表中字段相应的修改,如果存在则修改
    */
    @PutMapping("/{id}")
    public Result update(@RequestBody Address iAddress, @PathVariable int id,HttpServletRequest request) {
        judge(request,id);
        iAddress.setId(id);
        if (iAddressService.updateById(iAddress)){
            return Result.getSuccessResult("","修改成功");
        }
        return Result.getFailResult("","修改失败");
    }

    /**
    * 在数据表中真正的删除一条记录, 先根据用户token和id 判断 地址记录是否存在
    */
    @DeleteMapping("/{id}")
    public Result delById(@PathVariable int id,HttpServletRequest request) {
        judge(request,id);
        if (iAddressService.removeById(id)){
            return Result.getSuccessResult("","删除成功");
        }
        return Result.getFailResult("","删除失败");
    }

}


            wrapper.like("name",name).or().like("detail",name);
        }
        IPage<Goods> page = new Page<>(num, 8);
        return Result.getSuccessResult(goodsService.page(page, wrapper));
    }

    /**
     * 通过主键id在表中查找信息
     */
    @GetMapping("/goods/{id}")
    public Result getById(@PathVariable int id) {
        Goods iGoods = goodsService.getById(id);
        if (iGoods == null) {
            return Result.getFailResult("","无记录");
        }
        return Result.getSuccessResult(iGoods);
    }
    
}

/**
* <p>

@RequestMapping("/shop")
@RestController
@Slf4j
public class indexController {

    @Resource
    private ICategoryService categoryService;

    @Resource
    private IGoodsService goodsService;

    @Resource
    private IUserService userService;

    @GetMapping("/category")
    public Result getListByTree() {
        return Result.getSuccessResult(categoryService.listByTree());
    }

    @GetMapping("/goods")
    public Result getGoods(){
        QueryWrapper<Category> wrapper = new QueryWrapper<>();
        wrapper.eq("active",1).eq("parent_id",0);
        List<Category> categories = categoryService.list(wrapper);
        List<JSONObject> result = new ArrayList<>();
        for (Category i:categories) {
            wrapper.clear();
            wrapper.eq("active",1).eq("parent_id",i.getId());
    /**
     * 向表中添加一条记录
     */
    @PostMapping("/user/register")
    public Result save(@RequestBody User user) {
        user.setRoleId(4);
        if (StringUtils.isEmpty(user.getPassword())){
            user.setPassword(ShaUtil.getSHA256("123456"));
        } else {
            user.setPassword(ShaUtil.getSHA256(user.getPassword()));
        }
        if (userService.save(user)){
            return Result.getSuccessResult("","注册成功");
        }
        return Result.getFailResult("","注册失败");
    }

    /**
     * 商品搜索
     * @param param
     * @return
     */
    @GetMapping("/goods/search")
    public Result getList(@RequestParam Map<String, Object> param) {
        int num = 1;
        if (!StringUtils.isEmpty(param.get("page"))){
            num = Integer.parseInt(param.get("page").toString());
        }
        QueryWrapper<Goods> wrapper = new QueryWrapper<>();
        wrapper.eq("active",1);
        Object name = param.get("name");
        if (!StringUtils.isEmpty(name)) {

            wrapper.like("name",name).or().like("detail",name);
        }
        IPage<Goods> page = new Page<>(num, 8);
        return Result.getSuccessResult(goodsService.page(page, wrapper));
    }

    /**
     * 通过主键id在表中查找信息
     */
    @GetMapping("/goods/{id}")
    public Result getById(@PathVariable int id) {
        Goods iGoods = goodsService.getById(id);
        if (iGoods == null) {
            return Result.getFailResult("","无记录");
        }
        return Result.getSuccessResult(iGoods);
    }

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐