毕业设计|基于Spring Boot和Vue.js的前后端分离商城系统(二)

简介: 毕业设计|基于Spring Boot和Vue.js的前后端分离商城系统

毕业设计|基于Spring Boot和Vue.js的前后端分离商城系统(一)https://developer.aliyun.com/article/1423939


四,核心代码展示

4.1 购物车核心代码

@Service
public class CartService extends BaseService<Cart,Long,CartRepository>  {
    private Logger logger = LoggerFactory.getLogger(getClass());
    @Autowired
    private GoodsSkuRepository goodsSkuRepository;
    @Autowired
    private GoodsRepository goodsRepository;
    /**
     * 添加到购物车<br>
     * 1,这里需要考虑库存管控的问题
     * 2,实际项目中如果需要部署服务集群,那么下面synchronized关键字一点用是没有的,可以考虑使用分布式锁(zookeeper,redis等)来处理
     * @param cartVo
     * @return,添加新商品,返回1,添加购物车已经存在的商品,返回0
     */
    @Transactional
    public synchronized  Integer add(CartVo cartVo) {
        Integer count = cartVo.getCount();
        Long idSku = cartVo.getIdSku();
        List<SearchFilter> searchFilters = Lists.newArrayList(
                SearchFilter.build("idUser",cartVo.getIdUser()),
                SearchFilter.build("idGoods",cartVo.getIdGoods())
        );
        if(idSku!=null){
            searchFilters.add(SearchFilter.build("idSku",idSku));
        }
        Cart old  = get(searchFilters);
        Integer result = 0;
        if(old!=null){
            //判断之前是否添加到购物车,如果已添加,则在原有基础上增加购买数量即可
            old.setCount(old.getCount()+count);
            update(old);
        }else {
            //购物车新增商品
            Cart cart = new Cart();
            cart.setIdGoods(cartVo.getIdGoods());
            cart.setCount(count);
            cart.setIdUser(cartVo.getIdUser());
            cart.setIdSku(idSku);
            insert(cart);
            result = 1;
        }
        return result;
    }
}

4.2 商品核心代码

@Service
public class GoodsService extends BaseService<Goods,Long,GoodsRepository>  {
    private Logger logger = LoggerFactory.getLogger(getClass());
    @Autowired
    private GoodsRepository goodsRepository;
    @Autowired
    private GoodsSkuService goodsSkuService;
    @Autowired
    private FileInfoRepository fileInfoRepository;
    @Override
    public void deleteById(Long id) {
        Goods goods = get(id);
        goods.setIsDelete(true);
        update(goods);
    }
    public GoodsVo getDetail(Long id){
        Goods goods = get(id);
        List<GoodsSku> skuList = goodsSkuService.queryAll(Lists.newArrayList(
                SearchFilter.build("idGoods",id),
                SearchFilter.build("isDeleted",false)
        ));
        GoodsVo vo = new GoodsVo();
        vo.setGoods(goods);
        vo.setSkuList(skuList);
        return vo;
    }
    /**
     * 商品上架或者下架
     * @param id
     * @param isOnSale
     */
    public void changeIsOnSale(Long id, Boolean isOnSale) {
        Goods goods = get(id);
        goods.setIsOnSale(isOnSale);
        update(goods);
    }
}

五,相关作品展示

基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目

基于Nodejs、Vue等前端技术开发的前端实战项目

基于微信小程序和安卓APP应用开发的相关作品

基于51单片机等嵌入式物联网开发应用

基于各类算法实现的AI智能应用

基于大数据实现的各类数据管理和推荐系统

相关文章
2025基于springboot的校车预定全流程管理系统
针对传统校车管理效率低、信息不透明等问题,本研究设计并实现了一套校车预定全流程管理系统。系统采用Spring Boot、Java、Vue和MySQL等技术,实现校车信息管理、在线预定、实时监控等功能,提升学校管理效率,保障学生出行安全,推动教育信息化发展。
|
JavaScript Java 关系型数据库
基于springboot的高校运动会系统
本系统基于Spring Boot、Vue与MySQL,实现高校运动会报名、赛程安排及成绩管理的全流程信息化,提升组织效率,杜绝信息错漏与冒名顶替,推动体育赛事智能化发展。
|
12月前
|
JavaScript 安全 Java
基于springboot的大学生兼职系统
本课题针对大学生兼职信息不对称、权益难保障等问题,研究基于Spring Boot、Vue、MySQL等技术的兼职系统,旨在构建安全、高效、功能完善的平台,提升大学生就业竞争力与兼职质量。
|
JavaScript Java 关系型数据库
基于springboot的美食城服务管理系统
本系统基于Spring Boot、Java、Vue和MySQL技术,构建集消费者服务、商家管理与后台监管于一体的美食城综合管理平台,提升运营效率与用户体验。
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
573 2
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
432 1
JavaScript中的原型 保姆级文章一文搞懂
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
333 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
702 5
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
545 4