【网站项目】服装定制系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。

  1. 代码可以私聊博主获取。🌹
  2. 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
  3. 赠送开题报告模板,帮助书写开题报告。

作者完整代码目录供你选择:

  1. 《Springboot网站项目》400套
  2. 《ssm网站项目》800套
  3. 《小程序项目》300套
  4. 《App项目》500套
  5. 《python网站项目》600套

⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡

项目演示

 

摘要

首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本项目软件架构选择B/S模式,总体功能模块运用自顶向下的分层思想。再然后就是实现系统并进行代码编写实现功能。论文的最后章节总结一下自己完成本论文和开发本项目的心得和总结。通过服装定制系统将会使服装定制各个方面的工作效率带来实质性的提升。

关键字:B/S模式 服装定制 软件架构

1绪论

1.1项目研究的背景

困扰管理层的许多问题当中,服装定制将是广大用户们不可忽视的一块。但是管理好服装定制又面临很多麻烦需要解决,例如,如何在工作琐碎,记录繁多的情况下将服装定制的当前情况反应给相关管理人员决策,等等。在此情况下开发一款服装定制系统,于是乎变得非常合乎时宜。

 经过网上调查和搜集数据,我们可以发现服装定制方面的系统并不是相当普及,在服装定制方面的可以有许多改进。实际上如今信息化成为一个未来的趋势或者可以说在当前现代化的城市典范中,信息化已经成为主流,开发一款服装定制系统一方面的可能会更合乎时宜,另一方面来说也可以提高在服装定制方面的效率给相关部门人的工作带来一定的便利。

1.2开发意义

人类的进步带动信息化的发展,使人们生活节奏越来越快,所以人们越来越重视信息的时效性。以往的管理方式已经满足不了人们对获得信息的方式、方便快捷的需求。即服装定制系统慢慢的被人们关注。首先,网上获取信息十分的实时、便捷,只要系统在线状态,无论在哪里都能第一时间查找到理想的信息。

计算机技术在管理中成为人们的重要工具。可以有效快捷的解决想要获取的信息,提高工作效率。

1.3项目研究内容

服装定制管理方面的任务繁琐,以至于每年都在服装定制管理这方面投入较多的精力却效果甚微,服装定制管理的目标就是为了能够缓解服装定制管理工作方面面临的压力,让服装定制管理方面的工作变得更加高效准确。

本项目在开发和设计过程中涉及到原理和技术有: B/S、java技术、ssm框架、MySQL数据库等等;本文将按以下章节进行开发设计;

  • 绪论;剖析项目背景,说明研究的内容。
  • 开发技术。系统主要使用了java技术,ssm框架、b/s模式和myspl数据库,并对此做了介绍。
  • 系统分析;包罗了系统总体结构、对系统的性能、功能、流程图进行了分析。
  • 系统设计;对软件功能模块和数据库进行详细设计。
  • 系统总体设计;对系统管理员和用户的功能进行描述。
  • 对系统进行测试。
  • 总结心得;在论文最后结束章节总结了开发这个系统和撰写论文时候自己的总结、感想,包括致谢。

2开发技术介绍

2.1 B/S架构

B/S结构是目前使用最多的结构模式,它可以使得系统的开发更加的简单,好操作,而且还可以对其进行维护。使用该结构时只需要在计算机中安装数据库,和一些很常用的浏览器就可以了。浏览器就会与数据库进行信息的连接,可以实现很多的功能,B/S结构是可以直接进行使用的,而且B/S结构在使用中极大的减少了工作的维护。基于B/S的软件,所有的数据库之间都是相互独立的,因此是非常安全的。因为基于B/S结构可以清楚的看到系统正在处理的业务,并且能够及时的让管理人员做出决策,这样就可以避免企业的损失。B/S结构的基本特点是集中式的管理模式,用户使用系统生成数据后,这些数据就可以存储到系统的数据库中,方便日后能够用到,这样就可以满足人们的所有的需求。

图2-1  B/S模式三层结构图

2.2 Java语言简介

Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的优势和广阔的前景,它是面向对象的,分布式的,动态的,具有平台无关性、安全性、健壮性。Java语言的基本语句语法和C++一样,但是它面向对象的技术更加彻底,因为Java要求将所有的内容都必须封装成类,把类作为程序的基本单位。由于不允许类外有变量、方法。 Java语言的分布式体现在数据分布和操作分布,它是面向网络的语言,可以处理TCP/IP协议,它也支持客户机/服务器的计算模式。Java语言的动态性是指类在运行时是动态安装的,使得Java可以动态的维护程序。Java不支持指针,对内存访问的所有操作都是通过对象实例化实现的,这样就避免了指针操作中易产生的错误,同时也预防了病毒对系统的破坏和威胁。

