公告结构化

This commit is contained in:
zhangqinbin
2023-12-21 15:13:42 +08:00
parent 6e4e1e694e
commit ee6ca428fa
2 changed files with 19 additions and 7 deletions

View File

@ -37,6 +37,7 @@ import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
@ -44,6 +45,7 @@ import java.util.Map;
import java.util.Optional;
import java.util.stream.Stream;
import static com.chinaunicom.mall.ebtp.cloud.security.starter.common.Constants.AUTHORIZATION_HEADER;
import static com.chinaunicom.mall.ebtp.cloud.security.starter.common.Constants.COOKIE_TOKEN_CODE;
@Slf4j
@ -149,6 +151,13 @@ public class WpsController {
).findFirst());
if (cookie.isPresent()) {
log.info(String.valueOf(request.getRequestURL()));
String protocol = request.getScheme(); // 获取协议如HTTP或HTTPS
String ip = request.getRemoteAddr(); // 获取客户端IP地址
int port = request.getServerPort(); // 获取服务器端口号
String host = protocol+"://"+ip+":"+port;
log.info("getWpsUrlBy:"+host);
String authToken = cookie.get().getValue();
WpsClientInVo in = this.wpsService.getKSWpsUrlDecrypt(key,fileName);
in.setUserToken(authToken);
@ -245,23 +254,25 @@ public class WpsController {
@ApiOperation("(金山)沃文档回调-查询文档")
@GetMapping("/kingSoft/file2")
public boolean getKSFile2(HttpServletRequest request,HttpServletResponse response, @RequestParam("key") String key) {
String fileId = this.wpsService.downloadDecrypt(key);
//带后缀
String fileNameE = this.wpsService.downloadDecrypt(key);
String[] fileId = fileNameE.split(".");
List<String> businessIdList = new ArrayList<>();
businessIdList.add(fileId);
businessIdList.add(fileId[0]);
Optional<AttachmentDetail> optional = attachmentClient.findByBusinessId(businessIdList);
String fileName = fileId;
String fileName = fileNameE;
String text = " ";
byte buf[] = text.getBytes();
String fileLength = String.valueOf(buf.length);
if(optional!=null&&optional.get()!=null){
AttachmentDetail detail = optional.get();
List<AttachmentEntity> entityList = detail.get(fileId);
List<AttachmentEntity> entityList = detail.get(fileId[0]);
if(entityList!=null&&entityList.size()>0) {
Optional<byte[]> optional1 = attachmentClient.downloadFileByObjectId(entityList.get(0).getId());
fileLength = String.valueOf(optional1.get().length);

View File

@ -551,7 +551,7 @@ public class WpsServiceImpl implements WpsService {
byte[] b = getFileByFileId(in.getFileId(),in.getFileName());
String time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
try {
callBackUrl = kswdownloadUrl+"?key="+URLEncoder.encode(getDownloadEncrypt(in.getFileId(),in.getUserToken()), "utf-8");
callBackUrl = kswdownloadUrl+"?key="+URLEncoder.encode(getDownloadEncrypt(in.getFileId(),in.getFileExtension(),in.getUserToken()), "utf-8");
}catch (UnsupportedEncodingException e){
log.error("url转换失败",e);
@ -610,9 +610,10 @@ public class WpsServiceImpl implements WpsService {
return ret.getData();
}
private String getDownloadEncrypt(String fileId,String token){
private String getDownloadEncrypt(String fileId,String fileExtension,String token){
String time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
//fileId+ebtp+token+time md5加密
fileId = fileId+"."+fileExtension;
String mdKey = MdConstants.getSha256(time+fileId+appName+token);
log.info("mdKey:"+mdKey);
//fileId|token|yyyyMMddHHmmss|md5加密