毕业论文-基于微信平台的校园微快递系统_第1页
毕业论文-基于微信平台的校园微快递系统_第2页
毕业论文-基于微信平台的校园微快递系统_第3页
毕业论文-基于微信平台的校园微快递系统_第4页
毕业论文-基于微信平台的校园微快递系统_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、江苏理工学院毕业设计说明书(论文)1 本科毕业设计(论文)本科毕业设计(论文)基于微信平台的校园微快递系统学院名称: 计算机工程学院 专 业: 软件工程 班 级: 11软件2Z 学 号: 姓 名: 指导教师姓名: 指导教师职称: 讲 师 二一五 年 六 月基于微信平台的校园微快递系统摘 要:近年来,随着微信的普及,越来越多的人开始使用微信。校园商品、服务交易仍采用面对面线下交易方式,这种方式不但不灵活,而且不符合当前这个信息化的时代。为了让同学们更加快速,便捷的得到想要的商品、服务及快递。设计并实现了“基于微信平台的校园微快递系统”,学生们可以通过微信订购自己需要的商品、服务及微快递,使得大学

2、生活质量有了一定的提高,让大学校园迈入了一个新的台阶。本设计说明书根据校园商品、服务及微快递订购的实际情况,详细介绍了校园微快递系统的设计和实现流程。系统运用软件工程原理和开发方法,通过可行性研究、需求分析、概要设计、详细设计等步骤进行分析和设计,并采用Spring框架、JQuery以及MySQL 5.0等技术设计与实现。同时,采用Eclipse作为开发工具进行开发。系统能够满足商品、服务交易的基本要求,包括用户管理、商店管理、商品、服务及快递O2O交易的快捷化和信息化管理等模块。关键词:微信开发,Spring,AJAX,MySQL,HTML52The campus micro express

3、 delivery system based on wechat platform Abstract: In recent years, with the popularity of wechat, more and more people began to use the wechat. Campus goods, services trade is still used at face line transactions, this approach is not only inflexible, but also does not meet the current era of info

4、rmation technology. To make students more quickly and easily obtain goods, services and courier want. Design and realization of the wechat platform based on campus micro express delivery system, students can order goods, service and micro express delivery they need through the wechat. The quality of

5、 university life has definitely improved, so that the campus entered a new level. The design specification based on the campus of goods, services and micro express delivery order, detailing the campus micro express delivery system design and implementation process.System uses software engineering pr

6、inciples,development methods, through feasibility studies, requirements analysis, preliminary design, detailed design, analysis and design steps and use Spring framework, technical design, implementation of JQuery, MySQL 5.0 and so on. At the same time, the use of Eclipse as a development tool for d

7、evelopment. The system can meet the commodity, the basic requirements of service transactions,including user management, store management,product, service, express delivery O2O transaction and information management modules.Key words: Wechat Development,Spring,AJAX,MySQL,HTML5 页 共 52 页引 言使用微信进行商品、服务

8、及微快递交易,使得大学生活质量提高,商家与用户也能够查询最新商品信息及服务等。使得整个服务流程更加系统、规范,在提高大学生活质量的同时,也让大学校园迈入了一个新的台阶。因此,开发一套结合线下商品、服务交易的校园微快递系统是绝对必要的。本系统可以改变传统的校园商品、服务及微快递的交易方式,减少大量的交易成本,并可以更加方便的管理订单。本系统设计开发使用B/S结构,利用Eclipse以及MySQL数据库完成设计开发,部分页面利用AJAX技术完成数据交互,利用SHA1加密技术保证用户数据的安全。至此,本设计说明书着重介绍了校园微快递系统的分析与设计过程,共分为6章。第1章概述,主要介绍了校园微快递系

