|
|
@@ -12,6 +12,7 @@ import cn.hutool.http.Method; |
|
|
|
import com.ruoyi.common.utils.StringUtils; |
|
|
|
import com.ruoyi.common.utils.file.PathUtils; |
|
|
|
import com.ruoyi.file.domain.Project; |
|
|
|
import com.ruoyi.file.object.DumpUploadTask; |
|
|
|
import com.ruoyi.file.request.CommonAttachReq; |
|
|
|
import com.ruoyi.file.request.CommonUploadReq; |
|
|
|
import com.ruoyi.file.object.ProjectState; |
|
|
@@ -27,6 +28,7 @@ import com.ruoyi.file.object.UploadSession; |
|
|
|
import com.ruoyi.file.object.UploadTask; |
|
|
|
import com.ruoyi.file.utils.FileUploadFunc; |
|
|
|
import com.ruoyi.file.utils.ProjectUtils; |
|
|
|
import com.ruoyi.framework.manager.AsyncManager; |
|
|
|
import com.ruoyi.framework.web.service.TokenService; |
|
|
|
import org.springframework.http.HttpStatus; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
@@ -37,6 +39,7 @@ import javax.servlet.http.HttpServletResponse; |
|
|
|
import java.nio.charset.StandardCharsets; |
|
|
|
import java.util.LinkedHashMap; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.TimerTask; |
|
|
|
|
|
|
|
@Service |
|
|
|
public class FileService |
|
|
@@ -97,8 +100,8 @@ public class FileService |
|
|
|
public void commonUpload(MultipartFile file, CommonUploadReq req, HttpServletRequest request, HttpServletResponse response) |
|
|
|
{ |
|
|
|
UploadRedirectReq redirectReq = new UploadRedirectReq(); |
|
|
|
redirectReq.setRedirectUri("/file/common/upload"); |
|
|
|
redirectReq.ParseToken(request); |
|
|
|
redirectReq.setRedirectUri(CommonUploadReq.REDIRECT_URI); |
|
|
|
redirectReq.SetupToken(req.getAuthorization(), request); |
|
|
|
|
|
|
|
UploadLog.Clear(); |
|
|
|
UploadSession session = Upload(file, req.getBizPath(), req.getToken()); |
|
|
@@ -109,11 +112,9 @@ public class FileService |
|
|
|
public void commonAttach(MultipartFile file, CommonAttachReq req, HttpServletRequest request, HttpServletResponse response) |
|
|
|
{ |
|
|
|
UploadRedirectReq redirectReq = new UploadRedirectReq(); |
|
|
|
redirectReq.setRedirectUri("/file/common/attach"); |
|
|
|
Map<String, Object> map = BeanUtil.beanToMap(req, false, true); |
|
|
|
map.remove("token"); |
|
|
|
redirectReq.setFormData(map); |
|
|
|
redirectReq.ParseToken(request); |
|
|
|
redirectReq.setRedirectUri(CommonAttachReq.REDIRECT_URI); |
|
|
|
redirectReq.setFormData(req.toMap()); |
|
|
|
redirectReq.SetupToken(req.getAuthorization(), request); |
|
|
|
|
|
|
|
UploadLog.Clear(); |
|
|
|
UploadSession session = Upload(file, req.getBizPath(), req.getToken()); |
|
|
@@ -124,12 +125,9 @@ public class FileService |
|
|
|
public void financeVoucherUpload(MultipartFile file, FinanceVoucherUploadReq req, HttpServletRequest request, HttpServletResponse response) |
|
|
|
{ |
|
|
|
UploadRedirectReq redirectReq = new UploadRedirectReq(); |
|
|
|
redirectReq.setRedirectUri("/file/finance/voucher/upload"); |
|
|
|
Map<String, Object> map = BeanUtil.beanToMap(req, false, true); |
|
|
|
map.remove("token"); |
|
|
|
map.remove("bizPath"); |
|
|
|
redirectReq.setFormData(map); |
|
|
|
redirectReq.ParseToken(request); |
|
|
|
redirectReq.setRedirectUri(FinanceVoucherUploadReq.REDIRECT_URI); |
|
|
|
redirectReq.setFormData(req.toMap("bizPath")); |
|
|
|
redirectReq.SetupToken(req.getAuthorization(), request); |
|
|
|
|
|
|
|
UploadLog.Clear(); |
|
|
|
UploadSession session = Upload(file, req.getBizPath(), req.getToken()); |
|
|
@@ -194,7 +192,8 @@ public class FileService |
|
|
|
{ |
|
|
|
String url = PathUtils.appendPaths(session.project.getRemoteHost(), req.getRedirectUri()); |
|
|
|
Map<String, Object> parms = new LinkedHashMap<>(); |
|
|
|
parms.put("api_token", TokenService.getPureToken(req.getToken())); |
|
|
|
if(StringUtils.isNotEmpty(req.getAuthorizationName())) |
|
|
|
parms.put(req.getAuthorizationName(), TokenService.getPureToken(req.getAuthorization())); |
|
|
|
parms.put("fileUrl", session.result.getFileUrl()); |
|
|
|
parms.put("fileName", session.task.OriginFileName()); |
|
|
|
if(StringUtils.isNotEmpty(session.result.getThumbnailFileUrl())) |
|
|
@@ -244,7 +243,8 @@ public class FileService |
|
|
|
state.AddNumError(1); |
|
|
|
state.SetLastErrorTime(session.result.getTime()); |
|
|
|
} |
|
|
|
StateMachine.INSTANCE.AddState(state); |
|
|
|
UploadLog.Appendln(state.ToString(", ")); |
|
|
|
|
|
|
|
AsyncManager.me().execute(new DumpUploadTask(state)); |
|
|
|
} |
|
|
|
} |