摘 要:所设计的社区生鲜C2C系统,数据库是MySQL,研发的环境是IDEA且服务器是Tomcat;采取SSM架构,结合JSP技术,使管理者与消费者群体需求得到满足;这个系统所实现的功能包括用户注册与登录以及检索、在购物车中加入与减少以及购物支付;后台实现的功能包括管理员管理商品与用户的具体信息及订单;此系统的优势是为消费者提供便捷服务,使其时间节约下来,并且提高管理者的效率且节约其成本。
关键词:社区生鲜C2C系统;MySQL;SSM
1 引言
1.1 国内外发展现状
国外的社区商品商务得到健康快速发展,较我国更为先进,美国等经济发达国家均提供优质的社区商务服务,大部分企业均推介相应的小型网站。还有一些中型企业和大型企业使用社区商品商务网络超过80%。在欧洲国家,大部分企业的季度营业额都是由社区商品商务网站来管理。美国的一些社区商品商务公司早已经做来了生意,他们与雅虎合作赚取利润,并且到现在为止社区商品商务网站创造的价值已达几十亿美元。美国的亚马逊书店和沃尔玛等企业也是使用了社区商品商务系统,并且赚取了很大的利润。
在中国,网购市场将呈现出125.1%的高速发展势头。在这一波潮流中,日用品消费者是主要的推动力。随着我国加入世贸,随着经济一体化的深入,社区商品商务是非常具有发展价值的,可以为人类的生活带来翻天覆地的变化。社区商品商务之所以得到快速健康发展,其原因是社会网络应用的数量与日俱增。对比于国外网络系统,我国网络还没有获取迅猛发展。因为网络有待于完善与优化,则实现社区商务应用的企业日益缩减,因此需走出具备自身特色的社区商务的途径。
1.2 研究背景
新世纪科技水平不断提升,更多的技术得以涌现出来,特别是互联网时代来到,使全球密切地加强联系,公众彼此间可便捷地沟通,互联网随着自身发展的态势而日趋多元化,逐渐向经济与文化和商业及服务业等各行业各领域中进驻,同时使深层次的影响得以产生。以兴起与发展社区商务交易模式为契机,赢得当代青年的青睐,特别是受到年轻人群体的追捧。社区交易电子商务基于双向的层面交流与沟通信息,存在便捷与简单等优势,在某种程度上为消费者与商家群体提供便利条件。为了运行系统,需构建数据库且存贮各类信息与数据,为了使网站得以快速发展,对于处于后台的数据库存在极强的依赖性,数据库能够存贮诸多信息数据,从而使具备完善功能的电商购物系统得以产生[3]。电商购物系统为公众提供便捷服务,于是有些人便不去耗费时间亲自前往实体店选取商品,提高自身购物的效率。社区商务应用不断地涌现出来,呈现出迅猛健康发展的趋势,冲破传统贸易模式的束缚,使消费者群体的传统思维模式被打破,极大程度地提高商品流通的速度,使商家开实体店在租金等方面的成本风险降低,为消费者群体的购物提供便捷环境,以上现象极大程度地推动生产力的健康快速发展[4]。
1.3 研究意义
在科技的飞速发展和人类的发展中,互联网逐渐变得越来越完善,越来越为人们所熟知。这种方式渗透到了我们的日常生活中,而且扮演着非常关键的角色。利用电脑网路来进行网上营销,其优点是网上营销的不可替代。比如:快速检索,方便,高效,低成本,存储量大,使用寿命长,沟通成本低,可以大大提升企业的经营效率。并且,如果系统的设计得当,可以为企业开辟新的销售渠道,降低存货的积累,并充分发挥网络共享和互动的优势,并通过网络营销的优势,通过数据库的技术,建立一个网络的社区产品网络购物平台。使网上销售的社区产品标准化,个性化,人性化。
随着时代的不断发展,信息技术的不断进步以及人们生活水平的不断提升,人们忙于工作并且没有太多的时间去购物,老人腿脚不方便,拥挤或者下楼梯对人身安全缺少保障。因此生鲜订购系统的出现可以方便大家直接网上订购,送货到家,让社区居民以最短的时间吃到最新鲜的水果。社区生鲜平台的实现能打破传统电商的不足,实现社区内直接采购直接销售,减少中间流通环节,缩短配送时间,更好的保证了生鲜食品的质量和安全,让居民以更快的速度吃到最新鲜的生鲜食品。
2 开发环境及开发技术
Spring在项目整体中相当于大厂子且配置了bean,在配置的过程中能够采取指定参数对构造实体类方法进行调用,同时实现对象的实例化;即项目领域中的媒介;以控制反转IoC为核心,无需程序员显式某new对象,可在Spring架构的协助下,SpringMVC可对用户的请求进行拦截,核心Servlet相当于DispatcherServlet担当中介或前台,把用户的请求经由HandlerMapping对Controller进行契合,Controller即请求对应的操作步骤;即SSH架构里的struts。通过mybatis可封装jdbc,于是提高数据库底层的透明度;mybatis围绕sqlSessionFactory实例开展操作;mybatis经由对文件的配置而与Mapper实体类文件相关联,Mapper配置各类映射数据库需要的sql语句;在各次交互数据库时,经由sqlSessionFactory获取sqlSession且对sql指令进行实施。
2.1 SSM核心功能
(1) 运行的 Spring 项目
SSM 可以以 jar 包的形式运行,运行一个 SSM 项目只需通过tomcat来运行 java–jar xx.jar 来运行。
(2) Servlet 容器
SSM 也可选择内嵌 Tomcat、Jetty 或者 Undertow,这样我们无须以 war 包形式部署项目。
3 系统分析
3.1 可行性分析
可行性分析意味着研究开发设计系统的时候,需要耗费的人力与物力等资源、编写代码的具体能力、所研发系统产生的效益值得完成研发设计与否。
1.技术可行性
所设计的系统采取 MySQL 数据库存贮与处理数据,能够进行便捷地部署,同时容易进行操作,对Tomact 服务器进行集成,此界面采取先进的JSP 技术且采取 SSM 与B/S 架构,通过Java语言编写程序;笔者参与过专业知识的培训,能够熟练地运用Idea等设计程度;在硬件上,系统没有特殊的个性化需求,只需配置一般的硬件资源,便能够实现相应的功能,保障管理系统中的程序能够正常运行就行了。但是假如配置的硬件资源较低,将有可能致使系统的性能不良,同时降低了运行的效率,最终致使程序与网站不能畅通地运行。以目前普通的个人电脑和移动设备的标准配置而言,这是十分相对较为容易得到保障的 。因此,本系统的开发在较为成熟的硬件方面的可行性是有一定保证的。为程序提供一个共同的、机制类似的动态接口模型,使程序设计更为集中。此外,代码的课复用性,也可以在本次的设计中很好的体现出来。通过对上述设计方面问题的分析,能够明确在设计软件程序上,此系统存在相应的可操作性。笔者基于以上层面研究管理系统的可行性,获取的结果是研发此系统在可行性方面是没有问题的。
2.经济可行性
所设计的系统硬件设备以既有的局域网为基础加以构建,于是用户可迅速地找到需求的生鲜,冲破时空的束缚;开发系统所需要工具与架构免费且代码开源,不需投入额外软硬件资源;所以节约开发系统费用且提高经济效率。本系统是对于软硬件的要求都相对较低,故而可以在开发财力以及人力方面保持相对较低的水平,经济方面可行性也得到了保证。
3.操作可行性
此系统只要有互联网便可实现访问数据库与操作系统软件的具体功能,界面易于操作且极其简洁友好,仅需保障用户可正常常联入互联网即可施行正常操作且访问系统中的数据;基于Windows 操作平台,用户不需要安装客户端程序且无须掌握极多的技术,便可对此系统进行操作。
3.2 需求分析
无接触购物成为疫情封锁期间重要的生活物资获取方式。针对目前市场竞争较为激烈的电子商务市场,使用较为便捷且接受度较高的购物系统进行购买是现阶段比较流行的消费方式。满足用户对方便快捷的需求和用户工作效率的提高是,使检索功能更方便快捷,数据信息能更好的储存,针对各模块的设计是通过长时间的研究和观察且进行合理的分析,用户的可操作性也是我们考虑的重点,开发始终遵循系统优化的原则,经过全面而细致的研究与调查。系统实现administrator用户与一般用户均能够直接地查看平台中需求的信息,于是能够减少系统管理的时间,无需采取传统方法;假如一般用户需在信息方面进行沟通,需由双方面对面对相应的信息进行沟通,因为一些用户存在时间方面的原因,不能面对面沟通,因此难以满足用户需求;通过开发社区生鲜购物系统,使用户使用率得以提升,并且使用户在实现功能方面的需求得到满足。所以管理系统时,需更高效与更快捷及更长期地向用户或潜在用户提供信息。该系统能够对大多数用户所提出的问题进行解决和满足,同时用户还可以根据自己的需求以获得与之相对应的服务。
按照软件工程思想,按照互联网购物的需求构建网站且实现系统功能的时候,需研究具体的需求,同时按照相应的数据将需求说明书撰写出来。在所设计的系统中,“商品信息”所展示的内容包括按照销售产品数量与价格、是新品与否等,在前端中展示商品且排列具体的顺序,同时能够将商品名当作关键字加以查询与检索。该系统的会员即已注册的用户,能够在社区生鲜C2C系统中加以浏览,可在购物车中加入所选定的商品加以支付或删除。管理员可有效地处理消费者在系统内的订单且管理基本社区商品信息、消费者建议或评论;以购物系统特征为依据,系统需研究的内容涵盖:第一,在网站注册与否,均可浏览到系统中的商品信息且进行检索;第二,假如在购物过程中发现了他感兴趣的东西,就会很想把它拉进他的购物车中,或很想购置某个商品的时候,可在系统中加以注册且登录;第三,会员能够向购物车中加入商品且购置或删除;第四,会员可修改资料与密码进行登录;第五,管理员以登录为基础修改其密码;第六,管理员能够针对商品加以更新或下架;第七,管理员具有订单修改权限。
4 系统总体结构设计
4.1 系统功能设计
可将社区生鲜C2C系统划分成前台与后台两部分内容,管理前台即用户注册与登录、前台界面与购物车及订单、用户评论与留言、管理个人信息、收货地址、检索用户等;后台模块可实现功能涵盖管理商品信息与订单及分类和新闻等;如图4-1。
4.2 数据库的表结构设计
此表涵盖注册用户的信息;即会员id、密码、头像与昵称、生日与性别、额度等。如表4-1所示。
字段名称 | 数据类型 | 长度 | 是否为主键 | 注释 |
id | varchar | 5 | 是 | 会员ID |
account | varchar | 64 | 否 | 额度 |
name | varchar | 50 | 否 | 昵称 |
password | varchar | 32 | 否 | 密码 |
| varchar | 50 | 否 | 邮箱 |
addtime | varchar | 25 | 否 | 生日 |
.2.2 商品信息表
在此表中包含了所有商品的信息,信息包括商品id、页面名、商品类型、商品价格、图片路径、材料、包装、销售数量、详情页图片等。如表4-2所示。
表4-2 社区商品商品信息表
字段名称 | 数据类型 | 长度 | 是否为主键 | 注释 |
id | int | 10 | 是 | 商品id |
pid | int | 4 | 否 | 商品比例 |
categoryid | int | 4 | 否 | 商品类型 |
Pnumber | varchar | 50 | 否 | 销售数量 |
title | varchar | 50 | 否 | 页面名 |
amount | int | 11 | 否 | 销售数量 |
cishu | int | 11 | 否 | 次数 |
mprice | decimal | 11 | 否 | 商品价格 |
sprice | decimal | 11 | 否 | 商品价值 |
content | double | 25 | 否 | 所含信息 |
apv | varchar | 50 | 否 | 图片路径 |
img | varchar | 50 | 否 | 详情页图片 |
status | varchar | 2 | 否 | 商品详情 |
addtime | varchar | 25 | 否 | 时间 |
isno | int | 11 | 否 | 判断是否为空 |
mark1 | varchar | 255 | 否 | 包装 |
mark2 | varchar | 255 | 否 | 材料 |
此表涵盖注册用户建议与留言评论等数据。如表4-3所示。
数据类型 | 长度 | 是否为主键 | 注释 | |
mid | int | 4 | 否 | id |
续表4-3 留言信息表
msgtype | varchar | 2 | 否 | 类型 |
maintype | varchar | 10 | 否 | 主要类型 |
message | varchar | 50 | 否 | 内容 |
time | varchar | 15 | 否 | 时间 |
4.2.4 订单表
此表涵盖会员订单数据;含id、昵称,图片、价格、订单号与数量、收货地址与姓名、联系方式等。如表4-4所示。
表4-4 订单信息表
数据类型 | 长度 | 是否为主键 | 注释 | |
oid | int | 4 | 是 | id |
username | varchar | 10 | 否 | 价格 |
price | varchar | 4 | 否 | 价格 |
ordernumber | varchar | 14 | 否 | 订单号 |
count | int | 5 | 否 | 数量 |
good_name | varchar | 10 | 否 | 收货者姓名 |
good_address | varchar | 4 | 否 | 地址 |
good_phone | varchar | 11 | 否 | 联系方式 |
more_address | varchar | 30 | 否 | 地址 |
gid | int | 4 | 否 | 商品id |
status | int | 1 | 否 | 发货与未发货是0与1 |
order_time | date | 11 | 否 | 订单时间 |
此表涵盖会员购物车信息;即昵称与图片和名称及数量与价格等,当用户遇到喜欢的东西可以加入购物车。如表4-5所示。
表4-5 购物车信息表
字段名称 | 数据类型 | 长度 | 是否为主键 | 注释 |
sid | int | 4 | 是 | ID(购物车) |
续表4-5 购物车信息表
id | int | 4 | 否 | ID(商品) |
username | varchar | 10 | 否 | 用户名 |
img | varchar | 30 | 否 | 图片 |
flower_name | varchar | 15 | 否 | 名称 |
flower_price | varchar | 4 | 否 | 价格 |
Flower_count | int | 5 | 否 | 数量 |
5 详细设计
5.1 用户注册模块设计
模块针对没有注册用户在本系统中登录且订购商品的时候,需通过手机号与昵称注册帐号;用户仅需填写用户名与密码、姓名与性别及邮箱及联系方式等;用户输入信息进行注册后,经由表达式判断电话号码的合法性,判断密码合理性,判断邮箱的形式正确性,并给出验证之后的提示信息。通过 Ajax将用户的名字发送到了后台,然后从前台收到了一个新的 ID,然后通过 Sql的查询,确定这个用户的名字是不是出现在了一个资料库里面,假如未找到相应用户名,需采取Sql方式插入,同时向资料库里的 userinfo表格插入使用者资料且实现注册功能;否则,后台向前台传入不正确的信息,系统提示注册不成功;在注册之后向登录的界面进行转向。如图5-1所示。
图5-1 用户注册界面
5.2 用户登录模块设计
用户登录模块即使成功注册的用户进行登录且验证。如图5-2所示。
5.3 前台功能模块
(1) 系统首页
通过前台,可展示商品且针对商品用途与销量及价格加以分类,设计采取小清新风格,采取美观图片装饰页面;首页采取轮播图展示一些商品,首页的一些内容涵盖货物类型且列举四种,按照类型而展示商品。采取放大镜单击“详情”页面,通过放大镜显示效果[6];显示商品类型与价格等相关数据。如图5-3所示。
图5-3 首页界面
(2) 商品搜索
用户可以输入自己想购买的商品名称进行商品的相应查询。其主要代码如下。
//前台商品列表
@ResponseBody
@RequestMapping("productLb")
HashMap<String,Object> res = new HashMap<String,Object>();
HashMap<String,String> map = new HashMap<String,String>();
String key = request.getParameter("key");
String key1 = request.getParameter("key1");
String key2 = request.getParameter("key2");
String issj = request.getParameter("issj");
map.put("key", key);
map.put("categoryid", key1);
map.put("childid", key2);
map.put("istj", istj);
List<Product> objectlist = productDAO.selectAll(map);
用户需检索商品的时候,首先需要进入线上商城页面,然后点击搜索框,直接在搜索框输入自己想要的商品的名字即可。比如在搜索框中录入“翅中”,则展示相应的商品。如图5-4所示。
图5-4 商品搜索
(3) 收藏功能的实现
当用户需要对产品有购买需求,但是需要货比三家,又或者说对产品感兴趣,但是暂时用不上该产品的时候,便可以先收藏该产品。主要代码如下。
HashMap<String, Object> res = new HashMap<String, Object>();
HashMap map = new HashMap();
map.put("memberid", sessionmember.getId());
map.put("productid", String.valueOf(cart.getProductId()));
int kc = utilController.getInventory(product.getId(), request);
List<Cart> list = cartDAO.selectAll(map);
if (list.size() == 0) {
if (cart.getNum() > kc) {
res.put("data", 400);
} else {
cart.setMemberid(sessionmember.getId());
cartDAO.add(cart);
res.put("data", 200);
}
}
通过走访和调查还有询问身边的亲朋好友,我深入的了解到他们通常会在什么情况下对商品进行收藏,可以对喜欢的商品进行收藏对一个用户来说意义是非常重大的,用户主要在五个方面会对商品进行收藏。一是当他们对商品感兴趣,但是暂时用不上该商品,以后或许会用到的时候;二是对产品有购买的需求,但是需要货比三家,可以先加入收藏,在收藏里面比较哪家的质量好、好评多、价格还实惠就对哪家的商品进行下单;三是对产品有购买需求,但是在看店铺的物流服务、宝贝评价、卖家服务方面都是三低,对店铺的信任感降低,需要和别的商铺进行仔细斟酌比对;四是对产品很满意,但是觉得价格有一点高,目前欠缺购买能力,想等商家降价或者是节假日搞活动的时候,价钱便宜一点的时候再去买,目前还处于犹豫阶段。五是产品并不是目前必须要买的商品,买不买都可以,只是喜欢而已,理性考虑是否购买。如图5-5所示。
图5-5 商品收藏
(4) 购物车模块设计
此模块功能是会员浏览商品后,如需购买然而又想货比三家或者喜欢但是现在不需即刻买时,可向购物车中加入,下单时用户按照喜欢的程度修改购物车信息;单击“加号”、“减号”,在单击一次的情况下,其数量分别是加1与减1,直至不能实施操作为止[7]。假如日后不满意此商品的话,可单击“删除”;总价与数量成正比。如图5-6所示。
图5-6 商品加入购物车
采购商品页面涵盖名称与价格与库存及销售量和购买数量、“添加到购物车”按钮,“添加到收藏按钮”和“立即购买”按钮。如图5-7所示。
图5-7 商品购买界面
(6) 支付操作界面
当用户选好商品选对地址以后,便可以点击立即购买按钮进行购买,这时会出现让用户进行付款的按钮,便可进行下一步的付款操作。支付操作界面如图5-8所示。
图5-8 商品支付操作界面
(7) 支付界面
用户需购买某商品的时候单击“结账”,页面向订单页面跳转。如图5-9所示 。
图5-9 支付界面
5.4 后台管理模块
管理员在登录时,输入相应的账号口令,进入后台且其首页:涵盖首页、设置、管理业务与用户及论坛。如图5-10所示。
图5-10 后台管理首页界面
(1) 系统设置
系统设置里面主要是对焦点图的管理,一个好的封面是吸引顾客眼球的重中之重,我们不能否认一个事实,好看的图片能够激发购买者的欲望,对购物网的成交率有很大的帮助。所以,对焦点图的管理显得尤为重要。如图5-11所示。
图5-11 焦点图管理界面
(2) 用户管理
此模块主要是对个人注册信息的更新操作,用户在注册时,会将自己的用户名、密码、姓名、性别、生日、电话、邮箱进行填写,用户在注册成功,并且成功登录的情况下,信息会在后台管理界面显示,以供管理员查看,管理员可以对注册用户进行冻结或者恢复正常状态操作,或者将该用户从后台进行删除。如图5-12所示。
图5-12 用户管理界面
(3) 业务管理
业务管理覆盖资讯与分类和商品及订单和售后服务与留言等层面;其分别如图5-13、图5-14、图5-15、图5-16、图5-17、图5-18、图5-19所示。
图5-13 资讯管理图
图5-14 分类管理图
图5-15 商品管理图
图5-16 订单管理图
图5-17 售后管理图
图5-18 评价管理图
图5-19 留言管理图
(4) 论坛管理
论坛管理模块主要分为版块管理和帖子管理。版块管理主要是方便用户从不同的方面对商品进行评价,以便于使商家知道自己的店铺在哪一方面需要实施改进策略,更有针对性。版块管理如图5-20。帖子管理主要是利用人们网络论坛的超高人气对商品进行推广和宣传。好的评论管理员可以通过置顶操作来使更多的用户第一眼看到,以此来增加对商品想购买的欲望,帖子管理如图5-21所示。
图5-20 版块管理图
图5-21 帖子管理图
(5) 物流管理
当用户付款成功以后,管理员登录后台管理系统然后对用户的订单进行发货处理操作,对订单进行发货处理的时候,可以选择物流公司,以及填写运单号,点击“发货”按钮,物品便处于待收货状态。如图5-22所示。
图5-22 物流管理图
6 系统测试
6.1 方法测试
检测软件涵盖白盒与黑盒两种测试方式;此系统采取的主要技术是“黑盒子”检测,即测试其功能性。
6.2 测试步骤
(1) 购物车功能测试
测试目标:针对购物车实现增删改功能;步骤:第一,用户选取适宜的生鲜产品;第二,单击“添加”且发出“成功”的提示;第三,“购物车”中增加记录;第四,单击商品之后的“删除”,购物车的列表中移出商品;结果:和预计一样。
(2) 后台商品管理测试
测试目标:后台能够修改产品信息与否;步骤:第一,管理员单击“管理商品”,即显示所发布信息;第二,管理员单击“入库”,进入填写“入库数量”,数量填入完成后,点击“提交”按钮,则增加数量且成功地入库。第三,管理员单击“特价设置”且可填写“特价”,特价改动完成后,点击“提交”按钮,则售价被划掉,显示特价价格,特价修改成功。第四步,管理员单击“下架”图标,在“是否上架”一栏直接“yes”变为“no”。第五步,管理员单击“取消推荐”图标,在“是否推荐”一栏直接“yes”变为“no”。第六步,管理员单击“编辑”图标,进入编辑页面,可以对商品的图片、名称、类目、价格、内容的变动进行更改,更改完成后点击“提交”按钮,返回商品管理界面,则更改完成。第七步,管理员单击“删除”图标,对商品进行删除。结果:后台能够修改商品性质。
(3) 订单在线支付全流程:
测试目标:用户购物的流程;步骤:第一步,用户单击“线上商城”且可浏览商品;第二步,可选择自己喜欢的商品单击商品进入商品详情页。第三步,点击“立即购买”,或向购物车中加入物品,点击“继续结算”,这样就进入查看商品清单和地址页面,若无填写地址信息便进行提交的话,会弹出“收货地址不能为空”的提示,收货地址填写完成后,点击“提交”按钮,会弹出“创建成功”的提示。第四步,点击“个人中心”下的“我的订单”,进入查看订单信息界面。第五步,点击“付款”按钮,进入支付宝支付界面。第六步,输入正确的“账户名”和“支付密码”并单击“下一步”即可开始付款。第七步,输入正确的“支付宝支付密码”,点击“确认付款按钮”则显示交易付款成功,跳至商户界面。测试结果:商品成功购买且结果和预计一样。