网时代it培训官网珠海网络排名优化

当前位置: 首页 > news >正文

网时代it培训官网,珠海网络排名优化,wordpress转换语言,国家建设环保局网站TOC ssm784基于Web的穿戴搭配系统的设计与实现vue 第1章 绪论 1.1 研究背景 互联网概念的产生到如今的蓬勃发展#xff0c;用了短短的几十年时间就风靡全球#xff0c;使得全球各个行业都进行了互联网的改造升级#xff0c;标志着互联网浪潮的来临。在这个新的时代…TOC ssm784基于Web的穿戴搭配系统的设计与实现vue 第1章 绪论 1.1 研究背景 互联网概念的产生到如今的蓬勃发展用了短短的几十年时间就风靡全球使得全球各个行业都进行了互联网的改造升级标志着互联网浪潮的来临。在这个新的时代各行各业都充分考虑互联网是否能与本行业进行结合是否能解决本行业或者本行业中某些方面的自古以来的痛点。长期以来数据内容数据传播数据储存等都是一门门专业的内容因为需要记住的内容很多造成古人的言简意赅如今互联网的到来让数据更加的清晰好认不复杂一目了然不出错毕竟在整个历史上数据的丢失传承的断代都是因为数据不能好好的保存不能好好的流传。当年的年代用互联网思维和互联网技术对大量数据的录入更新存储汇总备份分析方面使得远远的超过传统的数据管理技术。在这样的时代潮流下采用新技术开发新软件对传统行业进行革命性的改造成为了当今的主流。本次开发穿戴搭配系统解决了穿搭信息管理关于数据方面的管理分析存储传输的痛点不仅仅对管理员提供了便利还能提高用户的满意度。 1.2目的和意义 此次穿戴搭配系统的开发需要用到的知识不仅涉及到界面设计与功能设计方面的知识还需要涉及到数据库与编程语言上面的知识这些知识点对于一个即将毕业的学生来说一是为了巩固在校所学相关专业知识二是为了让学生学会如何将专业理论知识运用于现实软件的开发过程三是让学生明白知识是无穷无尽的要时刻明白活到老学到老的真正含义让学生要养成时刻学习的习惯同时也要相信通过此次程序的开发会让学生对于专业知识的理解与软件开发水平的提高有着极大的帮助。 1.3 论文研究内容 论文设计的结构也是依照程序开发的流程进展的也涉及到功能需求分析功能设计与实现程序测试等流程。 绪论讲解课题的背景与意义展示论文结构。 程序开发技术讲解程序运用到的工具与技术知识。 系统分析讲解程序的功能需求与开发可行性问题。 系统设计讲解程序的功能与数据库的设计。 系统实现讲解程序功能与界面实现。 系统测试讲解程序的功能测试。 第2章 程序开发技术 2.1 Mysql数据库 为了更容易理解Mysql数据库接下来就对其具备的主要特征进行描述。 1首选Mysql数据库也是为了节省开发资金因为网络上对Mysql的源码都已进行了公开展示开发者根据程序开发需要可以进行下载并做一些改动就可以使用在程序中可以推动开发者开发此程序的开发进度。 2SQL数据语言在Mysql里面也同样适用 3Mysql不仅可以支持多种编程语言比如在校期间学到的C语言Java语言以及课后接触的PHP语言C语言等编程语言它都能很好的支持而且Mysql的安装与使用还不挑剔使用平台。 4Mysql可以支持具有千万条数据记录的数据库电脑操作系统在进行首次安装或者是重装时可以根据需要选择安装32位或64位操作系统这两种操作系统对表文件的支持力度不一样32位的操作系统最多可以存放4GB的表文件64位操作系统最多可以存放8TB的表文件。 5Mysql数据库可以通过GPL协议进行个性化定制需要开发者自己对数据库的源代码进行修改以此开发出属于自己的Mysql。 2.2 Java语言 程序开发语言有很多但是截至目前Java语言在IT领域内仍然是最被认可以及被广泛运用的编写语言之一因此在选择此程序的编写语言上果断选择这门编程语言进行程序开发。可以说经过了这么多年的发展Java语言不仅在Web开发领域有了突出性贡献而且在大数据开发领域以及Android开发领域都得到了广泛运用。由于Java语言拥有较强的扩展性能并且表现出的稳定性能让其成为大型后端系统开发语言首选现如今Java语言也成为了一种常用的互联网平台的解决方案。 作为一种源码在网络上开源的面向对象的程序开发Java语言由它开发完成的程序是不可能直接运行在各大平台的Java程序的运行需要在操作平台上配置其运行的环境包括数据库软件与Java程序开发软件等工具的安装与配置。在Win7Win10或其它操作平台上配置Java程序运行环境只要环境配置成功Java程序都可以运行起来。 第3章 系统分析 在进行系统分析之前需要从网络上或者是图书馆的开发类书籍中收集大量的资料因为这个环节也是帮助即将开发的程序软件制定一套最优的方案一旦确定了程序软件需要具备的功能就意味着接下来的工作和任务都是围绕着这个方案执行的所以系统分析需要对程序功能反复进行思考和研究。 3.1可行性分析 开发一款系统软件之前用户都会思考这个软件程序值不值得去开发把开发软件过程中可能涉及到的问题罗列出来并一个个分析解决以此来确定开发这款程序软件是否有必要这样的分析方法也能帮助用户降低损失不至于开发者开发进度进行到一半之后突然遇到问题就放弃对软件的开发到那时资金损失人力投入等方面就损耗太大了。 3.1.1技术可行性分析 此次开发程序使用到的开发工具有EclipseMysql等工具使用的开发语言是Java选择的开发工具和开发语言都是在大学课堂接触并学习过后期因为自己也比较感兴趣所以也通过网络渠道或借助图书馆的开发类书籍进行过软件开发知识的系统学习让自己有了一定的知识积累加上自己在校期间也独立开发过一些软件作品也积累了一定的开发经验所以这次毕设作品的制作在技术上无须担忧过多。 3.1.2经济可行性分析 目前的信息时代对信息的管理趋于高效化便捷化这也是计算机大力普及所带来的便利此程序软件在设备选用上依靠的是比较大众的电脑设备对电脑的配置没有过多要求一般学校的计算机机房的电脑都可以满足程序开发需求另外开发出此款程序让信息处理变得高效率其所带来的高效益是远超程序开发的低成本的因此程序开发的资金投入是可以忽略不计的。 3.1.3操作可行性分析 程序软件的操作界面是符合大众审美的需求功能模块的布局也是类似于社会上同种类型的软件因此使用者操作该软件可以无需培训就上手。加上现在计算机入驻各家各户大部分人的计算机操作水平都比较高这样的局面也表明开发出来的程序在操作性问题上也是不用担心的。 综合上面的可行性论证基本可以确定程序开发完全可行。 3.2系统运行环境 程序经过编码可以实现对程序设计的功能。但是编码实现时需要一定的配置环境包括了电脑上的硬件环境也包括在电脑操作系统上安装的软件环境。 硬件环境一台可以正常使用并能够上网的笔记本或者是电脑电脑内存最低要求4个G电脑的中央处理器可以配置i5CPU。 软件环境运用的微软操作系统是比较稳定的win7旗舰版系统采用比较熟练360安全浏览器并在此系统上通过浏览器下载安装好Eclipse软件下载安装好MYSQL软件等。 3.3系统流程分析 分析程序的流程涉及到程序的整体操作流程通过分析与设计绘制的程序操作流程图见下图。此程序为了确保安全会让使用者通过登录模块验证信息符合要求的使用者才有权限操作程序。 图3-1 程序操作流程图 程序处理数据会涉及到数据的录入环节绘制的添加流程见下图。程序录入数据过程中始终与数据库保持同步。 图3-2 信息添加流程图 程序里面的数据也会出现错误因此就有相应的修改数据的功能绘制的程序修改流程见下图。此过程也是跟后台数据库进行数据同步显示。 图3-3信息修改流程图 程序数据存放于数据仓库有时也会涉及到数据删除此过程对应的流程图见下图。数据信息被删除之后数据库里面也就没有了该数据信息了。 图3-4 信息删除流程图 第4章 系统设计 4.1 系统设计的原则 在系统设计过程中也需要遵循相应的设计原则这些设计原则可以帮助设计者在短时间内设计出符合设计规范的设计方案。设计原则主要有可靠性安全性可定制化可扩展性可维护性可升级性以及客户体验等原则。下面就对这些原则进行简要阐述。 可靠性一个软件是否可靠决定了其是否被用户使用设计不可靠的软件用户很容易就遗弃 安全性程序软件承担了信息的保存与管理等事务安全性不足的软件会导致使用者承担巨大的损失所以系统安全也是需要考虑进入的 可定制化市场环境从来都不是一直固定不变面对客户群体的改变以及使用环境的改变市场需求的改变等因素程序软件也要易于调整以适应各种变化 可扩展性程序软件在运行使用期间也需要及时引进当下的新技术来进行系统优化主要就是在系统功能层面系统性能层面上进行相应的扩展只有这样才能让系统在实际生活中继续占有市场 可维护性程序软件的维护需要一定量的资金不管是排除现有程序错误还是变更软件的现有需求都需要在软件技术上投入一定资金所以易于维护的软件程序就可以降低技术层面的资金消耗 可升级性程序软件的投入使用会面临用户数量增多的情况用户对软件的使用率也会提升所以系统面临这种情况仍然需要通过升级保持性能的合理这样才能够适应市场 客户体验设计出来的程序软件在界面上不能够太复杂要遵循界面设计的原理设计出简单方便操作的功能操作界面让用户易于接受软件并乐于使用软件提供的功能。 4.2 系统结构设计 在系统结构设计上经综合考虑还是选择比C/S更省资金的B/S结构模式现如今浏览器已经实现了普及并在技术上逐渐完善和成熟它在节约软件开发成本的基础上还能实现原本用专业软件操作才能实现的强大功能。总之B/S结构是当下全新的认可度高的系统构造技术。系统结构设计图通过绘制效果展示如下 图4-1 系统结构设计图 4.3功能结构设计 在管理员功能模块确定下来的基础上对管理员各个功能进行设计确定管理员功能的详细模块。绘制的管理员功能结构见下图。 穿戴搭配系统 系个人信息管理 管用户管理 管穿搭收藏管理 管穿搭订单管理 大穿搭管理 修个人信息修改 密 修改密码 新穿搭新增 是穿搭修改 删穿搭删除 删穿搭订单删除 申 穿搭订单新增 申 穿搭订单修改 删用户删除 新用户新增 修用户修改 用穿搭收藏新增 用穿搭收藏修改 用穿搭收藏删除 管论坛管理 新论坛新增 吸论坛修改 删论坛删除
图4.3 管理员功能结构图 4.4 数据库设计 开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合存储在一起的这些数据也是按照一定的组织方式进行的。目前数据库能够服务于多种应用程序则是源于它存储方式最佳具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务但它与程序之间也可以保持较高的独立性。总而言之数据库经历了很长一段时间的发展从最初的不为人知到现在的人尽皆知其相关技术也越发成熟同时也拥有着坚实的理论基础。 4.4.1 数据库概念设计 这部分内容需要借助数据库关系图来完成也需要使用专门绘制数据库关系图的工具比如Visio工具就可以设计E-R图数据库关系图。设计数据库也需要按照设计的流程进行首先还是要根据需求完成实体的确定分析实体具有的特征还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法绘制本系统的E-R图。不管是使用亿图软件还是Visio工具对于E-R模型的表示符号都一样通常矩形代表实体实体间存在的关系用菱形符号表示实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。 1下图是穿搭实体和其具备的属性。 图4.1 穿搭实体属性图 2下图是用户实体和其具备的属性。 图4.2 用户实体属性图 3下图是穿搭讲堂收藏实体和其具备的属性。 图4.3 穿搭讲堂收藏实体属性图 4下图是穿搭讲堂实体和其具备的属性。 图4.4 穿搭讲堂实体属性图 5下图是购物车实体和其具备的属性。 图4.5 购物车实体属性图 6下图是穿搭讲堂留言实体和其具备的属性。 图4.6 穿搭讲堂留言实体属性图 7下图是论坛实体和其具备的属性。 图4.7 论坛实体属性图 8下图是穿搭收藏实体和其具备的属性。 图4.8 穿搭收藏实体属性图 9下图是穿搭评价实体和其具备的属性。 图4.9 穿搭评价实体属性图 10下图是穿搭订单实体和其具备的属性。 图4.10 穿搭订单实体属性图 11下图是收货地址实体和其具备的属性。 图4.11 收货地址实体属性图 4.4.2 数据库表结构 在进行这部分设计之前需要明白和掌握数据类型以及各个数据类型的长度范围等知识因为在一张具体的数据表中为了方便理解这里就举个简单的例子。比如用户信息表这个表格的字段就是用户这个实体具备的属性这时就需要对字段进行数据类型以及字段长度的设置也要设置一个主键来作为用户信息表的唯一标识。这些都是数据库表结构设计需要完成的内容。根据穿戴搭配系统的功能设计以及数据库设计要求展示该系统的数据表结构。 表4.1收货地址表 序号列名数据类型说明允许空1IdIntid否2yonghu_idInteger创建用户是3address_nameString收货人是4address_phoneString电话是5address_dizhiString地址是6isdefault_typesInteger是否默认地址是7insert_timeDate添加时间是8update_timeDate修改时间是9create_timeDate创建时间是 表4.2购物车表 序号列名数据类型说明允许空1IdIntid否2yonghu_idInteger所属用户是3chuanda_idInteger穿搭是4buy_numberInteger购买数量是5create_timeDate添加时间是6update_timeDate更新时间是7insert_timeDate创建时间是 表4.3穿搭表 序号列名数据类型说明允许空1IdIntid否2chuanda_nameString穿搭名称是3chuanda_photoString照片是4chuanda_typesInteger穿搭类型是5fengge_typesInteger风格是6changhe_typesInteger场合是7shencai_typesInteger身材是8chuanda_kucun_numberInteger穿搭库存是9chuanda_priceInteger购买获得积分是10chuanda_old_moneyBigDecimal穿搭原价是11chuanda_new_moneyBigDecimal现价/积分是12chuanda_clicknumInteger点击次数是13shangxia_typesInteger是否上架是14chuanda_deleteInteger逻辑删除是15chuanda_contentString穿搭简介是16create_timeDate创建时间是 表4.4穿搭收藏表 序号列名数据类型说明允许空1IdIntid否2chuanda_idInteger穿搭是3yonghu_idInteger用户是4chuanda_collection_typesInteger类型是5insert_timeDate收藏时间是6create_timeDate创建时间是 表4.5穿搭评价表 序号列名数据类型说明允许空1IdIntid否2chuanda_idInteger穿搭是3yonghu_idInteger用户是4chuanda_commentback_textString评价内容是5insert_timeDate评价时间是6reply_textString回复内容是7update_timeDate回复时间是8create_timeDate创建时间是 表4.6穿搭订单表 序号列名数据类型说明允许空1IdIntid否2chuanda_order_uuid_numberString订单号是3address_idInteger收获地址是4chuanda_idInteger穿搭是5yonghu_idInteger用户是6buy_numberInteger购买数量是7chuanda_order_true_priceBigDecimal实付价格是8chuanda_order_courier_nameString快递公司是9chuanda_order_courier_numberString订单快递单号是10chuanda_order_typesInteger订单类型是11chuanda_order_payment_typesInteger支付类型是12insert_timeDate订单创建时间是13create_timeDate创建时间是 表4.7穿搭讲堂表 序号列名数据类型说明允许空1IdIntid否2chuandajiangtang_nameString讲堂名称是3chuandajiangtang_photoString讲堂照片是4chuandajiangtang_videoString讲堂视频是5chuandajiangtang_typesInteger讲堂类型是6chuandajiangtang_clicknumInteger点击次数是7shangxia_typesInteger是否上架是8chuandajiangtang_deleteInteger逻辑删除是9chuandajiangtang_contentString讲堂详情是10create_timeDate创建时间是 表4.8穿搭讲堂收藏表 序号列名数据类型说明允许空1IdIntid否2chuandajiangtang_idInteger穿搭讲堂是3yonghu_idInteger用户是4chuandajiangtang_collection_typesInteger类型是5insert_timeDate收藏时间是6create_timeDate创建时间是 表4.9穿搭讲堂留言表 序号列名数据类型说明允许空1IdIntid否2chuandajiangtang_idInteger穿搭讲堂是3yonghu_idInteger用户是4chuandajiangtang_liuyan_textString留言内容是5insert_timeDate留言时间是6reply_textString回复内容是7update_timeDate回复时间是8create_timeDate创建时间是 表4.10字典表 序号列名数据类型说明允许空1IdIntid否2dic_codeString字段是3dic_nameString字段名是4code_indexInteger编码是5index_nameString编码名字是6super_idInteger父字段id是7beizhuString备注是8create_timeDate创建时间是 表4.11论坛表 序号列名数据类型说明允许空1IdIntid否2forum_nameString帖子标题是3yonghu_idInteger用户是4laoshi_idInteger老师是5users_idInteger管理员是6forum_contentString发布内容是7super_idsInteger父id是8forum_typesInteger帖子类型是9forum_state_typesInteger帖子状态是10insert_timeDate发帖时间是11update_timeDate修改时间是12create_timeDate创建时间是 表4.12用户表 序号列名数据类型说明允许空1IdIntid否2yonghu_nameString用户姓名是3yonghu_phoneString用户手机号是4yonghu_id_numberString用户身份证号是5yonghu_photoString用户头像是6yonghu_emailString电子邮箱是7new_moneyBigDecimal余额是8yonghu_sum_jifenBigDecimal总积分是9yonghu_new_jifenBigDecimal现积分是10huiyuandengji_typesInteger会员等级是11create_timeDate创建时间是 表4.13管理员表 序号列名数据类型说明允许空1IdIntid否2usernameString用户名是3passwordString密码是4roleString角色是5addtimeDate新增时间是 系统实现
系统实现这个章节的内容主要还是展示系统的功能界面设计效果在实现系统基本功能比如修改比如添加比如删除等管理功能的同时也显示出系统各个功能的界面实现效果该部分内容一方面与前面提到的系统分析系统设计的内容相呼应另一方面也是一个实际成果的展示。 5.1管理员功能实现 5.1.1 穿搭管理 此页面让管理员管理穿搭的数据穿搭管理页面见下图。此页面主要实现穿搭的增加、修改、删除、查看的功能。 图5-1 穿搭管理页面 5.1.2 论坛信息管理 论坛信息管理页面提供的功能操作有新增论坛修改论坛删除论坛操作。下图就是论坛信息管理页面。 图5.3 论坛信息管理页面 5.1.3帖子类型管理 帖子类型管理页面显示所有帖子类型在此页面既可以让管理员添加新的论坛信息类型也能对已有的帖子类型信息执行编辑更新失效的帖子类型信息也能让管理员快速删除。下图就是帖子类型管理页面。 图5.4 帖子类型列表页面 第6章 系统测试 程序软件的开发阶段也包括了系统测试这个部分就是程序质量评定的一个重要环节如果说程序通过编码实现功能之后不通过测试检查程序中出现的错误那么程序一旦投入生活中运行使用时就会产生许多大大小小的错误这个时候去解决问题已经晚了所以一个程序在被交付给使用者使用之前开发者就需要使用多种测试方法反复进行测试也是对程序的一个负责表现。程序进入系统测试阶段在讲究策略进行测试时也需要对时效性进行把控。当开发者测试完程序并解决完测试期间程序产生的各种错误时就需要程序的验收方来对程序进行验收测试这也是程序测试的最后一个操作步骤。验收测试也是对程序的质量以及可交付性方面起到关键的作用。 ChuandaCommentbackServiceImpl.java package com.service.impl;import com.utils.StringUtil; import org.springframework.stereotype.Service; import java.lang.reflect.Field; import java.util.; import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; import com.utils.PageUtils; import com.utils.Query; import org.springframework.web.context.ContextLoader; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import com.dao.ChuandaCommentbackDao; import com.entity.ChuandaCommentbackEntity; import com.service.ChuandaCommentbackService; import com.entity.view.ChuandaCommentbackView;/** 穿搭评价 服务实现类/ Service(chuandaCommentbackService) Transactional public class ChuandaCommentbackServiceImpl extends ServiceImplChuandaCommentbackDao, ChuandaCommentbackEntity implements ChuandaCommentbackService {Overridepublic PageUtils queryPage(MapString,Object params) {if(params ! null (params.get(limit) null || params.get(page) null)){params.put(page,1);params.put(limit,10);}PageChuandaCommentbackView page new QueryChuandaCommentbackView(params).getPage();page.setRecords(baseMapper.selectListView(page,params));return new PageUtils(page);}} ChuandajiangtangCollectionController.java package com.controller;import java.io.File; import java.math.BigDecimal; import java.net.URL; import java.text.SimpleDateFormat; import com.alibaba.fastjson.JSONObject; import java.util.; import org.springframework.beans.BeanUtils; import javax.servlet.http.HttpServletRequest; import org.springframework.web.context.ContextLoader; import javax.servlet.ServletContext; import com.service.TokenService; import com.utils.; import java.lang.reflect.InvocationTargetException;import com.service.DictionaryService; import org.apache.commons.lang3.StringUtils; import com.annotation.IgnoreAuth; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.entity.; import com.entity.view.; import com.service.; import com.utils.PageUtils; import com.utils.R; import com.alibaba.fastjson.;/*** 穿搭讲堂收藏* 后端接口* author* email / RestController Controller RequestMapping(/chuandajiangtangCollection) public class ChuandajiangtangCollectionController {private static final Logger logger LoggerFactory.getLogger(ChuandajiangtangCollectionController.class);Autowiredprivate ChuandajiangtangCollectionService chuandajiangtangCollectionService;Autowiredprivate TokenService tokenService;Autowiredprivate DictionaryService dictionaryService;//级联表serviceAutowiredprivate ChuandajiangtangService chuandajiangtangService;Autowiredprivate YonghuService yonghuService;/** 后端列表/RequestMapping(/page)public R page(RequestParam MapString, Object params, HttpServletRequest request){logger.debug(page方法:,,Controller:{},,params:{},this.getClass().getName(),JSONObject.toJSONString(params));String role String.valueOf(request.getSession().getAttribute(role));if(false)return R.error(511,永不会进入);else if(用户.equals(role))params.put(yonghuId,request.getSession().getAttribute(userId));if(params.get(orderBy)null || params.get(orderBy)){params.put(orderBy,id);}PageUtils page chuandajiangtangCollectionService.queryPage(params);//字典表数据转换ListChuandajiangtangCollectionView list (ListChuandajiangtangCollectionView)page.getList();for(ChuandajiangtangCollectionView c:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put(data, page);}/** 后端详情/RequestMapping(/info/{id})public R info(PathVariable(id) Long id, HttpServletRequest request){logger.debug(info方法:,,Controller:{},,id:{},this.getClass().getName(),id);ChuandajiangtangCollectionEntity chuandajiangtangCollection chuandajiangtangCollectionService.selectById(id);if(chuandajiangtangCollection !null){//entity转viewChuandajiangtangCollectionView view new ChuandajiangtangCollectionView();BeanUtils.copyProperties( chuandajiangtangCollection , view );//把实体数据重构到view中//级联表ChuandajiangtangEntity chuandajiangtang chuandajiangtangService.selectById(chuandajiangtangCollection.getChuandajiangtangId());if(chuandajiangtang ! null){BeanUtils.copyProperties( chuandajiangtang , view ,new String[]{ id, createTime, insertTime, updateTime});//把级联的数据添加到view中,并排除id和创建时间字段view.setChuandajiangtangId(chuandajiangtang.getId());}//级联表YonghuEntity yonghu yonghuService.selectById(chuandajiangtangCollection.getYonghuId());if(yonghu ! null){BeanUtils.copyProperties( yonghu , view ,new String[]{ id, createTime, insertTime, updateTime});//把级联的数据添加到view中,并排除id和创建时间字段view.setYonghuId(yonghu.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put(data, view);}else {return R.error(511,查不到数据);}}/** 后端保存/RequestMapping(/save)public R save(RequestBody ChuandajiangtangCollectionEntity chuandajiangtangCollection, HttpServletRequest request){logger.debug(save方法:,,Controller:{},,chuandajiangtangCollection:{},this.getClass().getName(),chuandajiangtangCollection.toString());String role String.valueOf(request.getSession().getAttribute(role));if(false)return R.error(511,永远不会进入);else if(用户.equals(role))chuandajiangtangCollection.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute(userId))));WrapperChuandajiangtangCollectionEntity queryWrapper new EntityWrapperChuandajiangtangCollectionEntity().eq(chuandajiangtang_id, chuandajiangtangCollection.getChuandajiangtangId()).eq(yonghu_id, chuandajiangtangCollection.getYonghuId()).eq(chuandajiangtang_collection_types, chuandajiangtangCollection.getChuandajiangtangCollectionTypes());logger.info(sql语句:queryWrapper.getSqlSegment());ChuandajiangtangCollectionEntity chuandajiangtangCollectionEntity chuandajiangtangCollectionService.selectOne(queryWrapper);if(chuandajiangtangCollectionEntitynull){chuandajiangtangCollection.setInsertTime(new Date());chuandajiangtangCollection.setCreateTime(new Date());chuandajiangtangCollectionService.insert(chuandajiangtangCollection);return R.ok();}else {return R.error(511,表中有相同数据);}}/** 后端修改/RequestMapping(/update)public R update(RequestBody ChuandajiangtangCollectionEntity chuandajiangtangCollection, HttpServletRequest request){logger.debug(update方法:,,Controller:{},,chuandajiangtangCollection:{},this.getClass().getName(),chuandajiangtangCollection.toString());String role String.valueOf(request.getSession().getAttribute(role)); // if(false) // return R.error(511,永远不会进入); // else if(用户.equals(role)) // chuandajiangtangCollection.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute(userId))));//根据字段查询是否有相同数据WrapperChuandajiangtangCollectionEntity queryWrapper new EntityWrapperChuandajiangtangCollectionEntity().notIn(id,chuandajiangtangCollection.getId()).andNew().eq(chuandajiangtang_id, chuandajiangtangCollection.getChuandajiangtangId()).eq(yonghu_id, chuandajiangtangCollection.getYonghuId()).eq(chuandajiangtang_collection_types, chuandajiangtangCollection.getChuandajiangtangCollectionTypes());logger.info(sql语句:queryWrapper.getSqlSegment());ChuandajiangtangCollectionEntity chuandajiangtangCollectionEntity chuandajiangtangCollectionService.selectOne(queryWrapper);if(chuandajiangtangCollectionEntitynull){chuandajiangtangCollectionService.updateById(chuandajiangtangCollection);//根据id更新return R.ok();}else {return R.error(511,表中有相同数据);}}/** 删除/RequestMapping(/delete)public R delete(RequestBody Integer[] ids){logger.debug(delete:,,Controller:{},,ids:{},this.getClass().getName(),ids.toString());chuandajiangtangCollectionService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/** 批量上传/RequestMapping(/batchInsert)public R save( String fileName){logger.debug(batchInsert方法:,,Controller:{},,fileName:{},this.getClass().getName(),fileName);try {ListChuandajiangtangCollectionEntity chuandajiangtangCollectionList new ArrayList();//上传的东西MapString, ListString seachFields new HashMap();//要查询的字段Date date new Date();int lastIndexOf fileName.lastIndexOf(.);if(lastIndexOf -1){return R.error(511,该文件没有后缀);}else{String suffix fileName.substring(lastIndexOf);if(!.xls.equals(suffix)){return R.error(511,只支持后缀为xls的excel文件);}else{URL resource this.getClass().getClassLoader().getResource(static/upload/ fileName);//获取文件路径File file new File(resource.getFile());if(!file.exists()){return R.error(511,找不到上传文件请联系管理员);}else{ListListString dataList PoiUtil.poiImport(file.getPath());//读取xls文件dataList.remove(0);//删除第一行因为第一行是提示for(ListString data:dataList){//循环ChuandajiangtangCollectionEntity chuandajiangtangCollectionEntity new ChuandajiangtangCollectionEntity(); // chuandajiangtangCollectionEntity.setChuandajiangtangId(Integer.valueOf(data.get(0))); //穿搭讲堂 要改的 // chuandajiangtangCollectionEntity.setYonghuId(Integer.valueOf(data.get(0))); //用户 要改的 // chuandajiangtangCollectionEntity.setChuandajiangtangCollectionTypes(Integer.valueOf(data.get(0))); //类型 要改的 // chuandajiangtangCollectionEntity.setInsertTime(date);//时间 // chuandajiangtangCollectionEntity.setCreateTime(date);//时间chuandajiangtangCollectionList.add(chuandajiangtangCollectionEntity);//把要查询是否重复的字段放入map中}//查询是否重复chuandajiangtangCollectionService.insertBatch(chuandajiangtangCollectionList);return R.ok();}}}}catch (Exception e){return R.error(511,批量插入数据异常请联系管理员);}}/** 前端列表/IgnoreAuthRequestMapping(/list)public R list(RequestParam MapString, Object params, HttpServletRequest request){logger.debug(list方法:,,Controller:{},,params:{},this.getClass().getName(),JSONObject.toJSONString(params));// 没有指定排序字段就默认id倒序if(StringUtil.isEmpty(String.valueOf(params.get(orderBy)))){params.put(orderBy,id);}PageUtils page chuandajiangtangCollectionService.queryPage(params);//字典表数据转换ListChuandajiangtangCollectionView list (ListChuandajiangtangCollectionView)page.getList();for(ChuandajiangtangCollectionView c:list)dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段return R.ok().put(data, page);}/** 前端详情/RequestMapping(/detail/{id})public R detail(PathVariable(id) Long id, HttpServletRequest request){logger.debug(detail方法:,,Controller:{},,id:{},this.getClass().getName(),id);ChuandajiangtangCollectionEntity chuandajiangtangCollection chuandajiangtangCollectionService.selectById(id);if(chuandajiangtangCollection !null){//entity转viewChuandajiangtangCollectionView view new ChuandajiangtangCollectionView();BeanUtils.copyProperties( chuandajiangtangCollection , view );//把实体数据重构到view中//级联表ChuandajiangtangEntity chuandajiangtang chuandajiangtangService.selectById(chuandajiangtangCollection.getChuandajiangtangId());if(chuandajiangtang ! null){BeanUtils.copyProperties( chuandajiangtang , view ,new String[]{ id, createDate});//把级联的数据添加到view中,并排除id和创建时间字段view.setChuandajiangtangId(chuandajiangtang.getId());}//级联表YonghuEntity yonghu yonghuService.selectById(chuandajiangtangCollection.getYonghuId());if(yonghu ! null){BeanUtils.copyProperties( yonghu , view ,new String[]{ id, createDate});//把级联的数据添加到view中,并排除id和创建时间字段view.setYonghuId(yonghu.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put(data, view);}else {return R.error(511,查不到数据);}}/** 前端保存*/RequestMapping(/add)public R add(RequestBody ChuandajiangtangCollectionEntity chuandajiangtangCollection, HttpServletRequest request){logger.debug(add方法:,,Controller:{},,chuandajiangtangCollection:{},this.getClass().getName(),chuandajiangtangCollection.toString());WrapperChuandajiangtangCollectionEntity queryWrapper new EntityWrapperChuandajiangtangCollectionEntity().eq(chuandajiangtang_id, chuandajiangtangCollection.getChuandajiangtangId()).eq(yonghu_id, chuandajiangtangCollection.getYonghuId()).eq(chuandajiangtang_collection_types, chuandajiangtangCollection.getChuandajiangtangCollectionTypes());logger.info(sql语句:queryWrapper.getSqlSegment());ChuandajiangtangCollectionEntity chuandajiangtangCollectionEntity chuandajiangtangCollectionService.selectOne(queryWrapper);if(chuandajiangtangCollectionEntitynull){chuandajiangtangCollection.setInsertTime(new Date());chuandajiangtangCollection.setCreateTime(new Date());chuandajiangtangCollectionService.insert(chuandajiangtangCollection);return R.ok();}else {return R.error(511,您已经收藏过了);}}} App.vue templatediv idapp classrouter-view/router-view/div /templatescript export default {name: app, }; /scriptstyle langscss *{padding: 0;margin:0; } html,body{width: 100%;height: 100%; } #app{height:100%; } body {padding: 0;margin: 0;} /style 声明 本博客适用于广泛的学术和教育用途包括但不限于个人学习、开发设计产品设计。仅供学习参考旨在为读者提供深入理解和学术研究的材料。