From 320388dd0d0fadd72b0485f60832b24f8df02330 Mon Sep 17 00:00:00 2001 From: luotaiqian <1147642922@qq.com> Date: Fri, 17 Jul 2026 16:10:17 +0800 Subject: [PATCH 1/5] init --- .../app/executor/OrgEquipmentExecutor.java | 15 ++++++++++++++- .../OrgBusinessScopeDeviceRefQueryService.java | 8 ++++++++ ...OrgBusinessScopeDeviceRefQueryServiceImpl.java | 5 +++++ .../OrgBusinessScopeDeviceRefRepository.java | 8 ++++++++ .../OrgBusinessScopeDeviceRefRepositoryImpl.java | 12 ++++++++++++ 5 files changed, 47 insertions(+), 1 deletion(-) diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/OrgEquipmentExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/OrgEquipmentExecutor.java index d2a12791..d5925abc 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/OrgEquipmentExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/OrgEquipmentExecutor.java @@ -13,6 +13,8 @@ import org.qinan.safetyeval.domain.query.PageResult; import org.qinan.safetyeval.domain.service.OrgEquipmentDomainService; import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter; import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter; +import org.qinan.safetyeval.infrastructure.persistence.domainobject.OrgBusinessScopeDeviceRefDO; +import org.qinan.safetyeval.infrastructure.persistence.queryservice.OrgBusinessScopeDeviceRefQueryService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -29,6 +31,10 @@ public class OrgEquipmentExecutor implements OrgEquipmentApi { @Autowired(required = false) private OrgEquipmentDomainService orgEquipmentDomainService; + @Lazy + @Autowired(required = false) + private OrgBusinessScopeDeviceRefQueryService orgBusinessScopeDeviceRefQueryService; + @Override public SingleResponse add(OrgEquipmentAddCmd cmd) { OrgEquipmentEntity entity = new OrgEquipmentEntity(); @@ -56,7 +62,14 @@ public class OrgEquipmentExecutor implements OrgEquipmentApi { @Override public SingleResponse get(Long id) { OrgEquipmentEntity entity = orgEquipmentDomainService.get(id); - return SingleResponse.success(toCO(entity)); + OrgEquipmentCO co = toCO(entity); + if (co != null && co.getDeviceTypeCode() != null) { + OrgBusinessScopeDeviceRefDO refDO = orgBusinessScopeDeviceRefQueryService.getByDeviceTypeCode(co.getDeviceTypeCode()); + if (refDO != null) { + co.setDeviceTypeName(refDO.getDeviceTypeName()); + } + } + return SingleResponse.success(co); } @Override diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/OrgBusinessScopeDeviceRefQueryService.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/OrgBusinessScopeDeviceRefQueryService.java index 54c6f560..86fb9c9d 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/OrgBusinessScopeDeviceRefQueryService.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/OrgBusinessScopeDeviceRefQueryService.java @@ -21,6 +21,14 @@ public interface OrgBusinessScopeDeviceRefQueryService { */ OrgBusinessScopeDeviceRefDO getById(Long id); + /** + * 根据设备类型编码查找 + * + * @param deviceTypeCode 设备类型编码 + * @return + */ + OrgBusinessScopeDeviceRefDO getByDeviceTypeCode(String deviceTypeCode); + /** * 分页查询安全评价机构业务范围与设备参照 * diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/OrgBusinessScopeDeviceRefQueryServiceImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/OrgBusinessScopeDeviceRefQueryServiceImpl.java index b197fee4..399c7d1d 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/OrgBusinessScopeDeviceRefQueryServiceImpl.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/queryservice/impl/OrgBusinessScopeDeviceRefQueryServiceImpl.java @@ -32,6 +32,11 @@ public class OrgBusinessScopeDeviceRefQueryServiceImpl implements OrgBusinessSco return orgBusinessScopeDeviceRefRepository.getById(id); } + @Override + public OrgBusinessScopeDeviceRefDO getByDeviceTypeCode(String deviceTypeCode) { + return orgBusinessScopeDeviceRefRepository.getByDeviceTypeCode(deviceTypeCode); + } + @Override public PageResponse listOrgBusinessScopeDeviceRefPage(OrgBusinessScopeDeviceRefPageQry orgBusinessScopeDeviceRefPageQry) { IPage orgBusinessScopeDeviceRefDoPage = orgBusinessScopeDeviceRefRepository.listOrgBusinessScopeDeviceRefPage(PageHelper.queryToPage(orgBusinessScopeDeviceRefPageQry), orgBusinessScopeDeviceRefPageQry); diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/repository/OrgBusinessScopeDeviceRefRepository.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/repository/OrgBusinessScopeDeviceRefRepository.java index 514a4aa2..50227710 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/repository/OrgBusinessScopeDeviceRefRepository.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/persistence/repository/OrgBusinessScopeDeviceRefRepository.java @@ -20,6 +20,14 @@ public interface OrgBusinessScopeDeviceRefRepository extends BaseRepository listOrgBusinessScopeDeviceRefPage(IPage iPage, OrgBusinessScopeDeviceRefPageQry orgBusinessScopeDeviceRefPageQry) { QueryWrapper orgBusinessScopeDeviceRefDoQueryWrapper = new QueryWrapper<>(); From 7fc856529c91b18012757cc909742991e27e7f38 Mon Sep 17 00:00:00 2001 From: zhanglei Date: Fri, 17 Jul 2026 17:13:34 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat:=20=E6=B5=8B=E8=AF=95=E6=8E=A5?= =?UTF-8?q?=E5=85=A5wps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/web/H5OpenController.java | 71 ++++++++++++++++--- 1 file changed, 63 insertions(+), 8 deletions(-) diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java index 7d3432b1..780769eb 100644 --- a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java @@ -1,14 +1,21 @@ package org.qinan.safetyeval.adapter.web; +import com.alibaba.fastjson2.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.dromara.x.file.storage.core.FileInfo; +import org.dromara.x.file.storage.core.FileStorageService; import org.qinan.safetyeval.infrastructure.mapper.AccountMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.io.InputStream; +import java.util.List; +import java.util.Map; /** * 对外开放接口(免鉴权)。 @@ -19,26 +26,74 @@ import org.springframework.web.bind.annotation.RestController; @Api(tags = "对外开放接口") @RestController @RequestMapping("/safetyEval-h5/wsp") +@Slf4j public class H5OpenController { @Autowired private AccountMapper accountMapper; + @Autowired + private FileStorageService fileStorageService; @ApiOperation("wps回调预览") @GetMapping(value = "/v3/3rd/files/{file_id}", produces = MediaType.APPLICATION_JSON_VALUE) - public String getWpsInfoByFileId(@PathVariable("file_id") String fileId) { + public String getWpsInfoByFileId(@PathVariable("file_id") String file_id) { + log.info("wps回调预览:{}", file_id); return accountMapper.getWps(1); } @ApiOperation("wps回调下载") @GetMapping(value = "/v3/3rd/files/{file_id}/download", produces = MediaType.APPLICATION_JSON_VALUE) - public String getWpsDownloadByFileId(@PathVariable("file_id") String fileId) { + public String getWpsDownloadByFileId(@PathVariable("file_id") String file_id) { + log.info("wps回调下载:{}", file_id); return accountMapper.getWps(2); } - @ApiOperation("wps回调用户信息") + @ApiOperation("wps回调权限信息") @GetMapping(value = "/v3/3rd/files/{file_id}/permission", produces = MediaType.APPLICATION_JSON_VALUE) - public String getWpsPermissionByFileId(@PathVariable("file_id") String fileId) { + public String getWpsPermissionByFileId(@PathVariable("file_id") String file_id) { + log.info("wps回调权限信息:{}", file_id); return accountMapper.getWps(3); } + + @ApiOperation("wps回调用户信息") + @GetMapping(value = "/v3/3rd/users", produces = MediaType.APPLICATION_JSON_VALUE) + public String getWpsUsers(@RequestParam List user_ids) { + log.info("wps回调用户信息:{}", user_ids); + return accountMapper.getWps(4); + } + + @ApiOperation("wps回调上传第一步") + @GetMapping(value = "/v3/3rd/files/{file_id}/upload/prepare", produces = MediaType.APPLICATION_JSON_VALUE) + public String getWpsUpLoadOne(@PathVariable("file_id") String file_id) { + log.info("wps回调上传第一步:{}", file_id); + return accountMapper.getWps(5); + } + + @ApiOperation("wps回调上传第二步") + @PostMapping(value = "/v3/3rd/files/{file_id}/upload/address") + public String getWpsUpLoadTwo(@PathVariable("file_id") String file_id, @RequestBody Map map) { + log.info("wps回调上传第二步:{}, map: {}", file_id, JSON.toJSONString(map)); + return accountMapper.getWps(6); + } + + @ApiOperation("wps回调上传第三步") + @PostMapping(value = "/v3/3rd/files/{file_id}/upload/complete") + public String getWpsUpLoadThree(@PathVariable("file_id") String file_id, @RequestBody Map map) { + String jsonString = JSON.toJSONString(map); + log.info("wps回调上传第二步:{}, map: {}", file_id, jsonString); + return jsonString; + } + + @PostMapping(value = "/upload/{file_id}", consumes = "application/octet-stream") + public String uploadFile(@PathVariable("file_id") String file_id, HttpServletRequest request) throws IOException { + // 获取文件的二进制流 + try (InputStream inputStream = request.getInputStream()) { + FileInfo upload = fileStorageService.of(inputStream, file_id).upload(); + log.info("上传文件成功:{}", JSON.toJSONString(upload)); + return "ok"; + } catch (Exception e) { + log.error("上传文件失败:{}", e.getMessage()); + return "上传文件失败"; + } + } } From 7509326bdcf8e75883f173dccc0fd0c8bf903097 Mon Sep 17 00:00:00 2001 From: zhanglei Date: Fri, 17 Jul 2026 18:22:58 +0800 Subject: [PATCH 3/5] =?UTF-8?q?feat:=20=E6=B5=8B=E8=AF=95=E6=8E=A5?= =?UTF-8?q?=E5=85=A5wps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/qinan/safetyeval/adapter/web/H5OpenController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java index 780769eb..55c616a6 100644 --- a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java @@ -79,8 +79,9 @@ public class H5OpenController { @ApiOperation("wps回调上传第三步") @PostMapping(value = "/v3/3rd/files/{file_id}/upload/complete") public String getWpsUpLoadThree(@PathVariable("file_id") String file_id, @RequestBody Map map) { + map.put("id", file_id); String jsonString = JSON.toJSONString(map); - log.info("wps回调上传第二步:{}, map: {}", file_id, jsonString); + log.info("wps回调上传第三步:{}, map: {}", file_id, jsonString); return jsonString; } From aeed25f33134c896e683b420999a5834fa52648b Mon Sep 17 00:00:00 2001 From: zhanglei Date: Mon, 20 Jul 2026 09:24:26 +0800 Subject: [PATCH 4/5] =?UTF-8?q?feat:=20=E6=B5=8B=E8=AF=95=E6=8E=A5?= =?UTF-8?q?=E5=85=A5wps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qinan/safetyeval/adapter/web/H5OpenController.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java index 55c616a6..d5da9ba3 100644 --- a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java @@ -79,13 +79,12 @@ public class H5OpenController { @ApiOperation("wps回调上传第三步") @PostMapping(value = "/v3/3rd/files/{file_id}/upload/complete") public String getWpsUpLoadThree(@PathVariable("file_id") String file_id, @RequestBody Map map) { - map.put("id", file_id); - String jsonString = JSON.toJSONString(map); - log.info("wps回调上传第三步:{}, map: {}", file_id, jsonString); - return jsonString; + String msg = accountMapper.getWps(7); + log.info("wps回调上传第三步:{}, map: {}", file_id, msg); + return msg; } - @PostMapping(value = "/upload/{file_id}", consumes = "application/octet-stream") + @PutMapping(value = "/upload/{file_id}", consumes = "application/octet-stream") public String uploadFile(@PathVariable("file_id") String file_id, HttpServletRequest request) throws IOException { // 获取文件的二进制流 try (InputStream inputStream = request.getInputStream()) { From fff0fe36985b5d3314aafb8a2876c4d1b3ed8d73 Mon Sep 17 00:00:00 2001 From: zhanglei Date: Mon, 20 Jul 2026 10:16:31 +0800 Subject: [PATCH 5/5] =?UTF-8?q?feat:=20=E6=B5=8B=E8=AF=95=E6=8E=A5?= =?UTF-8?q?=E5=85=A5wps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/web/H5OpenController.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java index d5da9ba3..44a77c9f 100644 --- a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/H5OpenController.java @@ -1,6 +1,9 @@ package org.qinan.safetyeval.adapter.web; +import cn.hutool.json.JSONUtil; import com.alibaba.fastjson2.JSON; +import com.jjb.saas.framework.auth.model.SSOUser; +import com.jjb.saas.framework.utils.JwtTokenUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -36,7 +39,27 @@ public class H5OpenController { @ApiOperation("wps回调预览") @GetMapping(value = "/v3/3rd/files/{file_id}", produces = MediaType.APPLICATION_JSON_VALUE) - public String getWpsInfoByFileId(@PathVariable("file_id") String file_id) { + public String getWpsInfoByFileId(@PathVariable("file_id") String file_id, HttpServletRequest request) { + log.info("token, {}", request.getHeader("token")); + log.info("Token, {}", request.getHeader("Token")); + String header = request.getHeader("X-Weboffice-Token"); + log.info("X-Weboffice-Token, {}", request.getHeader("X-Weboffice-Token")); + + String token = header; + log.info("2.5token不为空:{}", token); + token = token.replaceAll("jjb-saas-auth:oauth:", "").trim(); + String json = null; + SSOUser ssoUser; + try { + json = JwtTokenUtils.parseToken(token); + } catch (Exception var41) { + } + if (null != json) { + ssoUser = (SSOUser) JSONUtil.toBean(json, SSOUser.class); + } else { + ssoUser = new SSOUser(); + } + log.info("ssoUser:{}", ssoUser); log.info("wps回调预览:{}", file_id); return accountMapper.getWps(1); }