孙永军 2 years ago
parent
commit
fef7b23bf2

+ 32 - 1
src/main/java/com/sxtvs/open/api/h5template/controller/H5TemplateController.java

@@ -2,11 +2,18 @@ package com.sxtvs.open.api.h5template.controller;
 
 import com.sxtvs.open.api.h5template.entity.H5Template;
 import com.sxtvs.open.api.h5template.service.impl.H5TemplateServiceImpl;
+import com.sxtvs.open.api.h5template.service.impl.OSSService;
+import com.sxtvs.open.core.auth.LoginRequired;
 import jakarta.annotation.Resource;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -23,9 +30,33 @@ public class H5TemplateController {
     @Resource
     private H5TemplateServiceImpl h5TemplateService;
 
+    @Resource
+    private OSSService ossService;
+
     @PostMapping("store")
+    @LoginRequired
     public void store(@RequestBody H5Template h5Template){
-        h5TemplateService.save(h5Template);
+        h5TemplateService.store(h5Template);
+    }
+
+    @RequestMapping("list")
+    @LoginRequired
+    public List<H5Template> ls(){
+        return h5TemplateService.list();
+    }
+
+    @RequestMapping("update")
+    @LoginRequired
+    public void update(@RequestBody H5Template h5Template){
+        h5TemplateService.updateById(h5Template);
+    }
+
+    @PostMapping("upload")
+    @LoginRequired
+    public Map<String, String> upload(MultipartFile file){
+        return new HashMap<>() {{
+            put("url", ossService.commonPut(file));
+        }};
     }
 
 }

+ 4 - 0
src/main/java/com/sxtvs/open/api/h5template/service/impl/H5TemplateServiceImpl.java

@@ -4,7 +4,9 @@ import com.sxtvs.open.api.h5template.entity.H5Template;
 import com.sxtvs.open.api.h5template.mapper.H5TemplateMapper;
 import com.sxtvs.open.api.h5template.service.IH5TemplateService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.time.LocalDateTime;
 
@@ -19,10 +21,12 @@ import java.time.LocalDateTime;
 @Service
 public class H5TemplateServiceImpl extends ServiceImpl<H5TemplateMapper, H5Template> implements IH5TemplateService {
 
+
     public void store(H5Template h5Template){
         h5Template.setCreateTime(LocalDateTime.now());
         h5Template.setUpateTime(LocalDateTime.now());
         h5Template.setH5Status(1);
         save(h5Template);
     }
+
 }

+ 45 - 0
src/main/java/com/sxtvs/open/api/h5template/service/impl/OSSService.java

@@ -0,0 +1,45 @@
+package com.sxtvs.open.api.h5template.service.impl;
+
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.io.IoUtil;
+import cn.hutool.core.io.file.FileNameUtil;
+import com.aliyun.oss.OSS;
+import com.aliyun.oss.OSSClientBuilder;
+import lombok.SneakyThrows;
+import org.apache.http.util.TextUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.ByteArrayInputStream;
+import java.util.UUID;
+
+
+@Service
+public class OSSService {
+    private final OSS ossClient = new OSSClientBuilder().build("https://oss-cn-chengdu.aliyuncs.com",
+            "LTAI4GEBqfF1GX4VwsYU2Wpg",
+            "rVIv0E1lRfXOCrAmkFTZnfgWiuv4ea");
+
+    private final String bucket = "smcic-index";
+
+    private int index = 0;
+
+    @SneakyThrows
+    public String commonPut(MultipartFile file) {
+        String dir = "operate/h5Template/img";
+        String extName = FileNameUtil.extName(file.getOriginalFilename());
+
+        ByteArrayInputStream inputStream = new ByteArrayInputStream(IoUtil.readBytes(file.getInputStream()));
+        String date = new DateTime().toString("yyyyMMddHHmmss");
+        String fileUrl = dir+"/" + UUID.randomUUID().toString().replace("-", "") + date + "." + extName;
+        ossClient.putObject(bucket, fileUrl , inputStream);
+        inputStream.reset();
+
+        return "https://cxzx.smcic.net/" + fileUrl;
+    }
+
+
+}
+
+