M站网上购物系统的设计与实现_第1页
M站网上购物系统的设计与实现_第2页
M站网上购物系统的设计与实现_第3页
M站网上购物系统的设计与实现_第4页
M站网上购物系统的设计与实现_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

IM站网上购物系统的设计与实现摘要随着科学技术的迅速发展,网上出现了各种各样的购物平台,智能手机普遍使用,大家可以足不出户买到自己心仪的商品。该系统定义为适用在手机浏览器中的互联网Web购物网站,系统所针对的人群是三四线城市的用户、及有实体店铺的商家,商家也可以使用手机替客户下单,同时会赚取相应的佣金;同时,店家也不用担心商品货物的积压,统一有网站提供方发货,降低风险,实现零投入、零库存、零成本。客户下单只需提供姓名、手机号、收货地址即可,商品即可邮寄到家的购物模式。购物网站使用SQLserver2012、VisualStudio2013软件进行开发完成。管理员可以通过该系统对商品信息、订单信息、用户信息、收货信息等进行检索及维护。商家可通过该系统维护店铺信息、用户信息,同时可对订单信息、收货信息进行检索。关键词:VisualStudio2013;SQLServer2012;MVC;ASP.NET;软件测试;

AbstractWiththerapiddevelopmentofscienceandtechnology,manyshoppingplatformshaveappearedontheInternet.Withtheriseanduseofsmartphones,everyonecanbuytheirfavoriteproductswithoutleavinghome.ThesystemisdefinedasanInternetWebshoppingsitesuitableforuseinmobilebrowsers.Thesystemtargetsusersinthird-andfourth-tiercitiesandbusinesseswithphysicalstores.Merchantscanalsousetheirmobilephonestoplaceordersforcustomersandearnmoney.Correspondingcommission;atthesametime,merchantsdon’tneedtoworryaboutthebacklogofgoods.Theyhaveaunifiedwebsiteprovidertodelivergoodstoreducerisks,andachievezeroinvestment,zeroinventory,andzerocost.Customersonlyneedtoprovidetheirname,mobilephonenumber,anddeliveryaddresstoplaceanorder,andthegoodscanbemailedhome.TheshoppingwebsiteisdevelopedusingSQLserver2012andVisualStudio2013software.Malladministratorscansearchandmaintainproductinformation,orderinformation,customerinformation,andreceiptinformationthroughthesystem.Merchantscanmaintainstoreinformationanduserinformationthroughthesystem,andcanretrieveorderinformationanddeliveryinformationatthesametime.[Keywords]:VisualStudio2013;SQLServer2012;MVC;ASP.NET;

SoftwareTest;