Java语言的编程风格与C语言非常接近,它继承了C++面向对象技术的核心,它面世之后发展迅速,非常流行,对高级C语言形成了很大的冲击。业内人士称之为“一次编译、到处执行”。当然java也有缺点,在每次执行编译后,字节码都需要消耗一定的时间,在某些程度上降低了性能。但是这并不影响java成为此次设计语言的选择。Java语言简单易学,使用它的编程时间短,功能性强,开发者学习起来更简便、更快。Java的主要特性有以下几个:

1.面向对象

面向对象有四个特点:封装、继承、多态、抽象。抽象是指忽略一个问题中的次要部分,关注主要部分。多态是指对同一种消息做出的不同反应。继承是指在原有的父类方法基础上增加自己独有的方法,而不改变原来父类。

2.平台无关性、

Java编译出来的是字节码,直接由虚拟机执行。在任何平台上,只要有Java虚拟机,Java代码都能运行。

3.可靠性和安全性

Java对内存的访问都必须通过对象的实例变量来实现,避免了指针中出现的错误。

4. 多线程  

Java提供了多线程功能,利用编程实现同一时间同时工作的功能。

2.3 MySQL 介绍

在软件项目,通过经营性数据的数据库,可以保证其安全,独立和数据一致,访问数据的系统来提供,所以有效减少时间程序员开发应用程序。

MySQL可以支持多线程,可以方便使用系统的资源,提高运行的速度。并提供odbc、jdbc和tcp/ ip,以各种形式连接到MySQL; 功能方面表现欠缺,规模小,但对于这个系统就足够了。

因为MySQL是源代码对外开放的,所以任何人都可以通过相应的方法下载,并根据个性化需求进行修改。 由于MySQL的速度,可靠性和适应性,MySQL受到重视。

MySQL虽然功能可能不是很强大,但由于其开源,广泛传播,导致很多人都意识到这个数据库。

2.4 MySQL环境配置

本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。

修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:

cd C:\Program Files\MySQL\bin

MySQLadmin -u root -p password 123

回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。

2.5 SSM框架

