微信购物电子商务系统设计与实现

2017-12-02 20:06张渊博
软件导刊 2017年11期
关键词:推荐系统微信公众平台电子商务

张渊博

摘要:基于B2C的微信网上购物电子商务系统,结合EasyRec推荐系统提供商品推荐。系统基于微信公众平台开发,主要分为前端模块和后台管理模块,前端模块主要通过HTML5+JavaScript实现购物流程和微信用户基本管理功能,并提供推荐位;后台管理系统使用OpenCustomer完成系统管理,并开发前端购物和微信公众号业务功能的支持模块。OpenCustomer是Sourceforge·net可供下载使用的开源电子商务和CRM(客户关系管理)系统,使用Mysql数据库和Java/EJB技术,前端实现框架是SSI。该系统支持多公司(商户)、多库存管理、权限管理、订单管理、销售管理、财务结算等功能,并提供Web购物及后台Web管理页面,为用户带来全新购物体验。

关键词关键词:电子商务;微信公众平台;推荐系统;Sourceforge

DOIDOI:10.11907/rjdk.171806

中图分类号:TP319

文献标识码:A文章编号文章编号:16727800(2017)011007205

0引言

网上购物系统是B2C[1](企业与消费者的交易)、B2B(企业与企业的商务交易)、C2C(消费者与消费者的交易)等类型电子商务的前端门户,网上购物系统实现了线下面对面的交易到消费者和卖家交易双方在网络虚拟环境下的交易。当前主流的网上购物系统不仅具有基本的商品浏览、站内查找、购买和商品评价等功能,还提供商品推荐功能,系统通过对交易过程中的业务数据进行挖掘,推荐出用户可能感兴趣度的商品或者热度高的商品。在网络购物规模日益庞大的网络经济时代,移动端购物系统为更加方便的购物体验提供了新的发展思路。利用微信公众平台[2]提供的完善接口支持,本文设计开发了一套微信网购电子商务系统,并结合推荐引擎easyRec的调用实现商品推荐功能。系统后台管理模块具备电子商务功能,提供CRM[3],还提供前端购物和微信公众号的业务支持模块。

1相关技术

1.1JavaScript

JavaScript[4]是一种脚本语言,它是轻量级的,无需编译。现实环境下的绝大多数网站都使用JavaScript进行解析。JavaScript常用于为HTML页面增加动态内容。

1.2SSI框架

SSI框架组成构件包括Struts2[5]、Spring[6]和Ibatis[7],该框架使开发者和运营商管理起来更加容易。SSI的各组件帮助完成各层级之间的信息交换,一个完整Web端的功能实现与信息通信在SSI框架的支持下变得更加简便。Struts2相对简化了配置文件信息,使页面和Action之间的关系与通信更加简捷。

1.3MySQL

MySQL[8]是目前受欢迎程度很高的开源SQL系统,可分配多个用户,能够充分利用处理器等硬件资源,同时能为多线程开发提供服务和支持。

1.4JDBC

JDBC(Java Data Base Connectivity,Java数据库连接)可以为多种关系数据库提供统一访问,通过JDBC驱动更加方便地向各种关系数据库传送SQL语句。开发者只需将Java和JDBC结合起来写一组通用程序就可以支持所有平台上的运行。

1.5easyRec推荐引擎

EasyRec[9]集成方便、容易扩展且功能丰富,是一套拥有后台管理系统页面的推荐系统,其提供了Rest和Javascript两种访问方式。EasyRec使用tenant(appProjectID)参数确定不同网站的唯一性,并同时服务于多个网站请求。不同网站应用被称为不同的“Tenant”,被操作者管理。每一个Tenant拥有一个唯一标识符,供API调用所需,操作者API密钥(32bitAPIKEY)也要同时提供。例如js调用:

"/easyrecweb/api/version/json/recommendAlgorithm?apikey=32bitAPIKEY&tenantid=appProjectID&itemid=productId"

1.6开发和运行环境

开发和部署所需要工具及其软件为:

开发工具主要有Myeclipse8.5、Mysql5.6.31winx64;

