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

网站建设多少钱合适seo推广 课程

网站建设多少钱合适,seo推广 课程,双城网站建设哪家好,客户服务管理平台文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码 一、项目演示 项目演示地址: 视频地址 二、项目介绍 项目描述:这是一个基于SpringBoot微信小程序框架开发的奶茶在线点单小程序系统。首先,这是一个前后端分离的项目&#xff…

文章目录

  • 一、项目演示
  • 二、项目介绍
  • 三、运行截图
  • 四、主要代码

一、项目演示

项目演示地址: 视频地址

二、项目介绍

项目描述:这是一个基于SpringBoot+微信小程序框架开发的奶茶在线点单小程序系统。首先,这是一个前后端分离的项目,代码简洁规范,注释说明详细,易于理解和学习。其次,这项目功能丰富,具有一个奶茶在线点单小程序系统该有的所有功能。

项目功能:此项目分为两个角色:普通用户管理员普通用户有登录注册、浏览商品信息、添加购物车、结算订单、查看个人信息、查看个人订单详情、管理个人地址信息、发布评价信息等等功能。管理员有管理所有商品信息、管理所有订单信息、管理所有用户信息、管理所有评价信息等等功能。

应用技术:SpringBoot + 微信小程序 + MySQL + MyBatis + Redis + ElementUI + Lua + Vue + Vant Weapp

运行环境:IntelliJ IDEA2019.3.5 + 微信开发者工具(项目压缩包中自带)+ MySQL5.7(项目压缩包中自带) + Redis5.0.5(项目压缩包中自带) + JDK1.8 + Maven3.6.3(项目压缩包中自带)+ Node14.16.1(项目压缩包中自带)

三、运行截图

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

四、主要代码