9、统的开发背景、研究目标和内容;第2章可行性研究,主要介绍了系统技术和操作可行性;第3章需求分析,主要介绍了通过分析校园微快递系统的功能用例图、活动图等面向对象模型;第4章概要设计,包括系统的类图、顺序图以及MySQL数据库设计等内容;第5章详细设计,主要介绍开发前的准备以及各个功能的详细设计过程;第6章系统测试运行,主要介绍通过对本系统的运行进行测试,查看是否存在系统漏洞。 概 述1.1 系统开发背景目前校园商品、服务交易仍采用面对面线下交易方式,这种方式不但不灵活,而且不符合当前这个信息化的时代。唯有结合线上的交易,采用O2O模式进行交易,才能变得更加便捷可靠安全,同时也提高了同学们的生活质

10、量,因此开发校园微快递系统显得尤为重要。1.2 系统研究目标和内容面对当前校园商品、服务交易的现状,迫切需要一个信息化的校园微快递系统来为大学生提供方便的服务。所以,开发该校园微快递系统是满足市场需求的。本系统建立完善的业务流程和管理流程,用户可以通过本系统方便的进行交易,从而实现交易的便捷化。本系统采用B/S结构,基于其可管理性、易于部署、便于维护以及扩展性等众多优点,并且充分发挥该结构的跨平台能力,多层结构的升级和扩展的优势。因此,能够很好地完成系统所要求的全部功能基本的要求。包括:用户管理、商店管理、商品管理、下单、签收订单等功能。第2章 可行性研究2.1 技术可行性2.1.1 开发技术

11、微信开发微信1提供给开发者强大的API,使得微信开发者能够通过微信公众平台很好的开发出优秀订阅号的公众号及企业号,微信提供给开发者以下开发接口:接收和发送消息(包含文本消息、图片消息、语音消息、视频消息、小视频消息、地理位置消息、链接消息、图文消息)用户管理自定义菜单管理数据统计接口微信JS-SDK微信小店接口微信卡劵接口微信智能接口等微信开发支持多种语言,包含Java、PHP、ASP.NET、Ruby、Python、Note.js等,本系统采用的Java语言进行开发。AJAXAJAX2(AsynchronousJavaScriptAndXML)是异步JavaScript和XML。AJAX是通

12、过XmlHttpRequest对象完成对服务器端的异步请求,页面在不用重新加载的情况下,实现动态刷新,进而实现网页的动态化。在设计很多的动态网页时,常使用AJAX来完成。MVC 模式MVC3即Model-View-Controller的缩写,MVC是目前常用的软件设计模式。MVC是将应用程序关键功能和数据显示分离开来,最后使用控制器确保前两部分的同步。使得数据操作和用户界面可以单独开发,增强了程序的可维护性,减少开发周期。HTML5HTML 54增强了Web 网页的表现能力。并添加本地数据库等Web应用的功能。HTML5通常是指HTML、CSS和JavaScript的整合。Firefox(火狐

13、浏览器),IE9+版本,Chrome(谷歌浏览器),Safari,Opera等浏览器都能够对HTML5有很好的支持。CSS级联样式表5(Cascading Style Sheet)简称“CSS”,通常又称为“风格样式表(Style Sheet)”,它是用来进行网页风格设计的。通过设立样式表,可以统一地控制HTML中各标志的显示属性。级联样式表可以使人更能有效地控制网页外观。JavaScriptJavaScript6是一种很强大的网络脚本语言,它具有相对的安全性。HTML网页上添加动态功能一般都使用它来实现。JavaScript 被数百万计的网页用来改进设计、验证数据、动态效果等功能。JavaS

14、cript同时也是一种常用于客户端Web开发的脚本语言,各大浏览器对它都有较好的支持。JSON JSON7一是种比较轻量的数据交换格式,因为它常用于传递相对较少的数据。JSON与XML类似,对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用,一般常用eval()处理 JSON 字符串。JSON 可以将 JavaScript 中一组数据转换为字符串,进而在函数之间进行快递的传递数据。JQueryJQuery8是一个优秀的轻量级JavaScript 库。它不仅兼容CSS3,还在各种浏览器中运行稳定。通过使用JQuery,可以方便的实现动画效果和AJAX数据交互等功能,JQuery在许

