From c0d430f4e5adf08129c2610d9d2b5446bb19c0d6 Mon Sep 17 00:00:00 2001 From: XCSDN Date: Thu, 7 Apr 2022 04:57:56 +0000 Subject: [PATCH 1/8] =?UTF-8?q?update=20ruoyi-common/src/main/java/com/ruo?= =?UTF-8?q?yi/common/core/domain/entity/SysDictType.java.=20=E5=AD=97?= =?UTF-8?q?=E5=85=B8=E7=B1=BB=E5=9E=8B=E5=BF=85=E9=A1=BB=E4=BB=A5=E5=AD=97?= =?UTF-8?q?=E6=AF=8D=E5=BC=80=E5=A4=B4,=E4=B8=94=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=8F=AA=E8=83=BD=E7=94=B1=E5=B0=8F=E5=86=99?= =?UTF-8?q?=E5=AD=97=E6=AF=8D=E6=88=96=E5=8A=A0=E4=B8=8B=E5=88=92=E7=BA=BF?= =?UTF-8?q?=E8=BF=98=E6=9C=89=E6=95=B0=E5=AD=97=E7=BB=84=E6=88=90=20?= =?UTF-8?q?=E9=98=B2=E6=AD=A2=E7=94=B1=E4=BA=8E=E5=AD=97=E5=85=B8=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E4=B8=8D=E7=AC=A6=E5=90=88=E5=89=8D=E7=AB=AF=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E8=A7=84=E8=8C=83=E8=80=8C=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/common/core/domain/entity/SysDictType.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java index 6683c9194..027c6e956 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.domain.entity; +import javax.validation.constraints.Pattern; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -26,6 +27,9 @@ public class SysDictType extends BaseEntity private String dictName; /** 字典类型 */ + @NotBlank(message = "字典类型不能为空") + @Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且字典类型只能由小写字母或加下划线还有数字组成") + @Size(min = 2, max = 200, message = "字典类型长度必须在2-200个字符之间") @Excel(name = "字典类型") private String dictType; From a0447de0612b8895b6052f26c4ff46e9033fcffc Mon Sep 17 00:00:00 2001 From: RuoYi Date: Fri, 15 Apr 2022 09:31:51 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E5=AD=97=E5=85=B8=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=BF=85=E9=A1=BB=E4=BB=A5=E5=AD=97=E6=AF=8D=E5=BC=80=E5=A4=B4?= =?UTF-8?q?=EF=BC=8C=E4=B8=94=E5=8F=AA=E8=83=BD=E4=B8=BA=EF=BC=88=E5=B0=8F?= =?UTF-8?q?=E5=86=99=E5=AD=97=E6=AF=8D=EF=BC=8C=E6=95=B0=E5=AD=97=EF=BC=8C?= =?UTF-8?q?=E4=B8=8B=E6=BB=91=E7=BA=BF=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/common/core/domain/entity/SysDictType.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java index 027c6e956..0befbf434 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java @@ -1,7 +1,7 @@ package com.ruoyi.common.core.domain.entity; -import javax.validation.constraints.Pattern; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -27,9 +27,6 @@ public class SysDictType extends BaseEntity private String dictName; /** 字典类型 */ - @NotBlank(message = "字典类型不能为空") - @Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且字典类型只能由小写字母或加下划线还有数字组成") - @Size(min = 2, max = 200, message = "字典类型长度必须在2-200个字符之间") @Excel(name = "字典类型") private String dictType; @@ -61,6 +58,7 @@ public class SysDictType extends BaseEntity @NotBlank(message = "字典类型不能为空") @Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符") + @Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)") public String getDictType() { return dictType; From 68a616d7c7f1522986462a37f0b23c7bffb69fbe Mon Sep 17 00:00:00 2001 From: RuoYi Date: Fri, 15 Apr 2022 09:32:21 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=8D=87=E7=BA=A7element-ui=E5=88=B0?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E7=89=88=E6=9C=AC2.15.8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index 853a3b8c8..50377539c 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -41,7 +41,7 @@ "clipboard": "2.0.8", "core-js": "3.19.1", "echarts": "4.9.0", - "element-ui": "2.15.6", + "element-ui": "2.15.8", "file-saver": "2.0.5", "fuse.js": "6.4.3", "highlight.js": "9.18.5", From c3c49a05c2aa34748f7bfc0011a68ddf9239c4e4 Mon Sep 17 00:00:00 2001 From: XCSDN Date: Sat, 16 Apr 2022 06:02:07 +0000 Subject: [PATCH 4/8] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=8F=96=E6=96=87=E4=BB=B6=E5=90=8D=E8=80=8C=E4=B8=8D=E5=B8=A6?= =?UTF-8?q?=E5=90=8E=E7=BC=80=E7=9A=84=E6=95=B4=E5=90=88=E6=96=B9=E6=B3=95?= =?UTF-8?q?,=E5=B9=B2=E5=87=80=E5=8F=88=E5=8D=AB=E7=94=9F=E5=95=8A?= =?UTF-8?q?=E5=85=84=E5=BC=9F=E4=BB=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/common/utils/file/FileUtils.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java index 6915a53a5..bde198762 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java @@ -17,6 +17,7 @@ import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.uuid.IdUtils; +import org.apache.commons.io.FilenameUtils; /** * 文件处理工具类 @@ -257,7 +258,7 @@ public class FileUtils /** * 获取名称 - * + * 例如: /profile/upload/2022/04/16/ruoyi.png, 返回: ruoyi.png * @param fileName 路径名称 * @return 没有文件路径的名称 */ @@ -272,4 +273,19 @@ public class FileUtils int index = Math.max(lastUnixPos, lastWindowsPos); return fileName.substring(index + 1); } + + /** + * 获取名称 + * 例如: /profile/upload/2022/04/16/ruoyi.png, 返回: ruoyi + * @param fileName 路径名称 + * @return 没有文件路径的名称 + */ + public static String getNameNotSuffix(String fileName) { + if (fileName == null) { + return null; + } + String baseName = FilenameUtils.getBaseName(fileName); + return baseName; + } + } From 910fe6261b2818a93aa618a66565666b4f7d7b9e Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sat, 16 Apr 2022 22:06:15 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E4=B8=8D=E5=B8=A6=E5=90=8E=E7=BC=80=E6=96=87=E4=BB=B6=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/common/utils/file/FileUtils.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java index bde198762..f8a39d3d5 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java @@ -257,8 +257,8 @@ public class FileUtils } /** - * 获取名称 - * 例如: /profile/upload/2022/04/16/ruoyi.png, 返回: ruoyi.png + * 获取文件名称 /profile/upload/2022/04/16/ruoyi.png -- ruoyi.png + * * @param fileName 路径名称 * @return 没有文件路径的名称 */ @@ -275,13 +275,15 @@ public class FileUtils } /** - * 获取名称 - * 例如: /profile/upload/2022/04/16/ruoyi.png, 返回: ruoyi + * 获取不带后缀文件名称 /profile/upload/2022/04/16/ruoyi.png -- ruoyi + * * @param fileName 路径名称 - * @return 没有文件路径的名称 + * @return 没有文件路径和后缀的名称 */ - public static String getNameNotSuffix(String fileName) { - if (fileName == null) { + public static String getNameNotSuffix(String fileName) + { + if (fileName == null) + { return null; } String baseName = FilenameUtils.getBaseName(fileName); From 2a9beec31dcc997d65f45641b9fa374a8cb42908 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sat, 16 Apr 2022 22:06:25 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1bean=E6=89=80=E5=9C=A8=E5=8C=85=E5=90=8D?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E4=B8=BA=E7=99=BD=E5=90=8D=E5=8D=95=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java index 6712a721e..9833d20dd 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java @@ -15,6 +15,7 @@ import com.ruoyi.common.constant.ScheduleConstants; import com.ruoyi.common.exception.job.TaskException; import com.ruoyi.common.exception.job.TaskException.Code; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.quartz.domain.SysJob; /** @@ -127,6 +128,7 @@ public class ScheduleUtils { return StringUtils.containsAnyIgnoreCase(invokeTarget, Constants.JOB_WHITELIST_STR); } - return true; + Object obj = SpringUtils.getBean(StringUtils.split(invokeTarget, ".")[0]); + return StringUtils.containsAnyIgnoreCase(obj.getClass().getPackage().getName(), Constants.JOB_WHITELIST_STR); } } From b42a8176cab314e46c5c3d2593dd4826addd7cc0 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sun, 17 Apr 2022 10:29:12 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/common/core/page/TableSupport.java | 5 +++-- .../src/main/java/com/ruoyi/common/utils/PageUtils.java | 9 +++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableSupport.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableSupport.java index 03d0ce57b..62ac4f968 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableSupport.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableSupport.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.page; +import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.utils.ServletUtils; /** @@ -40,8 +41,8 @@ public class TableSupport public static PageDomain getPageDomain() { PageDomain pageDomain = new PageDomain(); - pageDomain.setPageNum(ServletUtils.getParameterToInt(PAGE_NUM)); - pageDomain.setPageSize(ServletUtils.getParameterToInt(PAGE_SIZE)); + pageDomain.setPageNum(Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1)); + pageDomain.setPageSize(Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10)); pageDomain.setOrderByColumn(ServletUtils.getParameter(ORDER_BY_COLUMN)); pageDomain.setIsAsc(ServletUtils.getParameter(IS_ASC)); pageDomain.setReasonable(ServletUtils.getParameterToBool(REASONABLE)); diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java index 0585396c9..70e9b08f4 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java @@ -20,12 +20,9 @@ public class PageUtils extends PageHelper PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); - if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) - { - String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); - Boolean reasonable = pageDomain.getReasonable(); - PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable); - } + String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); + Boolean reasonable = pageDomain.getReasonable(); + PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable); } /** From 328d4b916d053575a679d15bfbd13d86c2aa30be Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sat, 23 Apr 2022 20:53:16 +0800 Subject: [PATCH 8/8] =?UTF-8?q?Excel=E6=B3=A8=E8=A7=A3=E6=94=AF=E6=8C=81co?= =?UTF-8?q?lor=E5=AD=97=E4=BD=93=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/common/annotation/Excel.java | 21 ++++++--- .../com/ruoyi/common/utils/poi/ExcelUtil.java | 46 ++++++++++++------- 2 files changed, 43 insertions(+), 24 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java b/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java index 9fb64da1a..a57529b76 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java @@ -5,6 +5,8 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import java.math.BigDecimal; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.IndexedColors; import com.ruoyi.common.utils.poi.ExcelHandlerAdapter; /** @@ -56,11 +58,6 @@ public @interface Excel */ public int roundingMode() default BigDecimal.ROUND_HALF_EVEN; - /** - * 导出类型(0数字 1字符串) - */ - public ColumnType cellType() default ColumnType.STRING; - /** * 导出时在excel中每个列的高度 单位为字符 */ @@ -107,9 +104,19 @@ public @interface Excel public boolean isStatistics() default false; /** - * 导出字段对齐方式(0:默认;1:靠左;2:居中;3:靠右) + * 导出类型(0数字 1字符串) */ - public Align align() default Align.AUTO; + public ColumnType cellType() default ColumnType.STRING; + + /** + * 导出字体颜色 + */ + public IndexedColors color() default IndexedColors.BLACK; + + /** + * 导出字段对齐方式 + */ + public HorizontalAlignment align() default HorizontalAlignment.CENTER; /** * 自定义数据处理器 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index e00883879..4fc3ff4fc 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -672,21 +672,6 @@ public class ExcelUtil style.setFont(totalFont); styles.put("total", style); - style = wb.createCellStyle(); - style.cloneStyleFrom(styles.get("data")); - style.setAlignment(HorizontalAlignment.LEFT); - styles.put("data1", style); - - style = wb.createCellStyle(); - style.cloneStyleFrom(styles.get("data")); - style.setAlignment(HorizontalAlignment.CENTER); - styles.put("data2", style); - - style = wb.createCellStyle(); - style.cloneStyleFrom(styles.get("data")); - style.setAlignment(HorizontalAlignment.RIGHT); - styles.put("data3", style); - return styles; } @@ -808,8 +793,7 @@ public class ExcelUtil { // 创建cell cell = row.createCell(column); - int align = attr.align().value(); - cell.setCellStyle(styles.get("data" + (align >= 1 && align <= 3 ? align : ""))); + setDataCell(cell, attr); // 用于读取对象中的属性 Object value = getTargetValue(vo, field, attr); @@ -852,6 +836,34 @@ public class ExcelUtil return cell; } + /** + * 设置单元格样式 + * + * @param cell 单元格 + * @param excel 注解信息 + */ + public void setDataCell(Cell cell, Excel excel) + { + CellStyle style = wb.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setBorderRight(BorderStyle.THIN); + style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderLeft(BorderStyle.THIN); + style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderTop(BorderStyle.THIN); + style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderBottom(BorderStyle.THIN); + style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setAlignment(excel.align()); + Font dataFont = wb.createFont(); + dataFont.setFontName("Arial"); + dataFont.setFontHeightInPoints((short) 10); + dataFont.setColor(excel.color().index); + style.setFont(dataFont); + cell.setCellStyle(style); + } + /** * 设置 POI XSSFSheet 单元格提示或选择框 *