IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> (原创)springbootvue网上购物商城定制版v3.0 -> 正文阅读

[JavaScript知识库](原创)springbootvue网上购物商城定制版v3.0

(全新)基于springboot,vue网上商城定制版v3.0

本人原创作品,用户前台、系统管理员后台项目完整,无任何bug。

每行代码都是本人自己写,我在代码上面都写有详细注释,不懂任何问题都可以咨询

开发工具:IDEA

服务器:Tomcat9.0,?jdk1.8

项目构建:maven

数据库:mysql5.7

系统分前后台,采用前后端分离

前端技术:vue (vue cli,vue-router,vuex全家桶),elementUI等框架实现

服务端技术:springboot,mybatis-plus

定制版v3.0功能说明:项目全新技术开发与设计,前后端分离

功能说明:

前台截图:

后台截图:

package com.ping.controller;


import com.ping.dto.ProductDto;
import com.ping.dto.ProductEvaluationDto;
import com.ping.dto.query.ProductEvaluationQueryDto;
import com.ping.dto.query.ProductQueryDto;
import com.ping.pojo.*;
import com.ping.service.IProductCategoryService;
import com.ping.service.IProductEvaluationService;
import com.ping.service.IProductService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;

/**
?* <p>
?* ?前端控制器
?* </p>
?*
?* @author IT教程资源(vx:3092994143)
?* @since 2022-07-03
?*/
@RestController
@RequestMapping("/product")
public class ProductController {

? ? @Autowired
? ? private IProductService iProductService;

? ? @Autowired
? ? private IProductCategoryService iProductCategoryService;

? ? @Autowired
? ? private IProductEvaluationService iProductEvaluationService;


? ? @ApiOperation("分页查询商品信息")
? ? @PostMapping("/getProductPage")
? ? public RespPageBean getProductPage(@RequestBody ProductQueryDto queryDto){
? ? ? ? return iProductService.getProductPage(queryDto);
? ? }

? ? /**
? ? ?* @Author IT教程资源(vx:3092994143) 2022/7/9 14:09
? ? ?* @Description 商品分类信息
? ? ?*/
? ? @ApiOperation(value = "商品分类列表")
? ? @GetMapping("/getProductCategory")
? ? public List<ProductCategory> getProductCategory(){
? ? ? ? return iProductCategoryService.getProductCategory();
? ? }

? ? /**
? ? ?* @Author IT教程资源(vx:3092994143) 2022/7/23 15:04
? ? ?* @Description 商品详情
? ? ?*/
? ? @ApiOperation(value = "商品详情")
? ? @GetMapping("/getProductInfo")
? ? public ProductDto getProductInfo(Integer id){
? ? ? ? //根据id查询商品信息
? ? ? ? Product product = iProductService.getById(id);
? ? ? ? ProductDto productDto=new ProductDto();
? ? ? ? BeanUtils.copyProperties(product,productDto);
? ? ? ? //根据商品分类id查询商品所属分类信息
? ? ? ? ProductCategory productCategory = iProductCategoryService.getById(product.getProductCategoryId());
? ? ? ? productDto.setProductCategory(productCategory);
? ? ? ? //商品评价信息
? ? ? ? ProductEvaluationQueryDto productEvaluationQueryDto=new ProductEvaluationQueryDto();
? ? ? ? productEvaluationQueryDto.setProductId(id);
? ? ? ? List<ProductEvaluationDto> productEvaluationDtos=iProductEvaluationService.queryProductEvaluationById(productEvaluationQueryDto);
? ? ? ? productDto.setProductEvaluationDtos(productEvaluationDtos);
? ? ? ? return productDto;
? ? }
}
?

package com.ping.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ping.dto.ShoppingCartDto;
import com.ping.pojo.Product;
import com.ping.pojo.RespBean;
import com.ping.pojo.ShoppingCart;
import com.ping.pojo.User;
import com.ping.service.IProductService;
import com.ping.service.IShoppingCartService;
import com.ping.utils.UserUtils;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Arrays;
import java.util.List;