15、多应用中被广泛的使用,网上有许多的案例和文档资料,其学习门槛较低,很容易入门,系统开发者可以使用JQuery提供的大量开发接口来完成自己的系统设计。2.1.2 开发环境本系统是在Windows 7操作系统下,使用微信对话框和内置浏览器完成前台显示,后台使用Firefox浏览器完成前台显示,系统运行在Tomcat 7.0服务器上,使用MySQL作为数据库搭建环境。本系统使用MVC开发模式,控制,视图和逻辑层相互关联,但又相互独立。2.2 操作可行性本系统严格按照校园商品、服务交易的正常流程开发。管理人员能够快速上手,并通过统计直观查看系统情况。在投入使用前,会由开发并能熟练操作本系统的工程人员对

16、用户群进行专业系统的培训。在开发设计程序的过程中,使用直观的界面和控件的文字,使得用户充分理解系统功能,所以本系统的操作是完全可行的。第3章 需求分析3.1 功能概况描述校园微快递系统的主要任务是:使用权限来划分和管理各个人员的功能,主要完成的是系统的规划与功能、性能分析与实现、的划分以及各个实现的功能等。校园微快递系统主要功能需求:一、用户信息管理主要包括四个子功能:1用户信息添加:管理员通过添加用户功能,填写新用户的姓名、密码等完成新用户的添加。2用户信息查询:管理员通过输入关键字对用户信息进行查询。3用户信息修改:管理员通过修改功能对某个用户的基本信息进行修改。4用户信息删除:管理员通过

17、删除功能对已经注册的用户进行删除。二商店管理主要包括五个子功能:1商店信息添加:管理员或商家通过添加功能,输入商店基本信息,即可完成商店的添加。2商店信息查询:管理员或商家通过查询功能,输入关键字对商店信息进行查询。3. 商店信息修改:管理员或商家通过修改功能,输入商店信息进行修改。4商店信息审核:管理员通过审核功能,查看商店信息后,进行审核。5商店信息删除:管理员或商家通过删除功能对已经添加的商店进行删除。商品管理主要包括五个子功能:1商品信息添加:管理员或商家通过添加功能,输入商品基本信息,完成商品的添加。2商品信息查询:管理员或商家通过查询功能,输入关键字对商品信息进行查询。3. 商品信

18、息修改:管理员或商家通过修改功能,输入商品信息进行修改。4商品信息审核:管理员通过审核功能,查看商品信息后,进行审核。5商品信息删除:管理员或商家通过删除功能对已经添加的商品进行删除。四、订单管理主要包括四个子功能:1订单创建:用户根据自己的需求,选择自己喜欢的商店、服务等,通过订单创建功能进行下单。2订单查询:用户根据自己的ID查询自己已下订单的状态信息。3订单取消:用户根据自己的需要,可在下单后对自己不想订购的商品、服务或微快递进行取消。4. 订单签收:用户根据自己是否收到商品,或,可以对订单进行签收操作。3.2 功能用例图及活动图1总用例图 根据需求分析可以得出以下总的系统用例图。图 3

19、-1 系统总用例图子用例图用例名称:用户管理执行者:管理员用例图:包含用例:用户信息添加,用户信息查询,用户信息修改,用户信息删除图 3-2 用户管理用例图对应用户管理活动图如3-3所示。在用户管理功能中,管理员可以选择执行四种操作,分别是:用户添加,用户查询,用户修改,用户删除。用户注册或绑定之后,管理员可以对用户进行查询,修改,及删除操作。同时,用户本身也可以对自已的个人信息进行查看与修改操作。图3-3用户管理活动图用例名称:商店管理执行者:商家用例图:包含用例:商店信息创建,商店信息查看,商店信息修改,商店信息删除图 3-4 商店管理用例图对应商店管理活动图如3-5所示。在商店创建功能中

