Browse Source

新增menber 接口

DESKTOP-VAEGFGM\zqc 10 months ago
parent
commit
33e3d26635

+ 24 - 6
citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/controller/app/social/AppSocialUserController.java

@@ -1,16 +1,14 @@
 package com.citu.module.member.controller.app.social;
 
+import cn.hutool.core.codec.Base64;
 import com.citu.framework.common.enums.UserTypeEnum;
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.security.core.annotations.PreAuthenticated;
-import com.citu.module.member.controller.app.social.vo.AppSocialUserBindReqVO;
-import com.citu.module.member.controller.app.social.vo.AppSocialUserRespVO;
-import com.citu.module.member.controller.app.social.vo.AppSocialUserUnbindReqVO;
+import com.citu.module.member.controller.app.social.vo.*;
+import com.citu.module.system.api.social.SocialClientApi;
 import com.citu.module.system.api.social.SocialUserApi;
-import com.citu.module.system.api.social.dto.SocialUserBindReqDTO;
-import com.citu.module.system.api.social.dto.SocialUserRespDTO;
-import com.citu.module.system.api.social.dto.SocialUserUnbindReqDTO;
+import com.citu.module.system.api.social.dto.*;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Operation;
@@ -20,6 +18,8 @@ import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import javax.validation.Valid;
 
+import java.util.List;
+
 import static com.citu.framework.common.pojo.CommonResult.success;
 import static com.citu.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 
@@ -31,6 +31,9 @@ public class AppSocialUserController {
 
     @Resource
     private SocialUserApi socialUserApi;
+    @Resource
+    private SocialClientApi socialClientApi;
+
 
     @PostMapping("/bind")
     @Operation(summary = "社交绑定,使用 code 授权码")
@@ -60,4 +63,19 @@ public class AppSocialUserController {
         return success(BeanUtils.toBean(socialUser, AppSocialUserRespVO.class));
     }
 
+    @PostMapping("/wxa-qrcode")
+    @Operation(summary = "获得微信小程序码(base64 image)")
+    public CommonResult<String> getWxaQrcode(@RequestBody @Valid AppSocialWxaQrcodeReqVO reqVO) {
+        byte[] wxQrcode = socialClientApi.getWxaQrcode(BeanUtils.toBean(reqVO, SocialWxQrcodeReqDTO.class)).getCheckedData();
+        return success(Base64.encode(wxQrcode));
+    }
+
+    @GetMapping("/get-subscribe-template-list")
+    @Operation(summary = "获得微信小程订阅模板列表")
+    public CommonResult<List<AppSocialWxaSubscribeTemplateRespVO>> getSubscribeTemplateList() {
+        List<SocialWxaSubscribeTemplateRespDTO> template = socialClientApi.getWxaSubscribeTemplateList(UserTypeEnum.MEMBER.getValue()).getCheckedData();
+        return success(BeanUtils.toBean(template, AppSocialWxaSubscribeTemplateRespVO.class));
+    }
+
+
 }

+ 39 - 0
citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/controller/app/social/vo/AppSocialWxaQrcodeReqVO.java

@@ -0,0 +1,39 @@
+package com.citu.module.member.controller.app.social.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+
+
+@Schema(description = "用户 APP - 获得获取小程序码 Request VO")
+@Data
+public class AppSocialWxaQrcodeReqVO {
+
+    /**
+     * 页面路径不能携带参数(参数请放在scene字段里)
+     */
+    @Schema(description = "场景值", requiredMode = Schema.RequiredMode.REQUIRED, example = "1001")
+    private String scene;
+
+    /**
+     * 默认是主页,页面 page,例如 pages/index/index,根路径前不要填加 /,不能携带参数(参数请放在scene字段里),
+     * 如果不填写这个字段,默认跳主页面。scancode_time为系统保留参数,不允许配置
+     */
+    @Schema(description = "页面路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "pages/goods/index")
+    @NotEmpty(message = "页面路径不能为空")
+    private String path;
+
+    @Schema(description = "二维码宽度", requiredMode = Schema.RequiredMode.REQUIRED, example = "430")
+    private Integer width;
+
+    @Schema(description = "是/否自动配置线条颜色", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
+    private Boolean autoColor;
+
+    @Schema(description = "是/否检查 page 是否存在", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
+    private Boolean checkPath;
+
+    @Schema(description = "是/否需要透明底色", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
+    private Boolean hyaline;
+
+}

+ 27 - 0
citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/controller/app/social/vo/AppSocialWxaSubscribeTemplateRespVO.java

@@ -0,0 +1,27 @@
+package com.citu.module.member.controller.app.social.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "用户 APP - 获得小程序订阅模版 Response VO")
+@Data
+public class AppSocialWxaSubscribeTemplateRespVO {
+
+    @Schema(description = "模版编号", requiredMode = Schema.RequiredMode.REQUIRED,
+            example = "9Aw5ZV1j9xdWTFEkqCpZ7mIBbSC34khK55OtzUPl0rU")
+    private String id;
+
+    @Schema(description = "模版标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "订单支付通知")
+    private String title;
+
+    @Schema(description = "模版内容", requiredMode = Schema.RequiredMode.REQUIRED,
+            example = "{ {result.DATA} }\\n\\n领奖金额:{ {withdrawMoney.DATA} }\\n领奖时间:    { {withdrawTime.DATA} }")
+    private String content;
+
+    @Schema(description = "模板内容示例", requiredMode = Schema.RequiredMode.REQUIRED, example = "下单时间:2016年8月8日")
+    private String example;
+
+    @Schema(description = "模版类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
+    private Integer type; // 2 为一次性订阅,3 为长期订阅
+
+}