开发信息管理系统的主流框架是SSM(Spring + Spring MVC + MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框架;对于相关SQL操作,采用Mybatis作为持久层框架,对JDBC进行封装,使得数据库的底层面向开发者操作处于一种透明状态。

3系统分析

3.1可行性分析

在开发系统之前要进行系统可行性分析,目的是在用最简单的方法去解决最大的问题,程序一旦开发出来满足了用户的需要,所带来的利益也很多。下面我们将从技术、操作、经济等方面来选择这个系统最终是否开发。

3.1.1技术可行性

本系统开发选择java技术,java是一个完全面向对象的语言,java为开发者提供了丰富的类库,大大减少了使用windows编程的难度,减少开发人员在设计算法上的难度,作为java开发 Visual Studio更是一个必不可少的角色,它友好的界面,以及强大的功能,给程序开发人员带来了很多方便,加上环境简单,转移方便,无疑使此系统最佳的选择。所以后台设计选择使用MySQL数据库主要用来的建立和维护信息。对于前台开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。

依据上述目标来分析本系统的硬件如下:

奔腾3的处理器;

内存是 2G;

硬盘是50G;

操作系统是Window 10;

在软件方面的话,安装了Visul Studio 0 和MySQL数据库开发工具。根据以上的软件与硬件要求,得到这个系统的技术是可行的。

3.1.2经济可行性

本服装定制系统软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的服装定制系统,同时还能实现对人力资源和管理资源的有效节约,该服装定制在经济上完全可行。

3.1.3操作可行性

现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。

3.2系统性能需求分析

对系统性能进行分析,可对系统反应度、界面简洁清晰度、储存能性、易学性和稳定性进行分析;

系统反应度:同时上万人在线时反应时间应该在两三秒以内,。

界面简洁清晰:系统界面要求简单明了,操作简单,用户操作容易上手。

储存性能高:服装定制中需要存储的信息有很多,所以对系统的存储量要求很高,因此数据库就应该很强大,才能保证信息能安全稳定的进行存储;

易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。

稳定性:要求服装定制运行要稳定,界面清楚、字体清晰等。

3.3系统功能分析

考虑到实际生活中在服装定制方面的需要以及对该系统认真的分析,将系统权限按管理员和用户这两类涉及用户划分。

(a) 管理员;管理员使用本系统涉到的功能主要有首页、个人中心、用户管理、服装类型管理、服装信息管理、服装定制管理、留言反馈、系统管理等功能。管理员用例图如图3-1所示。

图3-1 管理员用例图

 (b) 用户;用户进入系统可以对首页、个人中心、服装定制管理、留言反馈等功能进行操作管理。用户用例图如图3-2所示。

图3-2用户用例图

3.4系统流程的分析

由于不同的系统实际使用用户角色的不同,他们的业务分析也会变得有所不一样,为了论述方便接下来都将以用户功能权限下的系统业务流程来分析,如下图所展示:

 3.4.1 用户管理的流程

图3-3 用户管理流程

3.4.2 个人中心管理流程

图3-4 个人中心管理流程

3.4.3 登录流程

图3-5 登录流程

4系统设计

4.1 软件功能模块设计

系统整体功能如下图所示:

图 4-1 系统功能模块图

4.2 数据库设计

4.2.1 概念模型设计

概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。

服装信息实体图如图4-2所示:

图4-2服装信息实体图

服装定制实体图如图4-3所示:

图4-3服装定制实体图

服装资讯实体图如图4-4所示:

图4-4服装资讯实体图

4.2.2 物理模型设计

根据上诉的逻辑模型设计,下面给出物理模型的设计,如下表:

表4-1:服装信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

fuzhuangmingcheng

varchar

200

服装名称

fuzhuangleixing

varchar

200

服装类型

tupian

varchar

200

图片

fuzhuangyanse

varchar

200

服装颜色

mianliao

varchar

200

面料

dingzhijiage

int

定制价格

yangpinjieshao

longtext

4294967295

样品介绍

表4-2:服装类型

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

fuzhuangleixing

varchar

200

服装类型

表4-3:服装定制

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dingdanbianhao

varchar

200

订单编号

fuzhuangmingcheng

varchar

200

服装名称

mianliao

varchar

200

面料

fuzhuangyanse

varchar

200

服装颜色

chima

varchar

200

尺码

dingzhineirong

longtext

4294967295

定制内容

dingzhijiage

float

定制价格

dingzhishuliang

int

定制数量

zongjiage

float

总价格

xiadanshijian

datetime

下单时间

yonghuming

varchar

200

用户名

xingming

varchar

200

姓名

shouji

varchar

200

手机

youjidizhi

varchar

200

邮寄地址

ispay

varchar

200

是否支付

未支付

表4-4:服装信息评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表4-5:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表4-6:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuming

varchar

200

用户名

mima

varchar

200

密码

xingming

varchar

200

姓名

xingbie

varchar

200

性别

touxiang

varchar

200

头像

youxiang

varchar

200

邮箱

shouji

varchar

200

手机

表4-7:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4-8:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

表4-9:收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

收藏id

tablename

varchar

200

表名

name

varchar

200

收藏名称

picture

varchar

200

收藏图片

type

varchar

200

类型(1:收藏,21:赞,22:踩)

1

inteltype

varchar

200

推荐类型

表4-10:服装资讯

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

varchar

200

图片

content

longtext

4294967295

内容

表4-11:留言反馈

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

留言人id

username

varchar

200

用户名

content

longtext

4294967295

留言内容

cpicture

varchar

200

留言图片

reply

longtext

4294967295

回复内容

rpicture

varchar

200

回复图片

5系统详细设计

5.1系统功能模块

服装定制系统,在系统首页可以查看首页、服装信息、服装资讯、留言反馈、个人中心、后台管理等内容,并进行详细操作;如图5-1所示。

图5-1系统首页界面图

用户注册,在用户注册页面通过填写用户名、密码、确认密码、姓名、邮箱、手机等信息进行用户注册操作,如图5-2所示。

图5-2用户注册界面图

服装信息,在服装信息页面可以查看服装名称、服装类型、服装颜色、面料、图片、定制价格、样品介绍等信息进行定制,评论或收藏操作,如图5-3所示。

图5-3服装信息界面图

留言反馈,在留言反馈页面通过输入留言内容、上传图片并提交或重置进行系统留言;还可以对留言内容或图片进行回复操作;如图5-4所示。

图5-4留言反馈界面图

个人中心,在个人中心页面通过填写用户名、密码、姓名、性别、上传图片、邮箱、手机等信息进行更新操作,还可以根据需要对我的收藏进行详细操作,如图5-5所示。

图5-5个人中心界面图

5.2管理员功能模块

管理员进入系统,在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进入系统操作界面,如图5-6所示。

图5-6管理员登录界面图

管理员登录系统后,可以对首页、个人中心、用户管理、服装类型管理、服装信息管理、服装定制管理、留言反馈、系统管理等功能进行相应的操作管理,如图5-7所示。

图5-7管理员功能界面图

用户管理,在用户管理页面可以对索引、用户名、姓名、性别、头像、邮箱、手机等内容进行详情,修改和删除操作,如图5-8所示。

图5-8用户管理界面图

服装类型管理,在服装类型管理页面可以对索引、服装类型等内容进行修改和删除操作,如图5-9所示。

图5-9服装类型管理界面图

服装信息管理,在服装信息管理页面可以对索引、服装名称、服装类型、图片、服装颜色、面料、定制价格等内容进行详情,修改,查看评论或删除操作,如图5-10所示。

图5-10服装信息管理界面图

留言反馈,在留言反馈页面可以对索引、用户名、留言内容、留言图片、回复内容、回复图片等内容进行详情,回复和删除操作,如图5-11所示。

图5-11留言反馈界面图

系统管理,在服装资讯页面可以对索引、标题、图片等内容进行详情,修改和删除操作,还可以对轮播图管理进行详细操作;如图5-12所示。

图5-12系统管理界面图

5.3用户后台管理模块

用户登录进入系统,点击后台管理可以对首页、个人中心、服装定制管理、留言反馈等功能进行详细操作,如图5-13所示。

图5-13用户后台管理界面图

服装定制管理,在服装定制管理页面可以对索引、订单编号、服装名称、面料、服装颜色、尺码、定制价格、定制数量、总价格、下单时间、用户名、姓名、手机、邮寄地址、是否支付等内容进行详情或删除操作,如图5-14所示。

图5-14服装定制管理界面图

留言反馈,在留言反馈页面可以对索引、用户名、留言内容、留言图片、回复内容、回复图片等内容进行详情或删除操作,如图5-15所示。

图5-15留言反馈界面图

6系统测试

系统测试不仅仅是发现系统潜在的BUG或错误,而更为重要的是为用户提供一个良好的体验和安全可使用的产品服务。而通过发现错误或潜在的问题,将有助于提升产品的竞争力,这也是软件测试的其中的重要目的之一。

软件测试的方法有好几种,但目前主要采用的是包括以功能为主要测试方向的黑盒测试以及以逻辑为主要测试方向的白盒测试,这是两种不同的测试方法,针对的测试侧重点不同,本课题根据实际需求情况,选择以功能为主要的黑盒测试方法,同时测试是要遵循一定的规则来执行的,一个测试要执行其执行的依据一般是由测试用例来规定的,而测试用例一般是依据需求或说明书来综合制定的,测试在硬件出厂前是十分重要的一个过程,本课题由于时间和精力的关系,选择以实现的功能作为测试要点来进行测试。具体测试过程如下:

测试用例1及测试过程:

登录:录入登录信息,账号,密码和选择权限,点击登录按钮,会出现两种情况:登录成功进入用户具有权限的功能界面和提示登录失败。

测试用例2及测试过程:

管理员登录:录入登录信息,管理员账号,密码和选择权限,点击登录按钮,会出现两种情况:登录成功进入管理员具有权限的功能界面和提示登录失败。

7总结与心得体会

7.1 总结

通过完成该服装定制系统和本论文的撰写让我更加明白了软件开发过程中软件工程思想的重要性。在项目的前期由于对需求分析做的不够谨慎和明确,导致了后面在设计甚至编码时候造成了许多不必要的麻烦。由此在今后的学习和工作开发之中必须要牢牢把握住软件工程的设计思想和方法,这样可以进一步保证项目开发的健壮性和准确性。

本系统所实现的是一个服装定制,该系统严格按照需求分析制作相关模块,并利用所学知识尽力完成,但是本人由于学识浅薄,无法真正做到让该程序可以投入市场使用,仅仅简单实现部分功能,希望日后还能改善。

本系统具有以下优点:

该系统具有较高的适用性,选用B/S结构,可以在绝大部分个人平台上使用该系统。

系统将用户权限进行划分,管理员和用户能看到及操作的信息不一样,两者具备不同的操作权限。

该系统操作界面简单明了,大部分人都可以正常使用。

但也存在以下问题需要改进:

运行时窗口不能被刷新,可以改进。

系统过于简单,显示的信息有限。

不能添加多个管理员账号,如果可以则将利于发展服装定制规模,便于服装定制信息集中管理。

不能实时预约接待消息和服装定制反馈建议,容易被忽视,不利于管理员服务客户。

7.2 心得体会

由于经验和能力不足,导致在开发、设计该系统的时候,出现了比较多的问题,例如需要用到的技术不熟悉、程序报错等,后来我积极地向同学询问自己出现的问题同时也会找一些相关的书进行学习,慢慢的一点点将自己遇到的问题逐渐解决。所以不管以后在任何时候合作都会让自己事半功倍。通过本系统的完整的开发,可以遇到自己平时写一些简单的小程序遇不到的问题,不仅仅局限与技术与业务方面的,同时也使得自己更加深入的了解软件过程的开发设计思想,对于即将踏入社会工作而言,这些心得都十分重要。在以后的研究生学习生涯也必须加深这方面的理解,将最好的开发技术和最新的科学原理运用到自己以后的开发工作和学习研究中去。

参考文献

[1] 李兴华. JavaWeb开发实战经典基础篇(第1版)[M].北京:清华大学出版社,2010.8

[2] 程志艳, 张亮. JSP实用简明教程[M].北京:清华大学出版社,2005.12

[3] 陈刚. Eclipse从入门到精通[M].北京:清华大学出版社,2005.6

[4] 李勇平.JSP应用开发详解[M].电子工业出版社,2005.10

[5] 郑自国,邹丰义.Java案例开发集锦[M].北京:电子工业出版社,2005.2

[6] 张孝祥. 深入Java Web开发内幕——核心基础[M]. 北京:电子工业出版社.  2006

[7] 李安渝. Web Services技术与实现[M]. 北京:国防工业出版社,2003 

[8] 孙卫琴,李洪成.Tomcat 与 Java Web 开发技术详解[M].电子工业出版社,2003.6:1-205 

[9] 曹广鑫 编著.JSP数据库项目开发宝典[M].北京:电子工业出版社,2006

[10] 王剑,邓武.基于Web服务面向服务的动态电子商务应用框架研究[J].科学技术与工程,2008,2(3):65-90

[11] 周旌恒.JSP应用开发详解(第三版)[M].北京:电子工业出版社,2004

[12] Shanliang Xue;Qing Yan Wei;Guang Ming Jiao;Dun Wen Zuo. Research Code Management System Based on J2EE[J]. Key Engineering Material.2010,Vol.431-432(188-191)

[13] Yan Ming Li;Li Feng Wan. Design On Framework Structure of College English Learning Management System Based on Struts2[J].Advanced Materials Research.2013,Vol.846-847(1558-1561)

[14] Bruce Eckel. Thinking in Java[M]. Upper Saddle River, New Jersey, USA:  Prentice Hall, 2006

[15] Joshua Bloch. Effective Java[M]. Piscataway, N.J:  IEEE Press, 2009

[16] Juan Lipson Vuong.A semantics-based routing scheme for grid resource discovery[M].E-Science: First

    International Conference on E-Science and GridComputing,2005:58-70,90

核心代码展示

/**
 * 公告通知
 * 后端接口
 * @author 
 * @email 
 * @date 2021-03-09 11:33:59
 */
@RestController
@RequestMapping("/news")
public class NewsController {
    @Autowired
    private NewsService newsService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
        EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
		PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
        EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
		PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( NewsEntity news){
       	EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
      	ew.allEq(MPUtil.allEQMapPre( news, "news")); 
        return R.ok().put("data", newsService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(NewsEntity news){
        EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
 		ew.allEq(MPUtil.allEQMapPre( news, "news")); 
		NewsView newsView =  newsService.selectView(ew);
		return R.ok("查询公告通知成功").put("data", newsView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        NewsEntity news = newsService.selectById(id);
        return R.ok().put("data", news);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        NewsEntity news = newsService.selectById(id);
        return R.ok().put("data", news);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody NewsEntity news, HttpServletRequest request){
    	news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(news);
        newsService.insert(news);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody NewsEntity news, HttpServletRequest request){
    	news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(news);
        newsService.insert(news);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody NewsEntity news, HttpServletRequest request){
        //ValidatorUtils.validateEntity(news);
        newsService.updateById(news);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        newsService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<NewsEntity> wrapper = new EntityWrapper<NewsEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = newsService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-04 21:00:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-04 21:00:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-04 21:00:03       82 阅读
  4. Python语言-面向对象

    2024-05-04 21:00:03       91 阅读

热门阅读

  1. 车载开发-Android Automotive平台

    2024-05-04 21:00:03       34 阅读
  2. git解决冲突问题

    2024-05-04 21:00:03       34 阅读
  3. 修改ETCD返回数据限额

    2024-05-04 21:00:03       32 阅读
  4. 2024/5/3 C++五一

    2024-05-04 21:00:03       38 阅读
  5. PPT基础

    PPT基础

    2024-05-04 21:00:03      35 阅读
  6. SpringCloud相关面试题(详细解答)

    2024-05-04 21:00:03       33 阅读
  7. 2024十大免费cms建站系统有哪些

    2024-05-04 21:00:03       35 阅读