package com.tanpu.community.controller; import com.fasterxml.jackson.core.type.TypeReference; import com.tanpu.common.api.CommonResp; import com.tanpu.common.auth.AuthLogin; import com.tanpu.common.auth.UserHolder; import com.tanpu.common.util.JsonUtil; import com.tanpu.community.api.beans.qo.ThemeQo; import com.tanpu.community.api.beans.resp.FileUploadResp; import com.tanpu.community.api.enums.OssDirEnum; import com.tanpu.community.cache.RedisCache; import com.tanpu.community.manager.FileManager; import com.tanpu.community.service.RankLogService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.caffeine.CaffeineCacheManager; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.util.Arrays; import java.util.List; @RestController @Slf4j @RequestMapping(value = "/api/file") public class FileController { @Autowired private FileManager fileManager; @Autowired private RankLogService rankLogService; @Resource private UserHolder userHolder; @PostMapping("/uploadFile") @ResponseBody @AuthLogin public CommonResp<FileUploadResp> uploadToRemote(@RequestParam(value = "file") MultipartFile file) { String userId = userHolder.getUserId(); return CommonResp.success(fileManager.uploadFile(file, OssDirEnum.Others, userId)); } @PostMapping("/uploadThemePic") @ResponseBody @AuthLogin public CommonResp<FileUploadResp> uploadThemePic(@RequestParam(value = "file") MultipartFile file) { String userId = userHolder.getUserId(); return CommonResp.success(fileManager.uploadFile(file, OssDirEnum.Theme_Pic, userId)); } @GetMapping("/clearRankLog") public String clearRankLog() { Thread t = new Thread(new Runnable() { @Override public void run() { rankLogService.clearRankLog(); } }); t.start(); return "success"; } }