版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
[2]。2.1.2经济可行性本系统的项目规模不大,因此不需要过多的人力资源,某些模块功能可能需要些许的经济投入。但是经济因素并不会影响本系统的开发,因此,具备经济可行性。2.1.3操作可行性本系统的前后端界面简单大方,布局明了合理,操作非常简单易懂,用户不需要观看教程,也无需经过培训就可以独立使用,完全具备操作可行性。2.2需求分析根据近几年网上拍卖业的发展,以及大众对网上购物拍卖的关注度和关注的方向,得出本网上拍卖管理系统的功能需求和性能需求。2.2.1功能需求(1)用户信息模块广大用户们使用本拍卖管理系统之前必须要登录或者注册用户信息,只有在登录或者注册后才能进行拍卖商品的浏览和挑选、竞购商品、参与支付、商品收藏和商品评价等一系列操作。管理员可查看会员用户的信息(例如姓名、密码等等);也可以对竞价商品的信息、竞价商品的分类和竞价成功的商品的订单进行管理。(2)拍卖商品模块发布拍卖商品。只有管理员才可以发布拍卖物品,在系统网站上发布竞购商品。设置好竞拍起始价、时间限制、加价幅度等等,填写关于物品的信息(例如商品品牌、新旧程度、商品价格等等)点击保存即可。(3)竞购商品模块用户可以根据自己的需求,在拍卖系统中搜索自己心仪想要的商品。搜索到用户想要的商品,就可在登录注册之后对商品进行竞拍,根据管理员设置的加价幅度,参加竞拍活动,然后判断是否竞价成功,商品详情模块可以看到参与竞拍过程用户的用户名及其竞拍价格和时间。(4)支付模块虚拟支付功能。登录或注册后,购买者挑选好需要的商品后便可以直接用虚拟支付功能结算提交订单。该模块将模拟真实的支付环境,使支付业务更加完善,系统更加完整。(5)拍卖商品订单模块用户在登陆或者注册后都可以通过订单查看自己的购买记录,包括竞拍成功或者失败。管理员则可以在后台更清楚直观的查看订单竞拍情况,给竞拍成功的用户发货,竞拍未成功的用户则退款,拍卖成功的用户还可以对该商品进行评价,给下一次参加该商品拍卖的人提供参考意见。(6)拍卖商品收藏模块商品收藏功能。用户碰见喜爱或者感兴趣的竞拍商品即可在特定时间内进行收藏与取消收藏操作。点击收藏,商品将收藏成功出现在收藏清单里,并且图标变成已收藏;点击取消收藏,则取消对该竞价商品的收藏。2.2.2性能需求因为本系统面向全体大众,需要在绝大多数用户的电脑上流畅运行,所以兼容各大主流浏览器,以满足用户需求。3开发技术介绍该小节是对网上拍卖管理系统的设计与实现进行的架构框架方面的详细分析以及得出相关的结论。2.1SpringBoot2018年3月SpringBoot的版本正式从1.x升级到了2.x。其内容包含全注解下的SpringIoC和AOP、数据库编程(JDBC、JPA和MyBatis)、数据库事务、NoSQL(Redis和MongoDB)技术、SpringMVC、Spring5新一代响应式框架WebFlux、互联网抢购业务、部署与监控、REST风格和SpringCloud分布式开发等。2.2MybatisMybatis是优秀的持久层框架,它能够支持普通的SQL查询、存储过程和高级映射,对于JDBC代码、参数以及结果集的检索Mybatis都不用再去手工设置,Mybatis通过使用注解或简单的XML来进行配置与原始映射,能够将接口和Java中的POJOs映射成数据库中的记录。Mybatis的功能架构可以分为三层:(1)API接口层:供给外部使用的接口API,项目开发人员能够通过这些本地API接口来操作数据库。当其接收到调用请求时就会去调用数据处理层来完成相应的数据处理过程。(2)数据处理层:它的主要作用是根据调用的请求完成对数据库的操作。负责具体的SQL查找、解析、执行以及执行结果的映射处理等。(3)基础支撑层:为数据处理层提供最基础的功能支撑,比如连接和事务管理、配置加载及缓存处理,能将这些公用的部分抽取出来作为最基础的组件。2.3EChartsECharts的设计是面向数据的,基于数据来驱动图形的生成,通过改变数据来改变图表的表现形式。通过合理的数据组织后,通过一个参数的变化就可以改变图表的表现形式。所谓的样式只是定义图形的点线面状态,数据组织才是关键。比如折柱饼图,甚至地图在ECharts里完全数据。4数据库的设计与实现4.1E-R图设计通过对本网上拍卖系统的需求与系统设计的分析,设计出网上拍卖系统所用的用户实体,管理员实体,商品类别实体,竞拍商品实体,商品订单实体,收货地址实体,评论实体,收藏实体。本网上拍卖系统的E-R图,具体如图3-2所示。图3-2E-R图4.2数据表设计(1)本网上拍卖系统的用户表,用于记录广大用户的信息,如表3-1所示。表3-1用户表(user)字段类型备注约束user_idint(10)用户编号主键,自增user_namevarchar(25)用户名notnulluser_nicknamevarchar(50)用户昵称notnulluser_passwordvarchar(50)用户密码notnulluser_realnamevarchar(20)真实姓名user_gendertinyint(1)用户性别notnulluser_birthdayuser_addressuser_homeplaceuser_profile_picture_srcidentitydatechar(6)char(6)varchar(100)varchar(255)出生日期地址编码居住地址用户头像身份证号notnullnotnullnotnull(2)本网上拍卖系统设计的一个商品类别表,用于区分商品的种类,如表3-2所示。表3-2竞价商品类别表(category)字段类型备注约束category_idint(10)类别编号主键,自增category_namecategory_image_srcvarchar(20)varchar(255)类别名称类别图片notnullnotnull(3)本网上拍卖系统设计的一个地址表,用于用户注册时家庭住址的填写以及用户竞拍商品成功后,发货地址的填写,如表3-3所示。表3-3地址表(address)字段类型备注约束address_areaIdchar(6)地址编号主键,自增address_nameaddress_regionIdvarchar(50)char(6)地区名邮政编码notnullnotnull(4)本网上拍卖系统设计的一个管理员表,用于储存管理员的信息,如表3-4所示。表3-4管理员表(admin)字段类型备注约束admin_idint(10)管理员编号主键,自增admin_nameadmin_nicknameadmin_passwordadmin_profile_picture_srcvarchar(25)varchar(50)varchar(50)varchar(255)用户名昵称管理员密码管理员头像notnullnotnullnotnull(5)本网上拍卖系统设计的一个收藏表,用于记录用户收藏的感兴趣的竞拍商品,如表3-5所示。表3-5收藏表(collection)字段类型备注约束idint(11)收藏编号主键,自增user_idproduct_idstatuscreate_dateint(11)int(11)varchar(255)varchar(50)用户编号商品编号收藏状态创建时间(6)本网上拍卖系统设计的一个商品表,用于储存竞拍商品的信息,如表3-6所示。表3-6商品表(product)字段类型备注约束product_idint(10)商品编号主键,自增product_nameproduct_titleproduct_priceproduct_sale_priceproduct_create_dateproduct_category_idproduct_isEnabledstart_dateend_datestepcurrent_priceuser_idpm_statusvarchar(100)varchar(100)decimal(10)decimal(10)datetimeint(10)tinyint(1)varchar(50)varchar(50)int(11)decimal(10)int(11)varchar(255)商品名称商品标题商品价格商品售价创建时间商品分类编号是否在售竞价开始时间竞价结束时间价格增幅当前价格最后加价人id是否停止拍卖notnullnotnullnotnullnotnull(7)本网上拍卖系统设计的一个商品图片表,用于储存竞拍商品的图片信息,如表3-7所示。表3-7商品表(product_image)字段类型备注约束productimage_idint(10)图片编号主键,自增productimage_typeproductimage_srcproductimage_product_idtinyint(1)varchar(255)int(10)图片类型商品图片所属的商品编号notnullnotnullnotnull(8)本网上拍卖系统设计的一个订单表,用于储存竞拍商品的订单信息,如表3-8所示。表3-8订单表(product_order)字段类型备注约束productorder_idint(10)订单编号主键,自增productorder_codeproductorder_addressproductorder_detail_addressproductorder_postvarchar(30)char(6)varchar(255)char(6)商品订单编号收货地址详细地址邮政编码notnullnotnullnotnull续表3-8字段类型备注约束productorder_receivervarchar(20)收货人姓名notnullproductorder_mobileproductorder_pay_dateproductorder_delivery_dateproductorder_confirm_datechar(11)datetimedatetimetinyint手机号码成交时间发货时间确认时间notnullproductorder_statusint(10)订单状态notnull(9)本网上拍卖系统设计的订单详情表,用于储存订单详情信息,是用户在付款前对竞拍商品的确认,用户还可以在订单详情中可对商家进行留言,如表3-9所示。表3-9竞价商品订单详情表(product_order_item)字段类型备注约束productorderitem_idint(10)订单详情编号主键,自增productorderitem_numbersmallint(5)订单数量notnullproductorderitem_pricedecimal(10)订单价格notnullproductorderitem_product_idint(10)商品编号notnullproductorderitem_order_idint(10)订单编号productorderitem_user_idint(10)用户编号notnullproductorderitem_userMessagecurrent_pricestatusvarchar(255)decimal(10)varchar(255)用户留言当前价格状态(10)本网上拍卖系统设计的分类属性表,用于储存分类属性信息,如表3-10所示。表3-10分类属性表(property)字段类型备注约束property_idint(10)分类属性编号主键,自增property_namevarchar(25)属性名称notnullproperty_category_idint(10)分类编号notnull(11)本网上拍卖系统设计的商品属性表,用于储存商品属性信息,如表3-11所示。表3-11商品属性表(propertyvalue)字段类型备注约束propertyvalue_idint(10)商品属性编号主键,自增propertyvalue_valuevarchar(100)商品属性notnullpropertyvalue_property_idpropertyvalue_product_idint(10)int(10)分类属性编号商品编号notnullnotnull(12)本网上拍卖系统设计的评价表,用于储存用户对竞拍商品的评价,只有竞拍到商品且确认收货的用户才能进行评价,因此表中设置了用户编号。如表3-12所示。表3-12评价表(review)字段类型备注约束review_idint(10)评价编号主键,自增review_contentmediumtext评价内容notnullreview_createdatereview_user_idreview_product_idreview_orderItem_iddatetimeint(10)int(10)int(10)评价时间用户编号商品编号订单详情编号notnullnotnullnotnull
5网上拍卖管理系统概要设计5.1系统功能和数据设计在对网上拍卖系统进行设计与实现时,需要对网上拍卖管理系统进行整体性的详细分析。本系统分为前后台系统,前后台系统都有若干个功能模块,本系统的每个模块之间或多或少的有所关联。将网上拍卖系统的前台系统分为7个模块来实现,后台系统分为5个模块来实现,使项目的整个架构更加完整,有利于代码的编写,便于后期人员的维护。本系统的整体功能结构如图3-1所示。图3-1整体功能结构图5.2系统用例图设计通过对网上拍卖系统的需求分析,规定了适合网上拍卖系统的角色。(1)用户角色的用例图主要是用来搜索商品信息、浏览商品信息、参与竞拍并评论和收藏操作、管理收藏信息和修改个人信息,具体信息如图3-3所示。图3-3用户用例图(2)管理员角色的用例图主要具有竞价商品详情管理、竞价商品分类管理、竞价商品订单状态管理、用户的信息查看以及管理员账户修改等等,具体信息如图3-4所示。图3-4管理员用例图5.3系统类图设计网上拍卖系统的类图主要描述了用户、商品类别、竞拍商品、竞价成功后的评论、收藏、后台管理员,商品订单,收货地址等实体类结构。(1)竞价商品类别类图,如图3-5所示。图3-5竞价商品类别类图(2)会员用户类图,如图3-6所示。图3-6会员用户类图(3)竞价商品类图,如图3-7所示。图3-7竞价商品类图(4)竞价商品收藏类图,如图3-8所示。图3-8竞价商品收藏类图(5)管理员类图,如图3-9所示。图3-9管理员类图(6)地址类图,如图3-10所示。图3-10地址类图(7)竞价商品订单类图,如图3-11所示。图3-11竞价商品订单类图6网上拍卖系统的详细设计与实现6.1用户信息模块的设计与实现6.1.1管理员后台商品管理(1)算法设计思路管理员在后台系统可以随时添加商品,成功添加商品后,商品会在前台上架显示,若添加失败,则在后台controller事务回滚;管理员也可以更新商品的信息,比如重新设置商品的价格增幅、竞价开始时间和竞价结束时间,在后台用List整合需要更新的产品属性;管理员也可以按商品的名字和竞价商品的标题来查询商品信息;管理员按ID删除商品图片并返回最新结果。(2)实现代码@RequestMapping(value="admin/product/{product_id}")publicStringupdateProduct(@RequestParamStringproduct_name){JSONObjectjsonObject=newJSONObject();Productproduct=newProduct().setProduct_id(product_id).setProduct_name(product_name).setProduct_sale_price(product_sale_price).setProduct_create_date(newDate());if(!StringUtils.isEmpty(userId)){product.setUserId(Integer.valueOf(userId));}if(!StringUtils.isEmpty(currentPrice)){product.setCurrentPrice(Double.valueOf(currentPrice));}product.setStartDate(startDate);product.setEndDate(endDate);booleanem=productService.update(product)}6.1.2管理员后台商品分类管理(1)算法设计思路管理员在后台系统可以随时添加商品分类并且按照条件查询分类。使用ajax整合添加商品分类后,分类会在前台主页面用轮播图显示,若添加失败,则在后台controller事务回滚;管理员在后台系统可以更新竞价商品的分类信息,例如重新设置竞价商品分类的类别及名称;管理员可以通过ajax上传分类文件图片,获取文件图片的上传路径。(2)实现代码@RequestMapping(value="admin/category",method=RequestMethod.POST")publicStringaddCategory(@RequestParamStringcategory_mname,){JSONObjectjsonObject=newJSONObject();Categorycategory=newCategory().setCategory_mname(category_mname).setCategory_uimage_src(category_uimage_src.substring(category_uimage_src.lastIndexOf("/")+1));booleanen=categoryService.add(category);if(en){intcategory_uid=lastIDService.selectLastID();jsonObject.put("category_uid",category_uid);}else{thrownewRuntimeException();}returnjsonObject.toJSONString();}6.1.3用户注册功能(1)算法设计思路用户在网上拍卖管理系统的前台填写好用户名、登录密码的信息等等,并且选择性别之后,点击注册按钮,若确认密码和密码不一致则不能注册,反之,向后台发送请求,请求参数包含了用户填好的个人信息,后台对应的controller方法接收页面传递过来的参数,利用方法判断用户填写的用户名是否存在,若存在则在用户名框右侧进行提醒;若不存在,调用service中添加会员用户的方法,service调用mapper中的方法往数据库中添加会员用户信息,最后后台将注册成功信息转发至登录页面,并提示用户登录。(2)实现代码@RequestMapping(value="register/doRegister")publicStringregister(@RequestParam(value="user_mname")Stringuser_mname,@RequestParam(value="user_mnickname")Stringuser_mnickname,@RequestParam(value="user_mpassword")Stringuser_mpassword,)throwsParseException{Integercount=userService.getTotal(newUser().setUser_mname(user_mname));if(count>0){returnobject.toJSONString();}Useruser=newUser().setUser_mname(user_mname).setUser_mnickname(user_mnickname).setUser_mpassword(user_mpassword).setUser_mgender(Byte.valueOf(user_mgender)).setUser_maddress(newAddress().setAddress_areaId(user_maddress)).setUser_mhomeplace(newAddress().setAddress_areaId("140000"));user.setIdentity(identity);if(userService.add(user)){//注册成功returnobject.toJSONString();}else{thrownewRuntimeException();}}6.2拍卖商品模块的设计与实现(1)算法设计思路只有管理员才可以发布拍卖商品,在后台系统网站上发布竞购商品。设置好竞拍起始价、时间限制、加价幅度等等,填写关于物品的信息(例如商品品牌、商品属性、商品价格等等),数据传递到controller,整合商品预览图片、详情图片和产品属性等等,若商品发布成功,则在后台显示新增商品的ID值,添加失败,则事务回滚。(2)实现代码@RequestMapping(value="admin/product")publicStringaddProduct(@RequestParamStringproduct_mname,){Productproduct=newProduct().setProduct_mname(product_mname).setProduct_mtitle(product_mtitle).setProduct_mcategory(newCategory().setCategory_mid(product_category_mid)).setProduct_create_date(newDate());product.setStartDate(startDate);product.setEndDate(endDate);product.setCurrentPrice(product_price);booleanem=productService.add(product);intproduct_id=lastIDService.selectLastID();JSONObjectobject=JSON.parseObject(propertyJson);Set<String>propertyIdSet=object.keySet();if(propertyIdSet.size()>0){List<PropertyValue>propertyValueList=newArrayList<>(5);for(Stringkey:propertyIdSet){Stringvalue=object.getString(key);PropertyValuepropertyValue=newPropertyValue().setPropertyValue_value(value).setPropertyValue_property(newProperty().setProperty_mid(Integer.valueOf(key))).setPropertyValue_product(newProduct().setProduct_mid(product_mid));propertyValueList.add(propertyValue);}em=propertyValueService.addList(propertyValueList);}("商品信息及其子信息添加成功!");jsonObject.put("product_mid",product_mid);returnok;}6.3竞购商品模块的设计与实现6.3.1用户竞价功能(1)算法设计思路用户可以根据自己的需求,在拍卖系统中搜索自己心仪想要的商品。搜索到用户想要的商品,就可在登录注册之后对商品进行竞拍,参加拍卖活动,然后判断是否竞价成功。在后台的service里,用for循环和和list获取所有付款没有结束的商品,并判断当前的商品是否竞价结束;竞价结束后,在订单处理数据,用if语句判断商品是否符合发货要求,将符合的改为“等待商家发货”,不符合的改为“已退款”。(2)实现代码@Override@Scheduled(cron="0/1****?")publicvoiddealPay(){//获取所有付款没结束的货物List<String>list=productOrderMapper.orderList();for(Stringid:list){//判断当前货物是否结束Integerover=productOrderMductIsOver(id);if(over!=0){ProductOrderorder=productOrderMductOrder(id);if(ObjectUtils.isEmpty(order)){continue;}ProductOrderproductOrder=newProductOrder().setProductOrder_id(order.getProductOrder_id()).setProductOrder_status((byte)1);productOrderMapper.updateOne(productOrder);ProductOrderrefund=newProductOrder().setProductOrder_id(order.getProductOrder_id()).setProductOrder_status((byte)8);refund.setProduct_id(id);productOrderMapper.updateNotIn(refund);}}}6.3.2获取商品最新价(1)算法设计思路当第一个用户参与竞拍,填写收货信息,支付成功之后,商品价格数值传到后台controller,用get方法获取产品ID和价格数据,界面刷新后,竞拍商品的价格会根据后台管理员设置的价格增幅自动提升,更新成为当前的最新价格。当下一位用户参与竞拍时,则会以当前最新价格参与竞拍,往复循环,直到后台管理员设置的竞拍时间结束。(2)实现代码@RequestMapping(value="currentPrice/{pid}")publicStringdetailWhoBy(HttpSessionsession,@PathVariable("pid")Stringpid){if(userId!=null){Useruser=userService.get(Integer.parseInt(userId.toString()));}Integerproduct_mid=Integer.parseInt(pid);Stringproduct=productService.getCurrentPrice(product_mid);JSONObjectjsonObject=newJSONObject();jsonObject.put("curPrice",product);returnjsonObject.toJSONString();}6.3.3显示参与竞拍的用户(1)算法设计思路每当一个用户参与竞拍,支付成功之后,竞拍商品的详情页自动更新,显示出每一个用户参与竞拍的昵称、竞拍时间以及竞购价格,竞拍过程完全公开透明,拒绝暗箱操作,使拍卖系统更加完善合理,用户的竞购体验升级。在后台controller层下,用if语句判断用户是否付款,查询支付成功的用户,将其竞购信息显示到前台界面。(2)实现代码@RequestMapping(value="whoBy/{pid}/{time}")publicStringwhoBy(HttpSessionsession,@PathVariable("pid")Stringpid,){Integerproduct_id=Integer.parseInt(pid);List<ProductOrder>productList=productService.whoBy(product_id,time);Stringbig=null;if(null!=productList&&0!=productList.size()){big=productList.get(0).getProductOrder_pay_date();for(inti=0;i<productList.size();i++){if(productList.get(i).getProductOrder_pay_date().compareTo(big)>0){big=productList.get(i).getProductOrder_pay_date();}}}if(null==big&&null!=time&&!"".equals(time)){big=time;}jsonObject.put("productOrder",JSONArray.parseArray(JSON.toJSONString(productList)));jsonObject.put("maxTime",big);returnjsonObject.toJSONString();}6.4支付模块的设计与实现(1)算法设计思路用户挑选好需要竞价的商品后便可以直接用虚拟支付功能结算提交订单。该功能将模拟真实的支付环境,使支付业务更加完善,系统更加。支付成功后通过订单项ID数组获取订单信息,检查订单项的合法建立,验证通过后用户才能填写收货地址,将收货地址等相关信息存入Cookie中,获取省份信息。填写个人信息之后,点击“支付”按钮将会跳转到支付页面,点击确认支付,即可支付成功。(2)实现代码@RequestMapping(value="order/pay/{order_ucode}")publicStringgoToOrderPayPage(Map<String,Object>map,HttpSessionsession,@PathVariable("order_ucode")Stringorder_ucode){ObjectuserId=checkUser(session);order.setProductOrderItemList(productOrderItemService.getListByOrderId(order.getProductOrder_mid(),null));if(order.getProductOrderItemList().size()==1){ProductOrderItemproductOrderItem=order.getProductOrderItemList().get(0);Productproduct=productService.get(productOrderItem.getProductOrderItem_mproduct().getProduct_mid());product.setProduct_category(categoryService.get(product.getProduct_category().getCategory_mid()));productOrderItem.setProductOrderItem_mproduct(product);orderTotalPrice=product.getCurrentPrice()+product.getProduct_sale_price();}else{for(ProductOrderItemproductOrderItem:order.getProductOrderItemList()){if(!StringUtils.isEmpty(productOrderItem.getStatus())&&productOrderItem.getStatus().equals("0")){orderTotalPrice+=productOrderItem.getProductOrderItem_uprice();}}}orderTotalPrice=Double.parseDouble(String.format("%.2f",orderTotalPrice));map.put("orderTotalPrice",orderTotalPrice);return"fore/productPayPage";}6.5拍卖商品订单模块的设计与实现6.5.1管理员管理订单功能(1)算法设计思路管理员可以在后台查看到用户的订单,可以按照自动生成的订单号或用户填写的邮政编码查询订单信息,也可以根据订单的不同状态查询订单信息,该模块还设置了ECharts统计图,在后台统计当月的拍卖总数量;管理员可以在后台给订单状态为“等待卖家发货”的买家用户发货,即参与竞拍出价最高的买家;竞拍未成功的买家则显示“交易关闭”或“竞价失败,已退款”的字样,且管理员无法为其发货。(2)实现代码@RequestMapping(value="admin/order/{order_mid}")publicStringupdateOrder(@PathVariable("order_mid")Stringorder_mid){ProductOrderproductOrder=newProductOrder().setProductOrder_delivery_date(newDate());booleanem=productOrderService.update(productOrder);if(em){jsonObject.put("success",true);}else{jsonObject.put("success",false);thrownewRuntimeException();}jsonObject.put("order_mid",order_mid);returnjsonObject.toJSONString();}@RequestMapping(value="admin/order/{index}/{count}")publicStringgetOrderBySearch(@PathVariableIntegercount){if(productOrder_status_array!=null&&(productOrder_status_array.length<=0||productOrder_status_array.length>=5)){productOrder_status_array=null;}if(productOrder_code!=null){productOrder_code="".equals(productOrder_code)?null:productOrder_code;}if(productOrder_post!=null){productOrder_post="".equals(productOrder_post)?null:productOrder_post;}ProductOrderproductOrder=newProductOrder().setProductOrder_code(productOrder_code).setProductOrder_post(productOrder_post);OrderUtilorderUtil=null;returnobject.toJSONString();}6.5.2用户查看订单功能(1)算法设计思路用户转到前台可以清楚直观的看见自己的订单信息,包括竞价成功、交易成功和确认收货等状态。用户参与竞拍后,在商品最后的竞拍时间之内,显示“已竞拍”;在竞拍活动结束后,若用户成功拍下商品,则在订单业面显示“等待卖家发货”;若未拍下商品,则显示“竞价失败,已退款”;若商家已发货,则会在用户订单页面显示“确认收货”按钮;用户确认收货后,则显示“交易成功”的字样。(2)实现代码@RequestMapping(value="order/{index}/{count}")publicStringgoToPage(HttpSessionsession,Map<String,Object>map){if(userId!=null){//获取会员用户信息user=userService.get(Integer.parseInt(userId.toString()));}else{return"redirect:/login";}Byte[]status_array=null;if(status!=null){status_array=newByte[]{status};}PageUtilpageUtil=newPageUtil(index,count);("根据用户ID:{}获取订单列表",userId);6.6拍卖商品收藏模块的设计与实现(1)算法设计思路商品收藏功能。用户碰见喜爱或者感兴趣的竞拍商品即可进行收藏与取消收藏操作。点击收藏,将商品收藏成功,并且图标变成已收藏。点击移除,则取消对该商品的收藏。点击“☆”进行收藏,通过controller判断用户是否收藏过该商品信息,若已收藏,将出现在收藏列表,若未收藏,则移除出列表;用户添加收藏或取消收藏时,页面都会弹出对应的提示信息,提高用户的体验感。(2)实现代码@RequestMapping("/add/{productId}")publicStringadd(HttpSessionsession){if(user!=null){List<Collect>list=collectionService.selectByProductId(user.getUser_id(),productId);if(list!=null&&!list.isEmpty()){return"0";}else{Collectclt=newCollect();clt.setUserId(user.getUser_id());clt.setProductId(productId);clt.setStatus("0");clt.setCreateDate(format.format(newDate()));collectionService.save(clt);}return"0";}else{return"-1";}@RequestMapping("/delete")publicStringupdate(Integerid){collectionService.update(id);return"0";}
7系统测试7.1系统测试目的在我们每完成一个小节代码的撰写时,都要进行测试,并且及时的改正。首先是因为我自身的水平不够高,在完成整个代码编写后再去测试,我可能无法找出错误所在,进而无法进行修改。其次,小节测试可以给我节省很多时间,能保证系统代码的正确率。网上拍卖系统的受众十分广泛,所以我们必须保证系统的完整性以及可操作性,如果系统bug很多的话,会影响竞买者和拍卖者的使用感受,因此也可断定这并不是一个成功的系统。另一方面,要对我们设计的功能进行测试,测试是否可以实现各个功能,使拍卖系统变成具有真正实用意义的系统。关于网上拍卖系统的测试,我们使用了测试用得最多的测试方法,即黑盒测试进行网上拍卖系统的测试。7.2测试用例用户登录功能测试,如下表5.1所示。表5.用户登录功能测试用例表用例名称测试功能操作操作过程预期结构测试结果用户登录模块测试正确输入用户信息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能家居用电施工合同
- 2024年建设用砂石料供应合同
- 04版离婚合同:三个孩子的抚养权、财产及赡养费约定
- 2024年度物业管理招投标及合同(04版)
- 2024工程设备租赁合同
- 伐木开荒劳务合同模板
- 安装维修简易合同范例
- 养鹅加盟合同范例
- 家畜购销合同范例
- 借款合同范例单位
- 阿基米德-人物介绍-最终最牛版
- 2022年全国高考体育单招考试语文押题卷模拟试题一(含答案解析)
- 大连理工大学《877经济学原理》历年考研真题汇编(含部分答案)合集
- 浙江省金华市兰溪市2023-2024学年五年级上学期期中语文试卷
- 第10课 多民族政权并立与元朝的统一【知识精研】 《中国历史》 中职中专 高效课堂课件
- 10人小公司规章制度
- 防腐木地板施工技术
- 社会主义发展史心得体会四篇
- 广东省佛山市2023年七年级上学期期中数学试题(附答案)
- 《创新创业基础-理论、案例与训练》教案 第8课 市场调查与分析目标市场
- 23J916-1:住宅排气道(一)
评论
0/150
提交评论