基于java+springboot+vue实现的智慧生活商城系统(文末源码+Lw)244

摘 要

计算机网络发展到现在已经好几十年了,在理论上面已经有了很丰富的基础,并且在现实生活中也到处都在使用,可以说,经过几十年的发展,互联网技术已经把地域信息的隔阂给消除了,让整个世界都可以即时通话和联系,极大的方便了人们的生活。所以说,智慧生活商城系统用计算机技术来进行设计,不仅在管理方面更加的系统化,操作性强,最重要的是关于数据的保存和使用都能节约大量的时间,该系统非常的好用。

智慧生活商城系统管理数据的工具是MySQL,编码的语言是Java,运用的框架是Spring Boot框架。该系统可以实现商品管理,商品留言管理,商品退货管理,商品订单管理,公告管理,用户管理,商品收藏管理等功能。

智慧生活商城系统不仅能让操作人员使用更加地方便,并且设计的也很合理,能有效的避免误操作,让数据在录入的环节就符合设计需要,极大的规避了源头性的输入误差,顺利的让数据变得更加可控并且可靠,让出错的几率降到最低。

关键词:智慧生活商城系统;商品;订单

4 系统设计

系统在设计的过程中,必然要遵循一定的原则才可以,胡乱设计是不可取的。首先用户在使用过程中,能够直观感受到功能操作的便利性,符合正常思维逻辑的操作,这才是系统好用的一个开端,给使用者第一印象就是这个系统设计的相当不错。

4.1 系统设计原则

系统遵循设计原则进行开发,会有很多可以预料到的好处,只要遵循了设计原则,那么开发出来的系统必然是有质量保证的。

首先第一条原则就是安全性原则:程序必须设定角色管理,不同的角色有不同的功能模块,不同的角色登录都需要输入相对应的账号和密码,否则不允许进行操作相对应的权限。每个用户登录只能修改自己的密码,不需要对别的账号进行密码或者其他资料的修改,否则就违背了安全性原则的设定。

其次第二条原则就是易用性原则:符合安全性只是功能的符合,不代表操作就符合,所以要设定易用性原则。易用性原则就是规定程序符合操作流程,正常人的思维定向为基础,在不违背程序运行逻辑定义的情况下,必须使用简单,操作规范,让每个用户使用起来都能看到页面,就能感知功能模块的作用,短时间的就能使用程序,达到易用效果。

再次第三条原则就是实用性原则:实用性代表着花里胡哨的功能必须抛弃,尽量符合数据处理的简洁性,不仅需要这样进行设定,还需要有预知性,系统后期可能会出现的功能模块尽量要解耦,与程序设定要模块化体现,这样才能达到扩展性。

第四条原则就是准确性原则:准确性原则的唯一定义就是准确,包含数据输入格式的准确,数据处理的准确,以及数据存储的准确。程序里面关于数据准确才有存在的意义,如果一堆不相干的数据存在是没有任何用处的,甚至会产生各种问题,所以必须要保证数据的准确性。

第五条原则是易维护原则:易维护代表着程序运行必须是可控的状态,如果不可控出现各种问题,那么所有的工作都是空谈。程序开发中对于各种程序判定异常,必须有统一的处理模式,异常是程序开发中不可避免的,但是可以对出现的异常进行抛出,有助于程序异常处理的复盘,只要每个异常都能定位准确,那么代表程序设计是趋于完美的,维护起来会更加的方便,只要有助于程序维护的都必须给予支持。

4. 2 功能模块 设计

对管理员具体功能的设计结果将以图4.1所示的管理员功能结构图来进行体现。管理员对于智慧生活商城系统操作的功能包括对公告,用户信息,商品信息等进行增删改查,同时可以回复用户对商品的评价,以及管理商品订单,商品留言,商品退货等信息。

图4.1 管理员功能结构图

对用户具体功能的设计结果将以图4.2所示的用户功能结构图来进行体现。用户对于智慧生活商城系统操作的功能包括在前台购买商品,管理收货地址,管理购买的商品信息,查看公告,管理购物车,对需要退货的订单商品申请退货等。

图4.2 用户功能结构图

4. 3 数据库设计