/**
 * @Author IT教程资源(vx : 3092994143) 2022/7/23 21:03
 * @Description 购物车
 */
@RestController
@RequestMapping("/shoppingCart")
public class ShoppingCartController {

    @Autowired
    private IShoppingCartService iShoppingCartService;

    @Autowired
    private IProductService iProductService;

    /**
     * @Author IT教程资源(vx : 3092994143) 2022/7/23 21:04
     * @Description 添加购物车
     */
    @ApiOperation("添加购物车")
    @PostMapping("/addShoppingCart")
    public RespBean addShoppingCart(@RequestBody ShoppingCart shoppingCart) {
        User currentUser = UserUtils.getCurrentUser();
        shoppingCart.setUserId(currentUser.getId());
        //查询当前用户购物车信息
        QueryWrapper<ShoppingCart> shoppingCartQueryWrapper = new QueryWrapper<>();
        shoppingCartQueryWrapper.eq("user_id", currentUser.getId());
        List<ShoppingCart> shoppingCarts = iShoppingCartService.list(shoppingCartQueryWrapper);
        //如果之前有存在该商品,累加并更新,否则新增
        ShoppingCart oldShoppingCart = null;
        for (ShoppingCart cart : shoppingCarts) {
            //如果存在,取出该购物车信息
            if (cart.getProductId().equals(shoppingCart.getProductId())) {
                oldShoppingCart = cart;
            }
        }
        boolean result;
        //存在该购物车商品,进行更新
        if (oldShoppingCart != null) {
            //修改数量
            oldShoppingCart.setPayAmount(oldShoppingCart.getPayAmount() + shoppingCart.getPayAmount());
            result = iShoppingCartService.updateById(oldShoppingCart);
        } else {
            //新增购物车记录
            result = iShoppingCartService.save(shoppingCart);
        }

        if (result) {
            return RespBean.success("添加购物车成功!");
        } else {
            return RespBean.error("添加购物车失败!");
        }
    }

    /**
     * @Author IT教程资源(vx:3092994143) 2022/7/23 23:09
     * @Description 查询购物车信息
     */
    @ApiOperation(value = "购物车信息列表")
    @GetMapping("/getShoppingCartInfo")
    public List<ShoppingCartDto> getShoppingCartInfo(){
        User currentUser = UserUtils.getCurrentUser();
        return iShoppingCartService.getShoppingCartInfo(currentUser);
    }

    /**
     * @Author IT教程资源(vx:3092994143) 2022/7/24 11:45
     * @Description 删除购物车
     */
    @ApiOperation("删除购物车")
    @DeleteMapping("/deleteShoppingCart/{id}")
    public RespBean deleteShoppingCart(@PathVariable Integer id){
        if(iShoppingCartService.removeById(id)){
            return RespBean.success("删除成功!");
        }
        return RespBean.error("删除失败!");
    }


    /**
     * @Author IT教程资源(vx:3092994143) 2022/7/24 12:30
     * @Description 批量删除购物车
     */
    @ApiOperation("批量删除购物车")
    @DeleteMapping("/deleteBatchShoppingCart")
    public RespBean deleteBatchShoppingCart(Integer[] ids){
        if(iShoppingCartService.removeByIds(Arrays.asList(ids))){
            return RespBean.success("删除成功!");
        }
        return RespBean.error("删除失败!");
    }


    /**
     * @Author IT教程资源(vx:3092994143) 2022/7/24 12:48
     * @Description 修改购物车商品数量
     */
    @ApiOperation("修改购物车商品数量")
    @PutMapping("/updateShoppingCart")
    public RespBean updateShoppingCart(@RequestBody ShoppingCart shoppingCart){
        //校验库存是否足够
        Product product = iProductService.getById(shoppingCart.getProductId());
        if((product.getStock()-product.getVolume())<shoppingCart.getPayAmount()){
            return RespBean.error("库存不足!");
        }

        if(iShoppingCartService.updateById(shoppingCart)){
            return RespBean.success(shoppingCart);
        }
        return RespBean.error("更新失败!");
    }
}

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 10:34:49  更:2022-08-06 10:37:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:36:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码