소스 검색

红德堂-总后台小程序配置新增授权文件上传

Long 2 주 전
부모
커밋
687b117402

+ 5 - 0
fs-service/src/main/java/com/fs/course/domain/FsCoursePlaySourceConfig.java

@@ -109,4 +109,9 @@ public class FsCoursePlaySourceConfig {
      * 商户支付配置id
      */
     private Long merchantConfigId;
+
+    /**
+     * 授权文件地址
+     */
+    private String authTxtUrl;
 }

+ 3 - 0
fs-service/src/main/java/com/fs/course/param/FsCoursePlaySourceConfigCreateParam.java

@@ -49,4 +49,7 @@ public class FsCoursePlaySourceConfigCreateParam {
     @ApiModelProperty("是否是互医/商城小程序")
     private Integer isMall;
     private Long createDeptId;
+
+    @ApiModelProperty("授权文件地址")
+    private String authTxtUrl;
 }

+ 3 - 0
fs-service/src/main/java/com/fs/course/param/FsCoursePlaySourceConfigEditParam.java

@@ -58,4 +58,7 @@ public class FsCoursePlaySourceConfigEditParam {
 
     @ApiModelProperty("商户支付配置id")
     private Long merchantConfigId;
+
+    @ApiModelProperty("授权文件地址")
+    private String authTxtUrl;
 }

+ 3 - 0
fs-service/src/main/java/com/fs/course/vo/FsCoursePlaySourceConfigVO.java

@@ -61,4 +61,7 @@ public class FsCoursePlaySourceConfigVO {
 
     @ApiModelProperty("小程序支付配置id")
     private Long merchantConfigId;
+
+    @ApiModelProperty("授权文件地址")
+    private String authTxtUrl;
 }

+ 2 - 2
fs-service/src/main/resources/application-dev.yml

@@ -43,7 +43,7 @@ spring:
             druid:
                 # 主库数据源
                 master:
-                    url: jdbc:mysql://139.186.77.83:3306/ylrz_his_scrm?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
+                    url: jdbc:mysql://139.186.77.83:3306/test_hdt?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
                     username: Rtroot
                     password: Rtroot
                 # 初始连接数
@@ -91,7 +91,7 @@ spring:
             druid:
                 # 主库数据源
                 master:
-                    url: jdbc:mysql://139.186.77.83:3306/his_sop?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                    url: jdbc:mysql://139.186.77.83:3306/test_hdt_sop?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                     username: Rtroot
                     password: Rtroot
                 # 初始连接数

+ 46 - 0
fs-user-app/src/main/java/com/fs/app/controller/CommonController.java

@@ -681,4 +681,50 @@ public class CommonController {
 	public R exchangDetail(@RequestBody Map<String,Object> params){
 		return userService.exchangDetail(params);
 	}
+
+	@ApiOperation("上传TXT文件")
+	@PostMapping("/uploadTxt")
+	public R uploadTxt(@RequestParam("file") MultipartFile file)
+	{
+		if (file.isEmpty()) {
+			return R.error("上传文件不能为空");
+		}
+
+		String originalFilename = file.getOriginalFilename();
+		if (originalFilename == null || !originalFilename.toLowerCase().endsWith(".txt")) {
+			return R.error("仅支持上传txt文件");
+		}
+
+		String fileNameWithoutExt = originalFilename.substring(0, originalFilename.lastIndexOf("."));
+
+		if (fileNameWithoutExt.matches(".*[\\u4e00-\\u9fa5].*")) {
+			return R.error("文件名不允许包含中文");
+		}
+
+		String cleanedFileName = fileNameWithoutExt
+				.replaceAll("\\s+", "")
+				.replaceAll("\\(\\d+\\)$", "");
+
+		String finalFileName = cleanedFileName + ".txt";
+		String savePath = "C:\\Tools\\txt";
+		File directory = new File(savePath);
+
+		if (!directory.exists()) {
+			directory.mkdirs();
+		}
+
+		File targetFile = new File(directory, finalFileName);
+
+		if (targetFile.exists()) {
+			return R.ok().put("data", finalFileName);
+		}
+
+		try {
+			file.transferTo(targetFile);
+		} catch (IOException e) {
+			return R.error("文件上传失败:" + e.getMessage());
+		}
+
+		return R.ok().put("data", finalFileName);
+	}
 }