From 6892c31200a7ed1b0e60ee5aff794b1fcecc7ef6 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 01 十一月 2023 16:28:06 +0800
Subject: [PATCH] 解决文件上传时,文件名重复问题
---
ruoyi-admin/pom.xml | 17 ++++-
ruoyi-admin/src/main/resources/application-druid.yml | 10 +-
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java | 20 ++++++
ruoyi-admin/src/main/resources/logback.xml | 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/enums/PersonType.java | 19 ++---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java | 3 +
ruoyi-admin/src/main/resources/application.yml | 79 +++++++++++++------------
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java | 12 +++
8 files changed, 103 insertions(+), 59 deletions(-)
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 7260ed1..b6ecf42 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -8,9 +8,9 @@
<version>3.7.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
-<!-- <packaging>war</packaging>-->
- <packaging>jar</packaging>
- <artifactId>ruoyi-admin-opo-8086</artifactId>
+ <packaging>war</packaging>
+<!-- <packaging>jar</packaging>-->
+ <artifactId>ruoyi-admin</artifactId>
<description>
web鏈嶅姟鍏ュ彛
@@ -86,6 +86,17 @@
<version>4.5.12</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpcore</artifactId>
+ <version>4.4.9</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>5.2.9.RELEASE</version>
+ </dependency>
</dependencies>
<build>
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
index e5f649b..d361a51 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
@@ -15,6 +15,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
+import org.springframework.mock.web.MockMultipartFile;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -23,6 +24,7 @@
import javax.management.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.io.File;
import java.lang.management.ManagementFactory;
import java.util.Set;
@@ -75,6 +77,24 @@
try {
// 涓婁紶鏂囦欢璺緞
String filePath = RuoYiConfig.getUploadPath();
+
+ //鍒ゆ柇鏂囦欢鏄惁瀛樺湪
+ String filename = file.getOriginalFilename().trim();
+ String felinamePath = FileUploadUtils.extractFilename(file);
+// String pathFileName = FileUploadUtils.getPathFileName(filePath, s);
+ File file1 = new File(filePath + "/" + felinamePath);
+ boolean exists = file1.exists();
+ if (exists) {
+ int i = filename.lastIndexOf(".");
+ String startStr = filename.substring(0, i);
+ String endStr = filename.substring(i, filename.length());
+
+ String newFilename = startStr + System.currentTimeMillis() + endStr; // your new filename
+ String contentType = file.getContentType();
+ byte[] bytes = file.getBytes();
+ file = new MockMultipartFile(newFilename, newFilename, contentType, bytes);
+ }
+
// 涓婁紶骞惰繑鍥炴柊鏂囦欢鍚嶇О
String fileName = FileUploadUtils.upload(filePath, file);
String url1 = serverConfig.getUrl();
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/enums/PersonType.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/enums/PersonType.java
index b03c505..a88221f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/enums/PersonType.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/enums/PersonType.java
@@ -4,33 +4,30 @@
/**
* 鐢ㄦ埛绫诲瀷
- *
+ *
* @author ls
*/
-public enum PersonType
-{
+public enum PersonType {
OTHER("0", "鍏朵粬浜哄憳"),
PROFESSIONAL("1", "涓撹亴浜哄憳"),
COORDINATOR("2", "鍗忚皟鍛�"),
- EXPERT("3","涓撳"),
- KIN("4","瀹跺睘");
+ EXPERT("3", "涓撳"),
+ KIN("4", "瀹跺睘"),
+ MESSAGE("5", "绠$悊浜哄憳");
private final String code;
private final String info;
- PersonType(String code, String info)
- {
+ PersonType(String code, String info) {
this.code = code;
this.info = info;
}
- public String getCode()
- {
+ public String getCode() {
return code;
}
- public String getInfo()
- {
+ public String getInfo() {
return info;
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
index 0e26b67..b14a7c4 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -143,6 +143,9 @@
Integer checkstatus = spFinancialExpensesIn.getCheckstatus();
String donorname = spFinancialExpensesIn.getDonorname();
+ if (StringUtils.isEmpty(donorname)) {
+ donorname = null;
+ }
if (pageNum == null) {
pageNum = 1;
}
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index 56e0fcc..c25e58b 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -6,13 +6,13 @@
druid:
# 涓诲簱鏁版嵁婧�
master:
- # 鍖婚櫌鐜
- #url: jdbc:mysql://129.88.242.37:3308/opo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
- #username: JQ
- #password: Jqserver88
+# # 鍖婚櫌鐜
+# url: jdbc:mysql://129.88.242.37:3308/opo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+# username: JQ
+# password: Jqserver88
# 寮�鍙戠幆澧�
- url: jdbc:mysql://116.62.18.175:6002/lihuopo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
+ url: jdbc:mysql://116.62.18.175:6002/opo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
username: opo
password: opo@2022
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 297e022..326dc40 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -10,11 +10,11 @@
demoEnabled: true
# 鏂囦欢璺緞 绀轰緥锛� Windows閰嶇疆D:/ruoyi/uploadPath锛孡inux閰嶇疆 /home/ruoyi/uploadPath锛�
# 寮�鍙戠幆澧� window
- profile: D:/lihusoft/OPO/WEB/Upload
+ # profile: D:/lihusoft/OPO/WEB/Upload
# 寮�鍙戠幆澧� linux
-# profile: /home/smartor/uploadFile
+ # profile: /home/smartor/uploadFile
# 鍖婚櫌鐜
- #profile: E:/OPO/WEB/Upload
+ profile: E:/OPO/WEB/Upload
# 鑾峰彇ip鍦板潃寮�鍏�
addressEnabled: false
# 楠岃瘉鐮佺被鍨� math 鏁扮粍璁$畻 char 瀛楃楠岃瘉
@@ -23,7 +23,7 @@
# 寮�鍙戠幆澧冮厤缃�
server:
# 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
- port: 8086
+ port: 8080
servlet:
# 搴旂敤鐨勮闂矾寰�
context-path: /
@@ -37,9 +37,9 @@
# 鏃ュ織閰嶇疆
logging:
- file:
+ file:
# 鏃ュ織璺緞 绀轰緥锛� Windows閰嶇疆D:/ruoyi/logs锛孡inux閰嶇疆 /home/ruoyi/logs,涓嶅~鍚岀骇鐩綍logs锛�
- path: logs
+ path: D:/ruoyi/ls/logs
level:
com.ruoyi: debug
org.springframework: warn
@@ -50,15 +50,15 @@
messages:
# 鍥介檯鍖栬祫婧愭枃浠惰矾寰�
basename: i18n/messages
- profiles:
+ profiles:
active: druid
# 鏂囦欢涓婁紶
servlet:
- multipart:
- # 鍗曚釜鏂囦欢澶у皬
- max-file-size: 20MB
- # 璁剧疆鎬讳笂浼犵殑鏂囦欢澶у皬
- max-request-size: 40MB
+ multipart:
+ # 鍗曚釜鏂囦欢澶у皬
+ max-file-size: 20MB
+ # 璁剧疆鎬讳笂浼犵殑鏂囦欢澶у皬
+ max-request-size: 40MB
# 鏈嶅姟妯″潡
devtools:
restart:
@@ -70,10 +70,10 @@
enabled: ALWAYS
# redis 閰嶇疆
redis:
- # 鍦板潃銆佸瘑鐮併�佺鍙o紙榛樿涓�6379锛夛細鍖婚櫌鐜
- #host: 129.88.242.37
- #password: jqserver
- #port: 6379
+ # # 鍦板潃銆佸瘑鐮併�佺鍙o紙榛樿涓�6379锛夛細鍖婚櫌鐜
+ # host: 129.88.242.37
+ # password: jqserver
+ # port: 6379
# 鍦板潃銆佸瘑鐮併�佺鍙o紙榛樿涓�6379锛夛細寮�鍙戠幆澧�
host: 116.62.18.175
@@ -97,35 +97,38 @@
# token閰嶇疆
token:
- # 浠ょ墝鑷畾涔夋爣璇�
- header: Authorization
- # 浠ょ墝瀵嗛挜
- secret: abcdefghijklmnopqrstuvwxyz
- # 浠ょ墝鏈夋晥鏈燂紙榛樿30鍒嗛挓锛�
- expireTime: 3000
-
+ # 浠ょ墝鑷畾涔夋爣璇�
+ header: Authorization
+ # 浠ょ墝瀵嗛挜
+ secret: abcdefghijklmnopqrstuvwxyz
+ # 浠ょ墝鏈夋晥鏈燂紙榛樿30鍒嗛挓锛�
+ expireTime: 3000
+
# MyBatis閰嶇疆
#mybatis:
# MyBatis Plus閰嶇疆
mybatis-plus:
- # 鎼滅储鎸囧畾鍖呭埆鍚�
- typeAliasesPackage: com.ruoyi.**.domain
- # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵�鏈夌殑mapper.xml鏄犲皠鏂囦欢
- mapperLocations: classpath*:mapper/**/*Mapper.xml
- # 鍔犺浇鍏ㄥ眬鐨勯厤缃枃浠�
- configLocation: classpath:mybatis/mybatis-config.xml
- # configuration:
+ # 鎼滅储鎸囧畾鍖呭埆鍚�
+ typeAliasesPackage: com.ruoyi.**.domain
+ # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵�鏈夌殑mapper.xml鏄犲皠鏂囦欢
+ mapperLocations: classpath*:mapper/**/*Mapper.xml
+ # 鍔犺浇鍏ㄥ眬鐨勯厤缃枃浠�
+ configLocation: classpath:mybatis/mybatis-config.xml
+ # configuration:
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
- global-config:
- db-config:
- logic-delete-field: isdel # 鍏ㄥ眬閫昏緫鍒犻櫎鐨勫疄浣撳瓧娈靛悕
- logic-delete-value: 1 # 閫昏緫宸插垹闄ゅ��(榛樿涓� 1)
- logic-not-delete-value: 0 # 閫昏緫鏈垹闄ゅ��(榛樿涓� 0)
+ global-config:
+ db-config:
+ logic-delete-field: isdel # 鍏ㄥ眬閫昏緫鍒犻櫎鐨勫疄浣撳瓧娈靛悕
+ logic-delete-value: 1 # 閫昏緫宸插垹闄ゅ��(榛樿涓� 1)
+ logic-not-delete-value: 0 # 閫昏緫鏈垹闄ゅ��(榛樿涓� 0)
+# update-strategy: IGNORED #蹇界暐涓虹┖
+
+
# PageHelper鍒嗛〉鎻掍欢
-pagehelper:
+pagehelper:
helperDialect: mysql
supportMethodsArguments: true
- params: count=countSql
+ params: count=countSql
# Swagger閰嶇疆
swagger:
@@ -135,7 +138,7 @@
pathMapping: /
# 闃叉XSS鏀诲嚮
-xss:
+xss:
# 杩囨护寮�鍏�
enabled: true
# 鎺掗櫎閾炬帴锛堝涓敤閫楀彿鍒嗛殧锛�
diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml
index 6710263..2df5a82 100644
--- a/ruoyi-admin/src/main/resources/logback.xml
+++ b/ruoyi-admin/src/main/resources/logback.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 鏃ュ織瀛樻斁璺緞 -->
- <property name="log.path" value="D" />
+ <property name="log.path" value="/lihu/opo/logs" />
<!-- 鏃ュ織杈撳嚭鏍煎紡 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
index 426a4a5..0518aba 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
@@ -266,6 +266,16 @@
//淇濆瓨鎬荤◣鍓嶉噾棰濓紙鐢ㄤ簬鏇存柊fund琛ㄩ噷鐨勶級
BigDecimal pretaxcost = BigDecimal.valueOf(0.00);
for (ServiceFunddetail serviceFunddetail : serviceFunddetails) {
+ if (StringUtils.isEmpty(serviceFunddetail.getIdcardno())) {
+ //濡傛灉韬唤璇佸彿涓虹┖锛屽氨涓嶇敤鏌ヤ簡锛屽彲鑳芥槸鍖婚櫌鐨勮褰�
+ if (StringUtils.isEmpty(serviceFunddetail.getServicesscopename()) || !serviceFunddetail.getServicesscopename().contains("绋庡悗")) {
+ serviceFunddetail.setTaxedamount(serviceFunddetail.getAmount());
+ } else {
+ serviceFunddetail.setAmount(serviceFunddetail.getTaxedamount());
+ }
+ this.updateById(serviceFunddetail);
+ }
+
//鑾峰彇褰撴湀鐨勭涓�澶�
Date firstDay = Date.from(LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()).atStartOfDay(ZoneId.systemDefault()).toInstant());
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -302,7 +312,7 @@
continue;
}
}
- logger.info("taxSum鍏ュ弬鏁版嵁锛歿}", taxSum);
+ logger.info("taxSum鍏ュ弬鏁版嵁锛歿}", taxSum);
if (StringUtils.isEmpty(serviceFunddetail.getServicesscopename()) || !serviceFunddetail.getServicesscopename().contains("绋庡悗")) {
// 濡備綍绋庡墠閲戦涓嶄负绌猴紝鐢ㄤ箣鍓嶇殑鈥濇�荤◣鍓嶉噾棰濃�滐紝鍔犱笂褰撳墠鈥濈◣鍓嶉噾棰濃��
BigDecimal newAmounts = BigDecimal.valueOf(taxSum.getAmounts()).add(BigDecimal.valueOf(serviceFunddetail.getAmount()));
--
Gitblit v1.9.3