操作系统:Windows7;服务器软件:Tomcat6.0, Windows Server 2012;浏览器:Internet Explorer6.0及以上版本,或者Chrome。

2系统分析与设计

2.1系统整体设计

該电子商务系统分为前端网上购物模块和后台管理模块。微信用户进行网上购物前需先关注商城微信公众号,在微信公众号窗口界面,微信用户触发商城菜单按钮进入相应商城首页[914],然后通过各种链接和导航浏览商品、添加购物、下单、提交订单、完成支付等,从而完成网上购物。网上购物系统为微信用户提供了个人信息维护功能,用户可查看和管理自己的历史订单。系统后台管理模块(OpenCustomer)让平台商(系统维护方和运营商)、第三方商户(以下简称“第三方”)、供货商这3种角色在系统中实现菜单配置、财务结算、商品配置、商品上架、订单处理和客户查看等工作。

前端网购模块主要有微信公众号开发模块、购物车、个人中心模块。①微信公众号开发模块。该模块实现系统与微信服务器的交互通信,为微信公众号和购物系统的正常协作提供支持和服务,实现用户关注公众号、进入商城、“我的个人中心”等菜单事件处理;②购物车模块。该模块支持和实现用户购买商品的整个流程,包括商品浏览、购物、下单等,是系统最重要的部分;③个人中心模块。该模块支持和实现用户自己的订单管理、查看及信息管理,包括收货电话、收货地址和个人资料等功能。endprint

后台管理模块主要实现系统菜单及参数配置、角色和后台系统登录用户的管理维护、财务对账结算等。所涉及的客户、商品、客户订单等数据存储在系统数据库(MyDB)中,各实体之间关系的建立通过外键完成。后台管理系统具备电子商务业务处理能力,能够统一处理和调用这些业务数据。第三方使用系统分配权限对商品进行配置、对订单进行处理、对客户进行管理。系统前端模块通过调用数据库数据获取商品、客户、订单等数据,同时创建客户、订单等。平台商在后台为每个第三方分配登录用户名和密码,保存微信公众号信息appid、appsecret等。这些公众号信息,对于希望入驻平台的第三方商户和平台开发商而言,是对接平台的钥匙;单独对于平台开发商而言,则是归集信息和响应信息的依据,是实现微信端网上购物系统的关键和必备参数[1517]。有了这些参数支持,第三方就可以进行微信公众号开发,将公司(商城)商品展示给关注用户,实现线上销售。

该电子商务系统的微信网购和后台管理功能如下:

(1)直接购买和购物车功能。通过微信端购买公司商品,需实现商品列表、商品详情、直接购买、添加商品到购物车、结算、下单、确认提交订单、支付等功能。

(2)客户资料信息管理。该功能帮助微信用户维护个人资料和收货信息,包括电话、邮件、地址等。用户可以设置多个收货地址,但只能将其中一个设成默认地址。

(3)用户订单管理。该功能可让微信用户删除已完成和已取消状态下的订单,查看所有订单及每个订单的详细信息。

(4)商城微信公众号开发。商城微信公众号开发提供的服务包括微信接入验证、微信菜单、消息事件请求支持等。

(5)后台管理。平台商、第三方、供货商3种角色的管理员用户能够在后台系统中对系统、商品、订单、客户等进行统一管理。

2.2系统需求分析

2.2.1业务逻辑需求分析

该系统作为一套完整的电子商务系统,需要兼具前端网上购物和后台管理功能。

(1)前端购物系统业务需求分析。前端网上购物在微信端进行,需要借助微信公众开发平台实现。微信用户关注商城公众号,通过点击公众号的商城名菜单进入商城首页,浏览商品、查看详情、直接购买或者添加购物车、确认订单、提交订单、支付并完成购物流程。用户可以到个人中心页面对个人资料、收货信息进行增删改查等,到订单中心对订单列表和订单详情进行查看,对于已经完成的订单和取消的订单仍有记录的,提供删除订单记录功能。

