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