From 9cb9637f10c527da0a60f778323b5dd14314bcef Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Wed, 15 Dec 2021 23:17:07 +0800 Subject: [PATCH] fix video add no complete --- src/main/java/cc/mrbird/febs/video/entity/VideoMasterInfoEntity.java | 6 src/main/java/cc/mrbird/febs/video/controller/AdminVideoController.java | 7 + src/main/resources/templates/febs/views/video/video/video-list.html | 2 xc-video.iml | 172 ++++++++++++++++++++++++ src/main/resources/templates/febs/views/video/video/video-add.html | 192 ++++++++++++++++++-------- src/main/java/cc/mrbird/febs/video/entity/VideoMasterItemsEntity.java | 2 src/main/resources/static/febs/index.js | 1 7 files changed, 320 insertions(+), 62 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/video/controller/AdminVideoController.java b/src/main/java/cc/mrbird/febs/video/controller/AdminVideoController.java index bd03c9f..0803bcc 100644 --- a/src/main/java/cc/mrbird/febs/video/controller/AdminVideoController.java +++ b/src/main/java/cc/mrbird/febs/video/controller/AdminVideoController.java @@ -113,6 +113,13 @@ @RequiresPermissions("source:view") @ControllerEndpoint(operation = "视频列表", exceptionMessage = "获取视频列表失败") public FebsResponse videoList(VideoMasterInfoEntity info, QueryRequest request) { + return new FebsResponse().success(); + } + + @PostMapping("/video/add") + @RequiresPermissions("source:add") + public FebsResponse videoAdd(@RequestBody VideoMasterInfoEntity info) { + System.out.println(info); return null; } diff --git a/src/main/java/cc/mrbird/febs/video/entity/VideoMasterInfoEntity.java b/src/main/java/cc/mrbird/febs/video/entity/VideoMasterInfoEntity.java index 940bf0f..56967ba 100644 --- a/src/main/java/cc/mrbird/febs/video/entity/VideoMasterInfoEntity.java +++ b/src/main/java/cc/mrbird/febs/video/entity/VideoMasterInfoEntity.java @@ -1,8 +1,11 @@ package cc.mrbird.febs.video.entity; import cc.mrbird.febs.common.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; + +import java.util.List; @Data @TableName("video_master_info") @@ -25,4 +28,7 @@ * 是否免费 1/免费 2/会员 */ private Integer isFree; + + @TableField(exist = false) + private List<VideoMasterItemsEntity> items; } diff --git a/src/main/java/cc/mrbird/febs/video/entity/VideoMasterItemsEntity.java b/src/main/java/cc/mrbird/febs/video/entity/VideoMasterItemsEntity.java index b25ed12..0f9b838 100644 --- a/src/main/java/cc/mrbird/febs/video/entity/VideoMasterItemsEntity.java +++ b/src/main/java/cc/mrbird/febs/video/entity/VideoMasterItemsEntity.java @@ -21,4 +21,6 @@ private String videoUrl; private String seq; + + private Long sourceId; } diff --git a/src/main/resources/static/febs/index.js b/src/main/resources/static/febs/index.js index cf90796..751364f 100644 --- a/src/main/resources/static/febs/index.js +++ b/src/main/resources/static/febs/index.js @@ -3,6 +3,5 @@ validate: 'lay/modules/validate' }).define(['febs', 'conf'], function (exports) { layui.febs.initPage(); - console.log("\n %c FEBS-Shiro 2.0 %c https://github.com/wuyouzhuguli/FEBS-Shiro %c 如果该项目对您有帮助的话,还请点个star给予精神支持!🐤", "color: #fff; font-size: .84rem;background: #366ed8; padding:5px 0;", "font-size: .84rem;background: #fff; border: 2px solid #b0e0a8;border-left: none; padding:3px 0;"," font-size: .84rem;background: #fcf9ec; padding:5px 0;margin-left: 8px"); exports('index', {}); }); \ No newline at end of file diff --git a/src/main/resources/templates/febs/views/video/video/video-add.html b/src/main/resources/templates/febs/views/video/video/video-add.html index 573dae2..fd8ad51 100644 --- a/src/main/resources/templates/febs/views/video/video/video-add.html +++ b/src/main/resources/templates/febs/views/video/video/video-add.html @@ -24,7 +24,7 @@ <div class="layui-col-md6"> <label class="layui-form-label febs-form-item-require">视频标题:</label> <div class="layui-input-block"> - <input type="text" name="username" minlength="2" maxlength="10" lay-verify="range|username" + <input type="text" name="title" minlength="2" maxlength="10" lay-verify="range" autocomplete="off" class="layui-input"> </div> </div> @@ -72,44 +72,44 @@ </tr> </thead> <tbody id="itemList"> - <tr> - <th> - 1 - </th> - <th> - <input type="text" class="layui-input" placeholder="" /> - </th> - <th> - <div class="upload"> - <img class="layui-upload-img item-img febs-hide" style="width: 150px;"/> - <button class="layui-btn layui-btn-xs" type="button">点击上传</button> - <input type="text" class="febs-hide" name="itemThumb" /> - </div> - </th> - <th>123</th> - <th> - <button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button> - </th> - </tr> - <tr> - <th> - 2 - </th> - <th> - <input type="text" class="layui-input" placeholder="" /> - </th> - <th> - <div class="upload"> - <img class="layui-upload-img item-img" src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2Ftp05%2F19100120461512E-0-lp.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg" style="width: 150px;"/> - <button class="layui-btn layui-btn-xs febs-hide" type="button">点击上传</button> - <input type="text" class="febs-hide" name="itemThumb" /> - </div> - </th> - <th>123</th> - <th> - <button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button> - </th> - </tr> +<!-- <tr>--> +<!-- <th>--> +<!-- 1--> +<!-- </th>--> +<!-- <th>--> +<!-- <input type="text" class="layui-input" placeholder="" />--> +<!-- </th>--> +<!-- <th>--> +<!-- <div class="upload">--> +<!-- <img class="layui-upload-img item-img febs-hide" style="width: 150px;"/>--> +<!-- <button class="layui-btn layui-btn-xs" type="button">点击上传</button>--> +<!-- <input type="text" class="febs-hide" name="itemThumb" />--> +<!-- </div>--> +<!-- </th>--> +<!-- <th>123</th>--> +<!-- <th>--> +<!-- <button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>--> +<!-- </th>--> +<!-- </tr>--> +<!-- <tr>--> +<!-- <th>--> +<!-- 2--> +<!-- </th>--> +<!-- <th>--> +<!-- <input type="text" class="layui-input" placeholder="" />--> +<!-- </th>--> +<!-- <th>--> +<!-- <div class="upload">--> +<!-- <img class="layui-upload-img item-img" src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2Ftp05%2F19100120461512E-0-lp.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg" style="width: 150px;"/>--> +<!-- <button class="layui-btn layui-btn-xs febs-hide" type="button">点击上传</button>--> +<!-- <input type="text" class="febs-hide" name="itemThumb" />--> +<!-- </div>--> +<!-- </th>--> +<!-- <th>123</th>--> +<!-- <th>--> +<!-- <button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>--> +<!-- </th>--> +<!-- </tr>--> </tbody> </table> </div> @@ -144,10 +144,10 @@ <input type="text" class="febs-hide" name="sourceId" value="{{item.id}}"/> </th> <th> - <input type="text" class="layui-input" placeholder="" value=""/> + <input type="text" class="layui-input" name="name" placeholder="" value=""/> </th> <th> - <div class="upload"> + <div class="upload{{item.id}}"> {{# if(!item.thumb || item.thumb == ''){ }} <img class="layui-upload-img item-img febs-hide" src="" style="width: 150px;"/> <button class="layui-btn layui-btn-xs" type="button">点击上传</button> @@ -161,7 +161,7 @@ </th> <th>{{item.name}}</th> <th> - <button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button> + <button class="layui-btn layui-btn-xs layui-btn-danger item-delete" type="button">删除</button> </th> </tr> {{# }); }} @@ -185,6 +185,7 @@ form.verify(validate); form.render(); + // 已添加的item数据 var itemData = []; var videoCate = xmSelect.render({ el: '#video-cate', @@ -203,8 +204,6 @@ }) $("#addItem").on('click', function() { - - febs.modal.open('选择视频资源', 'video/source/select/list', { area: $(window).width() <= 750 ? '90%' : '50%', offset: '30px', @@ -212,8 +211,8 @@ yes: function (index, layero) { var selectData = table.checkStatus('videoSourceSelectTable').data; + // 去重 var noRepeatData = []; - // 需要去重 if (itemData.length != 0) { for (var i = 0; i < selectData.length; i++) { var flag = true; @@ -230,16 +229,22 @@ } } else { - itemData = selectData; + noRepeatData = selectData; } - var data = itemData.concat(noRepeatData); - $itemList.empty(); - laytpl(templateHtml).render(data, function(html) { - $itemList.append(html); - }) + if (noRepeatData.length > 0) { + itemData = itemData.concat(noRepeatData); + laytpl(templateHtml).render(noRepeatData, function(html) { + $itemList.append(html); + }) - bindUpload(); + for (var i = 0; i < noRepeatData.length; i++) { + bindUpload(noRepeatData[i].id); + } + } +`` + deleteUnBind(); + deleteBind(); layer.close(layer.index); }, btn2: function () { @@ -248,7 +253,7 @@ }); }); - var uploadInst = upload.render({ + upload.render({ elem: '#thumbUpload' ,url: 'common/upload' ,before: function(obj){ @@ -272,9 +277,9 @@ }); // 表格中的图片上传 - function bindUpload() { + function bindUpload(id) { upload.render({ - elem: '.upload' + elem: '.upload' + id ,url: ctx + 'common/upload' //改成您自己的上传接口 // ,accept: 'file' ,before: function(obj){ @@ -318,15 +323,82 @@ }); } - bindUpload(); - form.on('submit(video-add-form-submit)', function (data) { - // febs.post(ctx + 'user', data.field, function () { + var $tr = $("#itemList").find("tr"); + var itemLength = $tr.length; + if (itemLength == 0) { + layer.msg('请添加章节!'); + return; + } + + var cateIds = videoCate.getValue('value'); + if (cateIds.length <= 0) { + febs.alert.warn('至少选择一个目录'); + return false; + } + + var itemData = []; + $tr.each(function() { + var data = {}; + var sourceId = $(this).find("input[name = 'sourceId']").val(); + var videoItemName = $(this).find("input[name = 'name']").val(); + var itemThumb = $(this).find("input[name = 'itemThumb']").val(); + + data.sourceId = sourceId; + data.name = videoItemName; + data.thumb = itemThumb; + itemData.push(data); + }); + + + var field = {}; + field.items = itemData; + field.title = data.field.title; + field.cateIds = cateIds.join(","); + field.thumb = data.field.thumb; + console.log(field); + + // febs.post(ctx + 'video/video/add', data.field, function () { // layer.closeAll(); - // febs.alert.success('新增用户成功,初始密码为 1234qwer'); - // $('#febs-user').find('#query').click(); // }); + + $.ajax({ + url : ctx + 'video/video/add', + type : "post", + dataType : "json", + contentType : "application/json", + data : JSON.stringify(field), + success : function(res) { + console.log(res) + }, + error : function(err) { + + } + }) return false; }); + + function deleteBind() { + $(".item-delete").each(function(index, element) { + $(this).on("click", function() { + var $tr = $(this).parents("tr"); + var id = $tr.find("input[name='sourceId']").val(); + for (var i = 0; i < itemData.length; i++) { + if (itemData[i].id == id) { + itemData.splice(i, 1); + break; + } + } + + $tr.remove(); + }); + }) + } + + function deleteUnBind() { + $(".item-delete").each(function(index, element) { + $(this).unbind('click'); + }) + } }); </script> \ No newline at end of file diff --git a/src/main/resources/templates/febs/views/video/video/video-list.html b/src/main/resources/templates/febs/views/video/video/video-list.html index 86edba5..49123d9 100644 --- a/src/main/resources/templates/febs/views/video/video/video-list.html +++ b/src/main/resources/templates/febs/views/video/video/video-list.html @@ -197,7 +197,7 @@ tableIns = febs.table.init({ elem: $view.find('table'), id: 'videoTable', - url: ctx + 'video/list', + url: ctx + 'video/video/list', cols: [[ {type: 'checkbox'}, {field: 'title', title: '视频名', minWidth: 100}, diff --git a/xc-video.iml b/xc-video.iml new file mode 100644 index 0000000..312a97f --- /dev/null +++ b/xc-video.iml @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> + <component name="FacetManager"> + <facet type="web" name="Web"> + <configuration> + <webroots /> + </configuration> + </facet> + <facet type="Spring" name="Spring"> + <configuration /> + </facet> + </component> + <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> + <output url="file://$MODULE_DIR$/target/classes" /> + <output-test url="file://$MODULE_DIR$/target/test-classes" /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/target/generated-sources/annotations" isTestSource="false" generated="true" /> + <excludeFolder url="file://$MODULE_DIR$/target" /> + </content> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.3.1.Final" level="project" /> + <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.3.1" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" /> + <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" /> + <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.12.1" level="project" /> + <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" level="project" /> + <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" /> + <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.4.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.4.RELEASE" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.25" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.2" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.10.2" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.10.2" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.31" level="project" /> + <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.31" level="project" /> + <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.31" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" /> + <orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.18.Final" level="project" /> + <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.4.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.4.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.4.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.4.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.4.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.4.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.5" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-thymeleaf:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.thymeleaf:thymeleaf-spring5:3.0.11.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.thymeleaf:thymeleaf:3.0.11.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.attoparser:attoparser:2.0.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.unbescape:unbescape:1.1.6.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.thymeleaf.extras:thymeleaf-extras-java8time:3.0.4.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.4.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.2.4.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.2.2.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.45.Final" level="project" /> + <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.45.Final" level="project" /> + <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.45.Final" level="project" /> + <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.45.Final" level="project" /> + <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.45.Final" level="project" /> + <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.45.Final" level="project" /> + <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.3.3.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.4.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-configuration-processor:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.10.2" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.10.2" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.2" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.3.5" level="project" /> + <orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.11" level="project" /> + <orderEntry type="library" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" /> + <orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.7.0" level="project" /> + <orderEntry type="library" name="Maven: org.quartz-scheduler:quartz:2.3.2" level="project" /> + <orderEntry type="library" name="Maven: com.mchange:mchange-commons-java:0.2.15" level="project" /> + <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" /> + <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.3.1" level="project" /> + <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.3.1" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.2.5.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.2" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.2.4.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-generator:3.3.1" level="project" /> + <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.3.1" level="project" /> + <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.3.1" level="project" /> + <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.3.1" level="project" /> + <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:3.1" level="project" /> + <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.3" level="project" /> + <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.3" level="project" /> + <orderEntry type="library" name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.0.0" level="project" /> + <orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.28" level="project" /> + <orderEntry type="library" name="Maven: p6spy:p6spy:3.8.1" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:8.0.19" level="project" /> + <orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.4.2" level="project" /> + <orderEntry type="library" name="Maven: org.apache.shiro:shiro-core:1.4.2" level="project" /> + <orderEntry type="library" name="Maven: org.apache.shiro:shiro-lang:1.4.2" level="project" /> + <orderEntry type="library" name="Maven: org.apache.shiro:shiro-cache:1.4.2" level="project" /> + <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-hash:1.4.2" level="project" /> + <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-core:1.4.2" level="project" /> + <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.4.2" level="project" /> + <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.4.2" level="project" /> + <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.4.2" level="project" /> + <orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.4.2" level="project" /> + <orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.4.2" level="project" /> + <orderEntry type="library" name="Maven: org.crazycake:shiro-redis:3.2.3" level="project" /> + <orderEntry type="library" name="Maven: redis.clients:jedis:2.9.0" level="project" /> + <orderEntry type="library" name="Maven: com.github.theborakompanioni:thymeleaf-extras-shiro:2.0.0" level="project" /> + <orderEntry type="library" name="Maven: org.lionsoul:ip2region:1.7.2" level="project" /> + <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.9" level="project" /> + <orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" /> + <orderEntry type="library" name="Maven: com.google.guava:guava:27.0-jre" level="project" /> + <orderEntry type="library" name="Maven: com.google.guava:failureaccess:1.0" level="project" /> + <orderEntry type="library" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" /> + <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" /> + <orderEntry type="library" name="Maven: org.checkerframework:checker-qual:2.5.2" level="project" /> + <orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.2.0" level="project" /> + <orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.1" level="project" /> + <orderEntry type="library" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.17" level="project" /> + <orderEntry type="library" name="Maven: com.wuwenze:ExcelKit:2.0.72" level="project" /> + <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.17" level="project" /> + <orderEntry type="library" name="Maven: org.apache.poi:poi:3.17" level="project" /> + <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.13" level="project" /> + <orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.1" level="project" /> + <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.04" level="project" /> + <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.17" level="project" /> + <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" /> + <orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" /> + <orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" /> + <orderEntry type="library" name="Maven: jaxen:jaxen:1.2.0" level="project" /> + <orderEntry type="library" name="Maven: xerces:xercesImpl:2.11.0" level="project" /> + <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.3" level="project" /> + <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" /> + <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.12" level="project" /> + <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.70" level="project" /> + <orderEntry type="library" name="Maven: com.github.whvcse:easy-captcha:1.6.2" level="project" /> + <orderEntry type="library" name="Maven: org.jsoup:jsoup:1.12.1" level="project" /> + <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" /> + <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" /> + <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.20" level="project" /> + <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" /> + <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" /> + <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.8" level="project" /> + <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" /> + <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" /> + <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" /> + <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" level="project" /> + <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" /> + </component> +</module> \ No newline at end of file -- Gitblit v1.9.1