Browse Source

Merge branch 'dev' into 'mp-server-test'

通过链接注册推广员

See merge request quanshu/mp-server!964
jiang hao 2 years ago
parent
commit
97918b5033

+ 33 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/PromoterController.java

@@ -1,5 +1,6 @@
 package com.qs.mp.web.controller.api.channel;
 
+import cn.jsms.api.ValidSMSResult;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.channel.domain.param.PromoterCreateParam;
@@ -7,6 +8,7 @@ import com.qs.mp.channel.domain.param.PromoterQueryParam;
 import com.qs.mp.channel.service.IChannelService;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
+import com.qs.mp.common.jsms.JSMSUtils;
 import com.qs.mp.utils.SecurityUtils;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
@@ -79,9 +81,39 @@ public class PromoterController extends BaseApiController {
         // 创建推广员
         channelService.createPromoter(param);
 
-        return AjaxResult.success(param);
+        return AjaxResult.success();
     }
 
 
+    @PostMapping("/register")
+    @ApiOperation("邀请链接注册推广员接口")
+    @ApiResponses(
+        @ApiResponse(code = 200, message = "成功")
+    )
+    public AjaxResult promoterRegister(@Validated @RequestBody PromoterCreateParam param) {
+        Long channelId = param.getChannelId();
+        Channel channel = channelService.getById(channelId);
+        if (channel == null) {
+            return AjaxResult.error("门店信息不正确");
+        }
+
+        // 校验短信
+        ValidSMSResult res = JSMSUtils.sendValidSMSCode(param.getMessageId(), param.getCode());
+        if (res == null || !res.getIsValid()) {
+            return AjaxResult.error("短信验证码错误");
+        }
+
+        // 校验推广员信息合法性
+        String checkRes = channelService.checkPromoter(param);
+        if (StringUtils.isNotBlank(checkRes)) {
+            return AjaxResult.error(checkRes);
+        }
+
+        // 创建推广员
+        channelService.createPromoter(param);
+
+        return AjaxResult.success();
+    }
+
 
 }

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

@@ -152,7 +152,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                     "/api/v1/mp/user/mall/ticket/detail/new",
                     "/api/v1/mp/user/ticket/prize/list/*",
                     "/api/v1/mp/user/isJump",
-                    "/api/v1/mp/user/mall/ticket/goods/list"
+                    "/api/v1/mp/user/mall/ticket/goods/list",
+                    "/api/v1/mp/channel/promoter/register"
                 ).permitAll()
                 // 除上面外的所有请求全部需要鉴权认证
                 .anyRequest().authenticated()

+ 7 - 0
mp-service/src/main/java/com/qs/mp/channel/domain/param/PromoterCreateParam.java

@@ -38,4 +38,11 @@ public class PromoterCreateParam {
     @NotNull(message = "佣金比例不能为空")
     private BigDecimal commRate;
 
+    @ApiModelProperty("短信id")
+    private String messageId;
+
+    @ApiModelProperty("验证码")
+    private String code;
+
+
 }