20、,商家可以执行创建商店。在创建商店之后,商家可以对商店进行查看,修改,及删除操作。在完成创建之后,商店需要通过管理员的审核方可显示在微信端“校园微商城”页面中。图3-5商店管理活动图用例名称:商店审核执行者:管理员用例图:包含用例:商店信息查询,商店信息审核图 3-6 商店审核用例图对应商店审核活动图如3-7所示。在商店审核功能中,商家在完成商店创建后,管理员便可以查询到该商店的信息,判定商店符合要求后,管理员就可以对商店进行审核,商店一旦审核之后,就会显示在“校园微商城”的页面当中了。若该商店不符合要求,则不进行审核,当然管理员也可以对商店信息进行删除操作。图3-7商店审核活动图用例名称:商

21、品管理执行者:商家用例图:包含用例:商品信息创建,商品信息修改,商品信息删除图 3-8 商品创建用例图对应商品创建活动图如3-9所示。在商品创建功能中,商家可以执行商品创建。在创建商品之后,商家可以对商品进行修改与删除操作。在完成创建之后,商品需要通过管理员的审核方可显示在“校园微商城”页面中。图3-9商品管理活动图用例名称:商品审核执行者:管理员用例图:包含用例:商品信息查询,商品信息审核,商品信息删除图 3-10 商品审核用例图对应商品审核活动图如3-11所示。在商品审核功能中,商家在完成商品创建后,管理员便可以查询到该商品,判定符合要求后,管理员就可以对商品进行审核,商品一旦审核之后,就

22、会显示在“校园微商城”的页面当中了。若该商品不符合要求,则不进行审核,当然管理员也可以对商品信息进行删除操作。图3-11商品管理活动图用例名称:订单管理执行者:普通用户用例图:包含用例:订单信息创建,订单信息查询,订单信息取消,订单信息签收图 3-12 订单管理用例图对应订单创建活动图如3-13所示。在订单管理功能中,用户可以选择执行四种操作,分别是:创建订单,查询订单,取消订单,签收订单。在创建订单之后,用户可以对订单进行查询,取消,及签收操作。图3-13订单管理活动图第4章 概要设计4.1系统类图与顺序图1系统登陆图4-1 系统登陆类图由4-1静态类图可以发现,登陆过程中有两个类进行交互,

23、分别是LoginController类和AccountService类, 进一步可以得到顺序图,明确类与类之间的交互。如图4-2所示。图4-2 登陆顺序图2用户信息管理图4-3 用户信息管理功能类图由4-3静态类图可以发现,用户管理过程中有两个类进行交互,分别是UserController,User类, 进一步可以得到顺序图,明确类与类之间的交互。如图4-4所示。图4-4 用户信息管理顺序图3.商店管理功能图4-5 商店管理类图由4-5静态类图可以发现,商店管理过程中有三个类进行交互,分别是BussinessController类,User类,Bussiness类,进一步可以得到顺序图,明确类

24、与类之间的交互。如图4-6所示。图4-6 商店管理顺序图4商品管理功能图4-7 商品管理类图由4-7静态类图可以发现,商品管理过程中有两个类进行交互,分别是ProductController类,User类和Product类, 进一步可以得到顺序图,明确类与类之间的交互。如图4-8所示。图4-8 商品管理顺序图5订单管理功能图4-9 订单管理类图由4-9静态类图可以发现,订单管理过程中有两个类进行交互,分别是XorderController类,Xorder类,进一步可以得到顺序图,明确类与类之间的交互。如图4-10所示。图4-10 订单管理顺序图4.2数据结构与数据库设计4.2.1 基本实体表9

25、序号表名说明1user用户表,用于存放用户信息2bussiness商家表,用于存放商家特有信息 3producct商品表,用于存放具体商品信息4xorder订单表,用于存放订单信息4.2.2 数据库表设计10 表4-1用户表主要字段字段名说 明类 型是否为空主键id用户IDbigint否是openid微信IDvarchar否否 login_name用户帐号varchar否否password用户密码varchar否否phone_num联系方式varchar否否表4-2 商店表主要字段字段名说 明类 型是否为空主键id商店IDbigint否是user_id用户IDbigint否否name商店名称v

