|
@@ -4,13 +4,16 @@ import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
+import cn.hutool.log.Log;
|
|
|
+import com.example.nngkxxdp.program.entity.jsonobj.HLUserInfoDTO;
|
|
|
import com.example.nngkxxdp.program.entity.jsonobj.HlLoginDTO;
|
|
|
import com.example.nngkxxdp.program.entity.vo.WxPhoneVo;
|
|
|
import com.example.nngkxxdp.program.service.SWorkerService;
|
|
|
import com.example.nngkxxdp.util.RedisUtil;
|
|
|
+import jdk.nashorn.internal.runtime.logging.Logger;
|
|
|
+import lombok.extern.log4j.Log4j2;
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
-import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import com.example.nngkxxdp.program.constant.MiniConstant;
|
|
@@ -35,6 +38,7 @@ import lombok.RequiredArgsConstructor;
|
|
|
*/
|
|
|
@Service("LoginService")
|
|
|
@RequiredArgsConstructor
|
|
|
+@Log4j2
|
|
|
public class MiniLoginServiceImpl implements MiniLoginService {
|
|
|
|
|
|
@Value("${hlw}")
|
|
@@ -60,12 +64,12 @@ public class MiniLoginServiceImpl implements MiniLoginService {
|
|
|
String s = HttpUtil.get(MiniConstant.LOGIN, requestParameters);
|
|
|
JSONObject jsonObject = new JSONObject(s);
|
|
|
if (ObjectUtil.isNotEmpty(jsonObject.get("errcode"))) {
|
|
|
- return SendUtil.send(false, "登录失败");
|
|
|
+ return SendUtil.send(false, "登录失败3");
|
|
|
}
|
|
|
// 手机号获取
|
|
|
WxPhoneVo wxPhoneVo = getWxPhone(phoneCode);
|
|
|
if (!wxPhoneVo.getErrcode().equals(0)) {
|
|
|
- return SendUtil.send(false, "登录失败");
|
|
|
+ return SendUtil.send(false, "登录失败2");
|
|
|
}
|
|
|
WxPhoneVo.PhoneInfoDTO phoneInfo = wxPhoneVo.getPhoneInfo();
|
|
|
// 拼装登录对象
|
|
@@ -85,11 +89,13 @@ public class MiniLoginServiceImpl implements MiniLoginService {
|
|
|
AppletUser info = appletUserDao.queryByOpenId(appletUser.getOpenid());
|
|
|
// 请求华龙网接口
|
|
|
HlLoginDTO hlLoginDTO = huaLongNetworkInterface(info.getOpenid());
|
|
|
+ HLUserInfoDTO hlUserInfoDTO = huaLongLoginUserInfo(hlLoginDTO.getToken());
|
|
|
if (ObjectUtil.isEmpty(hlLoginDTO)){
|
|
|
- return SendUtil.send(false, "登录失败");
|
|
|
+ return SendUtil.send(false, "登录失败1");
|
|
|
}
|
|
|
+
|
|
|
// 设置用户登录信息
|
|
|
- setLogininfo(info, hlLoginDTO);
|
|
|
+ setLogininfo(info, hlLoginDTO,hlUserInfoDTO);
|
|
|
info.setSessionKey(appletUser.getSessionKey());
|
|
|
appletUserDao.update(info);
|
|
|
String token = MiniTokenUtil.generateToken(info.getId(), info.getNickName(), 60 * 24);
|
|
@@ -101,19 +107,21 @@ public class MiniLoginServiceImpl implements MiniLoginService {
|
|
|
returnedValue.put("userId", info.getId());
|
|
|
returnedValue.put("role", sWorkerService.getUserType(info.getId()));
|
|
|
returnedValue.put("hlToken", info.getToken());
|
|
|
+
|
|
|
return SendUtil.send(true, "", returnedValue);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
- return SendUtil.send(false, "登录失败");
|
|
|
+ return SendUtil.send(false, "登录失败err");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void setLogininfo(AppletUser info, HlLoginDTO hlLoginDTO) {
|
|
|
+ private void setLogininfo(AppletUser info, HlLoginDTO hlLoginDTO, HLUserInfoDTO hlUserInfoDTO) {
|
|
|
info.setToken(hlLoginDTO.getToken());
|
|
|
info.setImgUrl(hlLoginDTO.getImgUrl());
|
|
|
info.setNickName(hlLoginDTO.getNickName());
|
|
|
info.setSex(hlLoginDTO.getSex());
|
|
|
info.setUserId(hlLoginDTO.getUserId());
|
|
|
+ info.setSessionId(hlUserInfoDTO.getSessionId());
|
|
|
|
|
|
}
|
|
|
|
|
@@ -127,6 +135,7 @@ public class MiniLoginServiceImpl implements MiniLoginService {
|
|
|
Map<String, Object> objectObjectHashMap = new HashMap<>(1);
|
|
|
objectObjectHashMap.put("unionId", openId);
|
|
|
String post = HttpUtil.post(Path, objectObjectHashMap);
|
|
|
+ System.out.println(post);
|
|
|
JSONObject jsonObject = JSONUtil.parseObj(post);
|
|
|
if (Convert.toInt(jsonObject.get("code"))==-1){
|
|
|
return null;
|
|
@@ -134,6 +143,20 @@ public class MiniLoginServiceImpl implements MiniLoginService {
|
|
|
return JSONUtil.toBean(jsonObject.getJSONObject("data"), HlLoginDTO.class);
|
|
|
}
|
|
|
|
|
|
+ private HLUserInfoDTO huaLongLoginUserInfo(String token){
|
|
|
+ String path = address+MiniConstant.HL_USER_INFO;
|
|
|
+ Map<String, Object> objectObjectHashMap = new HashMap<>(1);
|
|
|
+ objectObjectHashMap.put("appKey", MiniConstant.APPKEY);
|
|
|
+ objectObjectHashMap.put("token", token);
|
|
|
+ String post = HttpUtil.post(path, objectObjectHashMap);
|
|
|
+ System.out.println(post);;
|
|
|
+ JSONObject jsonObject = JSONUtil.parseObj(post);
|
|
|
+ if (Convert.toInt(jsonObject.get("code"))==-1){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return JSONUtil.toBean(jsonObject.getJSONObject("data"), HLUserInfoDTO.class);
|
|
|
+ }
|
|
|
+
|
|
|
private WxPhoneVo getWxPhone(String phoneCode) {
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.set("code", phoneCode);
|