当前位置: 首页 > wzjs >正文

潍坊微信网站产品营销方案策划书

潍坊微信网站,产品营销方案策划书,微信公众号人工客服咨询,h5视频怎么制作教学文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码1.提交订单代码2.添加商品代码3.查询购物车代码 一、项目演示 项目演示地址: 视频地址 二、项目介绍 项目描述:这是一个基于SpringBootVue框架开发的服装商城系统。首先,这是一…

文章目录

  • 一、项目演示
  • 二、项目介绍
  • 三、运行截图
  • 四、主要代码
    • 1.提交订单代码
    • 2.添加商品代码
    • 3.查询购物车代码

一、项目演示

项目演示地址: 视频地址

二、项目介绍

项目描述:这是一个基于SpringBoot+Vue框架开发的服装商城系统。首先,这是一个前后端分离的项目,代码简洁规范,注释说明详细,易于理解和学习。其次,这项目功能丰富,具有一个服装商城系统该有的所有功能。

项目功能:此项目分为两个角色:普通用户管理员普通用户有登录注册、浏览商品信息、管理个人购物车信息、提交订单、评价订单、管理个人地址信息、管理个人订单信息、管理个人评价信息等等功能。管理员有登录、查看数据统计信息、管理所有用户信息、管理所有商品信息、管理所有商品分类信息、管理所有订单信息、管理所有评价信息等等功能。

应用技术:SpringBoot + Vue3.0 + MySQL + MyBatis + Redis + ElementUI-Plus + Vite

运行环境:IntelliJ IDEA2019.3.5 + MySQL5.7 + Redis5.0.5 + JDK1.8 + Maven3.6.3 + Node14.16.1 + Visual Studio Code(以上工具在项目压缩包中都自带)

三、运行截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、主要代码

