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

Commit 803fe038 authored by 张国柄's avatar 张国柄

-API:adam:删除`微信小程序登录凭证校验`、`微信网站应用登录`;

~opt:UserPathDto;
parent b3873248
......@@ -17,6 +17,7 @@ import java.io.IOException;
*/
public class ServletUtils
{
public final static String HEADER_USER_AGENT = "User-Agent";
/**
* 定义移动端请求的所有可能类型
*/
......
package com.liquidnet.service.base;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.ServletUtils;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import javax.servlet.http.HttpServletRequest;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
public class UserPathDto implements Serializable {
public class UserPathDto implements Serializable, Cloneable {
private static final long serialVersionUID = -4153353929914805750L;
private static final String LOG_SEPARATOR = ",";
private static final String LOG_NOW_ELK = "NOW_ELK_";
private static final String LOG_NOW_PDK = "NOW_PDK_";
private static UserPathDto instance = new UserPathDto();
private static final long serialVersionUID = -4153353929914805750L;
// private String tag;
// private String tag;
private String uid;
private String ip;
private String token;
private String time;//yyyyMMddHHmmssSSS
private LocalDateTime time;
private String interfaceName;
private String params;
private String result;
private Object params;
private Object result;
private String userAgent;
private UserPathDto() {
}
private static UserPathDto getInstance() {
return instance;
try {
return (UserPathDto) instance.clone();
} catch (CloneNotSupportedException e) {
return new UserPathDto();
}
}
public static String setData(String interfaceName, Object params, Object result) {
/*public static String setData(String interfaceName, Object params, Object result) {
// instance.tag = "MDSKY.NOW.ELK";
instance.ip = CurrentUtil.getCliIpAddr();
instance.uid = CurrentUtil.getCurrentUid() == null ? "UID" : CurrentUtil.getCurrentUid();
......@@ -48,11 +55,44 @@ public class UserPathDto implements Serializable {
public static String setPartnerData(String merchantId ,String interfaceName, Object params, Object result) {
instance.ip = CurrentUtil.getCliIpAddr();
instance.uid = merchantId;
instance.time = DateUtil.Formatter.yyyyMMddHHmmssSSSUnTrim.format(LocalDateTime.now());
instance.time = LocalDateTime.now();
instance.interfaceName = interfaceName;
instance.params = params.toString().equals("") ? "NanParams" : params.toString();
instance.result = result.toString().equals("") ? "NanResults" : result.toString();
instance.userAgent = ServletUtils.getRequest().getHeader("User-Agent");
return "MDSKY.NOW.PDK." + instance.uid+ " = " + JsonUtils.toJson(instance);
}*/
public static String setData(String interfaceName, Object params, Object result) {
HttpServletRequest request = ServletUtils.getRequest();
String uid = (String) request.getAttribute(CurrentUtil.TOKEN_SUB);
UserPathDto userPathDto = getInstance();
userPathDto.setIp(CurrentUtil.getCliIpAddr());
userPathDto.setUid(uid);
userPathDto.setToken((String) request.getAttribute(CurrentUtil.uToken));
userPathDto.setTime(LocalDateTime.now());
userPathDto.setInterfaceName(interfaceName);
userPathDto.setParams(params);
userPathDto.setResult(result);
userPathDto.setUserAgent(request.getHeader(ServletUtils.HEADER_USER_AGENT));
return (LOG_NOW_ELK + (StringUtils.isEmpty(uid) ? interfaceName : uid)).concat(LOG_SEPARATOR)
.concat(JsonUtils.toJson(userPathDto));
}
public static String setPartnerData(String merchantId, String interfaceName, Object params, Object result) {
HttpServletRequest request = ServletUtils.getRequest();
UserPathDto userPathDto = getInstance();
userPathDto.setIp(CurrentUtil.getCliIpAddr());
userPathDto.setUid(merchantId);
userPathDto.setTime(LocalDateTime.now());
userPathDto.setInterfaceName(interfaceName);
userPathDto.setParams(params);
userPathDto.setResult(result);
userPathDto.setUserAgent(request.getHeader(ServletUtils.HEADER_USER_AGENT));
return (LOG_NOW_PDK + merchantId).concat(LOG_SEPARATOR).concat(JsonUtils.toJson(instance));
}
}
package com.liquidnet.service.adam.controller;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.dypnsapi.model.v20170525.GetMobileRequest;
import com.aliyuncs.dypnsapi.model.v20170525.GetMobileResponse;
......@@ -31,7 +29,6 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -144,7 +141,7 @@ public class AdamLoginController {
loginInfoVo.setUserInfo(userInfoVo);
loginInfoVo.setUserMemberVo(adamRdmService.getUserMemberVoByUid(userInfoVo.getUid()));
log.info(UserPathDto.setData("登录", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
log.info(UserPathDto.setData("LOGIN", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
// return ResponseDto.success(loginInfoVo.desensitize(reviewUserInfo).finalRating());
return this.loginVoResponseProcessing(loginInfoVo);
}
......@@ -187,7 +184,7 @@ public class AdamLoginController {
loginInfoVo.setUserMemberVo(adamRdmService.getUserMemberVoByUid(userInfoVo.getUid()));
}
log.info(UserPathDto.setData(toRegister ? "注册" : "登录", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
log.info(UserPathDto.setData(toRegister ? "REGIST" : "LOGIN", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
// return ResponseDto.success(loginInfoVo.desensitize(reviewUserInfo).finalRating());
return this.loginVoResponseProcessing(loginInfoVo);
}
......@@ -199,7 +196,7 @@ public class AdamLoginController {
})
@PostMapping(value = {"login/mobile"})
public ResponseDto<AdamLoginInfoVo> loginByMobile(@NotBlank(message = "访问令牌不能为空") @RequestParam String accessToken) {
log.info("login by mobile access token:{}", accessToken);
log.debug("login by mobile access token:{}", accessToken);
String mobile = this.getMobile(accessToken);
if (StringUtils.isEmpty(mobile)) return ResponseDto.failure(ErrorMapping.get("10005"));
......@@ -220,7 +217,7 @@ public class AdamLoginController {
loginInfoVo.setUserMemberVo(adamRdmService.getUserMemberVoByUid(userInfoVo.getUid()));
}
log.info(UserPathDto.setData(toRegister ? "注册" : "登录", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
log.info(UserPathDto.setData(toRegister ? "REGIST" : "LOGIN", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
// return ResponseDto.success(loginInfoVo.desensitize(reviewUserInfo).finalRating());
return this.loginVoResponseProcessing(loginInfoVo);
}
......@@ -277,7 +274,7 @@ public class AdamLoginController {
// loginInfoVo.setWechatOpenid(wechatOpenid);
// loginInfoVo.setWechatUnionid(wechatUnionid);
//
// log.info(UserPathDto.setData(toRegister ? "注册" : "登录", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
// log.info(UserPathDto.setData(toRegister ? "REGIST" : "LOGIN", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
//// return ResponseDto.success(loginInfoVo.desensitize(reviewUserInfo).finalRating());
// return this.loginVoResponseProcessing(loginInfoVo);
// }
......@@ -318,7 +315,7 @@ public class AdamLoginController {
}
loginInfoVo.setToken(this.ssoProcess(loginInfoVo.getUserInfo()));
log.info(UserPathDto.setData(toRegister ? "注册" : "登录", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
log.info(UserPathDto.setData(toRegister ? "REGIST" : "LOGIN", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
// return ResponseDto.success(loginInfoVo.desensitize(reviewUserInfo).finalRating());
return this.loginVoResponseProcessing(loginInfoVo);
}
......@@ -365,7 +362,7 @@ public class AdamLoginController {
loginInfoVo.setUserMemberVo(adamRdmService.getUserMemberVoByUid(userInfoVo.getUid()));
}
log.info(UserPathDto.setData(toRegister ? "注册" : "登录", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
log.info(UserPathDto.setData(toRegister ? "REGIST" : "LOGIN", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
return this.loginVoResponseProcessing(loginInfoVo);
}
......@@ -373,7 +370,7 @@ public class AdamLoginController {
@ApiOperation(value = "登出")
@PostMapping(value = {"out"})
public void logout() {
log.info("###logout:uid:{}\ntoken:{}", CurrentUtil.getCurrentUid(), CurrentUtil.getToken());
log.info("###logout_uid:{}", CurrentUtil.getCurrentUid());
redisUtil.del(jwtValidator.getSsoRedisKey().concat(CurrentUtil.getCurrentUid()));
}
......@@ -382,7 +379,7 @@ public class AdamLoginController {
@ApiOperation(value = "注销")
@PostMapping(value = {"close"})
public ResponseDto<Object> close() {
log.info("###close:uid:{}", CurrentUtil.getCurrentUid());
log.info("###close_uid:{}", CurrentUtil.getCurrentUid());
this.logout();
......@@ -398,51 +395,51 @@ public class AdamLoginController {
return ResponseDto.success(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli());
}
@ApiOperationSupport(order = 10)
@ApiOperation(value = "微信小程序登录凭证校验", notes = "这里仅用于获取OPENID使用。登录凭证校验。通过 wx.login 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程。更多使用方法详见 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html")
@GetMapping(value = {"wxa/code2session"})
public ResponseDto<String> wxaCode2Session(@RequestParam String jsCode) {
String openId = null, respJStr = null;
try {
String url = AdamWechatConst.API_URL_JS_CODE2SESSION.replace("APPID", AdamWechatConst.zhengzaiAppletAppid)
.replace("SECRET", AdamWechatConst.zhengzaiAppletSecret).replace("JSCODE", jsCode);
log.debug("jsCode={},url={}", jsCode, url);
respJStr = HttpUtil.get(url, null);
JsonNode respJNode = JsonUtils.fromJson(respJStr, JsonNode.class), respErrcode;
if (null == respJNode || (((respErrcode = respJNode.get("errcode")) != null) && !"0".equalsIgnoreCase(respErrcode.asText()))) {
log.warn("WX.API调用失败[{}]", respJStr);
return ResponseDto.success(null);
}
openId = respJNode.get("openid").asText();
} catch (Exception e) {
log.error("WX.API调用异常[jsCode:{},respJStr={}]", jsCode, respJStr, e);
}
log.debug("jsCode={},respJStr={}", jsCode, respJStr);
return ResponseDto.success(openId);
}
@ApiOperationSupport(order = 11)
@ApiOperation(value = "微信网站应用登录", notes = "这里仅用于获取OPENID使用。方法详见 https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html")
@GetMapping(value = {"wx/oauth2/access_token"})
public ResponseDto<String> wxOauth2AccessToken(@RequestParam String code) {
String openId = null, respJStr = null;
try {
String url = AdamWechatConst.API_URL_OAUTH2_ACCESS_TOKEN.replace("APPID", AdamWechatConst.zhengzaiServiceAppid)
.replace("SECRET", AdamWechatConst.zhengzaiServiceSecret).replace("CODE", code);
log.debug("code={},url={}", code, url);
respJStr = HttpUtil.get(url, null);
JsonNode respJNode = JsonUtils.fromJson(respJStr, JsonNode.class), respErrcode;
if (null == respJNode || (((respErrcode = respJNode.get("errcode")) != null) && !"0".equalsIgnoreCase(respErrcode.asText()))) {
log.warn("WX.API调用失败[{}]", respJStr);
return ResponseDto.success(null);
}
openId = respJNode.get("openid").asText();
} catch (Exception e) {
log.error("WX.API调用异常[jsCode:{},respJStr={}]", code, respJStr, e);
}
log.debug("code={},respJStr={}", code, respJStr);
return ResponseDto.success(openId);
}
// @ApiOperationSupport(order = 10)
// @ApiOperation(value = "微信小程序登录凭证校验", notes = "这里仅用于获取OPENID使用。登录凭证校验。通过 wx.login 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程。更多使用方法详见 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html")
// @GetMapping(value = {"wxa/code2session"})
// public ResponseDto<String> wxaCode2Session(@RequestParam String jsCode) {
// String openId = null, respJStr = null;
// try {
// String url = AdamWechatConst.API_URL_JS_CODE2SESSION.replace("APPID", AdamWechatConst.zhengzaiAppletAppid)
// .replace("SECRET", AdamWechatConst.zhengzaiAppletSecret).replace("JSCODE", jsCode);
// log.debug("jsCode={},url={}", jsCode, url);
// respJStr = HttpUtil.get(url, null);
// JsonNode respJNode = JsonUtils.fromJson(respJStr, JsonNode.class), respErrcode;
// if (null == respJNode || (((respErrcode = respJNode.get("errcode")) != null) && !"0".equalsIgnoreCase(respErrcode.asText()))) {
// log.warn("WX.API调用失败[{}]", respJStr);
// return ResponseDto.success(null);
// }
// openId = respJNode.get("openid").asText();
// } catch (Exception e) {
// log.error("WX.API调用异常[jsCode:{},respJStr={}]", jsCode, respJStr, e);
// }
// log.debug("jsCode={},respJStr={}", jsCode, respJStr);
// return ResponseDto.success(openId);
// }
//
// @ApiOperationSupport(order = 11)
// @ApiOperation(value = "微信网站应用登录", notes = "这里仅用于获取OPENID使用。方法详见 https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html")
// @GetMapping(value = {"wx/oauth2/access_token"})
// public ResponseDto<String> wxOauth2AccessToken(@RequestParam String code) {
// String openId = null, respJStr = null;
// try {
// String url = AdamWechatConst.API_URL_OAUTH2_ACCESS_TOKEN.replace("APPID", AdamWechatConst.zhengzaiServiceAppid)
// .replace("SECRET", AdamWechatConst.zhengzaiServiceSecret).replace("CODE", code);
// log.debug("code={},url={}", code, url);
// respJStr = HttpUtil.get(url, null);
// JsonNode respJNode = JsonUtils.fromJson(respJStr, JsonNode.class), respErrcode;
// if (null == respJNode || (((respErrcode = respJNode.get("errcode")) != null) && !"0".equalsIgnoreCase(respErrcode.asText()))) {
// log.warn("WX.API调用失败[{}]", respJStr);
// return ResponseDto.success(null);
// }
// openId = respJNode.get("openid").asText();
// } catch (Exception e) {
// log.error("WX.API调用异常[jsCode:{},respJStr={}]", code, respJStr, e);
// }
// log.debug("code={},respJStr={}", code, respJStr);
// return ResponseDto.success(openId);
// }
/* ---------------------------- Internal Method ---------------------------- */
/* ---------------------------- Internal Method ---------------------------- */
......
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