基于springboot+vue的在线商城系统(前后端分离)

博主主页猫头鹰源码

博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

文末联系获取

 项目介绍:  

当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前,不接受信息改革带来的信息技术的企业随时面临被淘汰,被取代的风险。所以当今,各个行业领域,不管是传统的教育行业,餐饮行业,还是旅游行业,医疗行业等领域都将使用新的信息技术进行信息革命,改变传统的纸质化,需要人手工处理工作事务的办公环境。软件信息技术能够覆盖社会各行业领域是时代的发展要求,各种数据以及文件真正实现电子化是信息社会发展的不可逆转的必然趋势。本ONLY在线商城系统也是紧跟科学技术的发展,运用当今一流的软件技术实现软件系统的开发,让医生管理信息完全通过管理系统实现科学化,规范化,程序化管理。从而帮助信息管理者节省事务处理的时间,降低数据处理的错误率,对于基础数据的管理水平可以起到促进作用,也从一定程度上对随意的业务管理工作进行了避免,同时,ONLY在线商城系统的数据库里面存储的各种动态信息,也为上层管理人员作出重大决策提供了大量的事实依据。总之,ONLY在线商城系统是一款可以真正提升管理者的办公效率的软件系统。

项目功能:

系统包含技术:

后端:springboot,mybatis
前端:element-ui、js、css等
开发工具:idea/vscode
数据库:mysql 5.7
JDK版本:jdk1.8

部分截图说明:

首页

详情

登录

 如图显示的就是用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,还进行了对客户名称的模糊查询的条件

如图显示的就是商品分类管理页面,此页面提供给管理员的功能有:查看已发布的商品分类数据,修改商品分类,商品分类作废,即可删除。 

​ 

如图显示的就是商品信息管理页面,此页面提供给管理员的功能有:根据商品信息进行条件查询,还可以对商品信息进行新增、修改、查询操作等等。

如图显示的就是轮播图管理页面,此页面提供给管理员的功能有:根据轮播图进行新增、修改、查询操作等等。

部分代码:  

 	 /**      * 查询      */     @RequestMapping("/query")     public R query(OrdersEntity orders){         EntityWrapper< OrdersEntity> ew = new EntityWrapper< OrdersEntity>();  		ew.allEq(MPUtil.allEQMapPre( orders, "orders"));  		OrdersView ordersView =  ordersService.selectView(ew); 		return R.ok("查询订单成功").put("data", ordersView);     } 	     /**      * 后端详情      */     @RequestMapping("/info/{id}")     public R info(@PathVariable("id") Long id){         OrdersEntity orders = ordersService.selectById(id);         return R.ok().put("data", orders);     }      /**      * 前端详情      */     @RequestMapping("/detail/{id}")     public R detail(@PathVariable("id") Long id){         OrdersEntity orders = ordersService.selectById(id);         return R.ok().put("data", orders);     }             /**      * 后端保存      */     @RequestMapping("/save")     public R save(@RequestBody OrdersEntity orders, HttpServletRequest request){     	orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());     	//ValidatorUtils.validateEntity(orders);     	orders.setUserid((Long)request.getSession().getAttribute("userId"));         ordersService.insert(orders);         return R.ok();     }          /**      * 前端保存      */     @RequestMapping("/add")     public R add(@RequestBody OrdersEntity orders, HttpServletRequest request){     	orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());     	//ValidatorUtils.validateEntity(orders);         ordersService.insert(orders);         return R.ok();     }      /**      * 修改      */     @RequestMapping("/update")     public R update(@RequestBody OrdersEntity orders, HttpServletRequest request){         //ValidatorUtils.validateEntity(orders);         ordersService.updateById(orders);//全部更新         return R.ok();     }           /**      * 删除      */     @RequestMapping("/delete")     public R delete(@RequestBody Long[] ids){         ordersService.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<OrdersEntity> wrapper = new EntityWrapper<OrdersEntity>(); 		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 = ordersService.selectCount(wrapper); 		return R.ok().put("count", count); 	}

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~ 

yshop基于当前流行技术组合的前后端分离商城系统SpringBoot2+MybatisPlus+SpringSecurity+jwt+redis+Vue前后端分离的商城系统, 包商城、拼团、砍价、商户管理、 秒杀、优惠券、积分、分销、会员、充值、多门店等功能,更适合企业或个人二次开发。 功能: 一、商品模块:商品添加、规格设置,商品上下架等 二、订单模块:下单、购物车、支付,发货、收货、评价、退款等 三、营销模块:积分、优惠券、分销、砍价、拼团、秒杀、多门店等 四、微信模块:自定义菜单、自动回复、微信授权、图文管理、模板消息推送 五、配置模块:各种配置 六、用户模块:登陆、注册、会员卡、充值等 七、其他等 项目结构: 项目采用分模块开发方式 yshop-weixin 微信相关模块 yshop-common 公共模块 yshop-admin 后台模块 yshop-logging 日志模块 yshop-tools 第三方工具模块 yshop-generator 代码生成模块 yshop-shop 商城模块 yshop-mproot mybatisPlus docker部署: 1、创建一个存储第三方软件服务Docker Compose文件目录:      mkdir -p /yshop/soft 2、然后在该目录下新建一个docker-compose.yml文件:     vim /yshop/soft/docker-compose.yml 3、接着创建上面docker-compose.yml里定义的挂载目录:     mkdir -p /yshop/mysql/data /yshop/redis/data /yshop/redis/conf 4、创建Redis配置文件redis.conf:     touch /yshop/redis/conf/redis.conf 5、docker 部署参考根目录docker文件夹 6、以上创建好之后参考docker下文件,先执行软件安装:   cd /yshop/soft   docker-compose up -d  启动   docker ps -a 查看镜像 7、运行docker/applicatiion目录下 docker-compose,当然之前一定要打包jar包,构建镜像 切换到Dockerfile 文件下: docker build -t yshop-admin .   3.2.1版本已经正式发布啦!: 1、秒杀列表与详情页面UI优化 2、拼团商品详情UI优化 3、优惠券列表UI优化 4、修复小程序官方登陆升级调整的问题 5、放开商品详情必须要登陆才能查看的权限 6、拼团列表新增浏览数与访客数 6、修复收藏的问题 7、修复退款问题 8、修复Email配置问题 9、修复积分支付0的问题 10、修复APP充值问题 11、其他等修复优化,详情请看git commit提交记录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值