|
@ -79,6 +79,7 @@ import org.springframework.web.context.request.ServletRequestAttributes;
|
|
import sun.misc.BASE64Encoder;
|
|
import sun.misc.BASE64Encoder;
|
|
|
|
|
|
import javax.annotation.PostConstruct;
|
|
import javax.annotation.PostConstruct;
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.imageio.ImageIO;
|
|
import javax.imageio.ImageIO;
|
|
import javax.servlet.http.Cookie;
|
|
import javax.servlet.http.Cookie;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
@ -185,6 +186,8 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
|
|
private JdbcTemplate jdbcTemplate;
|
|
private JdbcTemplate jdbcTemplate;
|
|
@Autowired
|
|
@Autowired
|
|
private BaseDoctorDao baseDoctorDao;
|
|
private BaseDoctorDao baseDoctorDao;
|
|
|
|
@Resource
|
|
|
|
private WechatService wechatService;
|
|
|
|
|
|
@PostConstruct
|
|
@PostConstruct
|
|
private void init() {
|
|
private void init() {
|
|
@ -379,6 +382,23 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
|
|
Oauth2Envelop<WlyyUserSimple> oauth2Envelop = new Oauth2Envelop<>(jsonObject.getString("message"), -1, null);
|
|
Oauth2Envelop<WlyyUserSimple> oauth2Envelop = new Oauth2Envelop<>(jsonObject.getString("message"), -1, null);
|
|
return new ResponseEntity<>(oauth2Envelop, headers, HttpStatus.OK);
|
|
return new ResponseEntity<>(oauth2Envelop, headers, HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
}else if("wxApplets".equals(flag)){
|
|
|
|
//微信小程序登录
|
|
|
|
parameters.put("grant_type", "dingTalk");
|
|
|
|
String authCode = parameters.get("authCode");
|
|
|
|
if(org.apache.commons.lang3.StringUtils.isBlank(authCode)){
|
|
|
|
throw new InvalidRequestException("请求参数错误");
|
|
|
|
}
|
|
|
|
String userPhone = wechatService.getUserPhoneByApplets(authCode);
|
|
|
|
if (!StringUtils.isEmpty(userPhone)){
|
|
|
|
parameters.put("username", userPhone);
|
|
|
|
}else{
|
|
|
|
HttpHeaders headers = new HttpHeaders();
|
|
|
|
headers.set("Cache-Control", "no-store");
|
|
|
|
headers.set("Pragma", "no-cache");
|
|
|
|
Oauth2Envelop<WlyyUserSimple> oauth2Envelop = new Oauth2Envelop<>("获取用户手机号失败", -1, null);
|
|
|
|
return new ResponseEntity<>(oauth2Envelop, headers, HttpStatus.OK);
|
|
|
|
}
|
|
}else if (StringUtils.isEmpty(parameters.get("captcha"))) {
|
|
}else if (StringUtils.isEmpty(parameters.get("captcha"))) {
|
|
parameters.put("grant_type", "password");
|
|
parameters.put("grant_type", "password");
|
|
//解密密码
|
|
//解密密码
|
|
@ -446,6 +466,8 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
|
|
wlyyUserSimple.setState(parameters.get("state"));
|
|
wlyyUserSimple.setState(parameters.get("state"));
|
|
String loginType = parameters.get("login_type");
|
|
String loginType = parameters.get("login_type");
|
|
String openid = parameters.get("openid");
|
|
String openid = parameters.get("openid");
|
|
|
|
String xopenid = parameters.get("xopenid");
|
|
|
|
String unionid = parameters.get("unionid");
|
|
String wechatId = parameters.get("wechatId");
|
|
String wechatId = parameters.get("wechatId");
|
|
logger.info("login:登录进入7");
|
|
logger.info("login:登录进入7");
|
|
//更新患者openId
|
|
//更新患者openId
|
|
@ -468,6 +490,14 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
|
|
userDetailsService.updateDoctorOpenId(openid, wlyyUserSimple.getId());
|
|
userDetailsService.updateDoctorOpenId(openid, wlyyUserSimple.getId());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!StringUtils.isEmpty(xopenid) && !"undefined".equalsIgnoreCase(xopenid) && ("3".equals(loginType)||"4".equalsIgnoreCase(loginType))) {
|
|
|
|
baseLoginLogDO.setOpenid(xopenid);
|
|
|
|
logger.info("gengxin进入"+xopenid);
|
|
|
|
if (!StringUtils.isEmpty(wechatId)&& !"undefined".equalsIgnoreCase(wechatId)){
|
|
|
|
logger.info("gengxin进入"+wechatId);
|
|
|
|
userDetailsService.updateXOpenIdAndWechatId(xopenid,unionid,wlyyUserSimple.getId(),wechatId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
if (parameters.get("password") != null) {
|
|
if (parameters.get("password") != null) {
|
|
//使用密码登录成功后, 更新失败次数为 0
|
|
//使用密码登录成功后, 更新失败次数为 0
|