项目介绍

随着信息科技的发展,电子商务已经存在了我们生活的每一个角落,通过网络购物可以给人们的生活带来极大的便利,人们只需通过PC或者手机下单自己所需的商品,物流就会将购买的商品送到客户的手上,这极大的方便了人们的生活,为此我们通过springboot框架开发了本次的电商平台网站。

本系统从用户的角度出发,结合当前的电子商务环境而开发的,在开发语言上是使用的java语言,在框架上我们是使用的springboot框架,数据库方面使用的是mysql数据库,开发工具为idea。

基于java的B2C电商平台根据实际情况分为前后台两部分,前台部分主要是让用户购物使用的,包括用户的注册登录,查看商品咨询,查看和搜索商品信息,根据分类定位不同类型的商品,将喜欢的商品加入购物车,对购物车内的商品进行结算生成订单,对订单进行管理,对个人注册信息进行管理等功能;后台部分主要是给电商平台的管理人员使用的,主要包括添加商品咨询信息,对商品进行分类管理,对商品进行管理方便前台用户购物使用,对用户的订单信息进行发货等操作,对用户的购物评价内容进行管理等操作。通过这些功能基本可以满足一个电商平台的需求。

开发环境

开发语言:Java
数据库 :MySQL
系统架构:B/S
后端框架:SpringBoot
前端框架:Vue
开发工具:IDEA或者Eclipse,JDK1.8,Maven

系统截图