26、archar否否property商店类别varchar否否protocol商店协议varchar否否stat审核状态varchar否否表4-3 商品表主要字段字段名说 明类 型是否为空主键id商品IDbigint否是bussiness_id商店IDbigint否否name商品名称varchar否否price商品价格varchar否否description商品描述varchar否否image商品图片varchar否否stat审核状态varchar否否表4-4 订单表主要字段字段名说 明类 型是否为空主键id订单IDbigint否是user_id用户IDbigint否否product_id商品ID

27、bigint否否down_time下单时间varchar否否 rev_time签收时间varchar否否第5章 详细设计5.1开发准备本系统采用了Spring11框架开发了校园微快递系统。本系统采用的是B/S模式,即浏览器/服务器模式。在对MySQL数据库连接方面,会在perties配置文件中进行配置相关的连接信息,当系统发生改动的时候,只需要简单的修改perties配置文件的连接信息即可,增强了系统的可移植性。系统中会通过实体类来操作和数据库相关的数据,在代码的耦合性方面有了很好的提高。另外,由于本系统采用了MVC模式12,利用Controller将Model与View分离,能够很好地提高系

28、统的开发效率,增强程序的可维护性和拓展性。将perties文件部分配置,用于连接数据库文件: #mysql database settingjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql:/localhost:3306/xet?useUnicode=true&characterEncoding=utf-8jdbc.username=rootjdbc.password=1234565.2 用户管理5.2.1 商家注册1.界面设计商家可以在浏览器输入,点击注册按钮,填写相应信息后,即可完成注册。 图 5-1 商家注册界面2.后台处理与实现首

29、先,通过控制器RegisterController 的registerForm()方法返回用户注册页面,用户正确填写个人信息后,点击“提交”按钮,系统调用register()方法,使用随机生成的salt并经过1024次 sha-1 hash算法对用户密码进行加密后,将用户信息存入数据库中。 后台部分处理代码: /* 注册用户并写入数据库 */RequestMapping(method = RequestMethod.POST)public String register(Valid User user, RedirectAttributes redirectAttributes) / 调用注册

