收藏 分销(赏)

零售药店管理系统的设计与实现样本.doc

上传人:a199****6536 文档编号:4009291 上传时间:2024-07-25 格式:DOC 页数:45 大小:2.18MB 下载积分:12 金币
下载 相关 举报
零售药店管理系统的设计与实现样本.doc_第1页
第1页 / 共45页
零售药店管理系统的设计与实现样本.doc_第2页
第2页 / 共45页


点击查看更多>>
资源描述
基于WEB零售药店管理系统设计和实现 摘要:伴随中国市场经济发展和大家对医药产品需求快速增加,医药行业正处于一个高速发展时期,因以往药店关键是以人工统计模式登记药品信息,销售信息等,所以对于管理药品信息和数据纷乱复杂,整理统计费力费时。要做好对药店管理,药店就必需快速正确地获取自己所需信息,这就要求立即统计数据并方便查看,和对药品数据信息进行维护,基于此我们开发了零售药店管理信息系统。 本系统基础遵照软件工程方法论进行系统分析、总体设计、具体设计和软件测试。采取ASP.NET 技术作为创建应用程序方法,以C#作为编程语言,采取SQL Server 数据库作为后台数据库。它是基于Browser/Server结构下形成数据驱动Web应用程序。 关键词:ASP.NET; 零售药店; SQL Server;药品信息 The web-based retail pharmacy management system of design and implementation Abstract:As China's market economy development and people's demand for the rapid increase in pharmaceutical products, the pharmaceutical industry is in a period of rapid growth, mainly due to the past, pharmacy drug information manual recording mode, registration, sales information, so the drugs for the management of information and chaotic data, collate statistics laborious and time-consuming. To make the management of the pharmacy, pharmacies must quickly and accurately obtain the information they need, which requires timely statistical data and for easy viewing, as well as data on maintenance drugs, on this basis, we developed a retail pharmacy management information system. The system basically follows the software engineering methodology for system analysis, overall design, detailed design and software testing. It use of technology to create the application, # as a programming language, the database as the background database server. It is based on Browser / Server structure, formed under the data-driven Web applications. Key words: ASP.NET, retail pharmacies, SQL Server, drug information 目 录 第1章 概 述 1 1.1 开发背景 1 1.2 项目提出意义 1 1.3 系统开发方法 2 1.4 系统开发工具 2 1.4.1 IIS介绍 2 1.4.2 C#介绍 3 1.4.3 ASP.NET介绍 3 1.4.4 数据库介绍 3 第2章 需求分析 5 2.1 可行性分析 5 2.2 数据库需求分析 6 2.3 系统目标 6 2.3.1 合理设计数据库 6 2.3.2 设计出友好界面 6 2.4 本系统所实现功效 6 2.4.1 管理员管理模块应实现功效 7 2.4.2 操作员管理模块应实现功效 7 第3章 系统总体分析 8 3.1 基础介绍 8 3.2 运行环境 8 3.3 数据字典 8 3.4 E—R图 10 3.5 关键模块步骤图 13 3.5.1操作员维护步骤图 13 3.5.2药品信息管理步骤图 13 第4章 系统程序实现 15 4.1 login(系统主界面) 15 4.2 管理员管理模块 16 4.2.1 操作员信息维护列表 16 4.2.2 药品信息管理模块 18 4.2.3 库存信息设置 22 4.2.4 进货信息查询 24 4.2.5 药品销售日报表 25 4.3 操作员管理模块 27 4.3.1 药品进货管理 27 4.3.2 药品收银管理 29 第5章 软件测试 32 5.1测试概述 32 5.1.1 测试概念及意义 32 5.1.2 测试特征 33 5.1.3 测试关键性及范围 33 5.2系统测试 34 结论和总结 35 致谢 36 参考文件 37 第1章 概 述 1.1 开发背景 在现今社会中,医药行业是一个发展快速行业,每个不一样药店管理机构全部要有适合自己业务软件管理系统,这么才能有效提升工作效率,不停地扩大企业经营规模。而康泰药店现在并没有适合自己管理系统,现在仍需要手工作业管理工作,比如在药品库存管理方面有很多不足,药品入库时需要手工统计入库数量,这种统计相比较而言可能还会轻易些,但当进行实际库存量和应有库存量进行查对时很复杂。不仅在这方面有很大欠缺,在职员管理方面也存在很多不足,所以要想继续发展就必需开发一个适合该药店管理系统。 1.2 项目提出意义 为了提升工作效率、处理现存系统中问题,我们急需开发一个新、适合实际情况需要管理系统,有了这么一个管理系统,不仅能处理现存管理问题,还能有效降低人工作业。 在应用了该管理系统后,原有手工统计将完全被替换,这不仅仅能够提升工作效率,而且还能够提升工作正确性,降低无须要损失;应用了该系统后,系统智能化功效能够为药店提供需要进货药品清单,这么能够愈加方便、立即了解到需要采购药品,立即进货,避免了药品缺货现象,从另一个角度考虑,这么还能够增加营业额,提升收入,为深入发展扩大业务做好充足准备;在应用了该系统后,能够提升全体工作人员本身素质,在系统各个模块中,需要不一样工作人员来进行管理,在对现代化软件系统管理和利用同时会发觉很多本身不太了解、甚至一无所知问题,为了处理这些问题,愈加好投入工作,职员会利用自己业余时间学习、充实自己,同时也会走出部分思想误区,提升本身修养。该管理系统对药店影响及未来发展起着至关关键作用。 1.3 系统开发方法 现在,网络应用软件运行模式关键有二类:Client/server模式,Browser/Web模式。前者关键缺点是维护、升级较麻烦,后者是近几年伴随Internet快速发展起来一个技术,它和用户/服务器方法类似,用户端是一个标准浏览器,服务器端是Web Server ,而Web Server和数据库和应用服务器紧密结合,使得这种模式应用范围不停扩大,它已不仅仅用于网上查询,有很多部门业务系统、企业MIS系统纷纷采取这种模式,它关键优点是便于扩充应用、升级维护简便。 另外,零售药店管理系统软件也必将不停更新;同时软件产品本身就要经过一个不停自我完善过程。 基于上述考虑,用Browser/Web模式来设计零售药店管理系统比较适宜,服务器端我们采取SQLServer数据库系统和ASP组件来组成评定维护应用服务系统;用户端采取浏览器来完成在线评定全过程,同时可进行远程系统维护和管理。 1.4 系统开发工具 该系统在Microsoft Server环境中开发,采取了现在很流行Browser /server三层结构软件结构技术,前台页面系统采取ASP.NET开发,后台管理系统采取SQL server 作为数据库系统(关键采取了C#语言) 1.4.1 IIS介绍 IIS是Internet Information Server缩写,它是微软企业主推服务器,最新版本是Windows里面包含IIS 6,IIS和Windows NT Server完全集成在一起,所以用户能够利用Windows NT Server和NTFS(NT File System,NT文件系统)内置安全特征,建立强大,灵活而安全Internet和Intranet站点。IIS支持ISAPI,使用ISAPI能够扩展服务器功效,而使用ISAPI过滤器能够预先处理和事后处理储存在IIS上数据。 1.4.2 C#介绍 现在ASP.NET支持开发语言包含VB.NET、C#.NET、JSCRIPT.NET、VC++.NET和其它.NET Framework所支持语言。我们所做学生档案管理系统是用C#语言。所以,在这里我介绍一下C#语言。 C# (C sharp)是一个最新、面向对象编程语言。它使得程序员能够快速地编写多种基于Microsoft .NET平台应用程序,Microsoft .NET提供了一系列工具和服务来最大程度地开发利用计算和通讯领域。 1.4.3 ASP.NET介绍 ASP.NET有以下技术特点: Microsoft .NET平台出现在应用程序开发这一领域开创了一个新时代,它将推进下 一代Internet进步。作为Microsoft .NET平台一部分,ASP.NET是一个革命性编程框架,它实现了企业级Web应用程序快速开发。它提供了最简便、最含有扩展能力方法来开发、布署和运行能够将任何浏览器或设备作为目标Web应用程序。实际上,这只是令ASP.NET成为程序员创建Web应用程序首选众多特色中一小部分。 除了常见Web应用程序,利用ASP.NET还能够创建其它部分类型,这就使我们应用程序范围能够延伸到新用户和业务合作伙伴。 对程序员来说,布署服务器应用程序一直是一件很痛苦事。不过,有了ASP.NET,程序员根本无须担心这个问题,因为ASP.NET大大简化了布署过程。要布署Web应用程序,只要把它复制到Web服务器上就能够了。 除了提供了丰富程序员这方面经验,ASP.NET还提供了丰富用户经验。ASP.NET Web应用程序比传统ASP应用程序速度要快很多,因为ASP.NET令我们能够使用经过编译编程语言。所以,ASP.NET应用程序不需要明确编译步骤,结果便是实施得愈加快了。 1.4.4 数据库介绍 伴随科学技术进步,信息已成为各行各业关键资源。数据库以其强大操作和管理功效成为高速信息表示途经。据我所知,数据库类型有很多,如:"SQL server", "vf","framework","access", "Oracle""MySQL""SYBASE""DB2"等等,然而本软件选择了用SQL Server来作为数据库软件。 相关SQL Server介绍: Microsoft SQL Server是由 Microsoft企业开发,在Microsoft SQL Server发展历程中,有两版本含相关键意义。那就是在1996年推出SQL Server6.5和在8月推出SQL Server本。6.5版本使SQL Server得到了广泛应用,而本在功效和易用性上有很大增强,并推出了简体汉字版,它包含企业版,标准版,开发版和个人版4个版本。 第2章 需求分析 要实现一个软件系统,首先应该进行需求分析,这么才能令设计出软件满足用户各项功效。下面就对零售药店管理系统设计进行需求分析。 2.1 可行性分析 可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查基础上,针对新系统开发是否含有必需性和可能性,对新系统开发从技术、经济、社会方面进行分析和研究,以避免投资失误,确保新系统开发成功。可行性研究目标就是用最小代价在尽可能短时间内确定问题是否能够处理。该系统可行性分析包含以下多个方面内容。 (1)经济可行性:关键是对项目标经济效益进行评价,本系统开发经费在经济上是能够接收,而且本系统实施后能够显著节省时间、提升工作效率。所以本系统在经济上是可行。 (2)技术上可行性:技术上可行性分析关键分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者需要等。该管理系统采取了Browser/Server模式进行开发。Browser/Server体系结构紧密结合了Internet/Intranet技术,是技术发展大势所趋,它把应用系统带入了一个崭新发展时代。数据库服务器SQL数据库,它能够处理大量数据,同时保持数据完整性并提供很多高级管理功效。它灵活性、安全性和易用性为数据库编程提供了良好条件。所以,系统软件开发平台已成熟可行。硬件方面,科技飞速发展今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统需要。 总而言之,此系统开发目标已明确,在技术和经济等方面全部可行,而且投入少、见效快。所以该系统开发是完全可行。 2.2 数据库需求分析 数据库在零售药店管理系统中占有极其关键地位,数据库结构设计好坏将直接对应用系统效率和实现效果产生影响。合理数据库结构设计能够提升数据存放效率,确保数据完整和一致。合理数据库也有利于程序实现。 设计数据库系统时应首先充足了解用户各个方面需求,包含现有和未来可能增加需求。 用户需求具体表现在对多种信息提供、保留、更新和交流,这就要求数据库结构能充足满足多种信息输出和输入。 2.3 系统目标 我们通常设计系统全部要完成以下多个要求,方便于用户进行操作。这么才能使系统易学易用。 2.3.1 合理设计数据库 尽可能合理地降低数据库数据冗余,使反复数据保持在最小程度,这么将无须要多占用存放空间,降低产生混乱影响危险,还能提升计算机运行速度。 2.3.2 设计出友好界面 界面友好是否是用户评价一个软件优劣关键方面之一,使用户有一个良好心情。 2.4 本系统所实现功效 本系统关键划分为两层用户角色功效模块,管理员、操作员;管理员关键是对于系统基础信息维护和综合信息管理多个模块,关键功效包含:药品类别、药品信息管理,药品库存设置管理和药品日常进货和销售查询信息管理等;操作员关键是管理药店日常药品进货和销售工作,并能够依据库存信息立即控制药品销售和进货,从而确保药品流通正常运行功效操作。 2.4.1 管理员管理模块应实现功效 (1)操作员信息管理:对操作员信息进行基础维护,包含帐号,密码等多项信息,密码导师登陆系统以后自行修改,本模块能够添加、修改和删除操作员信息。 (2)药品类别管理:对于药店销售药品类别进行综合管理操作。 (3)药品信息管理:管理药店销售药品信息,药品信息关键包含药品名称、厂家、拼音码、使用期、批号、规格等多项信息,本模块能够添加、修改和删除药品信息。 (4)库存信息设置:对于库存药品信息能够进行库存设置,比如设置库存上限、下限和目前库存数值等功效。 (5)进货查询:查询显示药品进货信息和进货时间相关内容 (6)药品销售日报表:查询显示药品销售日常收银信息。 (7)药品销售月报表:统计显示各个月份药品销售信息。 2.4.2 操作员管理模块应实现功效 操作员管理模块关键包含系统管理、日常业务管理、查询统计管理等功效模块,具体描述以下: (1)药品进货管理:管理日常药品进货信息,关键包含进货时间、供给商、进货数量、单价、进货金额等,对于进货错误进货统计能够进行作废操作。 (2)药品收银管理:药品日常收银管理,关键内容包含日期、用户、数量、单价、金额、折扣和实扣款等,收银药品不提供任何作废 退货操作。 (3)库存信息查询:查询显示药品库存信息,库存信息包含库存商品保质期、库存上限、库存下限和库存量等内容。 (4)药品信息查询:查询显示药品基础信息,包含保质期、药品类别、规格、批号等内容。 第3章 系统总体分析 3.1 基础介绍 本系统关键经过维护药品类别、药品信息等功效,来进行药品日常进货和销售操作,并管理药品库存操作等。 3.2 运行环境 为了确保系统运行效率和可靠性,系统服务器端应含有较高软硬件配置,用户端要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适适用于内部局域网。其运行要求以下: ☆软件环境: 用户端: Windows95/98//XP,Internet Explorer(IE)等 服务器端: Windows/XP,Internet Information Server (IIS)4.0及其以上版本,IE等。 数据库:SQL server,运行于服务器端。 ☆硬件环境: 服务器 CPU:PIII 500以上 ,内存:256M以上 用户机 CPU:P200MMX以上,内存:32M以上 3.3 数据字典 操作员 序号 字段名 类型 长度 索引 备注 1. 帐号 Varchar 50 P 2. 密码 Varchar 50 3. 姓名 Varchar 50 4. 电话 Varchar 50 5. 住址 Varchar 50 6. 邮箱 Varchar 50 7. 类别 Varchar 50 管理员 操作员 药品类别 序号 字段名 类型 长度 索引 备注 1. 代码 Int P 2. 类别名称 Varchar 50 药品信息 序号 字段名 类型 长度 索引 备注 1. 代码 Int P 不能反复 2. 药品名称 Varchar 50 3. 厂家 Varchar 50 4. 拼音码 Varchar 50 5. 单位 Varchar 50 6. 使用期 Date 7. 批号 Varchar 50 8. 规格 Varchar 50 9. 进货价格 Float 10. 销售价格 Float 11. 备注 Varchar 500 12. 类别代码 Int 关联 药品类别 进货单 序号 字段名 类型 长度 索引 备注 1. 进货单号 Varchar 50 P XYyyymmddhhmmss 2. 进货时间 DateTime 3. 供给商 Varchar 50 4. 药品代码 Int 关联 药品代码 5. 进货数量 Int 6. 单价 Float 7. 进货金额 Float 8. 经办人 Varchar 50 9. 备注 Varchar 500 库存 序号 字段名 类型 长度 索引 备注 1. 药品代码 Int 关联 进货单 2. 库存数量 Float 3. 库存上限 Int 4. 库存下限 Int 收银 序号 字段名 类型 长度 索引 备注 1. 零售单号 Varchar 50 P XYyyymmddhhmmss 2. 日期 DateTime 50 3. 药品代码 Int 4. 数量 Int 5. 金额 Float 6. 折扣 Float 7. 实收款 Float 8. 用户 Varchar 50 9. 备注 Varchar 50 3.4 E—R图 图3.1 E-R图 把概念结构设计转化为逻辑结构设计为: 药品信息实体属性:代码、药品名称、厂家、拼音码、单位、使用期、批号、规格、进货价格、销售价格、备注、类别代码。 药品信息实体属性图图所表示 图 3.2 药品信息实体属性图 收银信息实体属性:零售单号、日期、药品代码、数量、金额、折扣、实收款、用户、备注。 收银属性图图所表示 图 3.3 收银实体属性图 其它实体属性再此不一一列出。 总而言之,零售药店管理系统功效需求能够经过图3.4简明表示。 图3.2系统功效需求图 3.5 关键模块步骤图 3.5.1操作员维护步骤图 图3.4操作员维护步骤图 3.5.2药品信息管理步骤图 图3.5药品信息管理步骤图 其它功效步骤图和之类似,不再一一叙述! 第4章 系统程序实现 4.1 login(系统主界面) 在IE里运行本系统,出现系统主界面,包含系统登陆、选择角色。图: 图4.1 系统主界面 其实现相关代码以下: protected void IbtDL_Click(object sender, ImageClickEventArgs e) { DataTable dt = new DataTable(); switch (RadioButtonList1.SelectedValue) { case "管理员": dt = DataControl.GetData("select * from 管理员 where 帐号='" + txtUser.Text + "' and 密码 ='" + txtPwd.Text + "'"); if (dt.Rows.Count <= 0) { Page.ClientScript.RegisterStartupScript(this.GetType(), "info", "<script>alert('帐号密码错误!');</script>"); return; } Session["UserID"] = txtUser.Text; Response.Redirect("Admin/index.aspx"); break; case "操作员": dt = DataControl.GetData("select * from 操作员 where 帐号='" + txtUser.Text + "' and 密码 ='" + txtPwd.Text + "'"); if (dt.Rows.Count <= 0) { Page.ClientScript.RegisterStartupScript(this.GetType(), "info", "<script>alert('帐号密码错误!');</script>"); return; } Session["UserID"] = txtUser.Text; Response.Redirect("GZRY/index.aspx"); break; } } 4.2 管理员管理模块 4.2.1 操作员信息维护列表 此页面关键是显示和维护系统中操作员信息资料,操作员信息关键包含帐号、姓名、电话、地址、邮箱、密码等信息,系统有初始密码,操作员登陆系统以后能够自己修改密码。图: 图4.2 操作员信息列表 图4.3 操作员编辑页面 其实现相关代码以下: protected void btnAdd_Click(object sender, ImageClickEventArgs e) { string strErr = ""; if (this.txtZH.Text == "") { strErr += "帐号不能为空!\\n"; } if (strErr != "") { ResponseMessage(this, strErr); return; } //依据标志判定是添加还是修改操作 保留商品信息 if (Request.QueryString["ID"] != null) { DataControl.Execute("UPDATE [操作员] set [姓名] ='" + txtXM.Text + "',[电话] = '" + txtDH.Text + "',[住址] = '" + txtZZ.Text + "',[邮箱] ='" + txtYX.Text + "' where 帐号='" + Request.QueryString["ID"] +"'"); } else { DataControl.Execute("INSERT INTO [操作员] ([帐号] ,[姓名] ,[电话] ,[住址] ,[邮箱] ) VALUES ('"+txtZH.Text+"','"+txtXM.Text+"','"+txtDH.Text+"','"+txtZZ.Text+"','"+txtYX.Text+"')"); } Page.ClientScript.RegisterStartupScript(this.GetType(), "info", "<script>alert('保留成功!');window.location.href='BXDD.aspx';</script>"); } 4.2.2 药品信息管理模块 此模块关键是维护药品信息,能够添加、修改、删除药品信息,药品信息关键包含:药品名称、厂家、拼音码、单位、批号、使用期等相关内容,图: 图4.4 药品信息列表 图4.5 药品信息页面 其实现相关代码以下: protected void Page_Load(object sender, EventArgs e) { // 在此处放置用户代码以初始化页面 if (!Page.IsPostBack) { //绑定类别列表 drYPLB.DataTextField = "类别名称"; drYPLB.DataValueField = "代码"; drYPLB.DataSource = DataControl.GetData("select * from 药品类别 "); drYPLB.DataBind(); if (Request.QueryString["ID"] != null) { //显示目前商品信息 DataTable tmpda = new DataTable(); tmpda = DataControl.GetData("select * from 药品信息 where 代码=" + Request.QueryString["ID"] + ""); if (tmpda.Rows.Count > 0) { this.drYPLB.SelectedValue = tmpda.Rows[0]["类别代码"].ToString(); this.txtYPMC.Text = tmpda.Rows[0]["药品名称"].ToString(); this.txtCJ.Text = tmpda.Rows[0]["厂家"].ToString(); this.txtPYM.Text = tmpda.Rows[0]["拼音码"].ToString(); this.txtDW.Text = tmpda.Rows[0]["单位"].ToString(); this.txtYXQ.Text = tmpda.Rows[0]["使用期"].ToString(); this.txtPH.Text = tmpda.Rows[0]["批号"].ToString(); this.txtGG.Text = tmpda.Rows[0]["规格"].ToString(); this.txtJHJG.Text = tmpda.Rows[0]["进货价格"].ToString(); this.txtXSJG.Text = tmpda.Rows[0]["销售价格"].ToString(); this.txtBZ.Text = tmpda.Rows[0]["备注"].ToString(); } } } } /// <summary> /// 保留 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnAdd_Click(object sender, ImageClickEventArgs e) { string strErr = ""; if (this.txtYPMC.Text == "") { strErr += "药品名称不能为空!\\n"; } if (strErr != "") { ResponseMessage(this, strErr); return; } //依据标志判定是添加还是修改操作 保留商品信息 if (Request.QueryString["ID"] != null) { DataControl.Execute("UPDATE [药品信息] set [药品名称] = '"+txtYPMC.Text+"',[厂家] = '"+txtCJ.Text+"',[拼音码] = '"+txtPYM.Text+"',[单位] = '"+txtDW.Text+"',[使用期] = '"+txtYXQ.Text+"',[批号] ='"+txtPH.Text+"',[规格] = '"+txtGG.Text+"',[进货价格] = "+txtJHJG.Text+",[销售价格] = "+txtXSJG.Text+",[备注] = '"+txtBZ.Text+"',[类别代码] = "+drYPLB.SelectedValue+" WHERE 代码=" + Request.QueryString["ID"] + ""); } else { DataControl.Execute("INSERT INTO [药品信息] ( [药品名称] ,[厂家] ,[拼音码] ,[单位] ,[使用期] ,[批号] ,[规格] ,[进货价格] ,[销售价格] ,[备注] ,[类别代码] ) VALUES ('"+txtYPMC.Text+"','"+txtCJ.Text+"','"+txtPYM.Text+"','"+txtDW.Text+"','"+txtYXQ.Text+"','"+txtPH.Text+"','"+txtGG.Text+"',"+txtJHJG.Text+","+txtXSJG.Text+",'"+txtBZ.Text+"',"+drYPLB.SelectedValue+")"); } Page.ClientScript.RegisterStartupScript(this.GetType(), "info", "<script>alert('保留成功!');window.location.href='GZRYPXList.aspx';</script>"); } 4.2.3 库存信息设置 此模块关键设置药品库存信息,能够设置药品库存上限,下限和库存数量等。图: 图4.6 库存设置列表 图4.7 库存设置页面 其实现相关代码以下: { string strErr = ""; if (this.txtYPMC.Text == "") { strErr += "药品名称不能为空!\\n"; } if (strErr != "") { ResponseMessage(this, strErr); return; } DataControl.Execute("UPDATE [库存] set [库存数量] = " + txtKCSL.Text + ",[库存上限] = " + txtSX.Text + ",[库存下限] = " + txtXX.Text + " WHER
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服