毕业设计|基于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智能应用
基于大数据实现的各类数据管理和推荐系统