30、用户方法,写入数据库 accountService.registerUser(user); / 添加用户名至前台页面redirectAttributes.addFlashAttribute(username, user.getLoginName(); / 返回至登录页面return redirect:/login;/* 设定安全的密码,生成随机的salt并经过1024次 sha-1 hash */private void entryptPassword(User user) / 产生一个8位的随机盐byte salt = Digests.generateSalt(SALT_SIZE); / 对

31、随机盐简单进行编码方式的加密后存入实体类中user.setSalt(Encodes.encodeHex(salt); / 调用安全哈希算法,使用随机盐组合加密密码byte hashPassword = Digests.sha1(user.getPlainPassword().getBytes(), salt, HASH_INTERATIONS);user.setPassword(Encodes.encodeHex(hashPassword);代码 5-1 后台商家注册5.2.2 普通用户注册1.界面设计普通用户可使用手机微信关注“校园微快递”公众号(微信号:xywkd520)后,根据提示信息,

32、输入个人信息完成注册。当然,普通用户也可以通过商家注册方式完成注册。图 5-2 用户注册界面2.后台处理与实现用户注册通过控制器WechatController 的register()方法对用户完成注册,微信对话框端注册主要是通过对用户的text请求进行解析并处理,最终返回XML的消息。 后台校验处理代码: /* * 普通用户注册. */public void register() if(con.startsWith(绑定+)User user = new User(); / 设定学校名称user.setSchoolName(江苏理工学院);con = con.substring(con.in

33、dexOf(+)+1);tryif(accountService.findUserByOpenid(FromName)!= null)content = 您好,您已成功绑定,请解绑原先信息再绑定,谢谢使用!n 解绑格式:解绑;return getBackXMLTypeText(toName, FromName, content);catch(Exception e)e.printStackTrace();int flag=con.indexOf(+);user.setName(bs);flag=con.indexOf(+);user.setLoginName(user.getStuNum();

34、accountService.registerUser(user);ontent = 恭喜您绑定成功!;代码 5-2 用户注册5.2.3 管理员,商家登录1.界面设计管理员,或商家可以在浏览器输入,填写用户名及密码,点击登录按钮,即可登录到系统管理界面。 图 5-3管理员,或商家登录界面2.后台处理与实现管理员,商家的登录,系统会通过shiro13的FormAuthenticationFilter对用户填写的用户名及密码进行判断,如果成功则进入系统管理页面。 后台部分处理代码: /login = authc/wechat = anon /mbhome/* = anon /mblogin/* =

35、 anon/mbuser/* = anon/mbproduct/* = anon/mbxorder/* = anon/register/* = anon代码 5-3 后台管理员,商家登录5.2.4 普通用户登录1.界面设计普通用户可使用用户名(默认用户名为:学号)与密码进行登录,登录成功后即可进行相关的操作。 图 5-4普通用户登录界面2.后台处理与实现首先,后台通过控制器MbLoginController 的login()方法返回登录页面,用户点击“登录”按钮后,后台通过控制器中的myLogin()方法来处理用户登录,对用户的用户名及密码进行判断后,正确则返回个人管理页面。 后台处理代码:

36、/* 用户登录,并记录登录标记至sessionStorage */public void myLogin(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOExceptionPrintWriter out = response.getWriter();User user = new User(); / 获取用户的用户名String loginName = request.getParameter(loginName); / 获取用户的密码String password = re

37、quest.getParameter(password);user = accountService.findUserByLoginName(loginName); / 判断用户是否存在及用户名和密码是否匹配if(user != null & accountService.loginPassword(user, loginName, password)Map person = new HashMap(); person.put(userId, Encodes.encodeHex(user.getId().toString().getBytes();JSONObject jsonObject =

38、 JSONObject.fromObject(person); out.print(jsonObject);elseSystem.out.println(用户不存在);out.print();代码 5-4 后台普通用户登录5.2.5 用户管理1.界面设计管理员可在登录后点击右上角下拉框中的用户管理进入用户管理界面,在界面中,用户可以查看用户的基本信息,并可对用户进行,修改,删除等操作。 图 5-5 用户管理界面3.后台处理与实现首先,通过控制器UserAdminController 的list()方法返回用户管理列表页面,同时,页面还提供了修改用户和删除用户的功能。后台校验处理代码: /* 管

39、理员查询所有商家及普通用户信息*/public String list(Model model) List users = accountService.getAllUser();model.addAttribute(users, users);return account/adminUserList.jsp;代码 5-5后台用户管理5.2.6 商家个人信息1.界面设计商家可在登录后点击右上角下拉框中的“个人信息”查看和修改自己的个人信息。 图 5-6 个人信息界面2.后台处理与实现通过控制器ProfileController 的updateForm()方法来返回个人信息修改页面,用户修改完信

40、息后,点击“提交”按钮,系统调用update()方法来处理修改请求,并更新数据库个人信息。 后台校验处理代码: /* 对用户信息进行更新 */RequestMapping(method = RequestMethod.POST)public String update(Valid ModelAttribute(user) User user,HttpServletRequest request) System.out.println(进入更新);String RealPath = request.getSession().getServletContext().getRealPath();St

41、ring userPath = RealPath+ /static/images/user/+user.getId();System.out.println(地址+userPath);MultipartFile headImageFile = Fileupload.fileupload(request, userPath, headImageFile,headImageFile.jpg);MultipartFile identityImagesFile = Fileupload.fileupload(request, userPath, identityImagesFile, identity

42、ImagesFile.jpg);user.setHeadImage(/static/images/user/+user.getId()+/+ headImageFile.jpg);user.setIdentityImages(/static/images/user/+user.getId()+ /+identityImagesFile.jpg);accountService.updateUser(user);updateCurrentUserName(user.getName();System.out.println(更新完毕);return redirect:/;代码 5-6后台个人信息5.

43、2.7 普通用户个人信息1.界面设计普通用户可在“校园微快递”公众号中点击“微菜单”上的“个人信息”查看自己的个人资料,或者可以点击“微商城”进入“校园微快递”公众号网页端,点击“我”查看个人信息。界面如图5-7及5-8所示。 图 5-7 个人信息界面(微信对话框版) 图 5-8 个人信息界面(微信网页版)2.前台页面前台页面主要使用HTML5+CSS+JS 及JQuery Moblie 完成,采用listview显示用户个人信息,前台数据使用AJAX请求后台数据获得。 1.前台部分代码: 学校: 学号: 姓名: 宿舍号: 手机号: 积分: 前台AJAX请求$(function() $.aja

44、x( type:POST, url:/mbuser/myinfo, data:userId=+userId, complete:function(data) jsonobj = data.responseText; / 将json格式字符串处理成json对象数组 dataObj=eval(+jsonobj+); / 对指定id为schoolName的span添加数据 document.getElementById(schoolName).innerHTML=dataObj.schoolName; document.getElementById(stuNum).innerHTML=dataObj

45、.stuNum; document.getElementById(name).innerHTML=dataO; document.getElementById(credit).innerHTML=dataObj.credit; ); );代码 5-7 前台个人信息3.后台处理与实现微信对话框端通过用户的按钮请求处理,调用WechatController的userInfo()方法返回用户个人信息。微信网页端通过MbUserController的myinfo()方法返回用户个人信息。 后台处理代码:微信对话框端User user = accountService.findUserByOpenid(

46、FromName);content = 个人信息n 学校 : + user.getSchoolName() +n 姓名 : +user.getName()+n 学号 : +user.getStuNum() +n 收货地址: + user.getAddress() +n 手机号 : + user.getPhoneNum() +n 积分: +user.getCredit();returnStr = getBackXMLTypeText(toName, FromName, content);微信网页端 /* 用户个人信息查询 */public void myinfo(HttpServletReque

47、st request,HttpServletResponse response) throws ServletException, IOExceptionPrintWriter out = response.getWriter();User user = new User();String userId = request.getParameter(userId);userId = new String(userId);if(user != null)Map person = new HashMap(); person.put(schoolName, user.getSchoolName();

48、 person.put(loginName,user.getLoginName();person.put(name, user.getName(); person.put(phoneNum,user.getPhoneNum();person.put(openid,user.getOpenid();person.put(credit,String.valueOf(user.getCredit(); / 将Map类型的数据转换成jsonObject类型的数据JSONObject jsonObject = JSONObject.fromObject(person); out.print(jsonOb

49、ject);elseout.print();代码 5-8后台个人信息5.3 商店信息管理5.3.1商店管理1界面设计管理员可点击商店管理查看所有商店(如图5-9),而商家点击我的商店则仅可以查找自己的所有商店(如图5-10),在商店列表中可点击“创建商店”或“我要开店”创建新的商店(如图5-11)。新的商店必须在审核成功后方能在“校园微快递”公众号的微商城中显示。图5-9 商店管理页面(管理员)图5-10 商店管理页面图5-11 商店创建页面2.后台处理与实现通过控制器BussinessController的list()方法返回对应的商店列表。通过create()方法实现创建商店功能,通过up

50、date方法实现更新商店功能,通过delete()方法实现删除商店功能。通过verify()方法实现审核商店功能。 1.后台处理部分代码: /* 完成商店创建功能,并返回至检索页面 */RequestMapping(value = create, method = RequestMethod.POST)public String create(Valid Bussiness newBussiness, Model model,HttpServletRequest request, RedirectAttributes redirectAttributes) / 获取服务器的绝对URL,用于拼接

51、上传的文件路径String RealPath = request.getSession().getServletContext().getRealPath();User user = new User(getCurrentUserId();newBussiness.setUser(user);bussinessService.saveBussiness(newBussiness);String bussProtocolPath = RealPath+ /static/images/+ newBussiness.getProperty()+/+newBussiness.getId() +/Pro

52、tocol; / 调用fileupload 进行上传操作MultipartFile mFile = Fileupload.fileupload(request, bussProtocolPath, fileUpload1,protocol.jpg);String bussImagePath = RealPath+ /static/images/+ newBussiness.getProperty()+/+newBussiness.getId() +/Bussiness;MultipartFile imageFile = Fileupload.fileupload(request, bussIm

53、agePath, fileUpload2,bussiness.jpg);newBussiness.setProtocol(/static/images/+ newBussiness.getProperty()+/+newBussiness.getId() +/Protocol/+ protocol.doc);newBussiness.setImage(/static/images/+ newBussiness.getProperty()+/+newBussiness.getId() +/Bussiness/+ bussiness.jpg );/ 状态0,表示未经过管理员审核 newBussin

54、ess.setStat(0);bussinessService.saveBussiness(newBussiness);redirectAttributes.addFlashAttribute(message, 创建商店成功);return redirect:/bussiness/;/* 实现文件上传功能的部分代码 */public class Fileupload public static MultipartFile fileupload(HttpServletRequest request,String path, String file, String filename) File f

55、iles = new File(path);/ 通过path创建远端服务器文件 files.mkdirs(); / 把从页面获取的request转换为文件数据 MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; / 从文件数据中获取fileUpload的文件信息 mFile = multiRequest.getFile(file); String filename = mFile.getOriginalFilename(); / 创建文件输入流 inputStream = mFile

56、.getInputStream(); byte b = new byte10485760; int length = inputStream.read(b); path += / + filename; / 文件流写入到服务器端 outputStream = new FileOutputStream(path); outputStream.write(b, 0, length); return mFile;代码 5-9后台商店管理5.3.2商店列表1界面设计(微信网页版)普通用户可点击“校园微快递”微商城按钮,进入“校园微商城”,在微商城中,用户可浏览已经审核的商店。如图5-12及5-13所示

57、。 图5-12 微商城页面 图5-13 微服务页面2.后台处理与实现通过控制器BMbHomeController的listwsc()方法处理并返回对应的商店列表14。 后台处理部分代码:/* 查询所有已经通过审核的商店 */public void listwsc(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOExceptionPrintWriter out = response.getWriter();/ 获取当前用户List bussinesss = bussinessS

58、ervice.getBussinessByPropertyAndStat(微商城, 1);JSONArray jsonarray = new JSONArray();for(Bussiness bussiness:bussinesss)Map bizs = new HashMap();bizs.put(id, bussiness.getId().toString(); bizs.put(name, bussiness.getName(); bizs.put(image, bussiness.getImage(); / 将Map类型的数据转换成jsonObject类型的数据 JSONObject

59、 jsonObject = JSONObject.fromObject(bizs); / 将jsonObject添加到jsonarray jsonarray.add(jsonObject);out.print(jsonarray);out.flush();out.close();代码 5-10后台商店列表5.4 商品信息管理5.4.1商品管理1界面设计管理员或商家或点击商店列表最右边的“商品管理”可查看本商店下所有创建的商品列表,同时可以在所选择的商店下进行商品的创建,修改,删除等操作。商家创建或修改商品后必须经过审核后方能显示在“校园微快递”的微商城中。商品管理页面如图5-14所示,商品创建

60、页面如图5-15所示。图5-14 商品管理页面图5-15 商品创建页面2.后台处理与实现通过控制器ProductController的list()方法返回对应的商品列表。通过create()方法实现创建商品功能,通过update方法实现更新商品功能,通过delete()方法实现删除商品功能。通过verify()方法实现审核商品功能。使用user.getRoles()判断权限并处理请求。 后台处理部分代码:/* list()方法查询商品后返回至页面 */public String list(PathVariable(bussinessId) Long bussinessId) String so

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论