(2)后台管理系统业务需求分析。提供3种角色:平台商(项目系统平台的开发商或者运营商)、第三方、供货商。这3种角色具有相对独立的业务管理权限。平台商角色用户主要业务功能:对后台系统管理页面的菜单进行维护、创建角色、为角色分配可操作的菜单权限、创建不同角色的登录用户、维护系统业务功能参数、创建其它两种角色的用户名和密码、财务结算业务等。第三方角色用户主要业务功能:添加商品、上架下架商品、查看订单、维护商城店铺名称及Logo等基本信息数据、增删改查供货商数据、查看客户等。供货商角色用户主要业务功能:查看订单、发货、维护库存等。

2.2.2数据流分析

本系统前端购物系统产生的主要业务数据是客户、商品、订单数据,这些数据统一存储在MyDB数据库中。微信openid与客户ID、公司等的对应和关联关系,以及OpenCustomer后台管理相关业务和系统数据也存储在MyDB数据库中。

图1表示系统业务数据流,微信用户的操作是购物业务数据产生来源,微信用户在浏览和购物等操作过程中请求客户、商品、订单等信息,网上购物系统响应请求后向OpenCustomer请求相关数据,并将数据返回给微信用户,然后根据需要在后台系统中创建客户、订单等,同时存储这些过程中产生的业务数据。系统也会在MyDB数据库中存入微信openid与OpenCustomer系统中的客户ID(openid)、公司(SHOPID)的映射关系,帮助系统通过微信openid查找相关联的業务数据。

图1系统业务数据

2.2.3业务流程分析

从用户购物下单到第三方销售人员处理订单和供货商发货的完整过程如图2所示,该图展现网上购物系统的主要业务流程。微信用户首次关注某家第三方商城微信公众号时,将该微信用户注册为该公众号对应的第三方商户的客户(默认普通会员);用户可在系统中浏览第三方商城店铺的商品,添加购物车,进行购物车结算;下单流程开始,进入确认订单页面后,填写备注,添加收货地址,默认选择微信支付并确认订单,然后提交订单。第三方销售人员在后台管理系统(OpenCustomer)中能够查看到用户订单,由供货商进行发货。

图2业务流程

2.2.4功能介绍

系统分为前端和后台管理两个模块。其中,系统管理、商品管理、订单管理和客户(会员)管理等模块构成了后台管理系统(OpenCustomer)。前端模块主要由3个模块组成:个人中心管理模块、购物车模块、微信公众号开发模块。

(1)前端模块功能描述。子模块一:个人中心模块的客户资料信息管理。该模块提供用户资料自我管理功能,包括昵称、电话、QQ、Email等的查看、修改,以及收货地址的增删改查等。子模块二:个人中心模块的订单管理。该模块帮助用户管理自己的订单,查看订单列表和订单详情并处理历史已完成订单、已取消订单。子模块三:购物车模块。该模块主要管理用户购物的整个流程,包括商品列表和商品详情的浏览、购物车管理、下单、完成订单、微信支付等。子模块四:微信公众号开发模块。该模块主要用于网上购物系统与微信服务器的通信交互,包括微信公众号接入服务、微信公众号菜单事件处理等,支持微信公众号与网上购物系统的协作运行。

(2)后台管理模块功能描述。该模块是为了让平台商、第三方和供货商管理员对系统、商品、订单、客户等进行统一管理。子模块一:系统管理模块。该模块让平台商管理员对系统菜单、系统参数等进行配置,对财务进行结算。子模块二:商品管理模块。该模块帮助第三方管理人员对商品进行配置和商品的添加、修改、删除、上架及下架。子模块三:客户管理模块。该模块下第三方管理人员可对客户进行维护。子模块四:订单管理模块。该模块帮助第三方管理人员和第三方的关系供货商对微信用户交易产生的订单进行查看和发货。endprint

猜你喜欢
推荐系统微信公众平台电子商务
《电子商务法》如何助力直销
电子商务
基于用户偏好的信任网络随机游走推荐模型
基于微信的大学生微型学习平台的设计与实现
基于微信公众平台的碎片化学习研究
关于加快制定电子商务法的议案