1.提交订单代码

	/*** 提交订单操作处理* @param orderDTO* @return*/@Overridepublic ResponseDTO<OrderDTO> submitOrder(OrderDTO orderDTO) {UserDTO userDTO = new UserDTO();userDTO.setToken(orderDTO.getToken());ResponseDTO<UserDTO> loginUserResponse = userService.getLoginUser(userDTO);if(!CodeMsg.SUCCESS.getCode().equals(loginUserResponse.getCode())) {return ResponseDTO.errorByMsg(CodeMsg.USER_SESSION_EXPIRED);}// 获取登录用户信息userDTO = loginUserResponse.getData();AddressExample addressExample = new AddressExample();addressExample.createCriteria().andUserIdEqualTo(userDTO.getId());if(addressMapper.selectByExample(addressExample).size() == 0) {return ResponseDTO.errorByMsg(CodeMsg.ADDRESS_NOT_EXIST);}String[] cartIdList = orderDTO.getCartIdList().split(",");CartExample cartExample = new CartExample();cartExample.createCriteria().andIdIn(Arrays.stream(cartIdList).collect(Collectors.toList()));List<Cart> cartList = cartMapper.selectByExample(cartExample);List<String> productIdList = cartList.stream().map(Cart::getProductId).collect(Collectors.toList());ProductExample productExample = new ProductExample();productExample.createCriteria().andIdIn(productIdList);List<Product> productList = productMapper.selectByExample(productExample);List<String> productNameList = productList.stream().map(Product::getName).collect(Collectors.toList());List<String> productPriceList = productList.stream().map(Product::getPrice).map(String::valueOf).collect(Collectors.toList());List<String> productPhotoList = productList.stream().map(Product::getPhoto).map(String::valueOf).collect(Collectors.toList());List<String> cartQuantityList = cartList.stream().map(Cart::getQuantity).map(String::valueOf).collect(Collectors.toList());String orderId = UuidUtil.getShortUuid();String orderDate = CommonUtil.getFormatterDate(new Date(), "yyyy-MM-dd HH:mm:ss");// 执行lua脚本String result = stringRedisTemplate.execute(SECKILL_SCRIPT,Collections.singletonList(RedisConstant.STOCK_REDIS_KEY_TEMPLATE),StringUtils.join(productIdList, ","),StringUtils.join(productNameList, ","),StringUtils.join(cartQuantityList, ","),orderId,userDTO.getId(),orderDate,StringUtils.join(productPriceList, ","),StringUtils.join(productPhotoList, ","),StringUtils.join(Arrays.asList(cartIdList), ","));if(!"成功".equals(result)) {CodeMsg codeMsg = CodeMsg.PRODUCT_STOCK_OVER;codeMsg.setMsg(result);return ResponseDTO.errorByMsg(codeMsg);}orderDTO.setId(orderId);return ResponseDTO.success(orderDTO);}

2.购物车保存操作(添加、减少)代码

	/*** 购物车保存操作(添加、减少)* @param cartDTO* @return*/@Overridepublic ResponseDTO<Boolean> saveCart(CartDTO cartDTO) {UserDTO userDTO = new UserDTO();userDTO.setToken(cartDTO.getToken());ResponseDTO<UserDTO> loginUserResponse = userService.getLoginUser(userDTO);if(!CodeMsg.SUCCESS.getCode().equals(loginUserResponse.getCode())) {return ResponseDTO.errorByMsg(CodeMsg.USER_SESSION_EXPIRED);}// 获取登录用户信息userDTO = loginUserResponse.getData();cartDTO.setUserId(userDTO.getId());Product product = productMapper.selectByPrimaryKey(cartDTO.getProductId());if (product == null) {return ResponseDTO.errorByMsg(CodeMsg.PRODUCT_NOT_EXIST);}Cart cart = CopyUtil.copy(cartDTO, Cart.class);// 判断购物车是否已经有此商品CartExample cartExample = new CartExample();cartExample.createCriteria().andProductIdEqualTo(cartDTO.getProductId()).andUserIdEqualTo(cartDTO.getUserId());List<Cart> cartList = cartMapper.selectByExample(cartExample);if(cartList.size() > 0) {// 购物车中已经有此商品if(CartOperateEnum.ADD.getCode().equals(cartDTO.getOperateType())) {// 添加操作if(cart.getQuantity() + cartList.get(0).getQuantity() > product.getStock()) {return ResponseDTO.errorByMsg(CodeMsg.PRODUCT_STOCK_OVER);}cartList.get(0).setQuantity(cart.getQuantity() + cartList.get(0).getQuantity());} else if (CartOperateEnum.SUB.getCode().equals(cartDTO.getOperateType())) {// 减少操作if(cartList.get(0).getQuantity() <= cart.getQuantity()) {// 删除CartDTO copy = CopyUtil.copy(cartList.get(0), CartDTO.class);copy.setToken(cartDTO.getToken());removeCart(copy);return ResponseDTO.successByMsg(true, "购物车操作成功!");} else {cartList.get(0).setQuantity(cartList.get(0).getQuantity() - cart.getQuantity());}}// 更新数据if(cartMapper.updateByPrimaryKeySelective(cartList.get(0)) == 0) {return ResponseDTO.errorByMsg(CodeMsg.CART_SAVE_ERROR);}} else {// 购物车中没有此商品if(product.getStock() == 0) {return ResponseDTO.errorByMsg(CodeMsg.PRODUCT_STOCK_OVER);}cart.setId(UuidUtil.getShortUuid());// 添加数据if(cartMapper.insertSelective(cart) == 0) {return ResponseDTO.errorByMsg(CodeMsg.CART_SAVE_ERROR);}}return ResponseDTO.successByMsg(true, "购物车操作成功!");}

3.小程序登录操作代码

    /*** 小程序用户登录操作* @param userDTO* @return*/@Overridepublic ResponseDTO<UserDTO> appLogin(UserDTO userDTO) {// 进行是否为空判断if(CommonUtil.isEmpty(userDTO.getUsername())){return ResponseDTO.errorByMsg(CodeMsg.USERNAME_EMPTY);}if(CommonUtil.isEmpty(userDTO.getPassword())){return ResponseDTO.errorByMsg(CodeMsg.PASSWORD_EMPTY);}// 对比昵称和密码是否正确UserExample userExample = new UserExample();userExample.createCriteria().andUsernameEqualTo(userDTO.getUsername()).andPasswordEqualTo(userDTO.getPassword());List<User> userList = userMapper.selectByExample(userExample);if(userList == null || userList.size() != 1){return ResponseDTO.errorByMsg(CodeMsg.USERNAME_PASSWORD_ERROR);}// 生成登录token并存入Redis中User selectedUser = userList.get(0);UserDTO selectedUserDTO = CopyUtil.copy(selectedUser, UserDTO.class);String token = UuidUtil.getShortUuid();selectedUserDTO.setToken(token);//把token存入redis中 有效期1小时stringRedisTemplate.opsForValue().set("USER_" + token, JSON.toJSONString(selectedUser), 3600, TimeUnit.SECONDS);return ResponseDTO.successByMsg(selectedUserDTO, "登录成功!");}
http://www.fp688.cn/news/156872.html

相关文章:

  • 深圳优定软件网站建设查域名
  • 网站程序系统四川seo技术培训
  • 静态学校网站做毕业设计互联网营销的十五种方式
  • 加入网站帮忙做网站品牌宣传推广文案
  • 请人做外贸网站应注意什么微信营销典型案例
  • 网站开发的系统需求百度站内搜索的方法
  • 网站快速搜索有什么可以做推广的软件
  • 官方网站建设实训心得软件推广平台有哪些
  • 建筑建材网站设计费用营销qq下载
  • 莆田网站建设电话seo页面优化的方法
  • .湖南省建设厅规范网站厨师培训
  • 苏州招聘网站建设培训机构在哪个平台找
  • 聊城冠县网站建设seo专员简历
  • 建设银行招聘社会招聘网站参考消息今天新闻
  • 安阳汤阴县网站建设北京seo工程师
  • 新乡市网站建设seo具体是什么
  • me微擎怎么做网站搜索百度网页版
  • 深圳企业网站开发临沂网站建设优化
  • 慢慢来做网站多少钱推广方案有哪些
  • 做社交网站多少钱临沂做网络优化的公司
  • 洛阳市app网站开发公司电话竞价托管外包费用
  • b2b平台有哪些免费的windows优化大师免费
  • 网站单个页面紧张搜索引擎蜘蛛住房和城乡建设部官网
  • 海外sns网站互联网品牌营销公司
  • 上海前十名广告公司百度seo2022新算法更新
  • 哈尔滨如何快速建站外贸网站建设 google
  • 和田网站制作新网站百度收录要几天
  • 电商网站开发定制在线资源搜索引擎
  • 武汉网站建设公司哪家专业关键词文案生成器
  • 企业网站建设 新闻宣传网络营销推广的要点