|
@@ -308,7 +308,7 @@ public class LoginController {
|
|
|
}*/
|
|
|
|
|
|
@GetMapping("/logoutWeChat")
|
|
|
- public Result logoutWeChat(HttpServletRequest req, @RequestParam String jsCode) {
|
|
|
+ public Result logoutWeChat(HttpServletRequest req, @RequestParam String jsCode,@RequestParam String phone) {
|
|
|
String remoteHost = req.getRemoteHost();
|
|
|
Map<String, Object> paramsMap = new HashMap<>();
|
|
|
paramsMap.put("appid", "wxa28e45fe5cb10ff1");
|
|
@@ -323,6 +323,7 @@ public class LoginController {
|
|
|
String sessionKey = (String) jsonObject.get("session_key");
|
|
|
System.out.println("拿到了openid" + openid);
|
|
|
System.out.println("拿到了sessionKey" + sessionKey);
|
|
|
+
|
|
|
QueryWrapper<SysAccountMultilevel> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.eq("wechat_id", openid);
|
|
|
SysAccountMultilevel data = accountMultilevelService.getOne(queryWrapper);
|
|
@@ -330,24 +331,70 @@ public class LoginController {
|
|
|
weCahtVo.setOpenId(openid);
|
|
|
weCahtVo.setSessionKey(sessionKey);
|
|
|
if (ObjectUtil.isEmpty(data)) {
|
|
|
- return new Result(ResultCode.FAIL, weCahtVo);
|
|
|
+ QueryWrapper<SysAccountMultilevel> queryWrapper1 = new QueryWrapper<>();
|
|
|
+ queryWrapper1.eq("phone", phone);
|
|
|
+ SysAccountMultilevel data1 = accountMultilevelService.getOne(queryWrapper1);
|
|
|
+ if (ObjectUtil.isEmpty(data1)) {
|
|
|
+ return new Result(ResultCode.FAIL, weCahtVo);
|
|
|
+ } else {
|
|
|
+ if ("".equals(data1.getWechatId()) || null == data1.getWechatId()) {
|
|
|
+ //手机号已经代注册
|
|
|
+ data1.setWechatId(openid);
|
|
|
+ accountMultilevelService.updateById(data1);
|
|
|
+ AccessToken accessToken = new AccessToken();
|
|
|
+ if (data1.getType() == 7) {
|
|
|
+ accessToken.setIsAdmin(0);
|
|
|
+ } else {
|
|
|
+ accessToken.setIsAdmin(1);
|
|
|
+ }
|
|
|
+ data1.setType(7);
|
|
|
+ accessToken.setSysAccountMultilevel(data1);
|
|
|
+ accessToken.setAccountName(data1.getAccount());
|
|
|
+ accessToken.setUserName(data1.getUserName());
|
|
|
+ accessToken.setFarmId(data1.getFarmIds());
|
|
|
+ accessToken.setType(7);
|
|
|
+ accessToken.setId(data1.getId());
|
|
|
+ String token = TokenSign.sign(data1.getUserName(), data1.getId(), data1.getLastFarmId().toString(), data1.getWorkLocationType()+"", 7);
|
|
|
+ accessToken.setToken(token);
|
|
|
+ Integer lastFarmId = data1.getLastFarmId();
|
|
|
+ if (ObjectUtil.isEmpty(lastFarmId)) {
|
|
|
+ lastFarmId = Integer.parseInt(data1.getFarmIds().split(",")[0]);
|
|
|
+ }
|
|
|
+ accessToken.setLastFarmId(lastFarmId);
|
|
|
+ accessToken.setLoginIp(remoteHost);
|
|
|
+ return new Result(ResultCode.SUCCESS, accessToken);
|
|
|
+ } else {
|
|
|
+ //返回错误,输入的手机号已经进行过微信登录
|
|
|
+ return new Result(ResultCode.UNAUTHENTICATED, "输入的手机号已被他人进行过微信登录!");
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
- AccessToken accessToken = new AccessToken();
|
|
|
- accessToken.setSysAccountMultilevel(data);
|
|
|
- accessToken.setAccountName(data.getAccount());
|
|
|
- accessToken.setUserName(data.getUserName());
|
|
|
- accessToken.setFarmId(data.getFarmIds());
|
|
|
- accessToken.setType(data.getType());
|
|
|
- accessToken.setId(data.getId());
|
|
|
- String token = TokenSign.sign(data.getUserName(), data.getId(), data.getLastFarmId().toString(), data.getWorkLocationType()+"", 7);
|
|
|
- accessToken.setToken(token);
|
|
|
- Integer lastFarmId = data.getLastFarmId();
|
|
|
- if (ObjectUtil.isEmpty(lastFarmId)) {
|
|
|
- lastFarmId = Integer.parseInt(data.getFarmIds().split(",")[0]);
|
|
|
+ if (phone.equals(data.getPhone())) {
|
|
|
+ AccessToken accessToken = new AccessToken();
|
|
|
+ if (data.getType() == 7) {
|
|
|
+ accessToken.setIsAdmin(0);
|
|
|
+ } else {
|
|
|
+ accessToken.setIsAdmin(1);
|
|
|
+ }
|
|
|
+ data.setType(7);
|
|
|
+ accessToken.setSysAccountMultilevel(data);
|
|
|
+ accessToken.setAccountName(data.getAccount());
|
|
|
+ accessToken.setUserName(data.getUserName());
|
|
|
+ accessToken.setFarmId(data.getFarmIds());
|
|
|
+ accessToken.setType(7);
|
|
|
+ accessToken.setId(data.getId());
|
|
|
+ String token = TokenSign.sign(data.getUserName(), data.getId(), data.getLastFarmId().toString(), data.getWorkLocationType()+"", 7);
|
|
|
+ accessToken.setToken(token);
|
|
|
+ Integer lastFarmId = data.getLastFarmId();
|
|
|
+ if (ObjectUtil.isEmpty(lastFarmId)) {
|
|
|
+ lastFarmId = Integer.parseInt(data.getFarmIds().split(",")[0]);
|
|
|
+ }
|
|
|
+ accessToken.setLastFarmId(lastFarmId);
|
|
|
+ accessToken.setLoginIp(remoteHost);
|
|
|
+ return new Result(ResultCode.SUCCESS, accessToken);
|
|
|
+ }else {
|
|
|
+ return new Result(ResultCode.UNAUTHENTICATED, "输入的手机号已被他人进行过微信登录!");
|
|
|
}
|
|
|
- accessToken.setLastFarmId(lastFarmId);
|
|
|
- accessToken.setLoginIp(remoteHost);
|
|
|
- return new Result(ResultCode.SUCCESS, accessToken);
|
|
|
}
|
|
|
}
|
|
|
|