|
|
@@ -298,6 +298,36 @@ public class FsCourseReissueConfigServiceImpl extends ServiceImpl<FsCourseReissu
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public R getAnswerShortLink(FsCourseReissueConfig fsCourseReissueConfig, Long companyId, Long companyUserId) {
|
|
|
+ if (StringUtils.isNull(fsCourseReissueConfig.getAppId())) {
|
|
|
+ return R.error("小程序APPID不能为空");
|
|
|
+ }
|
|
|
+ final WxMaService wxMaService = WxMaConfiguration.getMaService(fsCourseReissueConfig.getAppId());
|
|
|
+ // 构建 query 参数(多个参数用 & 连接,需要 URL 编码)
|
|
|
+ String query = String.format("companyId=%s&companyUserId=%s", companyId, companyUserId);
|
|
|
+ // 构建请求参数
|
|
|
+ GenerateUrlLinkRequest request = GenerateUrlLinkRequest.builder()
|
|
|
+ .path("pages_user/answerQues") // 小程序页面路径
|
|
|
+ .query(query) // 自定义参数:companyId 和 companyUserId
|
|
|
+ .envVersion("release") // 版本: release/trial/develop
|
|
|
+ // .expireTime(System.currentTimeMillis() + 86400000) // 可选: 失效时间戳(毫秒)
|
|
|
+ .build();
|
|
|
+ try {
|
|
|
+ String shortLink = wxMaService.getLinkService().generateUrlLink(request);
|
|
|
+ if (shortLink == null || shortLink.isEmpty()) {
|
|
|
+ return R.error("生成答题短链失败");
|
|
|
+ }
|
|
|
+ // 提取 ticket(路径最后一段)
|
|
|
+ String ticket = shortLink.substring(shortLink.lastIndexOf("/") + 1);
|
|
|
+ String URL = URLScheme + ticket;
|
|
|
+ fsCourseReissueConfig.setShortLink(URL);
|
|
|
+ return R.ok("生成答题短链成功").put("data", fsCourseReissueConfig);
|
|
|
+ } catch (WxErrorException e) {
|
|
|
+ return R.error(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private boolean checkAppId(String appId) {
|
|
|
boolean result = false;
|