1.提交订单代码

 /*** 提交订单操作* @param orderDTO* @return*/@Overridepublic ResponseDTO<Boolean> submitOrder(OrderDTO orderDTO) {if(CommonUtil.isEmpty(orderDTO.getUserId())) {return ResponseDTO.errorByMsg(CodeMsg.DATA_ERROR);}// 进行统一表单验证CodeMsg validate = ValidateEntityUtil.validate(orderDTO);if (!validate.getCode().equals(CodeMsg.SUCCESS.getCode())) {return ResponseDTO.errorByMsg(validate);}User user = userMapper.selectByPrimaryKey(orderDTO.getUserId());if(user == null) {return ResponseDTO.errorByMsg(CodeMsg.USER_NOT_EXIST);}// 查出购物车数据CartExample cartExample = new CartExample();cartExample.createCriteria().andUserIdEqualTo(orderDTO.getUserId()).andIdIn(orderDTO.getCartIdList());List<Cart> cartList = cartMapper.selectByExample(cartExample);for(Cart cart : cartList) {Product product = productMapper.selectByPrimaryKey(cart.getProductId());if(product == null) {CodeMsg codeMsg = CodeMsg.PRODUCT_NOT_EXIST;codeMsg.setMsg("有商品信息已经不存在,请刷新页面!");return ResponseDTO.errorByMsg(codeMsg);}Stock stock = stockMapper.selectByPrimaryKey(cart.getStockId());if(stock == null) {CodeMsg codeMsg = CodeMsg.STOCK_NOT_EXIST;codeMsg.setMsg("商品[" + product.getName() + "]的规格已经不存在,请删除商品重新选择!");return ResponseDTO.errorByMsg(codeMsg);}if(cart.getQuantity() > stock.getNum()) {CodeMsg codeMsg = CodeMsg.STOCK_NUM_ERROR;codeMsg.setMsg("商品[" + product.getName() + "]的库存不足,请刷新页面更新库存信息!");return ResponseDTO.errorByMsg(codeMsg);}}BigDecimal totalPrice = new BigDecimal("0");Order order = CopyUtil.copy(orderDTO, Order.class);order.setId(UuidUtil.getShortUuid());order.setCreateTime(new Date());// 减库存加销量for(Cart cart : cartList) {Product product = productMapper.selectByPrimaryKey(cart.getProductId());product.setSellNum(product.getSellNum() + cart.getQuantity());Stock stock = stockMapper.selectByPrimaryKey(cart.getStockId());stock.setNum(stock.getNum() - cart.getQuantity());if(productMapper.updateByPrimaryKeySelective(product) == 0) {throw new RuntimeException(CodeMsg.ORDER_ADD_ERROR.getMsg());}if(stockMapper.updateByPrimaryKeySelective(stock) == 0) {throw new RuntimeException(CodeMsg.ORDER_ADD_ERROR.getMsg());}totalPrice = totalPrice.add(product.getPrice().multiply(new BigDecimal(cart.getQuantity())));OrderItem orderItem = new OrderItem();orderItem.setId(UuidUtil.getShortUuid());orderItem.setOrderId(order.getId());orderItem.setProductPrice(product.getPrice());orderItem.setProductName(product.getName());orderItem.setProductId(product.getId());orderItem.setQuantity(cart.getQuantity());orderItem.setSumPrice(new BigDecimal(cart.getQuantity()).multiply(product.getPrice()));orderItem.setProductScale(stock.getName());orderItem.setStockId(stock.getId());// 获取商品封面图片PictureExample pictureExample = new PictureExample();pictureExample.createCriteria().andProductIdEqualTo(product.getId()).andSortEqualTo(1);List<Picture> pictureList = pictureMapper.selectByExample(pictureExample);if(pictureList.size() > 0) {orderItem.setProductPhoto(pictureList.get(0).getPhoto());}if(orderItemMapper.insertSelective(orderItem) == 0) {throw new RuntimeException(CodeMsg.ORDER_ADD_ERROR.getMsg());}}order.setTotalPrice(totalPrice);order.setState(OrderStateEnum.WAIT.getCode());// 清空购物车数据cartMapper.deleteByExample(cartExample);if(orderMapper.insertSelective(order) == 0) {throw new RuntimeException(CodeMsg.ORDER_ADD_ERROR.getMsg());}return ResponseDTO.successByMsg(true, "下单成功!");}

2.添加商品代码

  /*** 保存商品信息* @param productDTO* @return*/@Overridepublic ResponseDTO<Boolean> saveProduct(ProductDTO productDTO) {// 进行统一表单验证CodeMsg validate = ValidateEntityUtil.validate(productDTO);if (!validate.getCode().equals(CodeMsg.SUCCESS.getCode())) {return ResponseDTO.errorByMsg(validate);}Product product = CopyUtil.copy(productDTO, Product.class);if(CommonUtil.isEmpty(product.getId())) {// 添加操作product.setId(UuidUtil.getShortUuid());product.setCreateTime(new Date());if(productMapper.insertSelective(product) == 0) {return ResponseDTO.errorByMsg(CodeMsg.PRODUCT_ADD_ERROR);}} else {// 修改操作if(productMapper.updateByPrimaryKeySelective(product) == 0) {return ResponseDTO.errorByMsg(CodeMsg.PRODUCT_EDIT_ERROR);}// 图集数据落地batchInsertPicture(productDTO.getPhotoList(), product.getId());}return ResponseDTO.successByMsg(true, "保存成功!");}

3.查询购物车代码

  /*** 查询购物车信息* @param cartDTO* @return*/@Overridepublic ResponseDTO<List<CartDTO>> getCartList(CartDTO cartDTO) {if(CommonUtil.isEmpty(cartDTO.getUserId()) && CommonUtil.isEmpty(cartDTO.getId())) {return ResponseDTO.errorByMsg(CodeMsg.DATA_ERROR);}CartExample cartExample = new CartExample();CartExample.Criteria criteria = cartExample.createCriteria();if(!CommonUtil.isEmpty(cartDTO.getUserId())) {criteria.andUserIdEqualTo(cartDTO.getUserId());}if(!CommonUtil.isEmpty(cartDTO.getId())) {criteria.andIdIn(Arrays.asList(cartDTO.getId().split(";")));// where id in (?,?)}List<Cart> cartList = cartMapper.selectByExample(cartExample);List<CartDTO> cartDTOList = CopyUtil.copyList(cartList, CartDTO.class);for(CartDTO cart : cartDTOList) {Product product = productMapper.selectByPrimaryKey(cart.getProductId());ProductDTO productDTO = CopyUtil.copy(Optional.ofNullable(product).orElse(new Product()), ProductDTO.class);PictureExample pictureExample = new PictureExample();pictureExample.createCriteria().andProductIdEqualTo(productDTO.getId());pictureExample.setOrderByClause("sort asc, id asc");List<Picture> pictureList = pictureMapper.selectByExample(pictureExample);List<String> photoList = pictureList.stream().map(Picture::getPhoto).collect(Collectors.toList());productDTO.setPhotoList(photoList);cart.setProductDTO(productDTO);Stock stock = stockMapper.selectByPrimaryKey(cart.getStockId());cart.setStockDTO(CopyUtil.copy(Optional.ofNullable(stock).orElse(new Stock()), StockDTO.class));}return ResponseDTO.success(cartDTOList);}
http://www.dtcms.com/wzjs/278966.html

相关文章:

  • 常州建行网站市场推广计划方案模板
  • 昆明网站定制开发友链通
  • 聊城网站改版杭州网络推广有限公司
  • wordpress layout builder电脑优化是什么意思
  • 做网站怎样做才有百度快照推广链接让别人点击
  • 网站怎么做关键词搜索重庆网页优化seo公司
  • 响应式网站适合用什么框架做google play应用商店
  • 秦皇岛建设网招聘信息常州seo招聘
  • 网站建设 开发网站代码安卓优化
  • 小程序开发公司排行榜前10洛阳seo外包公司费用
  • w3c验证网站品牌运营中心
  • 响应网官方网站网络推广方法有哪些
  • 武汉政府网站建设广告最多的网站
  • 山东青岛网站设计公司印度疫情最新消息
  • 狂人站群系统seo标题优化的心得总结
  • 安康免费做网站淄博百度推广
  • 海南论坛网站建设怎么开发一个网站
  • php一般网站空间多大seo检查工具
  • 专业做网站制作自助建站系统站长统计幸福宝下载
  • 做中介最好用的网站技术培训
  • ktv在那些网站做宣传效果好百度快照替代
  • 提供定制型网站建设关键词营销优化
  • 为什么要立刻做网站竞价排名深度解析
  • 公司做网站有什么用seo好找工作吗
  • 重庆做网站开发的公司有哪些目前最好的引流推广方法
  • 网站搭建手机9个广州seo推广神技
  • 外贸sohoseo专业知识培训
  • 酒店网站建设方案ppt百度竞价推广代理商
  • 池州做网站网络营销的表现形式有哪些
  • 网络推广公司官网正规seo关键词排名网络公司