域名管理系统的设计和开发.doc_第1页
域名管理系统的设计和开发.doc_第2页
域名管理系统的设计和开发.doc_第3页
域名管理系统的设计和开发.doc_第4页
域名管理系统的设计和开发.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

南京大学网络教育本科毕业论文网 络 教 育 本 科 毕 业 论 文域名管理系统的设计和开发作 者: 苗培文 学 号:专 业: 信息管理与信息系统 学习中心: 南京学习中心 二零一五年十二月二十五日摘要随着各行各业的迅速发展,企业的迅速壮大,对企业而言,通过完善的管理机制完善各部门之间的协调,加强企业的工作及时性和准确率是迫切需求的。企业综合支撑信息管理系统是一种协调各部门合作的,提高企业工作效率的综合信息系统,该系统主要分为市场需求模块、网优需求模块、需求处理模块、系统管理模块等九大模块,主要是市场提出需求,网优中心去解决需求,解决好之后,市场和网优部门的人都可以去查看需求的处理情况,如果不满意可以退回,该系统运用freemarker、js等前台页面、spring mvc主流框架以及jdbc等java知识、运用mysql数据库存储数据,实现团队协作、流程控制、业务集成、系统智能、决策支持和持续完善。B/S(Browser/Server)结构即浏览器和服务器结构,企业综合支撑信息管理系统网站设计中有着得天独厚的优势,此系统亦采用B/S架构平台。企业综合信息管理系统的解决方案分析了支撑网站开发的基本原则和规范化定义,以及前期的系统分析中所需要的数据、资料以及开发流程,对整个系统进行了详细的规划,确保整个系统能够顺利地开发。关键词:效率, freemarker,spring,B/S 目录引言11.绪论11.1.服务器的介绍11.1.1. Jboss应用服务器11.1.2. apache服务器21.2.系统使用技术介绍31.2.1. Spring框架31.2.2. 前端展示FreeMarker31.2.3. 数据库mysql31.3.开发工具介绍41.3.1. MyEclipse开发工具42.系统概述52.1.系统的介绍52.2.系统的设计原则52.3.域名管理系统的总体设计思路62.4.域名管理系统的建设原则73.数据库设计73.1.数据库主体简介73.2.数据库表字典73.3.数据er图114.系统分析和设计114.1.系统分析概述114.2.功能分析114.3.系统模块介绍与功能分析124.3.1. 域名管理124.3.2. 已使用名单134.3.3. 白名单维护194.3.4. 黑名单维护204.4.开发核心代码224.4.1. 域名申请流程核心代码224.4.2. 域名审核流程核心代码244.4.3. 域名定时扫描核心代码294.4.4. 域名续费核心代码355.软件测试385.1.测试的基本概念385.2.测试的步骤386.结论及展望396.1.网站系统总结396.2.网站系统展望40参考文献41致谢42引言随着公司入驻的商家越来越多,迄今已经超过10000家商家选择我司的开放平台去推广和销售自己的产品。自店铺上线至今,店铺的域名形式一直采用SHOP+8位店铺ID(供应商编码)+.的域名形式进行访问。此种方式不便于记忆,也不利于商家在消费者中进行有效的推广;其次目前的店铺露出方式单一,对于商家自行引流带来不便。根据竞争对手当前促销服务的概况,x东、x猫等竞品都为商家提供了或免费或阶段性免费的二级域名服务。我司目前只有C店商家通过纸质申请获批二级域名的使用权,如此给商家的印象没有达到电商企业的标准。综合内部需求和外部压力,提议平台店铺管理二级域名项目组,通过各店铺提出域名绑定申请,我司商户管理部审核的形式为商家提供店铺域名服务产品。希望因此达到商家推广店铺的目的。在系统开发过程当中,严格采用软件工程的方法进行编码。第一步进行需求分析,明确系统的功能,确立系统的基本方针,制定开发计划;第二步进行概要设计,以系统需求说明书为准,构造系统架构,进行概要设计,使系统具体化;第三步,进行详细设计,以概要设计为基础,进行系统内部的设计,并撰写详细设计书;第四步,编码 ,根据系统详细设计说明,进行功能模块编码工作,并按照设计说明书进行单元测试,保证功能的实现。各个模块开发完成之后可进行组合测试,保证各个模块之间能够很好的集成。最后一步进行系统测试和用户环境运行测试。最后进行移植、安装和维护工作。1. 绪论1.1. 服务器的介绍1.1.1. Jboss应用服务器JBoss是一个基于J2EE的开放源代码的应用服务器。JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或apache绑定使用。Jboss服务器具有以下优点:1、JBoss是免费的,开放源代码J2EE的实现,通过LGPL许可证进行发布。但同时也有闭源的,开源和闭源流入流出的不是同一途径。2、JBoss需要的内存和硬盘空间比较小。3、安装便捷:解压后,只需配置一些环境变量即可。4、JBoss支持热部署,部署BEAN时,只拷贝BEAN的JAR文件到部署路径下即可自动加载;如果有改动,也会自动更新。5、JBoss与Web服务器在同一个Java虚拟机中运行,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。6、用户可以直接实施J2EE-EAR,而不是以前分别实施EJB-JAR和Web-WAR,非常方便。7、Jboss支持集群。1.1.2. apache服务器Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。Apache web服务器软件拥有以下特性: 1.支持HTTP/1.1通信协议2.拥有简单而强有力的基于文件的配置过程3.支持通用网关接口4.支持基于IP和基于域名的虚拟主机5.支持多种方式的HTTP认证6.集成Perl处理模块7.集成代理服务器模块8.支持实时监视服务器状态和定制服务器日志9.支持服务器端包含指令(SSI)10.支持安全Socket层(SSL)1.2. 系统使用技术介绍1.2.1. Spring框架Spring是一个开源框架,是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。1.2.2. 前端展示FreeMarkerFreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。FreeMarker特性:1.能够生成各种文本:HTML、XML、RTF、Java源代码等等。2.易于嵌入到产品中:轻量级;不需要Servlet环境。3.所有常用的指令:include、if/elseif/else、循环结构4.强大的XML处理能力1.2.3. 数据库mysql MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。1.3. 开发工具介绍1.3.1. MyEclipse开发工具MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。2. 系统概述2.1. 系统的介绍图1 系统流程图系统主要的流程为:1、商家管理系统(以下简称SEL)从域名管理系统(以下简称DMS)查询名单(白名单、黑名单、已使用名单、预锁名单)进行域名的排重,DMS返回给SEL查询结果。3、SEL系统将审核结果发到DMS系统,如果审核成功DMS则将该域名从预锁名单添加至商家已使用名单,如果审核失败,则将预锁名单释放。4、SEL系统将释放的域名发送至DMS,如是到期释放则将该域名从已使用名单进行释放,其他商家可进行申请。5、SEL系统将回收的域名发送至DMS系统,DMS系统将新域名存至已使用名单中,原域名则根据域名归属原因进行名单归属,0代表黑名单,则归属至黑名单中,若为1则归属至白名单中。6、C商家域名、我司域名的查询功能、白名单黑名单维护、删除、修改功能。2.2. 系统的设计原则1.易用性原则参照国内外信息系统的成功与失败的经验,不论一个应用系统的功能有多么庞大,如果不能让使用者掌握,也不能发挥作用。信息化的目的不是为了单纯的拥有现代的科学技术,而是为了提高管理能力和运行效率。2.整体性原则企业综合支撑系统采用平台化结构,平台上的功能模块就像建筑模块一样,用户可以按照本单位的需要,构建符合自己需要的信息大厦。这些模块可以独立升级、增添、或自行设计开发,以保证信息系统的发展和完善。3.实用性和适应性原则实用性是衡量软件质量体系中最重要的指标,是否与业务紧密的结合,是否具有严格的业务针对性,是系统成败的关键因素。因此,每一个提交给用户手上的系统都应该是实用的,解决问题的。适应性是软件质量体系中重要的指标之一,系统的设计从最开始就应该以适应于多种运行环境,而且还必须具有应变能力,以适应未来变化的环境和需求4.先进性和发展性原则利用最新的freemarker、js、Spring、JDBC、mysql关系型数据库等技术,结合B/S思想的独特设计,建立一个开放的信息资源管理平台。利用数据库及分布式处理技术、模块化功能设计,构造此系统。2.3. 域名管理系统的总体设计思路图2二级域名系统范围1.DMS通过单点登录系统进行用户的登录验证。2.DMS对SEL系统提供查询域名可用性、域名预锁、域名释放等接口。3.DMS在SEL系统启动审批流程后会收到SOA系统审批的结果,并根据结果进行相应的操作。4.DMS会接受BSP系统域名回收的指令。5.SEL系统会将域名变动的信息同步到SIS系统,然后SIS系统再同步到SFS、B2C等系统2.4. 域名管理系统的建设原则设计方法包括但不限于:1.采用面向对象的设计方法,对业务流程以及各个业务对象进行设计2.采用苏宁SNF技术框架作为平台的基础架构3.采用MVC的设计思想,将系统设计为接口服务层、业务逻辑层和数据层3. 数据库设计3.1. 数据库主体简介对于需要持久保留的数据,在B/S中分为系统数据与业务数据,这两种类型的数据内容是从逻辑上的划分,在实现的时候可以存储在同一个数据库中。系统数据库用于保存B/S系统完成业务对象统一存储所需要的数据存储体系,而业务数据库中则保存在构建某一具体应用时,与应用相关的数据。3.2. 数据库表字典图3 数据库表设计表1.域名信息表字段名称字段代码数据类型域名IDDOMAINIDINTEGER店铺名称SHOPNAMEVARCHAR(20)商家编码SUPPLIERCODEVARCHAR(20)商家名称SUPPLIERNAMEVARCHAR(20)域名等级LEVELVARCHAR(2)域名DOMAINVARCHAR(50)来源SOURCEVARCHAR(20)解析类型PARSETYPEVARCHAR(2)预留信息RESERVEDREASONVARCHAR(100)域名类型DOMAINTYPEVARCHAR(2)域名状态DOMAINSTATUSVARCHAR(2)是否备案ISRECORDVARCHAR(2)备案号RECORDNOVARCHAR(20)生效日期DOMAINSTARTDATETIMESTAMP截止效期DOMAINENDDATETIMESTAMP修改时间DOMAINMODIFYTIMETIMESTAMP敏感项SENSITIVETYPEVARCHAR(20)中文名CHINESENAMEVARCHAR(100)备注REMARKVARCHAR(200)操作用户USERIDVarchar(8)表2.用户表字段名称字段代码数据类型用户工号USERIDVarchar(8)用户类型USERTYPEVarchar(20)表3.用户权限表字段名称字段代码数据类型用户工号USERIDVarchar(8)权限代码AUTHORITYCODEVarchar(20)表4.权限定义表字段名称字段代码数据类型权限编码AUTHORITYCODEVarchar(20)权限名称AUTHNAMEVarchar(20)表5.二级域名字典表字段名称字段代码数据类型IDIDInteger列名COLUMNNAMEVarchar(50)编号CODEVarchar(2)编号含义MEANINGVarchar(50)表6.用户字典表字段名称字段代码数据类型IDIDInteger列名COLUMNNAMEVarchar(50)编号CODEVarchar(2)编号含义MEANINGVarchar(50)表7.域名相关信息定义字段名称字段代码数据类型申请编号APPLICATIONIDINTEGER操作工号USERIDVarchar(8)商家编码SUPPLIERCODEVarchar(20)域名NEWDOMAINVarchar(50)域名状态DOMAINSTATUSVarchar(2)到期时间DOMAINENDDATETIMESTAMP生效时间DOMAINSTARTDATETIMESTAMP费用FEEdouble退回费用REFUNDdouble可修改次数TIMESInteger原因REASONVarchar(100)操作类型OPERATIONTYPEVarchar(2)记录有效性AVAILABLEVarchar(2)备注REMARKVarchar(200)表8.域名字典表字段名称字段代码数据类型IDIDInteger列名COLUMNNAMEVarchar(50)编号CODEVarchar(2)编号含义MEANINGVarchar(50)3.3. 数据er图图4 数据实体ER图4. 系统分析和设计4.1. 系统分析概述我司域名管理基础功能,包括C商家域名、我司域名的查询功能、白名单黑名单维护、删除、修改功能。4.2. 功能分析1、已使用名单:即截止二级域名系统上线前为止已被占用的域名包括我司域名和商家域名。我司已使用的域名可进行人工新增、编辑、删除。2、白名单:即我司为长期规划所预留的域名。可人工进行添加、删除、修改3、黑名单: 即不可作为二级域名使用的、触犯国家法律法规以及一些敏感词、网安词及著名景点等。可人工进行新增、删除。4、商家在SEL申请域名时,进行域名排重查询,此时需在DMS系统查询以上三个名单及预锁名单,如所申请的域名不包括在三个名单内和预锁名单中,则可申请使用该域名,如果包括则反馈SEL信息已被占用、SEL做相应提示信息给商家。5、以上三个名单的查询功能仅一般权限用户拥有。如果是一般权限用户登录,则只有查询按钮,如果是管理员权限用户登录,则有查询按钮,新增按钮、操作。4.3. 系统模块介绍与功能分析4.3.1. 域名管理1.简要说明登录域名管理系统界面后,右上角显示“XX您好!欢迎使用域名管理系统 注销”XX代表登录用户姓名,点击“注销”退出登录,返回到登录界面。页面左侧一级菜单为“域名管理”其下有三个二级菜单,即 已使用名单、白名单、黑名单 ,一级菜单不可点击,点击二级菜单右侧展示不同界面。登录进入页面默认展示“已使用名单-我司域名”页面。2.界面原型域名查询-已使用名单-我司域名图5 已使用名单页面3.主流程 1)、已使用名单:即截止二级域名系统上线前为止已被占用的域名包括我司域名和商家域名。我司已使用的域名可进行人工新增、编辑、删除。2)、白名单:即我司为长期规划所预留的域名。可人工进行添加、删除、修改3)、黑名单: 即不可作为二级域名使用的、触犯国家法律法规以及一些敏感词、网安词及著名景点等。可人工进行新增、删除。4)、商家在SEL申请域名时,进行域名排重查询,此时需在DMS系统查询以上三个名单及预锁名单,如所申请的域名不包括在三个名单内和预锁名单中,则可申请使用该域名,如果包括则反馈SEL信息已被占用、SEL做相应提示信息给商家。4.3.2. 已使用名单1.简要说明已使用名单包括我司已使用名单和商家已使用名单。可互切页签进行名单信息查询和维护,当收到SEL审核通信息后,自动做名单归属处理、审核通过则存储至已使用名单,审核不通过则释放预锁名单。2.界面原型图6 商家域名页面 图7 编辑框图7-1弹出框图8商家域名页面3.主流程我司域名页签1)、我司域名页面中可进行域名的新增一级域名、编辑、新增、删除、查询。2)、新增的域名消息列表字段有:域名分类、域名、whois信息、是否备案、备案号、解析类型、操作用户、操作、更改时间。未维护的信息显示为空。3)、操作内容包括:编辑、新增和删除。4)、“新增一级域名”和“操作”需要做权限控制,仅管理员权限才可进行操作。对一般权限用户做按钮隐藏。5)、将目前线上我司已使用名单信息存储至DMS系统我司已使用名单中。可对名单随时查询、修改、删除。新增一级域名1)、点击“新增一级域名”按钮,弹框打开新增页面。(如图7) 弹框页面:域名分类:默认展示“一级域名”域名:为输入框且为必填项,一级域名长度最长为35个字符。whois信息:输入框、非必填项。最长60个字符。备案号:输入框,非必填项;最长30个字符。是否备案:下拉框,选项包括“是”和“否”、必选项。填写信息后,点击“确定”按钮,校验必填项,如未填写,则提示“请输入必填项”,填写后点击确定弹框消失,列表中新增一条信息。点击“取消”按钮,弹框消失,则对编辑内容不做保存,点击“关闭”按钮,弹框直接关闭,对编辑内容不做保存。2)、选中一条一级域名,点击“编辑”弹框打开编辑页面。(如下图)图9 一级域名编辑框输入框内默认展示已编辑的内容,可对可编辑内容进行重新编辑,重新编辑后点击确定,修改成功,点击取消修改失败。3)选择一条一级域名,点击删除,若此一级域名下未新增二级域名,则删除提示“您确定要删除此域名”确定则删除,取消则取消删除;若此一级域名下新增了二级域名,则删除提示“此域名下已有二级域名不可删除”点击确定则弹框消失。删除的域名进行释放。新增1)、此处的“新增”即为新增某一级域名其下的二级域名。2)、点击“新增”按钮,弹框打开新增页面。(如下图) 弹框页面:图10 新增域名编辑框3)、一级域名:默认展示所选新增二级域名的一级域名。二级域名:必填项,填写二级域名,长度最长为60个字符。解析类型: 下拉框,非必填项,选项包括A、NS、MX、CNAME、空。4)、点击“确定”时校验必填项,点击“确定”按钮,校验必填项,如未填写,则提示“请输入必填项”。填写后点击确定弹框消失,列表中新增一条信息。点击“取消”按钮,弹框消失,则对编辑内容不做保存,点击“关闭”按钮,弹框直接关闭,对编辑内容不做保存。5)、列表中默认排序以更改日期从近到远排列图11 编辑域名弹出框查询1)、查询条件包括:是否备案、备案号、解析类型、域名、whois信息、更改时间段、域名分类。以上查询条件可单个条件查询也可多个条件查询。2)、是否备案:下拉框选择,选择条件包括“是”或“否”或全部,点击查询按钮,如查询内容有则显示查询数据,无则提示“您所查询内容不存在”3)、解析类型:下拉框选择,选择条件包括A、NS、MX、CNAME 、全部,只有二级域名才有解析类型,一级域名无解析类型。故,根据解析类型查询出的域名只有二级域名,点击查询按钮,如查询内容有则显示查询数据,无则提示“您所查询内容不存在”4)、whois信息:此处是输入框,可输入字母也可输入汉字。点击“查询”按钮,如查询内容有则显示查询数据,无则提示“请您输入正确的查询条件或是查询内容不存在”5)、域名:此处是输入框,输入域名进行查询,不支持汉字输入。点击“查询”按钮,如查询内容有则显示查询数据,无则提示“请您输入正确的查询条件或是查询内容不存在”6)、备案号:此处是输入框,可输入汉字或是字母。点击“查询”按钮,如查询内容有则显示查询数据,无则提示“请您输入正确的查询条件或是查询内容不存在”商家域名页签1)、商家域名:查询条件可通过店铺名称、商家编码、域名、域名生效日期段、到期日期段查询。以上查询条件可单个条件查询也可多个条件查询。2)、店铺名称:此次为输入框、不限输入内容,输入店铺名称。点击“查询”按钮,如查询内容有则显示查询数据,无则提示“请您输入正确的查询条件或是查询内容不存在”。3)、商家编码:此处为输入框,限只输入数字。点击“查询”按钮,如查询内容有则显示查询数据,无则提示“请您输入正确的查询条件或是查询内容不存在”。4)、域名:此处是输入框,输入域名进行查询,不支持汉字输入。点击“查询”按钮,如查询内容有则显示查询数据,无则提示“请您输入正确的查询条件或是查询内容不存在”。5)、生效日期:域名审核通过域名生效的日期。到期日期:域名使用到期日期。6)、线上商家已使用域名信息需要存储在DMS系统商家域名已使用名单信息中。4.3.3. 白名单维护1.简要说明存储我司预留域名信息的名单,可进行查询、新增、删除、修改操作、目前商家域名暂无预留域名。执行者:域名管理系统管理员:可进行查询、新增、删除、修改操作一般权限用户:可进行查询2.界面原型图12 白名单页面图13新增白名单图14 编辑白名单3.主流程1)、管理员权限用户可对我司预留域名信息进行新增、修改、删除、查看操作,一般权限用户仅可进行查询,对新增、操作按钮做隐藏。2)、白名单查询可通过域名和更改时间段进行查询。在未输入任何查询条件时,点击查询,查询出所有预留域名信息。3)、一级域名最长支持30个字符,二级域名最多支持60个字符,超过字符数不可再输入。4.3.4. 黑名单维护1.简要说明不可作为二级域名使用的、触犯国家法律法规以及一些敏感词、网安词及著名景点等。可人工进行新增、删除。执行者:域名管理系统管理员:可进行查询、新增、删除操作一般权限用户:可进行查询2.界面原型图14 黑名单页面 图15 新增黑名单3.主流程1)、管理员权限用户可对黑名单信息进行新增、删除、查看操作,一般权限用户仅可进行查询,对新增、操作按钮做隐藏。2)、点击“新增”弹框显示域名编辑框,输入字段如下:拼音:为必填项,输入框、可输入字母、数字,字符数最多80个字符3)、敏感项:为必填项,输入框、可输入汉字或是字母,字符数最多28个字符。4)、中文:为必填项,输入框、只可输入汉字,字数限制最多40个字符5)、新增黑名单时,校验此名单是否已被添加过,如被添加过XX名单中,则提示“此名单已添加至XX名单中,不可重复添加”XX名单包括:白名单、已使用名单、预锁名单。4.4. 开发核心代码4.4.1. 域名申请流程核心代码 /* * 功能描述:申请域名 * param 参数说明 返回值: 类型 * return 返回值 * throw 异常描述 * see 需要参见的其它内容 */ RequestMapping(/addDomain.htm) ResponseBody public String addDomain(HttpServletRequest request) Map params = baseController.getParams(request); /根据商家编码获取详细信息 params.put(suppliercode, request.getSession().getAttribute(sel-+SUPPLIERCODE); params.put(domainstatus, 1); int year=Integer.parseInt(DateUtils.formatDate2Str(new Date(), yyyy)+1; params.put(domainenddate, year+-01-01); params.put(fee, 0); params.put(refund, 0); params.put(available, 1); params.put(times, 1); if(0.equals(params.get(type) params.put(operationtype, 0); else params.put(operationtype, 1); return cshopSecondDomainService.insertSecondDomain(params);/* * 新增店铺域名* see 相关类/方法(可选) * since 产品/模块版本 (可选) */public class CshopDomainServiceImpl implements CshopDomainService Autowired private DalClient dalClient; Override public Map insertCshopDomainInfo(Map map) / 根据商户编码查询是否有发布记录 Map publishInfo = dalClient.queryForMap(cs_backshopinfo.getCshopPublishInfo, map); if (MapUtils.isEmpty(publishInfo) map.put(msg, 该商户编码不存在或无成功发布记录!); return map; / 判断域名是否被其他商家申请过 map.put(shopDomain, MapUtils.getString(map, shopDomain, ).toLowerCase(); boolean isExists = isExistsDomain(map); if (isExists) map.put(msg, 该域名已被其他商家申请!); return map; / 查看该商户是否已经存在域名 已存在就更新 ListMap domainList = getCshopDomainInfo(map); if (CollectionUtils.isEmpty(domainList) dalClient.execute(cs_domain.insertCshopDomainInfo, map); else updateCshopDomainInfo(map); map.put(msg, ); return map; 4.4.2. 域名审核流程核心代码/* * * 功能描述:审核域名 * * param 参数说明 返回值: 类型 * return 返回值 * throw 异常描述 * see 需要参见的其它内容 */ RequestMapping(/checkDomain.action) public String checkDomain (HttpServletRequest request) Map params = baseController.getParams(request); / 根据C店用户名查询供应商编码和名称 getSupplierInfo(params, request); ListMap domainList = cshopSecondDomainService.getCshopSecondDomainInfo(params); request.setAttribute(params, params); int year=Integer.parseInt(DateUtils.formatDate2Str(new Date(), yyyy)+1; request.setAttribute(year,year+); / 未申请 if (domainList = null | domainList.size() = 0) return cshop/domain/domainApply; if (domainList.size() = 1) Map domain = domainList.get(0); String domainName=String.valueOf(domain.get(domain); domain.put(domain, domainName.substring(0,domainName.indexOf(.); request.setAttribute(DOMAIN, domain); return cshop/domain/domainModify; if (domainList.size() = 2) Map domain =new HashMap(); Map domainNew =new HashMap(); for (int i = 0; i domainList.size(); i+) if(3.equals(domainList.get(i).get(DOMAINSTATUS)|4.equals(domainList.get(i).get(DOMAINSTATUS) domain=domainList.get(i); else domainNew=domainList.get(i); String domainName=String.valueOf(domain.get(domain); String domainNewName=String.valueOf(domainNew.get(domain); domain.put(domain, domainName.substring(0, domainName.indexOf(.); domainNew.put(domain, domainNewName.substring(0, domainNewName.indexOf(.); request.setAttribute(DOMAIN, domain); request.setAttribute(DOMAIN + new, domainNew); / 3/4二级域名使用中,1申请修改后审核中 return cshop/domain/domainApplyAndModify; return cshop/domain/domainApply; public synchronized String insertSecondDomain(Map map) ListMap supplierCodeList = new ArrayListMap(); Map supplierCode = new HashMap(); supplierCode.put(supplierCode, map.get(suppliercode); supplierCodeList.add(supplierCode); ListMap retList = merchantBasicInfoService.selectMerchantBasicInfo(supplierCodeList); Map shopObj; if (retList != null & retList.size() 0) shopObj = retList.get(0); else return 3; String companyName = String.valueOf(shopObj.get(companyName); String shopName = String.valueOf(shopObj.get(shopName); / rsf请求DMS预锁域名 Map doamininfo = new HashMap(); doamininfo.put(companyName, companyName); doamininfo.put(shopName, shopName); doamininfo.put(supplierCode, map.get(suppliercode); doamininfo.put(domain, map.get(domain); LOGGER.info(rsf:预锁开始: + map.get(domain); String ret = 3; Map retMap = domainService.relockSupplierDomain(doamininfo); ret = String.valueOf(retMap.get(result); LOGGER.in

温馨提示

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

评论

0/150

提交评论