From 39f4e421d33b2bb335e97c9c13f9600461159761 Mon Sep 17 00:00:00 2001 From: dzq Date: Fri, 20 Jun 2025 11:04:35 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E4=BC=81=E4=B8=9A=E5=BE=AE=E4=BF=A1):=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B5=84=E4=BA=A7=E9=A2=86=E7=94=A8=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E6=B6=88=E6=81=AF=E8=B7=B3=E8=BD=AC=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增企业微信推送消息中资产领用审批的跳转链接处理逻辑,包括/wechatAuth/asset和/approvalAssetRedirect两个接口,用于完成从消息点击到审批页面的完整跳转流程 --- .../api/controller/ShopController.java | 39 +++++++++++++++++++ .../domain/asset/AssetApplicationService.java | 2 +- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/agileboot-api/src/main/java/com/agileboot/api/controller/ShopController.java b/agileboot-api/src/main/java/com/agileboot/api/controller/ShopController.java index 8853371..52c7357 100644 --- a/agileboot-api/src/main/java/com/agileboot/api/controller/ShopController.java +++ b/agileboot-api/src/main/java/com/agileboot/api/controller/ShopController.java @@ -187,6 +187,45 @@ public class ShopController { return new RedirectView(builder.build().encode().toUriString()); } + /** + * 企业微信推送消息点击商品图片后跳转的地址 + * @param request + * @return + */ + @GetMapping("/qy/wechatAuth/asset") + public RedirectView qyWechatAuthAssetRedirect(HttpServletRequest request) { + String authUrl = "https://open.weixin.qq.com/connect/oauth2/authorize" + + "?appid=" + WeixinConstants.corpid + + "&redirect_uri=http%3A%2F%2Fwxshop.ab98.cn%2Fshop-api%2Fapi%2Fshop%2FapprovalAssetRedirect" + + "&response_type=code" + + "&scope=snsapi_base" + + "&state=STATE" + + "&agentid=" + WeixinConstants.agentid + + "#wechat_redirect"; + return new RedirectView(authUrl); + } + + /** + * 企业微信推送消息点击商品图片后跳转的地址 + * @param request + * @return + */ + @GetMapping("/approvalAssetRedirect") + public RedirectView approvalAssetRedirect(HttpServletRequest request) { + UriComponentsBuilder builder = UriComponentsBuilder + .fromHttpUrl("http://wxshop.ab98.cn/shop#/approvalAsset/list") + .queryParam("corpid", WeixinConstants.corpid) + .queryParam("device", "APP"); + + request.getParameterMap().forEach((key, values) -> { + if (!"corpid".equals(key) && !"device".equals(key)) { + builder.queryParam(key, (Object[]) values); + } + }); + + return new RedirectView(builder.build().encode().toUriString()); + } + /** * 企业微信聊天界面点击进入主页后跳转的地址 * @param request diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/asset/AssetApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/asset/AssetApplicationService.java index e70c58c..f766936 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/asset/AssetApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/asset/AssetApplicationService.java @@ -199,7 +199,7 @@ public class AssetApplicationService { article.setDescription(postAssetApprovalCommand.getName() + " 申请领用" + firstGoods.getGoodsName()); } article.setPicurl(firstGoods.getCoverImg()); - article.setUrl("http://wxshop.ab98.cn/shop-api/api/shop/qy/wechatAuth"); + article.setUrl("http://wxshop.ab98.cn/shop-api/api/shop/qy/wechatAuth/asset"); articles.add(article); QywxApiUtil.sendNewsMessage(accessToken.getAccessToken(), Integer.valueOf(authCorpInfo.getAgentid()),