Bladeren bron

通过邀请码解析用户信息

cup 2 jaren geleden
bovenliggende
commit
ffe6990f64

+ 23 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/MarketingController.java

@@ -18,6 +18,8 @@ import com.qs.mp.common.exception.ServiceException;
 import com.qs.mp.common.utils.DateUtils;
 import com.qs.mp.common.utils.StringUtils;
 import com.qs.mp.framework.security.handle.HostHolder;
+import com.qs.mp.system.domain.SysUser;
+import com.qs.mp.system.service.ISysUserService;
 import com.qs.mp.user.domain.MarketingHitPrize;
 import com.qs.mp.user.domain.MarketingUserCode;
 import com.qs.mp.user.domain.param.MarketingHelpParam;
@@ -78,6 +80,27 @@ public class MarketingController extends BaseApiController {
     @Autowired
     private DistributedLocker distributedLocker;
 
+    @Autowired
+    private ISysUserService sysUserService;
+
+    @PostMapping("/userInfo/{inviteCode}")
+    @ApiOperation("通过邀请码获取用户信息")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "成功", response = SysUser.class)
+    )
+    public AjaxResult userInfoByInviteCode(@PathVariable("inviteCode") String inviteCode) {
+        if (StringUtils.isBlank(inviteCode)) {
+            return AjaxResult.error("邀请码不能为空");
+        }
+
+        Long userId = MarketingUtils.decodeInviteCode(inviteCode);
+        SysUser sysUser = sysUserService.selectUserById(userId);
+        if (Objects.isNull(sysUser)) {
+            return AjaxResult.error("邀请码无效");
+        }
+        return AjaxResult.success(sysUser);
+    }
+
     @PostMapping("/help")
     @ApiOperation("活动助力")
     public AjaxResult help(@RequestBody MarketingHelpParam marketingHelpParam) {

+ 2 - 1
mp-framework/src/main/java/com/qs/mp/framework/config/SecurityConfig.java

@@ -142,7 +142,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                     "/api/v1/mp/user/exchange/category/list",
                     "/api/v1/mp/user/exchange/activity/list",
                     "/api/v1/mp/user/marketing/list",
-                    "/api/v1/mp/user/marketing/detail/*"
+                    "/api/v1/mp/user/marketing/detail/*",
+                    "/api/v1/mp/user/marketing/userInfo/*"
                 ).permitAll()
                 // 除上面外的所有请求全部需要鉴权认证
                 .anyRequest().authenticated()