Commit ad771642 authored by 曹盼盼's avatar 曹盼盼

修改小程序登录接口

parent ec0f0083
...@@ -14,6 +14,7 @@ import com.yeejoin.amos.component.feign.model.FeignClientResult; ...@@ -14,6 +14,7 @@ import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.VerifyCodeAuthModel; import com.yeejoin.amos.feign.privilege.model.VerifyCodeAuthModel;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -24,12 +25,10 @@ import org.springframework.stereotype.Service; ...@@ -24,12 +25,10 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap; import java.util.*;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/** /**
* @Author cpp * @Author cpp
...@@ -87,117 +86,28 @@ public class SafetyServiceImpl implements ISafetyService { ...@@ -87,117 +86,28 @@ public class SafetyServiceImpl implements ISafetyService {
@Override @Override
public Map<String, Object> loginFromApp(MobileLoginParam param) { public Map<String, Object> loginFromApp(MobileLoginParam param) {
log.info("小程序端手机号验证码登录环境:{}", loginEnvironment);
if ("dev".equals(loginEnvironment)) {
return loginFromAppDev(param);
} else if ("product".equals(loginEnvironment)) {
return loginFromAppProduct(param);
} else {
throw new CommonException(600001, "小程序端手机号验证码登录环境参数有误!");
}
}
/** return loginFromAppProduct(param);
* 小程序手机号验证码登录,正式环境使用该方法 为了方便测试环境进行登录
*/
private Map<String, Object> loginFromAppDev(MobileLoginParam param) {
// -1.前置初始化结构数据
Map<String, Object> result = new LinkedHashMap<>();
result.put("userState", "");
result.put("userInfo", new HashMap<>());
result.put("authInfo", new HashMap<>());
Map<String, Object> userInfo = new LinkedHashMap<>();
// 0.解析手机号
String phoneNo = this.parsePhoneNo(param);
// 1.判断是否需要进行短信验证码校验
/* boolean isPassCheck = !param.getIsNeedVerify()
|| ("dev".equals(loginEnvironment) && "666666".equals(param.getVerifyCode()));
isPassCheck = this.smsVerifyCodeCheck(param.getIsNeedVerify(), param.getVerifyCode(), phoneNo);
if (!isPassCheck) {
throw new CommonException(600001, "短信验证不通过");
}*/
// 2.校验手机号否已经注册过
List<RegUnitInfo> userList = regUnitInfoMapper.userData(phoneNo);
if (CollectionUtils.isEmpty(userList)) {
// 没注册过,进行返回
userInfo.put("phoneNo", phoneNo);
result.put("userInfo", userInfo);
result.put("userState", PersonCheckStatus.UN_REGISTER.getStatus());
return result;
}
VerifyCodeAuthModel model = new VerifyCodeAuthModel();
model.setLoginId(phoneNo);
model.setVerifyCode(DesUtil.encode(phoneNo, phoneNo));
FeignClientResult<Map<String, String>> mobileVerifyCodeResult = new FeignClientResult<>();
RequestContext.setToken("token");
RequestContext.setProduct(product);
RequestContext.setAppKey(appKey);
try {
mobileVerifyCodeResult=Privilege.authClient.mobileVerifyCode(model);
} catch (Exception e) {
e.printStackTrace();
}
if (mobileVerifyCodeResult.getStatus() != platformSuccessCode) {
if (log.isErrorEnabled()) {
log.error("调用平台手机号验证码登录失败:{}", mobileVerifyCodeResult.getDevMessage());
}
String message = mobileVerifyCodeResult.getMessage();
if (StringUtils.isEmpty(message)) {
message = "账号已被禁用,请联系管理员";
}
throw new CommonException(600001, message);
}
Map<String, Object> authInfo = new HashMap<>();
// 设置authInfo信息
authInfo.put("token", mobileVerifyCodeResult.getResult().get("token"));
authInfo.put("personId", mobileVerifyCodeResult.getResult().get("userId"));
authInfo.put("appKey", appKey);
authInfo.put("product", product);
result.put("authInfo", authInfo);
// 设置userInfo信息
RegUnitInfo user = userList.get(0);
result.put("userInfo", user);
return result;
} }
/** /**
* 小程序手机号验证码登录,正式环境使用该方法 * 微信授权登录
*/ */
private Map<String, Object> loginFromAppProduct(MobileLoginParam param) { private Map<String, Object> loginFromAppProduct(MobileLoginParam param) {
// 初始化数据结构 // 初始化数据结构
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
result.put("userState", "");
result.put("userInfo", new HashMap<>()); result.put("userInfo", new HashMap<>());
result.put("authInfo", new HashMap<>()); result.put("authInfo", new HashMap<>());
Map<String, Object> userInfo = new HashMap<>(); Map<String, Object> userInfo = new HashMap<>();
Map<String, Object> authInfo = new HashMap<>(); Map<String, Object> authInfo = new HashMap<>();
// 通过手机号和验证码调用平台接口进行验证 // 判断手机号
String phoneNo = this.parsePhoneNo(param); if (ValidationUtil.isEmpty(param) || ValidationUtil.isEmpty(param.getPhoneNo())) {
if (phoneNo == null) {
throw new CommonException(600001, "获取手机号失败!"); throw new CommonException(600001, "获取手机号失败!");
} }
// 设置userInfo信息 //验证手机号是否注册过
List<RegUnitInfo> userList = regUnitInfoMapper.userData(phoneNo);
if (CollectionUtils.isEmpty(userList)) {
// 没注册过,进行返回
userInfo.put("phoneNo", phoneNo);
result.put("userInfo", userInfo);
result.put("userState", PersonCheckStatus.UN_REGISTER.getStatus());
return result;
}
VerifyCodeAuthModel model = new VerifyCodeAuthModel(); VerifyCodeAuthModel model = new VerifyCodeAuthModel();
model.setLoginId(phoneNo); model.setLoginId(param.getPhoneNo());
/* if (!param.getIsNeedVerify() || ("dev".equals(loginEnvironment) && "666666".equals(param.getVerifyCode()))) { model.setVerifyCode(DesUtil.encode(param.getPhoneNo(), param.getPhoneNo()));
model.setVerifyCode(DesUtil.encode(phoneNo, phoneNo));
} else {
model.setVerifyCode(param.getVerifyCode());
}*/
FeignClientResult<Map<String, String>> mobileVerifyCodeResult = new FeignClientResult<>(); FeignClientResult<Map<String, String>> mobileVerifyCodeResult = new FeignClientResult<>();
RequestContext.setToken("token"); RequestContext.setToken("token");
RequestContext.setProduct(product); RequestContext.setProduct(product);
...@@ -205,7 +115,7 @@ public class SafetyServiceImpl implements ISafetyService { ...@@ -205,7 +115,7 @@ public class SafetyServiceImpl implements ISafetyService {
mobileVerifyCodeResult=Privilege.authClient.mobileVerifyCode(model); mobileVerifyCodeResult=Privilege.authClient.mobileVerifyCode(model);
if (mobileVerifyCodeResult.getStatus() != platformSuccessCode) { if (mobileVerifyCodeResult.getStatus() != platformSuccessCode) {
if (log.isErrorEnabled()) { if (log.isErrorEnabled()) {
log.error("调用平台手机号验证码登录失败:{}", mobileVerifyCodeResult.getDevMessage()); log.error("调用平台手机号登录失败:{}", mobileVerifyCodeResult.getDevMessage());
} }
throw new CommonException(600001, mobileVerifyCodeResult.getMessage()); throw new CommonException(600001, mobileVerifyCodeResult.getMessage());
} }
...@@ -216,17 +126,17 @@ public class SafetyServiceImpl implements ISafetyService { ...@@ -216,17 +126,17 @@ public class SafetyServiceImpl implements ISafetyService {
authInfo.put("product", product); authInfo.put("product", product);
result.put("authInfo", authInfo); result.put("authInfo", authInfo);
// 设置userInfo信息 // 设置userInfo信息
RegUnitInfo user = userList.get(0); RequestContext.setToken(mobileVerifyCodeResult.getResult().get("token"));
FeignClientResult<AgencyUserModel> getme = Privilege.agencyUserClient.getme();
result.put("userInfo", userInfo); getme.getResult().setPassword("");
getme.getResult().setAppCodes(new ArrayList());
result.put("userInfo", getme.getResult());
return result; return result;
} }
/** /**
* 手机号解析 * 手机号解析
*
* @param param MobileLoginParam.class * @param param MobileLoginParam.class
* @return String phoneNo * @return String phoneNo
*/ */
......
...@@ -19,6 +19,7 @@ import com.yeejoin.amos.boot.module.tzs.flc.api.entity.RegUnitInfo; ...@@ -19,6 +19,7 @@ import com.yeejoin.amos.boot.module.tzs.flc.api.entity.RegUnitInfo;
import com.yeejoin.amos.boot.module.tzs.flc.api.mapper.RegUnitInfoMapper; import com.yeejoin.amos.boot.module.tzs.flc.api.mapper.RegUnitInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.IdPasswordAuthModel; import com.yeejoin.amos.feign.privilege.model.IdPasswordAuthModel;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -382,9 +383,12 @@ public class TzsAppService { ...@@ -382,9 +383,12 @@ public class TzsAppService {
authInfo.put("appKey", appKey); authInfo.put("appKey", appKey);
authInfo.put("product", product); authInfo.put("product", product);
result.put("authInfo", authInfo); result.put("authInfo", authInfo);
//业务查询 //查询用户信息
RegUnitInfo userInfo = regUnitInfoMapper.userIdINfo(idpassword.getResult().get("userId")); RequestContext.setToken(idpassword.getResult().get("token"));
result.put("userInfo", userInfo); FeignClientResult<AgencyUserModel> getme = Privilege.agencyUserClient.getme();
getme.getResult().setPassword("");
getme.getResult().setAppCodes(new ArrayList());
result.put("userInfo", getme.getResult());
return result; return result;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment