|
@@ -1,6 +1,8 @@
|
|
package com.qs.mp.web.controller.api.open;
|
|
package com.qs.mp.web.controller.api.open;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.qs.mp.channel.domain.Channel;
|
|
|
|
+import com.qs.mp.channel.service.IChannelService;
|
|
import com.qs.mp.common.core.domain.AjaxResult;
|
|
import com.qs.mp.common.core.domain.AjaxResult;
|
|
import com.qs.mp.common.core.redis.RedisCache;
|
|
import com.qs.mp.common.core.redis.RedisCache;
|
|
import com.qs.mp.common.utils.LogUtil;
|
|
import com.qs.mp.common.utils.LogUtil;
|
|
@@ -15,6 +17,7 @@ import com.qs.mp.open.domain.IpWhitelist;
|
|
import com.qs.mp.open.domain.param.SchemeParam;
|
|
import com.qs.mp.open.domain.param.SchemeParam;
|
|
import com.qs.mp.open.service.IApiCallLogService;
|
|
import com.qs.mp.open.service.IApiCallLogService;
|
|
import com.qs.mp.open.service.IIpWhitelistService;
|
|
import com.qs.mp.open.service.IIpWhitelistService;
|
|
|
|
+import com.qs.mp.user.domain.vo.UserShareVO;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
@@ -28,6 +31,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
+import java.util.Objects;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -57,6 +61,9 @@ public class LinkController {
|
|
@Autowired
|
|
@Autowired
|
|
private RedisCache redisCache;
|
|
private RedisCache redisCache;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private IChannelService channelService;
|
|
|
|
+
|
|
@PostMapping("wx/scheme")
|
|
@PostMapping("wx/scheme")
|
|
@ApiOperation("微信小程序跳转链接")
|
|
@ApiOperation("微信小程序跳转链接")
|
|
public AjaxResult wxScheme(@Validated @RequestBody SchemeParam schemeParam, HttpServletRequest request) {
|
|
public AjaxResult wxScheme(@Validated @RequestBody SchemeParam schemeParam, HttpServletRequest request) {
|
|
@@ -88,8 +95,17 @@ public class LinkController {
|
|
// 不为空则直接返回,不生成新的
|
|
// 不为空则直接返回,不生成新的
|
|
return AjaxResult.success("success",scheme);
|
|
return AjaxResult.success("success",scheme);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ Channel channel = channelService.getById(schemeParam.getCallNo());
|
|
|
|
+ if (Objects.isNull(channel)) {
|
|
|
|
+ LogUtil.info(logger, "非法访问,callNo:{0},ip:{1}", schemeParam.getCallNo(), ipaddr);
|
|
|
|
+ return AjaxResult.error("非法访问");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
// 生成scheme,并缓存到redis中,1天过期
|
|
// 生成scheme,并缓存到redis中,1天过期
|
|
- scheme = wxUrlLinkService.generateUrlSchema("", "", userAppId);
|
|
|
|
|
|
+ scheme = wxUrlLinkService.generateUrlSchema("", channel.getUserId() + "&" + UserShareVO.SHARE_TYPE_SITE, userAppId);
|
|
redisCache.setCacheObject(key, scheme,1, TimeUnit.DAYS);
|
|
redisCache.setCacheObject(key, scheme,1, TimeUnit.DAYS);
|
|
LogUtil.info(logger, "生成的scheme码:{0}", scheme);
|
|
LogUtil.info(logger, "生成的scheme码:{0}", scheme);
|
|
return AjaxResult.success("success",scheme);
|
|
return AjaxResult.success("success",scheme);
|