diff --git a/pom.xml b/pom.xml
index 35c9b548e..d958cfee3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -411,7 +411,11 @@
2.5.4
-
+
+ org.dromara
+ ruoyi-auth
+ ${revision}
+
org.dromara
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index d97374e7b..0c58f9ef0 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -107,6 +107,7 @@
ruoyi-workflow
+
de.codecentric
spring-boot-admin-starter-client
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
index 8ad7465ae..c1f6f09b0 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
@@ -80,7 +80,7 @@ public class AuthController {
* @param body 登录信息
* @return 结果
*/
- @ApiEncrypt
+// @ApiEncrypt
@PostMapping("/login")
public R login(@RequestBody String body) {
LoginBody loginBody = JsonUtils.parseObject(body, LoginBody.class);
@@ -97,7 +97,10 @@ public class AuthController {
return R.fail(MessageUtils.message("auth.grant.type.blocked"));
}
// 校验租户
- loginService.checkTenant(loginBody.getTenantId());
+ if(!"app".equals(client.getClientKey())){
+ loginService.checkTenant(loginBody.getTenantId());
+ }
+
// 登录
LoginVo loginVo = IAuthStrategy.login(body, client, grantType);
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java
index 0848170af..03a628ad9 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java
@@ -56,22 +56,22 @@ public class CaptchaController {
*
* @param phonenumber 用户手机号
*/
- @RateLimiter(key = "#phonenumber", time = 60, count = 1)
+// @RateLimiter(key = "#phonenumber", time = 60, count = 1)
@GetMapping("/resource/sms/code")
public R smsCode(@NotBlank(message = "{user.phonenumber.not.blank}") String phonenumber) {
String key = GlobalConstants.CAPTCHA_CODE_KEY + phonenumber;
String code = RandomUtil.randomNumbers(4);
RedisUtils.setCacheObject(key, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION));
// 验证码模板id 自行处理 (查数据库或写死均可)
- String templateId = "";
+ String templateId = "2375314";
LinkedHashMap map = new LinkedHashMap<>(1);
map.put("code", code);
- SmsBlend smsBlend = SmsFactory.getSmsBlend("config1");
- SmsResponse smsResponse = smsBlend.sendMessage(phonenumber, templateId, map);
- if (!smsResponse.isSuccess()) {
- log.error("验证码短信发送异常 => {}", smsResponse);
- return R.fail(smsResponse.getData().toString());
- }
+ SmsBlend smsBlend = SmsFactory.getSmsBlend("config2");
+// SmsResponse smsResponse = smsBlend.sendMessage(phonenumber, templateId, map);
+// if (!smsResponse.isSuccess()) {
+// log.error("验证码短信发送异常 => {}", smsResponse);
+// return R.fail(smsResponse.getData().toString());
+// }
return R.ok();
}
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/LoginVo.java b/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/LoginVo.java
index 834afe5a1..1966ab911 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/LoginVo.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/LoginVo.java
@@ -51,4 +51,9 @@ public class LoginVo {
*/
private String openid;
+ /**
+ * 用户 sig
+ */
+ private String userSig;
+
}
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java
index 41a802b44..07d13655e 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java
@@ -7,6 +7,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Opt;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.lock.annotation.Lock4j;
+import com.wzj.soopin.member.domain.po.Member;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import me.zhyd.oauth.model.AuthUser;
@@ -18,6 +19,7 @@ import org.dromara.common.core.domain.dto.PostDTO;
import org.dromara.common.core.domain.dto.RoleDTO;
import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.core.enums.LoginType;
+import org.dromara.common.core.enums.UserType;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.exception.user.UserException;
import org.dromara.common.core.utils.*;
@@ -171,6 +173,20 @@ public class SysLoginService {
return loginUser;
}
+ /**
+ * 构建登录用户
+ */
+ public LoginUser buildLoginUser(Member member) {
+ LoginUser loginUser = new LoginUser();
+ Long userId = member.getId();
+ loginUser.setUserId(userId);
+ loginUser.setUsername(member.getUserName());
+ loginUser.setNickname(member.getNickname());
+ loginUser.setUserType(UserType.APP_USER.getUserType());
+ loginUser.setUserSig(member.getUserSig());
+ return loginUser;
+ }
+
/**
* 记录登录信息
*
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java
index 2ffda353e..a230665d4 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java
@@ -4,14 +4,19 @@ import cn.dev33.satoken.stp.SaLoginModel;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.wzj.soopin.member.domain.po.Member;
+import com.wzj.soopin.member.mapper.MemberMapper;
+import com.wzj.soopin.member.service.MemberRegisterService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.constant.Constants;
import org.dromara.common.core.constant.GlobalConstants;
import org.dromara.common.core.constant.SystemConstants;
import org.dromara.common.core.domain.model.LoginUser;
+import org.dromara.common.core.domain.model.RegisterBody;
import org.dromara.common.core.domain.model.SmsLoginBody;
import org.dromara.common.core.enums.LoginType;
+import org.dromara.common.core.enums.UserType;
import org.dromara.common.core.exception.user.CaptchaExpireException;
import org.dromara.common.core.exception.user.UserException;
import org.dromara.common.core.utils.MessageUtils;
@@ -42,6 +47,8 @@ public class SmsAuthStrategy implements IAuthStrategy {
private final SysLoginService loginService;
private final SysUserMapper userMapper;
+ private final MemberMapper memberMapper;
+ private final MemberRegisterService memberRegisterService;
@Override
public LoginVo login(String body, SysClientVo client) {
@@ -51,10 +58,34 @@ public class SmsAuthStrategy implements IAuthStrategy {
String phonenumber = loginBody.getPhonenumber();
String smsCode = loginBody.getSmsCode();
LoginUser loginUser = TenantHelper.dynamic(tenantId, () -> {
- SysUserVo user = loadUserByPhonenumber(phonenumber);
- loginService.checkLogin(LoginType.SMS, tenantId, user.getUserName(), () -> !validateSmsCode(tenantId, phonenumber, smsCode));
- // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
- return loginService.buildLoginUser(user);
+
+
+ if("app".equals(client.getClientKey())){
+ //会员登录
+ Member member = loadMemberByPhonenumber(phonenumber);
+
+ //手机号登录,如果没有则创建一个
+ if (member == null) {
+ RegisterBody registerBody = new RegisterBody();
+ registerBody.setPhoneNumber(phonenumber);
+ registerBody.setCode(smsCode);
+ registerBody.setUserType(UserType.APP_USER.getUserType());
+ registerBody.setClientId(client.getClientId());
+ registerBody.setUuid(phonenumber);
+ member = memberRegisterService.register(registerBody);
+ return loginService.buildLoginUser(member);
+ } else {
+ loginService.checkLogin(LoginType.SMS, tenantId, member.getUserName(), () -> !validateSmsCode(tenantId, phonenumber, smsCode));
+ // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
+ return loginService.buildLoginUser(member);
+ }
+ }else{
+ //管理员登录
+ SysUserVo user = loadUserByPhonenumber(phonenumber);
+ loginService.checkLogin(LoginType.SMS, tenantId, user.getUserName(), () -> !validateSmsCode(tenantId, phonenumber, smsCode));
+ // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
+ return loginService.buildLoginUser(user);
+ }
});
loginUser.setClientKey(client.getClientKey());
loginUser.setDeviceType(client.getDeviceType());
@@ -72,9 +103,16 @@ public class SmsAuthStrategy implements IAuthStrategy {
loginVo.setAccessToken(StpUtil.getTokenValue());
loginVo.setExpireIn(StpUtil.getTokenTimeout());
loginVo.setClientId(client.getClientId());
+ loginVo.setUserSig(loginUser.getUserSig());
return loginVo;
}
+
+
+ private void checkMemberLogin(){
+
+ }
+
/**
* 校验短信验证码
*/
@@ -98,5 +136,16 @@ public class SmsAuthStrategy implements IAuthStrategy {
}
return user;
}
+ private Member loadMemberByPhonenumber(String phonenumber) {
+ Member user = memberMapper.selectOne(new LambdaQueryWrapper().eq(Member::getPhoneEncrypted, phonenumber));
+ if (ObjectUtil.isNull(user)) {
+ log.info("登录用户:{} 不存在.", phonenumber);
+ return null;
+ } else if (SystemConstants.DISABLE.equals(user.getStatus())) {
+ log.info("登录用户:{} 已被停用.", phonenumber);
+ throw new UserException("user.blocked", phonenumber);
+ }
+ return user;
+ }
}
diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml
index 83bff12cd..9d0be9a11 100644
--- a/ruoyi-admin/src/main/resources/application-dev.yml
+++ b/ruoyi-admin/src/main/resources/application-dev.yml
@@ -182,10 +182,10 @@ sms:
config2:
# 厂商标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分
supplier: tencent
- access-key-id: 您的accessKey
- access-key-secret: 您的accessKeySecret
- signature: 您的短信签名
- sdk-app-id: 您的sdkAppId
+ access-key-id: AKIDvhEVWHm0xe5JGxOZXGitnRovlKcfRzIN
+ access-key-secret: qPhiTxA7oENFrCH5dvxiCQN4UdWAYgYA
+ signature: 无终街科技
+ sdk-app-id: 1400966042
--- # 三方授权
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 7e584b3dd..5cce743d9 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -116,14 +116,7 @@ security:
- /*/api-docs
- /*/api-docs/**
- /warm-flow-ui/token-name
- - /admin/vlog/upload/detail/**
- - /admin/vlog/upload/**
-# - /admin/vlog/upload/pull
-# - /admin/vlog/upload/pull/batch
-# - /admin/vlog/upload/list
-# - /admin/vlog/upload/**
-# - /admin/vlog/pull/**
-# - /admin/vlog/pull
+
# 多租户配置
tenant:
@@ -140,6 +133,12 @@ tenant:
- sys_user_role
- sys_client
- sys_oss_config
+ - ums_member
+ - ums_member_address
+ - ums_feedback
+ - ums_member_account
+ - ums_member_logininfor
+ - ums_member_cart
# MyBatisPlus配置
# https://baomidou.com/config/
diff --git a/ruoyi-common/ruoyi-common-core/pom.xml b/ruoyi-common/ruoyi-common-core/pom.xml
index ad37e90db..5a9dd1b31 100644
--- a/ruoyi-common/ruoyi-common-core/pom.xml
+++ b/ruoyi-common/ruoyi-common-core/pom.xml
@@ -88,6 +88,11 @@
mapstruct-plus-spring-boot-starter
+
+ com.baomidou
+ mybatis-plus-spring-boot3-starter
+
+
org.lionsoul
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/Constants.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/Constants.java
index 273c7344a..6354f893c 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/Constants.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/Constants.java
@@ -65,7 +65,7 @@ public interface Constants {
/**
* 验证码有效期(分钟)
*/
- Integer CAPTCHA_EXPIRATION = 2;
+ Integer CAPTCHA_EXPIRATION = 5;
/**
* 顶级父级id
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/BaseBO.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/BaseBO.java
index f2382f77c..2cf6a3907 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/BaseBO.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/BaseBO.java
@@ -2,6 +2,9 @@ package org.dromara.common.core.domain;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.dromara.common.core.domain.model.BaseAudit;
+
import java.sql.Wrapper;
public class BaseBO {
@@ -11,7 +14,7 @@ public class BaseBO {
*
* @return
*/
- public T toWrapper() {
+ public LambdaQueryWrapper toWrapper() {
return null;
}
}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginUser.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginUser.java
index 75e2d6587..eb16bc6e9 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginUser.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginUser.java
@@ -133,6 +133,12 @@ public class LoginUser implements Serializable {
private String deviceType;
+ /**
+ * 腾讯IM用户Sig
+ */
+ private String userSig;
+
+
/**
* 获取登录id
*/
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/RegisterBody.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/RegisterBody.java
index 6ea8a764a..19c85d3ab 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/RegisterBody.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/RegisterBody.java
@@ -30,4 +30,6 @@ public class RegisterBody extends LoginBody {
private String userType;
+ private String phoneNumber;
+
}
diff --git a/ruoyi-common/ruoyi-common-mongo/pom.xml b/ruoyi-common/ruoyi-common-mongo/pom.xml
index 53cf6907c..33305593c 100644
--- a/ruoyi-common/ruoyi-common-mongo/pom.xml
+++ b/ruoyi-common/ruoyi-common-mongo/pom.xml
@@ -24,10 +24,10 @@
ruoyi-common-log
-
- org.springframework.boot
- spring-boot-starter-data-mongodb
-
+
+
+
+
diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/BaseController.java b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/BaseController.java
index fd01dda5a..8f204e75a 100644
--- a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/BaseController.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/BaseController.java
@@ -1,14 +1,24 @@
package org.dromara.common.web.core;
+import com.baomidou.mybatisplus.extension.service.IService;
+import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
/**
* web层通用数据处理
*
* @author Lion Li
*/
-public class BaseController {
+public class BaseController {
+
+// @Autowired
+// public S service;
+//
+// @Autowired
+// public C convert;
+
/**
* 响应返回结果
diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/BaseConverter.java b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/BaseConverter.java
index 4649c91cc..df51eec9e 100644
--- a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/BaseConverter.java
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/BaseConverter.java
@@ -2,30 +2,33 @@ package org.dromara.common.web.core;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.mapstruct.MapperConfig;
import java.util.List;
+@MapperConfig
public interface BaseConverter {
/**
* dto转vo
* @param t
* @return
*/
- V convertToVO(T t);
+ public V toVO(T t);
/**
* dto列表转vo
* @param tList
* @return
*/
- List convertToVO(List tList);
+ public List toVO(List tList);
/**
* dto分页转vo
* @param tPage
* @return
*/
- TableDataInfo convertToVO(IPage tPage);
+ public Page toVO(Page tPage);
@@ -35,7 +38,7 @@ public interface BaseConverter {
* @param d
* @return
*/
- T convertToPo(B d);
+ public T toPo(B d);
diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/Page.java b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/Page.java
new file mode 100644
index 000000000..9b10f2ae7
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/Page.java
@@ -0,0 +1,89 @@
+package org.dromara.common.web.core;
+
+import cn.hutool.http.HttpStatus;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 表格分页数据对象
+ *
+ * @author Lion Li
+ */
+@Data
+@NoArgsConstructor
+public class Page implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 总记录数
+ */
+ private long total;
+
+ /**
+ * 列表数据
+ */
+ private List rows;
+
+ /**
+ * 消息状态码
+ */
+ private int code;
+
+ /**
+ * 消息内容
+ */
+ private String msg;
+
+ /**
+ * 分页
+ *
+ * @param list 列表数据
+ * @param total 总记录数
+ */
+ public Page(List list, long total) {
+ this.rows = list;
+ this.total = total;
+ this.code = HttpStatus.HTTP_OK;
+ this.msg = "查询成功";
+ }
+
+ /**
+ * 根据分页对象构建表格分页数据对象
+ */
+ public static Page build(IPage page) {
+ Page rspData = new Page<>();
+ rspData.setCode(HttpStatus.HTTP_OK);
+ rspData.setMsg("查询成功");
+ rspData.setRows(page.getRecords());
+ rspData.setTotal(page.getTotal());
+ return rspData;
+ }
+
+ /**
+ * 根据数据列表构建表格分页数据对象
+ */
+ public static Page build(List list) {
+ Page rspData = new Page<>();
+ rspData.setCode(HttpStatus.HTTP_OK);
+ rspData.setMsg("查询成功");
+ rspData.setRows(list);
+ rspData.setTotal(list.size());
+ return rspData;
+ }
+
+ /**
+ * 构建表格分页数据对象
+ */
+ public static Page build() {
+ Page rspData = new Page<>();
+ rspData.setCode(HttpStatus.HTTP_OK);
+ rspData.setMsg("查询成功");
+ return rspData;
+ }
+
+}
diff --git a/ruoyi-modules/ruoyi-auth/pom.xml b/ruoyi-modules/ruoyi-auth/pom.xml
index 998dc4534..2ddd81f56 100644
--- a/ruoyi-modules/ruoyi-auth/pom.xml
+++ b/ruoyi-modules/ruoyi-auth/pom.xml
@@ -99,10 +99,20 @@
org.dromara
ruoyi-common-sse
+
+
+ org.dromara
+ ruoyi-common-social
+
+
org.dromara
ruoyi-member
+
+ org.dromara
+ ruoyi-system
+
com.tencentcloudapi
@@ -116,6 +126,16 @@
tls-sig-api-v2
2.0
+
+ org.springframework.security
+ spring-security-crypto
+
+
+
+ com.squareup.okhttp3
+ okhttp
+ 4.12.0
+
diff --git a/ruoyi-modules/ruoyi-auth/src/main/java/com/wzj/soopin/auth/controller/MemberBuyerController.java b/ruoyi-modules/ruoyi-auth/src/main/java/com/wzj/soopin/auth/controller/MemberBuyerController.java
deleted file mode 100644
index 72d47f1dd..000000000
--- a/ruoyi-modules/ruoyi-auth/src/main/java/com/wzj/soopin/auth/controller/MemberBuyerController.java
+++ /dev/null
@@ -1,365 +0,0 @@
-package com.wzj.soopin.auth.controller;
-
-
-
-import cn.hutool.json.JSONException;
-import cn.hutool.json.JSONObject;
-import com.squareup.okhttp.OkHttpClient;
-import com.squareup.okhttp.Request;
-import com.squareup.okhttp.Response;
-import com.wzj.soopin.auth.domain.dto.entity.enums.VerificationEnums;
-import com.wzj.soopin.auth.util.TLSSigAPIv2;
-import com.wzj.soopin.member.domain.bo.MemberEditDTO;
-import org.dromara.common.core.constant.ResultCode;
-import com.wzj.soopin.auth.enums.UserEnums;
-import com.wzj.soopin.auth.service.IMemberService;
-import com.wzj.soopin.auth.service.IVerificationService;
-import com.wzj.soopin.auth.util.SmsUtil;
-import com.wzj.soopin.member.domain.po.Member;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import jakarta.validation.constraints.NotNull;
-import lombok.SneakyThrows;
-import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.core.domain.R;
-import org.dromara.common.core.exception.ServiceException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-
-/**
-
- * 买家端,会员接口
-
- *
-
- * @author Chopper
-
- * @since 2020/11/16 10:07 下午
-
- */
-
-
-@RestController
-
-@Api(tags = "买家端,会员接口")
-
-@Slf4j
-@RequestMapping("/buyer/passport/member")
-
-public class MemberBuyerController {
-
-
-
- @Autowired
-
- private IMemberService memberService;
-
- @Autowired
-
- private SmsUtil smsUtil;
-
-
- @Autowired
-
- private IVerificationService verificationService;
-
-// @Autowired
-
-// private GenerateTestUserSig generateTestUserSig;
-
-
-
- // 腾讯云 SDKAppID 和密钥
-
- private static final long SDKAPPID = 1600080789; // 替换为您的 SDKAppID
-
- private static final String SECRETKEY = "311b5309d714a20f7f5b54360ee21b1e24ec208ebcd25ce8f47d24753bccc091"; // 替换为您的密钥
-
-
-
- @ApiOperation(value = "登录接口")
-
- @ApiImplicitParams({
-
- @ApiImplicitParam(name = "username", value = "用户名", required = true, paramType = "query"),
-
- @ApiImplicitParam(name = "password", value = "密码", required = true, paramType = "query")
-
- })
-
- @PostMapping("/userLogin")
-
- public R