From c2600591e819743757f8668d0c684da1e24cb7d4 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 08 三月 2024 18:21:22 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorpaymentController.java |   61 +++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 3 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorpaymentController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorpaymentController.java
index ae4dfc7..a0be903 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorpaymentController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorpaymentController.java
@@ -2,6 +2,7 @@
 
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.config.RuoYiConfig;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
@@ -9,14 +10,17 @@
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.project.domain.ServiceDonorpayment;
 import com.ruoyi.project.service.IServiceDonorpaymentService;
+import freemarker.template.Configuration;
+import freemarker.template.Template;
+import freemarker.template.TemplateException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
-import java.util.List;
+import java.io.*;
+import java.util.*;
 
 /**
  * 璐圭敤鏀舵鍗旵ontroller
@@ -30,6 +34,13 @@
 public class ServiceDonorpaymentController extends BaseController {
     @Autowired
     private IServiceDonorpaymentService serviceDonorpaymentService;
+
+    private static Configuration configuration = null;
+
+    public ServiceDonorpaymentController() {
+        configuration = new Configuration();
+        configuration.setDefaultEncoding("utf-8");
+    }
 
     /**
      * 鏌ヨ璐圭敤鏀舵鍗曞垪琛�
@@ -75,7 +86,8 @@
     @PostMapping("/add")
     @RepeatSubmit
     public AjaxResult add(@RequestBody ServiceDonorpayment serviceDonorpayment) {
-        return toAjax(serviceDonorpaymentService.save(serviceDonorpayment));
+        boolean save = serviceDonorpaymentService.save(serviceDonorpayment);
+        return success(serviceDonorpayment.getId().toString());
     }
 
     /**
@@ -100,4 +112,47 @@
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(serviceDonorpaymentService.removeByIds(Arrays.asList(ids)));
     }
+
+    /**
+     * 涓嬭浇娴欐睙鐪丱PO鏀舵缁撶畻鍗曠粺璁¤〃
+     */
+    @ApiOperation("涓嬭浇娴欐睙鐪丱PO鏀舵缁撶畻鍗�")
+    @GetMapping(value = "/downloadInfo/{id}")
+    public Map downloadInfo(@PathVariable("id") Long id) throws IOException {
+        Map dataMap = new HashMap();
+        serviceDonorpaymentService.getDataById(dataMap, id);
+        String filePath = getClass().getResource("/template/").getPath();
+        System.out.println(filePath);
+        //璁剧疆妯℃湰瑁呯疆鏂规硶鍜岃矾寰�,FreeMarker鏀寔澶氱妯℃澘瑁呰浇鏂规硶銆傚彲浠ラ噸servlet锛宑lasspath锛屾暟鎹簱鏁欑▼瑁呰浇锛�
+        configuration.setDirectoryForTemplateLoading(new File(filePath));
+        Template t = null;
+        try {
+            t = configuration.getTemplate("娴欐睙鐪丱PO鏀舵缁撶畻鍗�.ftl");
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        String newTime = String.valueOf(Calendar.getInstance().getTimeInMillis());
+        String name = "娴欐睙鐪丱PO鏀舵缁撶畻鍗昣"+ newTime;
+        //杈撳嚭鏂囨。璺緞鍙婂悕绉�
+        File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc");
+        Writer out = null;
+
+        try {
+            out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"));
+
+        } catch (FileNotFoundException e1) {
+            e1.printStackTrace();
+        }
+        try {
+
+            t.process(dataMap, out);
+        } catch (TemplateException e) {
+            e.printStackTrace();
+        }
+        Map<String, Object> map = new HashMap<>();
+        map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc");
+        map.put("downloadName", name + ".doc");
+        return map;
+    }
+
 }

--
Gitblit v1.9.3