用户通过系统的功能操作来进行数据交互,包括数据的添加,数据的更新,数据的删除,数据的查询等基本功能操作,表面上虽然是操作系统界面提供的功能,但是实际上系统的这些数据是在数据库当中进行访问与操作的。目前市场上可供选择的存储数据的数据库有很多,除了简单版的Access之外,还有SQL Server,DB2,Informix,MySQL等关系型数据库可供选择,由于关系型数据库具有固定的表结构,以及对数据一致性要求比较强,所以相比没有固定表结构以及具有灵活的数据格式的非关系型数据库而言,在程序配套数据库的选择中,关系型数据库的使用率更高。本系统选择MySQL来存放数据,其相关理论以及技术在经过了很长时间的发展之后,变得非常成熟,各大网络平台都公开分享其开发源码,而且其对计算机的配置要求很低,不需要过多内存进行安装,很符合本系统对于数据库的选择要求。

4. 3 .1 数据库 E-R图

本节需要对系统中存放在数据库中的数据进行充分分析,对数据的实体,实体特征,联系等进行确定,然后通过概念模型的表示方法即E-R图进行表达,在E-R图绘制工具中,选择椭圆,菱形框,矩形等形状表达实体属性,实体间联系,实体这些信息,使用实线段将这些形状进行连接即可。初步完成E-R图之后,需要进行检查,及时进行有误数据的更改,删除实体间存在的冗余联系,删除E-R图中冗余的数据,最终要展示一个内容准确的E-R图。

(1)商品包括的属性有商品照片,商品库存,商品原价等。其属性图如下。

图4.4 商品实体属性图

(2)商品订单包括的属性有购买数量,订单类型,支付类型等。其属性图如下。

图4.5 商品订单实体属性图

(3)管理员包括的属性有用户名,角色等。其属性图如下。

图4.6 管理员实体属性图

(4)用户包括的属性有用户头像,性别,电子邮箱等。其属性图如下。

图4.7 用户实体属性图

(5)设计的各实体间关系E-R图如下。

图4.8 实体间关系E-R图

4. 3 .2 数据库 结构

在指定的数据库里面对数据表进行创建命名,然后设计各个数据表的存储结构,需要对该数据库的操作非常熟悉,并且还需要学习并掌握一定的数据表设计方面的知识,比如数据命名,作为系统的开发人员,为了避免程序运行产生乱码现象以及为了确保系统的正常运行,在对数据表进行命名时,一般都是采用英文名称,同时在对数据表的字段进行编辑时,也是采用英文的方式进行,为了方便今后对数据表的设计内容进行更改或查看,对一些比较重要的字段都会进行中文备注,或者是使用中文进行字段描述。设计期间,也需要对各个字段选择合适的数据类型以及设置匹配的取值范围,当一张数据表设计完成之后,还要对该表的主键进行标注,就是为了确保该数据表的唯一性与独立性。

表4.1 收货地址表

|-----------------|--------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(20) | 否 |
| yonghu_id | 创建用户 | int(20) | 否 |
| address_name | 收货人 | varchar(200) | 否 |
| address_phone | 电话 | varchar(200) | 否 |
| address_dizhi | 地址 | varchar(200) | 否 |
| isdefault_types | 是否默认地址 | int(11) | 否 |
| insert_time | 添加时间 | timestamp | 否 |
| update_time | 修改时间 | timestamp | 否 |
| create_time | 创建时间 | timestamp | 否 |

表4.2 购物车表

|-------------|------|-----------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| yonghu_id | 所属用户 | int(11) | 是 |
| shangpin_id | 商品 | int(11) | 是 |
| buy_number | 购买数量 | int(11) | 是 |
| create_time | 添加时间 | timestamp | 是 |
| update_time | 更新时间 | timestamp | 是 |
| insert_time | 创建时间 | timestamp | 是 |

表4.3 公告表

|-----------------|--------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| gonggao_name | 公告名称 | varchar(200) | 是 |
| gonggao_photo | 公告图片 | varchar(200) | 是 |
| gonggao_types | 公告类型 | int(11) | 否 |
| insert_time | 公告发布时间 | timestamp | 是 |
| gonggao_content | 公告详情 | text | 是 |
| create_time | 创建时间 | timestamp | 是 |

表4.4 商品表

|-----------------------|--------|---------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| shangpin_name | 商品名称 | varchar(200) | 是 |
| shangpin_uuid_number | 商品编号 | varchar(200) | 是 |
| shangpin_photo | 商品照片 | varchar(200) | 是 |
| shangpin_types | 商品类型 | int(11) | 是 |
| shangpin_kucun_number | 商品库存 | int(11) | 是 |
| shangpin_price | 购买获得积分 | int(11) | 是 |
| shangpin_old_money | 商品原价 | decimal(10,2) | 是 |
| shangpin_new_money | 现价 | decimal(10,2) | 是 |
| shangpin_clicknum | 点击次数 | int(11) | 是 |
| shangpin_content | 商品介绍 | text | 是 |
| shangxia_types | 是否上架 | int(11) | 是 |
| shangpin_delete | 逻辑删除 | int(11) | 是 |
| create_time | 创建时间 | timestamp | 是 |