部分代码

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.AddressEntity;
import com.entity.view.AddressView;import com.service.AddressService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 地址* 后端接口*/
@RestController
@RequestMapping("/address")
public class AddressController {@Autowiredprivate AddressService addressService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,AddressEntity address,HttpServletRequest request){if(!request.getSession().getAttribute("role").toString().equals("管理员")) {address.setUserid((Long)request.getSession().getAttribute("userId"));}EntityWrapper<AddressEntity> ew = new EntityWrapper<AddressEntity>();PageUtils page = addressService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, address), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,AddressEntity address, HttpServletRequest request){if(!request.getSession().getAttribute("role").toString().equals("管理员")) {address.setUserid((Long)request.getSession().getAttribute("userId"));}EntityWrapper<AddressEntity> ew = new EntityWrapper<AddressEntity>();PageUtils page = addressService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, address), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( AddressEntity address){EntityWrapper<AddressEntity> ew = new EntityWrapper<AddressEntity>();ew.allEq(MPUtil.allEQMapPre( address, "address")); return R.ok().put("data", addressService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(AddressEntity address){EntityWrapper< AddressEntity> ew = new EntityWrapper< AddressEntity>();ew.allEq(MPUtil.allEQMapPre( address, "address")); AddressView addressView =  addressService.selectView(ew);return R.ok("查询地址成功").put("data", addressView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){AddressEntity address = addressService.selectById(id);return R.ok().put("data", address);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){AddressEntity address = addressService.selectById(id);return R.ok().put("data", address);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody AddressEntity address, HttpServletRequest request){address.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(address);address.setUserid((Long)request.getSession().getAttribute("userId"));Long userId = (Long)request.getSession().getAttribute("userId");if(address.getIsdefault().equals("是")) {addressService.updateForSet("isdefault='否'", new EntityWrapper<AddressEntity>().eq("userid", userId));}address.setUserid(userId);addressService.insert(address);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody AddressEntity address, HttpServletRequest request){address.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(address);address.setUserid((Long)request.getSession().getAttribute("userId"));Long userId = (Long)request.getSession().getAttribute("userId");if(address.getIsdefault().equals("是")) {addressService.updateForSet("isdefault='否'", new EntityWrapper<AddressEntity>().eq("userid", userId));}address.setUserid(userId);addressService.insert(address);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody AddressEntity address, HttpServletRequest request){//ValidatorUtils.validateEntity(address);if(address.getIsdefault().equals("是")) {addressService.updateForSet("isdefault='否'", new EntityWrapper<AddressEntity>().eq("userid", request.getSession().getAttribute("userId")));}addressService.updateById(address);//全部更新return R.ok();}/*** 获取默认地址*/@RequestMapping("/default")public R defaultAddress(HttpServletRequest request){Wrapper<AddressEntity> wrapper = new EntityWrapper<AddressEntity>().eq("isdefault", "是").eq("userid", request.getSession().getAttribute("userId"));AddressEntity address = addressService.selectOne(wrapper);return R.ok().put("data", address);}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){addressService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<AddressEntity> wrapper = new EntityWrapper<AddressEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}if(!request.getSession().getAttribute("role").toString().equals("管理员")) {wrapper.eq("userid", (Long)request.getSession().getAttribute("userId"));}int count = addressService.selectCount(wrapper);return R.ok().put("count", count);}}

基于java+springboot+mybatis+vue+elementui的B2C购物电商平台设计与实现相关推荐

  1. 基于java+springboot+mybatis+vue+elementui的灯具购物商城网站

    项目介绍 近年来,随着Internet的迅速崛起,互联网技术得到前所未有的发展,成为收集.提供信息的最佳渠道,并逐步进入传统的流通领域.电子商铺也悄然兴起,它的出现及发展,不仅是市场经济以及相应技术发 ...

  2. 基于java+springboot+mybatis+vue+elementui的乐器购物商城

    系统功能: 用户端: 登录注册 首页浏览 乐器信息 发表评论 分类筛选 乐器查询 乐器资讯 在线客服 加入购物车 乐器收藏 提交订单 地址管理 个人中心 收藏管理 订单管理 退出登录 管理员端: 系统 ...

  3. 基于java+springboot+mybatis+vue+elementui的口红电子购物商城

    项目介绍 当前我国口红主要销售渠道为电商平台,据悉受到直播电商崛起.新零售模式的影响,中国口红消费者的消费频次呈现逐年上升趋势.以天猫为例,仅2018年中国口红消费者的平均购买数量为3.3支,其中30 ...

  4. 基于java+springboot+mybatis+vue+elementui的农机机械设备租赁平台

    项目介绍 我国是一个农业大国,全国有大部分人是农民,作为农民最需要是的就是掌握最新的农业资讯,通过网络和世界同步,让自己在辛苦劳作的同时能够更好的创收,从而提高全国国名经济. 现如今,农机租赁平台是当 ...

  5. 基于java+springboot+mybatis+vue+elementui的小区停车位租赁网站

    项目介绍 自从改革开放以来,我国的经济建设的步伐和科学发展水平在不停的提高,与此同时人们的生活水平也在飞速的提升.相比15年前,现在的家庭私家车的保有量可以说是翻了几倍,私家车的大量普及也带来了许许多 ...

  6. 基于java+springboot+mybatis+vue+elementui的网上书籍购买商城

    项目介绍 网上书籍购买商城可以实现人们远程逛逛书店和购买图书的愿望.本系统主的功能是帮助经营实物书店的人们扩大市场和增加知名度.基本功能包括用户注册会员.登录.图书展示.图书查询.在线浏览图书.远程购 ...

  7. 基于java+springboot+mybatis+vue+elementui的古玩玉器交易系统

    项目介绍 随着中国互联网的发展.上网的网民越来越多.拥有网络购物习惯的网民也越来越多.网上购物平台纷拥而出.如淘宝网.京东商城.拉手网等众多购物平台. 古玩玉器行业龙头公司也纷纷踏足网络购物平台.利用 ...

  8. 基于java+springboot+mybatis+vue+elementui的准妈妈孕期交流平台

    项目介绍 随着科学技术的飞速发展,社会的方方面面.各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,准妈妈孕期交流平台当然也不能排除在外.准妈妈孕期交流平台是以实际运用为开发背景,运 ...

  9. 基于java+springboot+mybatis+vue+elementui的旧物置换网站

    项目介绍 随着时代的不进步,旧物也成人们的烦恼,许多平台网站都在推广自已的产品像天猫.咸鱼.京东.拼多多.所以开发出一套关于旧物置换网站非常有必要.旧物置换网站主要是借助计算机,通过对用户进行管理.为 ...

最新文章

  1. 数据挖掘-matplotlib、numpy、pandas
  2. 秋色园QBlog技术原理解析:性能优化篇:用户和文章计数器方案(十七)
  3. 计算机大师高德纳权威著作《计算机程序设计艺术》影印版精装版已经入库,即将上市!
  4. JS-JavaScript String 对象-string对象方法1:fromCharCode()、charCodeAt()
  5. Linux Shell 命令--rename
  6. 用21张图,把Git 工作原理彻底说清楚
  7. linux自带磁盘加密工具下载,TrueCrypt(磁盘加密工具)
  8. Android两个控件叠在一起,如何让被挡住的控件显示出来
  9. JS判断手机端是否安装某应用
  10. RFID定位技术下的智能养老系统具有哪些优势呢?--新导智能
  11. csm和uefi_UEFI和Legacy的区别是什么,请尽量从原理上说明?
  12. 2015程序猴的总结:不破楼兰终不还!
  13. MySQL约束条件和多表查询方式详解
  14. 不用标点符号实现加减乘除运算
  15. 怎么样可以调用阿里云短信服务接口实现短信验证码
  16. Sql Hacks 阅读感悟——数值处理
  17. 线性稳压器与开关稳压器的对比分析
  18. jeecgboot--根据模板自定义导出
  19. Swap市值管理机器人/量化交易实现方式与开发
  20. printPreviewControl1 打印预览

热门文章

  1. 第四次工业革命 (The Industrial Revolution):人工智能 (AI)
  2. chrome插件打包成**.crx文件
  3. 让步进电机动起来——L298N驱动步进电机
  4. 2022就业环境以及市场分析,职业前景。
  5. 使用Socket进行设备间点对点连接传输数据
  6. php中怎样表示组合框,5.8.1 组合框的介绍和使用 - 按键精灵资源站 按键精灵教程,学习脚本制作,脚本大全,视频教程...
  7. 2023广东技术师范大学计算机考研信息汇总
  8. git 什么是分支 branch
  9. php 浅谈相对路径与绝对路径(../ ./ / )
  10. R语言|做点儿好玩儿的东西