记得上下班打卡 | git大法好,push需谨慎

Commit a66ea675 authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/dev_20111115' into dev_20111115

parents f5be66e1 3ad27785
......@@ -225,62 +225,62 @@ public class AdamLoginController {
return this.loginVoResponseProcessing(loginInfoVo);
}
@ApiOperationSupport(order = 5)
@ApiOperation(value = "微信小程序登录")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "anum", value = "应用标识[1-正在|2-草莓音乐节|3-五百里|4-MDSK]", allowableValues = "1,2,3,4"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "code", value = "临时票据"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "encryptedData", value = "访问令牌"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "iv", value = "访问令牌"),
})
@PostMapping(value = {"login/wca"})
public ResponseDto<AdamLoginInfoVo> loginByWechatApplet(@RequestParam Integer anum,
@RequestParam String code,
@RequestParam String encryptedData,
@RequestParam String iv) {
log.info("login by wechat applet:[anum:{},code:{},encryptedData:{},iv:{}]", anum, code, encryptedData, iv);
String wechatMobile, wechatOpenid, wechatUnionid;
try {
WxMaJscode2SessionResult wxMaJscode2SessionResult = adamWechatService.sessionInfo(code, anum);
WxMaPhoneNumberInfo wxMaPhoneNumberInfo = adamWechatService.phoneNumberInfo(wxMaJscode2SessionResult.getSessionKey(), encryptedData, iv, anum);
wechatMobile = wxMaPhoneNumberInfo.getPurePhoneNumber();
wechatOpenid = wxMaJscode2SessionResult.getOpenid();
wechatUnionid = wxMaJscode2SessionResult.getUnionid();
} catch (WxErrorException e) {
log.error("login by wechat applet exception:[anum:{},code:{},encryptedData:{},iv:{}], errmsg:{}", anum, code, encryptedData, iv, e.getMessage());
return ResponseDto.failure(ErrorMapping.get("10001"));
}
if (StringUtils.isEmpty(wechatMobile)) return ResponseDto.failure(ErrorMapping.get("10005"));
String uid = adamRdmService.getUidByMobile(wechatMobile);
boolean toRegister = StringUtils.isEmpty(uid);
AdamUserInfoVo userInfoVo = toRegister ? adamUserService.register(wechatMobile) : adamRdmService.getUserInfoVoByUid(uid);
if (!toRegister && (null == userInfoVo || userInfoVo.getState() == 2)) {
log.warn("Cancelled mobile:{}", wechatMobile);
return ResponseDto.failure(ErrorMapping.get("10024"));
}
// 根据skip值,设置IsComplete(考虑到已存在用户未完善信息的情况,这里只对返回数据单独设置IsComplete)
userInfoVo.setIsComplete(1);
AdamLoginInfoVo loginInfoVo = AdamLoginInfoVo.getNew();
loginInfoVo.setToken(this.ssoProcess(userInfoVo));
loginInfoVo.setUserInfo(userInfoVo);
if (!toRegister) {
loginInfoVo.setUserMemberVo(adamRdmService.getUserMemberVoByUid(userInfoVo.getUid()));
}
loginInfoVo.setWechatOpenid(wechatOpenid);
loginInfoVo.setWechatUnionid(wechatUnionid);
log.info(UserPathDto.setData(toRegister ? "注册" : "登录", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
// return ResponseDto.success(loginInfoVo.desensitize(reviewUserInfo).finalRating());
return this.loginVoResponseProcessing(loginInfoVo);
}
// @ApiOperationSupport(order = 5)
// @ApiOperation(value = "微信小程序登录")
// @ApiImplicitParams({
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "anum", value = "应用标识[1-正在|2-草莓音乐节|3-五百里|4-MDSK]", allowableValues = "1,2,3,4"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "code", value = "临时票据"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "encryptedData", value = "访问令牌"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "iv", value = "访问令牌"),
// })
// @PostMapping(value = {"login/wca"})
// public ResponseDto<AdamLoginInfoVo> loginByWechatApplet(@RequestParam Integer anum,
// @RequestParam String code,
// @RequestParam String encryptedData,
// @RequestParam String iv) {
// log.info("login by wechat applet:[anum:{},code:{},encryptedData:{},iv:{}]", anum, code, encryptedData, iv);
// String wechatMobile, wechatOpenid, wechatUnionid;
// try {
// WxMaJscode2SessionResult wxMaJscode2SessionResult = adamWechatService.sessionInfo(code, anum);
//
// WxMaPhoneNumberInfo wxMaPhoneNumberInfo = adamWechatService.phoneNumberInfo(wxMaJscode2SessionResult.getSessionKey(), encryptedData, iv, anum);
//
// wechatMobile = wxMaPhoneNumberInfo.getPurePhoneNumber();
// wechatOpenid = wxMaJscode2SessionResult.getOpenid();
// wechatUnionid = wxMaJscode2SessionResult.getUnionid();
// } catch (WxErrorException e) {
// log.error("login by wechat applet exception:[anum:{},code:{},encryptedData:{},iv:{}], errmsg:{}", anum, code, encryptedData, iv, e.getMessage());
// return ResponseDto.failure(ErrorMapping.get("10001"));
// }
//
// if (StringUtils.isEmpty(wechatMobile)) return ResponseDto.failure(ErrorMapping.get("10005"));
//
// String uid = adamRdmService.getUidByMobile(wechatMobile);
// boolean toRegister = StringUtils.isEmpty(uid);
//
// AdamUserInfoVo userInfoVo = toRegister ? adamUserService.register(wechatMobile) : adamRdmService.getUserInfoVoByUid(uid);
//
// if (!toRegister && (null == userInfoVo || userInfoVo.getState() == 2)) {
// log.warn("Cancelled mobile:{}", wechatMobile);
// return ResponseDto.failure(ErrorMapping.get("10024"));
// }
//
// // 根据skip值,设置IsComplete(考虑到已存在用户未完善信息的情况,这里只对返回数据单独设置IsComplete)
// userInfoVo.setIsComplete(1);
//
// AdamLoginInfoVo loginInfoVo = AdamLoginInfoVo.getNew();
// loginInfoVo.setToken(this.ssoProcess(userInfoVo));
// loginInfoVo.setUserInfo(userInfoVo);
// if (!toRegister) {
// loginInfoVo.setUserMemberVo(adamRdmService.getUserMemberVoByUid(userInfoVo.getUid()));
// }
// loginInfoVo.setWechatOpenid(wechatOpenid);
// loginInfoVo.setWechatUnionid(wechatUnionid);
//
// log.info(UserPathDto.setData(toRegister ? "注册" : "登录", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
//// return ResponseDto.success(loginInfoVo.desensitize(reviewUserInfo).finalRating());
// return this.loginVoResponseProcessing(loginInfoVo);
// }
@ApiOperationSupport(order = 6)
@ApiOperation(value = "第三方账号登录")
......@@ -323,6 +323,51 @@ public class AdamLoginController {
return this.loginVoResponseProcessing(loginInfoVo);
}
@ApiOperationSupport(order = 7)
@ApiOperation(value = "手机号静默登录")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mobile", value = "手机号"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "otp", value = "临时票据"),
})
@PostMapping(value = {"login/silent/mobile"})
public ResponseDto<AdamLoginInfoVo> loginByMobile(@Pattern(regexp = "\\d{11}", message = "手机号格式有误")
@NotBlank(message = "手机号不能为空")
@RequestParam String mobile,
@NotBlank(message = "临时票据不能为空")
@RequestParam String otp) {
log.info("login by silent for mobile:{},{}", mobile, otp);
String otpDecrypt = null;
try {
otpDecrypt = DESUtils.DES().decrypt(otp);
} catch (Exception e) {
}
if (null == otpDecrypt || !otpDecrypt.substring(5).equals(mobile.substring(5))) {
log.error("login by silent for mobile:{},{}/{}", mobile, otp, otpDecrypt);
return ResponseDto.failure(ErrorMapping.get("10005"));
}
String uid = adamRdmService.getUidByMobile(mobile);
boolean toRegister = StringUtils.isEmpty(uid);
AdamUserInfoVo userInfoVo = toRegister ? adamUserService.register(mobile) : adamRdmService.getUserInfoVoByUid(uid);
if (!toRegister && (null == userInfoVo || userInfoVo.getState() == 2)) {
log.warn("Cancelled mobile:{}", mobile);
return ResponseDto.failure(ErrorMapping.get("10024"));
}
AdamLoginInfoVo loginInfoVo = AdamLoginInfoVo.getNew();
loginInfoVo.setToken(this.ssoProcess(userInfoVo));
loginInfoVo.setUserInfo(userInfoVo);
if (!toRegister) {
loginInfoVo.setUserMemberVo(adamRdmService.getUserMemberVoByUid(userInfoVo.getUid()));
}
log.info(UserPathDto.setData(toRegister ? "注册" : "登录", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
return this.loginVoResponseProcessing(loginInfoVo);
}
@ApiOperationSupport(order = 7)
@ApiOperation(value = "登出")
@PostMapping(value = {"out"})
......
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