表4.5 商品收藏表

|---------------------------|------|-----------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| shangpin_id | 商品 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| shangpin_collection_types | 类型 | int(11) | 是 |
| insert_time | 收藏时间 | timestamp | 是 |
| create_time | 创建时间 | timestamp | 是 |

表4.6 商品评价表

|---------------------------|------|-----------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| shangpin_id | 商品 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| shangpin_commentback_text | 评价内容 | text | 是 |
| insert_time | 评价时间 | timestamp | 是 |
| reply_text | 回复内容 | text | 是 |
| update_time | 回复时间 | timestamp | 是 |
| create_time | 创建时间 | timestamp | 是 |

表4.7 商品留言表

|----------------------|------|-----------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| shangpin_id | 商品 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| shangpin_liuyan_text | 留言内容 | text | 是 |
| insert_time | 留言时间 | timestamp | 是 |
| reply_text | 回复内容 | text | 是 |
| update_time | 回复时间 | timestamp | 是 |
| create_time | 创建时间 | timestamp | 是 |

表4.8 商品订单表

|-------------------------------|--------|---------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| shangpin_order_uuid_number | 订单号 | varchar(200) | 是 |
| address_id | 收货地址 | int(11) | 是 |
| shangpin_id | 商品 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| buy_number | 购买数量 | int(11) | 是 |
| shangpin_order_true_price | 实付价格 | decimal(10,2) | 是 |
| shangpin_order_courier_name | 快递公司 | varchar(200) | 是 |
| shangpin_order_courier_number | 订单快递单号 | varchar(200) | 是 |
| shangpin_order_types | 订单类型 | int(11) | 是 |
| shangpin_order_payment_types | 支付类型 | int(11) | 是 |
| insert_time | 订单创建时间 | timestamp | 是 |
| create_time | 创建时间 | timestamp | 是 |

表4.9 商品退货表

|--------------------------------|--------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| shangpin_tuihuo_uuid_number | 退货流水号 | varchar(200) | 是 |
| shangpin_order_id | 商品订单 | int(11) | 是 |
| yonghu_id | 用户 | int(11) | 是 |
| shangpin_tuihuo_content | 退货原因 | text | 是 |
| insert_time | 申请退货时间 | timestamp | 是 |
| shangpin_tuihuo_courier_name | 退货快递公司 | varchar(200) | 是 |
| shangpin_tuihuo_courier_number | 退货单号 | varchar(200) | 是 |
| shangpin_tuihuo_types | 退货状态 | int(11) | 是 |
| shangpin_tuihuo_yesno_types | 审核状态 | int(11) | 是 |
| shangpin_tuihuo_yesno_text | 审核意见 | text | 是 |
| shangpin_tuihuo_shenhe_time | 审核时间 | timestamp | 是 |
| create_time | 创建时间 | timestamp | 是 |

表4.10 管理员表

|----------|------|--------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | bigint(20) | 否 |
| username | 用户名 | varchar(100) | 否 |
| password | 密码 | varchar(100) | 否 |
| role | 角色 | varchar(100) | 是 |
| addtime | 新增时间 | timestamp | 否 |

表4.11 用户表

|---------------------|--------|---------------|---|
| 字段 | 注释 | 类型 | 空 |
| id (主键) | 主键 | int(11) | 否 |
| username | 账户 | varchar(200) | 是 |
| password | 密码 | varchar(200) | 是 |
| yonghu_name | 用户姓名 | varchar(200) | 是 |
| yonghu_phone | 用户手机号 | varchar(200) | 是 |
| yonghu_id_number | 用户身份证号 | varchar(200) | 是 |
| yonghu_photo | 用户头像 | varchar(200) | 是 |
| sex_types | 性别 | int(11) | 是 |
| yonghu_email | 电子邮箱 | varchar(200) | 是 |
| new_money | 余额 | decimal(10,2) | 是 |
| yonghu_sum_jifen | 总积分 | decimal(10,2) | 是 |
| yonghu_new_jifen | 现积分 | decimal(10,2) | 是 |
| huiyuandengji_types | 会员等级 | int(11) | 是 |
| create_time | 创建时间 | timestamp | 是 |

5 系统实现

下面主要是通过功能实现界面截图的形式,并且运用文字来描述功能实现界面的内容。

5.1 管理员功能实现

5.1.1 会员等级管理

该功能主要用于实现对会员等级基本信息的管理,会员等级管理界面的运行效果见图5.1。在此界面,管理员为不同等级的会员设置不同的折扣,会员等级越高,购物享受的折扣就越多。

图5.1 会员等级管理界面

5.1.2 商品管理

该功能主要用于实现对商品信息基本信息的管理,商品管理界面的运行效果见图5.2。在此界面,对商品的类型,商品原价,商品库存,商品名称等信息都需要管理员负责添加和修改,同时还需要对商品的库存进行管理,比如增加商品的库存,或者是对商品库存进行减少以及对销量不好的商品进行下架,对新的商品进行上架等操作。

图5.2 商品管理界面

5.1.3 商品评价管理

该功能主要用于实现对商品评价基本信息的管理,商品评价管理界面的运行效果见图5.3。在此界面,商品的评价内容,以及评价用户和评价的商品等信息都能让管理员查看,同时管理员也能对评价商品的用户进行回复。

图5.3 商品评价管理界面

5.1.4 商品订单管理

该功能主要用于实现对商品订单基本信息的管理,商品订单管理界面的运行效果见图5.4。在此界面,管理员主要处理已经销售的商品信息,即商品订单信息,管理员需要对用户刚刚支付的商品订单进行及时发货,以及对各个商品订单的更多的详细信息进行认真查看。

图5.4 商品订单管理界面

5.1.5 商品退货管理

该功能主要用于实现对商品退货基本信息的管理,商品退货管理界面的运行效果见图5.5。在此界面,用户申请退货的信息需要管理员查看之后,进行审核。

图5.5 商品退货管理界面

5.2 用户功能实现

5.2.1 商品信息

商品信息界面的运行效果见图5.6。在此界面,用户可以查看商品信息界面展示的商品相关信息,以及通过对商品的相关介绍信息来了解商品,用户如果有购买的需求,可以通过立即购买功能立即下单。

图5.6 商品信息界面

5.2.2 确认下单

确认下单界面的运行效果见图5.7。在此界面,用户不仅需要确认收货地址是否正确,还需要确认需要购买的商品的数量以及商品信息是否正确,最后查看实付金额信息,然后进行下单。

图5.7 确认下单界面

5.2.3 商品订单

商品订单界面的运行效果见图5.8。在此界面展示的信息都是用户购买商品之后产生的信息,用户不仅可以查看信息,还可以根据自身实际情况对商品订单进行相应操作,包括退款或收货等。

图5.8 商品订单界面

5.2.4 购物车

购物车界面的运行效果见图5.9。在此界面,用户可以统一处理购物车里面的商品信息,比如修改各个商品的购买数量,可以增加购买数量,也能减少购买数量,或者是清理一些不需要购买的商品信息,最后查看支付金额,然后统一下单。

图5.9 购物车界面

5.2.5 商品退货管理

商品退货管理界面的运行效果见图5.10。在此界面,用户对需要退货的订单商品进行添加,然后等待管理员审核通过,最后用户再登记退货信息,主要就是登记退货的快递公司和退货单号信息。

图5.10 商品退货管理界面

源码领取方式:

魏关功纵浩 文心海资源库 回复 源码 领取

相关推荐
一位资深码农1 分钟前
弹幕发送功能‘简单’实现
spring boot·vue
爪哇学长2 分钟前
Spring框架深度剖析:特性、安全与优化
java·安全·spring
乄bluefox3 分钟前
SpringBoot中使用Sharding-JDBC实战(实战+版本兼容+Bug解决)
java·数据库·spring boot·redis·后端·缓存·bug
TimberWill9 分钟前
字符串-07-判断两个IP是否属于同一子网
java·网络协议·tcp/ip
2401_8576009532 分钟前
企业OA管理系统:Spring Boot技术实践与案例分析
java·spring boot·后端
running up that hill36 分钟前
数据库中的增删改查操作、聚合函数、内置函数、分组查询
java·数据库·sql·mysql
潜洋40 分钟前
Spring Boot 教程之六:Spring Boot - 架构
java·spring boot·后端·架构
希忘auto44 分钟前
详解RabbitMQ在Ubuntu上的安装
java·rabbitmq
铅华尽1 小时前
Java---JDBC案例--手机信息管理系统
java·开发语言·智能手机
小码的头发丝、1 小时前
Maven的安装与配置
java·数据库·maven