diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/OnlineFileLog/controller/OnlineFileLogController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/OnlineFileLog/controller/OnlineFileLogController.java index 9eb258e9..1b1d69ab 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/OnlineFileLog/controller/OnlineFileLogController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/OnlineFileLog/controller/OnlineFileLogController.java @@ -6,11 +6,17 @@ import com.adc.da.slrs.OnlineFileLog.service.OnlineFileLogService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.*; + @RestController @RequestMapping("/${restPath}/lawss/OnlineFileLog") @Api(description = "|OnlineFileLog|") @@ -29,4 +35,26 @@ public class OnlineFileLogController { return Result.error("转换失败"); } } + + @RabbitListener(bindings = @QueueBinding( + value = @Queue(value = "createBussMQ_onlineId_MQ_file", durable = "true"), + exchange = @Exchange(value = "create-onlineId_MQ_file", ignoreDeclarationExceptions = "true"), + key = "create-key_onlineId_MQ_file")) + public List createonlineIdMQ(Map bussMap) throws Exception{ + List obj = new ArrayList<>(); + String onlineid = bussMap.get("ONLINEID"); + if(StringUtils.isNotBlank(onlineid)){ + String attFileIds = onlineFileLogService.selectOnlineFile(onlineid); + if(StringUtils.isNotBlank(attFileIds)){ + String[] split = attFileIds.split(","); + if(split != null) { + List asList = Arrays.asList(split); + for (String data : asList){ + obj.add(data); + } + } + } + } + return obj; + } } diff --git a/adc-da-sys/src/main/java/com/adc/da/att/controller/AttFileEOController.java b/adc-da-sys/src/main/java/com/adc/da/att/controller/AttFileEOController.java index 4320f1d9..a1cb7ed1 100644 --- a/adc-da-sys/src/main/java/com/adc/da/att/controller/AttFileEOController.java +++ b/adc-da-sys/src/main/java/com/adc/da/att/controller/AttFileEOController.java @@ -4,11 +4,11 @@ import com.adc.da.att.dao.UserDao; import com.adc.da.att.entity.AttFileEO; import com.adc.da.att.entity.TsUser; import com.adc.da.att.service.IAttFileEOService; +import com.adc.da.att.util.CreateOnlineAttIdFileMQUtil; import com.adc.da.att.vo.AttFileVo; import com.adc.da.file.store.IFileStore; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; -import com.adc.da.sys.entity.UserEO; import com.adc.da.util.MD5Util; import com.adc.da.util.UUIDUtils; import com.adc.da.util.WaterMarkUtil; @@ -32,8 +32,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotNull; import java.io.*; -import java.net.URL; -import java.net.URLConnection; import java.net.URLEncoder; import java.nio.file.Files; import java.text.SimpleDateFormat; @@ -69,6 +67,9 @@ public class AttFileEOController { @Value("${upload.file.white.lists}") private String uploadFileWhiteLists; //上传文件白名单 + @Autowired + private CreateOnlineAttIdFileMQUtil createOnlineAttIdFileMQUtil; + @ApiOperation(value = "|获取企标文件") @GetMapping("/getBusStandFileByAttId") @@ -328,6 +329,17 @@ public class AttFileEOController { @GetMapping("/downloadFileForSarNew") // @RequiresPermissions("sys:file:downloadFileForSar") public void downloadFileForSarNew(String fileId, HttpServletResponse response, HttpServletRequest request) throws Exception { + if(StringUtils.isNotBlank(fileId)){ + if(!fileId.contains("ATT_FILE_")){ + Map bussMap = new HashMap<>(); + bussMap.put("ONLINEID",fileId); + String id = createOnlineAttIdFileMQUtil.CreateOnlineAttIdFileMQ(bussMap); + if(StringUtils.isNotBlank(id)) { + fileId = id; + } + } + } + AttFileEO attFileEO = attFileEOService.getFileInfo(fileId); InputStream is = null; OutputStream os = null; diff --git a/adc-da-sys/src/main/java/com/adc/da/att/util/CreateOnlineAttIdFileMQUtil.java b/adc-da-sys/src/main/java/com/adc/da/att/util/CreateOnlineAttIdFileMQUtil.java new file mode 100644 index 00000000..58e91f61 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/att/util/CreateOnlineAttIdFileMQUtil.java @@ -0,0 +1,39 @@ +package com.adc.da.att.util; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.amqp.core.AmqpTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.*; + +@Component +public class CreateOnlineAttIdFileMQUtil { + + @Autowired + private AmqpTemplate rabbitTemplate; + + /** + * + * @param + * @param //在线编辑的id转换为att格式 + */ + public String CreateOnlineAttIdFileMQ(Map standMap){ + //发送消息队列 + Object obj = this.rabbitTemplate.convertSendAndReceive("create-onlineId_MQ_file", "create-key_onlineId_MQ_file", standMap); + if(obj==null) { + return null; + } + Map objectObjectMap = new HashMap<>(); + objectObjectMap.put("attId",obj); + String id = ""; + Object attId = objectObjectMap.get("attId"); + if(attId!=null){ + id = attId.toString(); + String[] split = id.split("]"); + String[] split1 = split[0].split("\\["); + id = split1[1]; + } + return id; + } +}