Quellcode durchsuchen

邀请码生成

cup vor 2 Jahren
Ursprung
Commit
d7c70cfd41

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

@@ -20,6 +20,7 @@ import com.qs.mp.user.domain.vo.UserMarketingDetailVO;
 import com.qs.mp.user.domain.vo.UserMarketingListVO;
 import com.qs.mp.user.service.IMarketingHitPrizeService;
 import com.qs.mp.user.service.IMarketingUserCodeService;
+import com.qs.mp.utils.MarketingUtils;
 import com.qs.mp.utils.SecurityUtils;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
@@ -61,6 +62,20 @@ public class MarketingController extends BaseApiController {
     @Autowired
     private IMarketingUserCodeService marketingUserCodeService;
 
+    @PostMapping("/inviteCode")
+    @ApiOperation(value = "邀请码生成", notes = "邀请码生成")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "成功", response = String.class)
+    })
+    public AjaxResult inviteCode() {
+        Long userId = SecurityUtils.getLoginUser().getUserId();
+        if (Objects.isNull(userId)) {
+            return AjaxResult.error("用户未登录");
+        }
+        return AjaxResult.success(MarketingUtils.generateInviteCode(userId));
+    }
+
+
     @PostMapping("list")
     @ApiOperation("获取营销活动列表")
     @ApiResponses(

+ 33 - 0
mp-service/src/main/java/com/qs/mp/utils/MarketingUtils.java

@@ -0,0 +1,33 @@
+package com.qs.mp.utils;
+
+
+import org.apache.commons.lang3.RandomStringUtils;
+
+/**
+ * 营销活动通用工具类
+ * @author Cup
+ * @date 2022/5/17
+ */
+public class MarketingUtils {
+
+    public static final long CODE_THRESHOLD = 100000;
+
+    // 生成邀请码
+    public static String generateInviteCode(Long userId) {
+        return Long.toHexString(CODE_THRESHOLD + userId);
+    }
+
+    // 邀请码解码
+    public static Long decodeInviteCode(String inviteCode) {
+        return Long.parseLong(inviteCode,16) - CODE_THRESHOLD;
+    }
+
+    // 生成抽奖码
+    public static String generatePrizeCode() {
+        return RandomStringUtils.randomAlphanumeric(12);
+    }
+
+    public static void main(String[] args) {
+        System.out.println(generateInviteCode(1L));
+    }
+}