目录TOC\o"1-3"\h\u摘要 I目录 I前言 I1概述 11.1 本课题的目的和依据 11.2 课题的基本内容 11.2.1 登录页 11.2.2 商品列表 11.2.3 商品明细 21.2.4 我的购物车 21.2.5 下单支付 21.2.6 订单列表 21.3 课题的构想 21.4 系统开发环境 31.5 系统开发工具 31.6 系统相关技术 42系统需求分析与概要设计 52.1系统功能需求 52.2系统模块设计 62.3业务流程图分析与设计 72.3.1功能设计 72.3.2业务流程图 82.4数据库模型设计 82.5数据字典 102.5.1定义数据库表 102.5.2定义数据流 122.5.3定义数据处理 143系统的详细设计与系统实现 173.1总体流程设计 173.2登录流程设计 173.3用户管理流程设计 183.4商品管理流程设计 193.5商品下单流程图设计 203.6界面设计及实现 213.6.1登录界面设计 223.6.2商品列表页面设计 243.6.3购物车页面设计 303.6.4下单、支付页面设计 333.6.5商品管理页面 384系统测试 454.1软件测试概述 454.2软件测试的目标 454.3软件测试的方法 454.3.1白盒测试 454.3.2黑盒测试 464.3.3灰盒测试 464.4.主要功能模块测试 464.4.1商城登录页测试 464.4.2商品列表页测试 474.4.3购物车页测试 484.4.4订单结算、支付页测试 494.4.5商品管理页测试 50结论 52致谢 53参考文献 54前言随着互联网、智能手机的普及使用,网上购物已然成为一种大众消费的趋势,所以本网站就是为了实现用户可以在网上进行购物而开发的一套系统,管理员可以更新商品信息,可维护商家及用户信息,同时可以检索商城订单信息,方便用户不用出门即可买到称心如意的商品。VisualStudio是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。VisualStudio2013能够跨平台运行的ASP.NET5网站(包括Windows、Linux和Mac);集成了对构建跨设备运行的应用的支持(通过整合VisualStudioToolsforApacheCordova、以及用于跨平台库开发的全新VisualC#、VB工具);连接服务(ConnectedServices)体验更加轻松(可方便地在app中集成Office365、SalesForce和Azure平台服务)。所以,在这次的毕业设计中,我采用了VisualStudio2013作为开发工具,构建了一个能实现基本功能的网上购物系统——M站购物系统设计及实现。该系统能实现管理员、商家及普通用户登录功能;能实现管理员对商品信息的增、删、改、查的功能;以及商家和普通进行下单并支付的功能,同时可以查看订单相关信息;通过这次的毕业设计,我了解到当下流行的动态网站的构成和运行原理,并且掌握了使用VisualStudio构建动态网站的相关知识和技术原理,从而锻炼了自己的动手能力,对实现程序的代码更加熟练使用了。更重要的是,通过这次的毕业设计,我培养出了刻苦钻研的学习精神和严肃认真的学习态度,这对于我以后的学习和工作有很大的帮助。由于所学知识有限,时间紧迫,该网站还有许多不足之处,恳请老师们批评指正。1概述本课题的目的和依据随着科技迅速发展,网上出现了各种各样的购物平台,智能手机普遍使用,大家可以足不出户买到自己心仪的商品。该系统定义为适用在手机浏览器中的互联网Web购物网站,系统所针对的人群是三四线城市的用户、及有实体店铺的商家,商家也可以使用手机替客户下单,同时会赚取相应的佣金;同时,店家也不用担心商品货物的积压,统一有网站提供方发货。购物网站使用SQLserver2012、VisualStudio2013软件进行开发完成。管理员可以通过该系统对商品信息、订单信息、用户信息、收货信息等进行检索及维护。商家可通过该系统维护店铺信息、用户信息,同时可对订单信息、收货信息进行检索。课题的基本内容登录页登录用户有两种,店铺和普通用户;店铺登录到系统中,可以管理商品价格;普通用户登录后,可以查看商品、订单等信息;商品列表因为权限问题,所以不同用户登录到系统中,所呈现的商品列表内容不同;店铺登录后,在商品列表可以调整商品价格,但是不能删除商品信息,此商品信息是由公司统一上架售卖,故店铺是无删除权限,只可修改;而普通用户进入商品列表,可以将自己想买的商品加入购物车;商品明细商品详细页面,展示商品的图片、价格、规则、描述信息等,用户可以在此页面查看该商品的详细信息;在详细页面不只有图片轮播图效果,还可以在底部描述中查看商品的细节图片等;我的购物车购物车页面展示的是客户有意向的商品信息,同时也是客户自主选择的商品,客户把想要购买的商品加入购物车中,该页面也可以查看到商品的图片、商品的价格及商品购买的数量等信息;购物车中可以选择多个商品一起下单,在购物车底部可以看选中商品的总金额;如果不想购买的商品,用户可以选中商品,点击购物车底部删除按钮,进行删除,或者减少商品数量为0即为删除改商品。下单支付支付页面,显示商品所要支付总金额;选择支付方式进行支付、使用余额、或者使用第三方支付方式;订单列表 展示当前用户所购订单信息,可以查看订单明细,收货地址、金额、图片等信息;课题的构想用户可以与店家沟通商品价格,使用手机登录网站,选择商品进行下单购物,同时商家赚取相应的费用,用户也可以买到自己心仪的商品;同时,用户可以在订单管理页面查看自己所买的商品信息;同时网站会不定时推送一些公告信息,店家和用户登录到网站进行查看;系统开发环境使用服务器平台:Windows服务器是MicrosoftWindowsServerSystem(WSS)的核心,Windows的服务器操作系统。数据库:SQLServer2012:SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQLServer是由Microsoft开发和推广的关系数据库管理系统(RDBMS)。系统开发编程语言:C#,是一个现代的、通用的、面向对象的编程语言,开发工作使用.NET,这样就可以使用.Net框架提供的许多优点,如创建用户界面、访问数据等。C#代码是通过C#编译器编译成公共中间语言,也就是CLI。然后通过CLI再由虚拟执行系统编译成机器可识别码再执行。允许在不同的计算机平台中使用各种高级语言。同时C#编译器是微软中最主要的编辑器,只能在Windows系统中运行。系统开发工具开发工具:VisualStudio是微软公司推出的开发环境,是目前最流行的Windows平台应用程序开发环境。VisualStudio2013提供了全新的特性与更出色的功能,包括如Peek、CodeLens这样的创新编辑增强功能,为UI响应与能耗准备的诊断工具,对ASP.NET网页开发的重要更新,支持Git方式管理与敏捷的组合管理扩展ALM功能等等。除了MicrosoftSQLServer,它还支持IBMDB2和Oracle数据库。VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。系统相关技术网站开发所使用到的技术:ASP.NET、Spring、Mybatis、MVC、DIV+CSS、JQuery、JavaScript、SQLServer

2系统需求分析与概要设计需求分析是指在做网站项目之前,对所做的项目进行一个深入了解、提取、升华的过程,在需求分析阶段,要对确定的系统目标和功能做进一步的详细描述,以确定最终做什么。需求阶段可以分为调研和分析两小阶段,调研是需要我们充分的了解客户的目标、业务、流程等等,这是采集需求的过程,也是对我们做需求分析的前期准备工作。需求分析是指根据用户的需求、业务等等,转化为可操作的软件产品,从而提高用户的办事效率,并且解决一些线下操作不便的问题,进而得到用户的认可。需求分析主要任务是:分析用户的要求,并将软件功能和性能描述制作成具体的规格说明书,用于做评估软件质量的依据。需求分析的制定是项目开发的基础,关系到网站项目的成败。所以,必须使用有效的方法对项目进行开发,并进行严格的校验审查。2.1系统功能需求随着互联网、智能手机的普及使用,网上购物已然成为一种大众消费的趋势,所以本网站就是为了实现用户可以在网上进行购物而开发的一套系统,管理员可以更新商品信息,可维护商家及用户信息,同时可以检索商城订单信息,方便用户不用出门即可买到称心如意的商品。使用网上购物系统的用户,不受时间、不受空间的限制,可以随时随地进行网上购物,商品信息浏览、购物车中商品的增补、订单信息检索、用户信息的维护等。在这快速发展便捷的年代,网上购物已然成为一种趋势,减少的用户在线下购物途中往返时间,提高了用户的生活消费质量。2.2系统模块设计M站购物网站设计及实现的整体功能模块设计图,如图2-1所示。系统功能是根据不同的系统角色对应不同的功能模块进行划分的。管理员登录系统可以对商品、客户、功能等进行增、删、改、查等操作;店铺主要可对用户、订单、商品进行改、查操作;普通用户只能对个人信息进行维护,其余功能可进行查询操作。通过前面分析我们已经确认用户分为三类:管理员:管理店铺(客户)信息、权限、商品信息、订单信息、公告信息;店铺店主:普通用户管理、订单管理、商品价格管理、购物车、订单;普通用户:个人信息维护、订单管理、商品列表展示;图2-1网站功能模块图2.3业务流程图分析与设计2.3.1功能设计该网站主要完成以下功能:管理员的功能:登录:登录商品信息维护:查询、录入、编辑、删除订单信息维护:查询、编辑客户(店主)信息维护:查询、录入、编辑公告信息维护:查询、录入、编辑、删除 店主功能:店主登录:登录店主商品信息维护:查询、编辑店主订单信息维护:查询普通用户管理:查询、编辑 普通客户:客户登录:登录客户订单信息维护:查询个人信息维护:查询、编辑2.3.2业务流程图如图2—2所示:图2-2功能业务流程图2.4数据库模型设计E-R图是实体-联系图,用实体类型、属性及联系组成的概念模型,用来描述现实世界的模型。E-R图包括:1、矩形,表示实体。方框内写入实体的名称。2、椭圆,表示实体的属性。图形内为属性的名称。使用连接线将实体与属性关联起来。E-R模型接近于人的思维,浅显易懂,容易让人接受,故使用E-R模型作为用户与项目分析之间的工具。用户实体属性图2-4:图2-4用户实体属性图客户实体属性图2-5:图2-5客户实体属性图商品实体属性图2-6:图2-6商品实体属性图购物车实体属性图2-7:图2-7购物车实体属性图订单实体属性图2-8:图2-8订单实体属性图公告实体属性图2-9:图2-9公告实体属性图2.5数据字典2.5.1定义数据库表用户表字段名称数据类型字段大小索引是否可为空IDintNOUserCode(登录账号)Varchar8NOPassword(密码)Varchar10NOName(姓名)char20NOMobile(手机号)Varchar20NOEmail(邮箱)Varchar20NORoleType(角色类型)IntNOSex(性别)BitNO 客户表字段名称数据类型字段大小索引是否可为空UserCode(账号)Varchar8NOPassword(密码)Varchar10NOName(姓名)char20NOMobile(手机号)Varchar20NOEmail(邮箱)Varchar20NOCustomType(客户类型)IntNOAddress(客户地址)Varchar50Yes商品表字段名称数据类型字段大小索引是否可为空GoodsId(商品编码)Varchar8NOGoodsName(商品名称)Varchar50NOSalePrice(销售价格)DecimalNOPic(图片)Varchar50NOSpec(规格)Varchar20NODec(商品描述)VarchartextNOSKU(尺码)Varchar20NORealPrice(实际价格)DecimalNO购物车字段名称数据类型字段大小索引是否可为空ShopCartCode(购物车编码)Varchar20NOGoodsId(商品编码)Varchar20NORealPrice(实际价格)DecimalNOQuantity(数量)DecimalNOProfitPrice(盈利金额)DecimalNOSKU(尺码)Varchar20NOTotalPrice(商品总金额)DecimalNO订单表字段名称数据类型字段大小索引是否可为空OrderCode(订单编码)Varchar50NOGoodsTotalPrice(商品总金额)DecimalNOTotalPrice(订单总金额)DecimalNOConsignee(收货人)Varchar20NOMobile(手机号)Varchar20NOEmail(邮箱)Varchar20NOAddress(客户地址)Varchar50NOProfitPrice(订单收益)DecimalNORemark(备注)Varchar50Yes公告表字段名称数据类型字段大小索引是否可为空IDIntNOTitle(公告名称)Varchar20NOContent(公告内容)VarcharTextNOCreateBy(发布人)Varchar20NOCreateTime(发布时间)DatetimeNO2.5.2定义数据流编号名称组成来源去向D1.1用户信息录入登录账号+密码+姓名+手机号码+角色类型+性别管理员用户信息录入处理D1.2用户信息登录账号+姓名+性别+角色+手机号码管理员F1.1用户信息表D1.3用户信息查询登录账号/姓名/角色/手机号码F1.1用户信息表用户信息查询处理D1.4用户信息维护登录账号+姓名+性别+密码+手机号码F1.1用户信息表F1.2用户信息表D2.1客户信息录入账号+密码+手机号码+姓名+邮箱+客户类型+客户地址客户注册客户信息录入处理D2.2客户信息账号+手机号+姓名+邮箱+客户类型+客户地址管理员F2.1客户信息表D2.3客户信息查询账号/姓名/手机号/邮箱/客户类型/客户地址/注册时间F2.1客户信息表客户信息查询处理D2.4客户信息维护账号+姓名+手机号+邮箱+类型+客户地址F2.1客户信息表F2.2客户信息表D3.1商品信息录入商品名称+销售价格+图片+规格+尺码+商品描述+实际价格管理员商品信息录入处理D3.2商品信息商品编码+商品名称+销售价格+图片+尺码+商品描述+实际价格管理员F3.1商品信息表D3.3商品信息查询商品编码/商品名称F3.1商品信息表商品信息查询处理D3.4商品信息维护商品编码+商品名称+销售价格+图片+尺码+商品描述+实际价格F3.1商品信息表F3.2商品信息表D4.1公告信息录入公告名称+公告内容+发布人+发布时间管理员公告信息录入处理D4.2公告信息公告名称+发布人管理员F4.1公告信息表D4.3公告信息查询公告名称/发布人F4.1公告信息表公告信息查询处理D4.4公告信息维护公告名称+公告内容F4.1公告信息表F4.2公告信息表D5.1客户登录账号+密码F2.1信息表客户个人信息验证D5.2客户信息维护账号+密码+手机号+邮箱+详细地址F2.1客户信息表F4.2客户信息表2.5.3定义数据处理编号:P1.1输入的数据流:D1.1文件信息:F1.1输出的数据流:D1.2功能说明:用户信息录入,管理员录入用户信息。编号:P1.2输入的数据流:D1.3输出的数据流:D1.4功能说明:用户信息查询处理,管理员查询用户信息,查看用户是否在表。出错信息:出错后提示管理员编号:P1.3输入的数据流:D1.3文件信息:F1.2输出的数据流:D1.4功能说明:用户信息维护处理,管理员对用户信息进行新增、修改、删除、保存操作。出错信息:出错后提示管理员编号:P2.1输入的数据流:D2.1文件信息:F2.1输出的数据流:D2.2功能说明:用户信息查询处理,管理员查询用户信息,查看用户是否在表。编号:P2.2输入的数据流:D2.1输出的数据流:D2.2功能说明:用户信息查询处理,管理员查询用户信息,查看用户是否在表。出错信息:出错后提示管理员编号:P3.1输入的数据流:D3.1文件信息:F3.1输出的数据流:D3.2功能说明:商品信息录入,管理员录入商品信息。编号:P3.2输入的数据流:D3.3输出的数据流:D3.4功能说明:商品信息查询处理,管理员查询商品信息,查看商品是否在表。出错信息:出错后提示管理员编号:P4.1输入的数据流:D4.1文件信息:F4.1输出的数据流:D4.2功能说明:公告信息录入,管理员录入公告信息。编号:P4.2输入的数据流:D4.3输出的数据流:D4.4功能说明:商品信息查询处理,管理员查询商品信息,查看商品是否在表。出错信息:出错后提示管理员编号:P5.1输入的数据流:D5.1输出的数据流:D5.2功能说明:客户个人信息验证处理,进行系统登录。出错信息:出错后提示管理员

3系统的详细设计与系统实现3.1总体流程设计系统流程设计即通过制定统一的操作流程,完成系统需求分析中规定的所有功能。确定系统的实施方案,即系统的物理模型。系统总体流程图如图3-1所示:图3-1系统流程图3.2登录流程设计功能:实现商城店主、普通用户和管理员的登录功能。登录流程图如图3-2所示:图3-2登录流程图3.3用户管理流程设计功能:实现管理员对用户信息的增删改查功能。用户信息流程图,如图3-3所示:图3-3用户信息流程图3.4商品管理流程设计功能:实现管理员对商城商品的增删改查功能。商品信息流程图,如图3-4所示:图3-4商品信息管理流程图3.5商品下单流程图设计功能:店主、用户登录系统,选择商品加入购物车,填写收货人、电话、收货地址等信息,下单并进行支付。下单流程图,如图3-5所示:图3-5商品下单流程图3.6界面设计及实现

3.6.1登录界面设计功能描述:系统管理员、商城店主、用户需要输入正确的账号和密码才能登录成功。同时,登录时会校验账号和密码是否存在等。登录界面,如图3-6所示:图3-6登录界面主要代码:<scripttype="text/javascript">functionLogin(){varphone=$("#txtPhone").val();varpwd=$("#txtPwd").val();if(phone==""||phone==undefined){blackAlerts("请输入店主手机号!");returnfalse;}if(pwd==""||pwd==undefined){blackAlerts("请输入店主密码!");returnfalse;}varparam={userName:phone,pwd:pwd};$.ajax({"type":"Post","url":"DoLogin?t="+newDate().getTime(),"dataType":"json","data":param,"success":function(data){if(data.IsSuccess){window.location.href=data.Msg;}else{blackAlerts(data.Msg);}}});}</script>///<summary>///登录操作///</summary>[HttpPost]publicActionResultDoLogin(stringuserName,stringpwd,stringbackUrl=""){stringip=IPUtils.IPRealAddress;stringguid=newGuid().ToString();stringuserNameM=EncryptionUtils.EncryptByInterface(userName);ResultInforesultInfo=YeeYooMainService.TUserBLL.LoginForSOA(userNameM,StringUtils.MD5(pwd),ip,guid,(int)UserLoginTypeEnum.B端帐号登录);//resultInfo.IsSuccess=true;if(resultInfo.IsSuccess){TUserInfouserInfo=YeeYooMainService.TUserBLL.GetByLogonName(userNameM);if(userInfo!=null){TUserShopInfouserShop=YeeYooMainService.TUserShopBLL.Get(userInfo.UserId);if(userShop!=null){if(userShop.ShopManState==UserShopState.非店主){resultInfo.IsSuccess=false;resultInfo.Msg="您的手机号未注册亿有店主!";}elseif(userShop.ShopManState==UserShopState.已过期){resultInfo.IsSuccess=false;resultInfo.Msg="您的店铺使用权已经到期,请联系客服!";}elseif(userShop.ShopStopFlag){resultInfo.IsSuccess=false;resultInfo.Msg="登录失败!";}else{YeeYooMainService.TUserBLL.OnLoginSuccess(userInfo);//登录成功,清除地址cookie和session信息YeeYooMainService.TUserBLL.ClearOnLoginCookie();boolre=YeeYooMainService.TUserBLL.Update(userInfo);if(re){YeeYooLOGService.TUserOprateLogBLL.WriteOperateLog(userInfo.UserId,userShop.TrueName,UserOperateTypeEnum.登陆B,SystemEnum.SHOPWEB_M,"B端登录成功,修改用户最后登录信息",1);}if(!string.IsNullOrEmpty(backUrl)){resultInfo.Msg=backUrl;}else{resultInfo.Msg="/BoutiqueTemplate/index";}}}else{resultInfo.IsSuccess=false;resultInfo.Msg="您的手机号未注册店主!";}}}returnJson(resultInfo);}3.6.2商品列表页面设计功能描述:展示所有商品信息,可修改商品信息。商品列表界面,如图3-7所示:图3-7商品列表界面主要代码如下:[DefaultAuthorizeAttribute]publicActionResultAllGoodsIndex(HomePageParamParams){//获取店主登录信息varuserInfo=this.CurrentUser;varuserShop=this.CurrentUserShop;#region店主用户信息if(userInfo==null||userInfo.UserId==0||userShop==null||userShop.UserId==0){returnRedirectToAction("Login","User");}#endregion#region缓存筛选条件,如果是从GoodsDetail页面返回过来的,则加载上次筛选的内容//BackType=redirectbacktry{if(Request.QueryString["BackType"]=="redirectback"){HomePageParamnewParam=Session["AllGoodsIndex_Params"]asHomePageParam;if(newParam!=null)Params=newParam;}else{Session["AllGoodsIndex_Params"]=Params;}}catch{}#endregionif(Params.Sort==SortEnum.还原){Params=newHomePageParam();}vargoodsList=GetAllTGoodsInfoList(Params);varCategory=GetCaltaLog(1,0,1);ViewBag.GoodsList=goodsList;ViewBag.Param=Params;ViewBag.Category=Category;ViewBag.BrandList=YeeYooMainService.TGoodsBrandBLL.GetShopBrandListByCache(this.CurrentUserId);ViewBag.UserShop=userShop;returnView();}publicIList<TGoodsInfo>GetAllTGoodsInfoList(HomePageParamParams){IList<TGoodsInfo>goodsList=null;if(Params.SearchType==SearchEnum.搜索){intsortField=0;intorder=-1;intstopFlag=0;inthomePage=-1;intpageNum=Params.CurentIndex;intpageSize=Params.Row;//1000;intTotalCount=0;intshopStopFlag=0;intday=-1;intshowAll=1;stringcatalogId="";stringbrandId="";#region搜索参数赋值if(Params.Sort==SortEnum.默认){Params.Sort=SortEnum.新品降序;sortField=6;order=1;}elseif(Params.Sort==SortEnum.还原){sortField=3;order=0;}elseif(Params.Sort==SortEnum.价格升序){sortField=1;order=0;}elseif(Params.Sort==SortEnum.价格降序){sortField=1;order=1;}elseif(Params.Sort==SortEnum.利润升序){sortField=2;order=0;}elseif(Params.Sort==SortEnum.利润降序){sortField=2;order=1;}elseif(Params.Sort==SortEnum.新品升序){sortField=6;order=0;}elseif(Params.Sort==SortEnum.新品降序){sortField=6;order=1;}elseif(Params.Sort==SortEnum.销量升序){sortField=4;order=0;}elseif(Params.Sort==SortEnum.销量降序){sortField=4;order=1;}if(string.IsNullOrEmpty(Params.KeyWord)){Params.KeyWord="";}else{//设置keywordCookie#regionkeywordCookieHttpCookienewcookie=System.Web.HttpContext.Current.Request.Cookies["keyword"];if(newcookie==null){newcookie=newHttpCookie("keyword");newcookie.Expires=DateTime.Now.Add(newTimeSpan(7,0,0,0));newcookie.Value=HttpUtility.UrlEncode(Params.KeyWord,Encoding.GetEncoding("UTF-8"));;System.Web.HttpContext.Current.Response.Cookies.Add(newcookie);}else{vararry=HttpUtility.UrlDecode(newcookie.Value,Encoding.GetEncoding("UTF-8")).Split(newchar[]{','},StringSplitOptions.RemoveEmptyEntries).ToList();if(!arry.Contains(Params.KeyWord)){if(arry.Count>=10){arry.RemoveAt(0);}arry.Add(Params.KeyWord);newcookie.Value=HttpUtility.UrlEncode(string.Join(",",arry),Encoding.GetEncoding("UTF-8"));newcookie.Expires=DateTime.Now.Add(newTimeSpan(7,0,0,0));System.Web.HttpContext.Current.Response.Cookies.Set(newcookie);}}#endregion}#endregion#region商品分类赋值if(!string.IsNullOrEmpty(Params.CaltagLogs)&&Params.CaltagLogs!=",0,"){varcatlalogIds=Params.CaltagLogs.Split(newchar[]{','},StringSplitOptions.RemoveEmptyEntries);catalogId=string.Join("",catlalogIds.ToList().Where(c=>c!="0").ToArray());}intproperty=Params.Property!=null?Params.Property.Value:-1;#endregiongoodsList=YeeYooMainService.TGoodsBLL.GetSearchGoods(this.CurrentUserId,Params.KeyWord,sortField,order,stopFlag,homePage,pageNum,pageSize,shopStopFlag,catalogId,brandId,outTotalCount,day,showAll,property);Params.TotalRow=TotalCount;if(goodsList!=null){List<TGoodsProfitDetailInfo>SkuMinPriceToProfit;YeeYooMainService.TGoodsProfitDetailBLL.AssemblyGoods(goodsList,outSkuMinPriceToProfit,(int)Params.Sort);}}else{#region查询参数Hashtableparam=newHashtable();param.Add("StopFlag",0);param.Add("DeleteFlag",0);param.Add("IsFrontHidden",0);param.Add("ShopUserId",this.CurrentUserId);param.Add("GoodsType",GoodsTypeEnum.默认);param.Add("ShopSaleStopFlag",0);if(Params.Sort==SortEnum.还原){Params=newHomePageParam();}if(!string.IsNullOrEmpty(Params.CaltagLogs)&&Params.CaltagLogs!=",0,"){varcatlalogIds=Params.CaltagLogs.Split(newchar[]{','},StringSplitOptions.RemoveEmptyEntries);param.Add("CatalogIds",string.Join(",",catlalogIds.ToList().Where(c=>c!="0").ToArray()));}List<EnumberEntity>sortList=EnumberUtils.EnumToList<SortEnum>();stringorderBy=sortList.Where(s=>s.EnumValue==(int)Params.Sort).FirstOrDefault().Desction;Params.First=(Params.CurentIndex-1)*Params.Row;//(从第1页开始)#endregionintcount=0;goodsList=YeeYooMainService.TGoodsBLL.GetAllGoodsListByCache(param,orderBy,Params.First,Params.Row,outcount).ToList();Params.TotalRow=count;List<TGoodsProfitDetailInfo>SkuMinPriceToProfit;YeeYooMainService.TGoodsProfitDetailBLL.AssemblyGoods(goodsList,outSkuMinPriceToProfit,(int)Params.Sort);if(Params.Sort==SortEnum.利润升序){goodsList=goodsList.OrderBy(g=>g.MinPriceProfit).ToList();}elseif(Params.Sort==SortEnum.利润降序){goodsList=goodsList.OrderByDescending(g=>g.MinPriceProfit).ToList();}}returngoodsList;}3.6.3购物车页面设计功能描述:购物车展示出所有已加入购物车的商品,价格、数量、图片,通过数量和价格计算出所选商品的总金额。购物车页面,如图3-8所示:图3-8购物车页面主要代码: //加入购物车publicJsonResultAddGoods(intgoodsId,intskuId,boolisGroup,intcount){JsonResultrtnJson=newJsonResult();#region验证信息ResultInfo<int>resultModel=newResultInfo<int>{IsSuccess=false,Msg="添加到购物车失败"};intuserId=this.CurrentUserId;if(goodsId<=0||count<=0){resultModel.Data=-1;resultModel.Msg="非法参数";rtnJson.Data=resultModel;returnrtnJson;}TUserInfouserObj=YeeYooMainService.TUserBLL.Get(userId);if(userObj==null){resultModel.Data=-2;resultModel.Msg="非法用户";rtnJson.Data=resultModel;returnrtnJson;}#endregion#region添加数据到购物车//获取商品信息TGoodsInfogoodsObj=YeeYooMainService.TGoodsBLL.Get(goodsId);TUserCartDetailInfouserCartObj=null;if(goodsObj!=null){//最大可购买商品数量intmaxBuyGoodsCount=1000;TSystemParamInfoparamObj=YeeYooMainService.TSystemParamBLL.GetByKey("GoodsProfitConfig");if(paramObj!=null){maxBuyGoodsCount=JsonConvert.DeserializeObject<GoodsProfitConfigInfo>(paramObj.ParamValue).MaxCanBuyCount;}userCartObj=newTUserCartDetailInfo();//查购物车中是否已经存在此商品Hashtableparam=newHashtable();param.Add("GoodsId",goodsId);param.Add("SKUID",skuId);param.Add("UserId",userId);userCartObj=YeeYooMainService.TUserCartDetailBLL.Get(param);if(userCartObj!=null){userCartObj.GoodsCount+=count;if(userCartObj.GoodsCount>maxBuyGoodsCount){resultModel.Data=-3;resultModel.Msg="购买商品数量已超过可购买数量";rtnJson.Data=resultModel;returnrtnJson;}userCartObj.AddTime=DateTime.Now;boolbon=YeeYooMainService.TUserCartDetailBLL.Update(userCartObj);if(bon){YeeYooMainService.TUserCartDetailBLL.SetFirstLoadSession();SelCheckOutGoods(userCartObj.OrderDetailId,0);resultModel.IsSuccess=true;resultModel.Msg="添加到购物车成功";rtnJson.Data=resultModel;returnrtnJson;}}else{userCartObj=newTUserCartDetailInfo();userCartObj.GoodsId=goodsId;userCartObj.SKUID=skuId;userCartObj.Price=goodsObj.Price;//C端加入购物车时是销售价;B端加入购物车时就使用成本价userCartObj.GoodsCount=count;if(userCartObj.GoodsCount>maxBuyGoodsCount){resultModel.Data=-3;resultModel.Msg="购买商品数量已超过可购买数量";rtnJson.Data=resultModel;returnrtnJson;}userCartObj.AddTime=DateTime.Now;userCartObj.UserId=userId;intresult=YeeYooMainService.TUserCartDetailBLL.Insert(userCartObj);if(result>0){YeeYooMainService.TUserCartDetailBLL.SetFirstLoadSession();SelCheckOutGoods(result,0);resultModel.IsSuccess=true;resultModel.Msg="添加到购物车成功";}else{resultModel.IsSuccess=false;resultModel.Msg="添加到购物车失败";}rtnJson.Data=resultModel;returnrtnJson;}}#endregionreturnrtnJson;}//加载购物车publicActionResultAsynCart(){//获取购物车商品数据intuserId=this.CurrentUserId;IList<TOrderDetailInfo>odList=YeeYooMainService.TOrderDetailBLL.GetCartGoodsList(userId,OrderPlatFormEnum.微站后台触屏端,GoodsTypeEnum.默认,this.CurrentUserShop,"",1);if(odList==null||odList.Count<=0)returnView("EmptyCart");//可售卖商品IList<TOrderDetailInfo>canSaleOdList

温馨提示

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

评论

0/150

提交评论