优化

pull/82/head^2
awenes 2024-04-04 21:58:03 +08:00
parent 407ac2e74a
commit 855ebeb82e
1 changed files with 16 additions and 16 deletions

View File

@ -23,21 +23,12 @@ import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import cn.topiam.employee.common.enums.identitysource.IdentitySourceProvider; import cn.topiam.employee.common.enums.identitysource.IdentitySourceProvider;
import cn.topiam.employee.common.util.RequestUtils;
import cn.topiam.employee.identitysource.core.AbstractDefaultIdentitySource; import cn.topiam.employee.identitysource.core.AbstractDefaultIdentitySource;
import cn.topiam.employee.identitysource.core.client.IdentitySourceClient; import cn.topiam.employee.identitysource.core.client.IdentitySourceClient;
import cn.topiam.employee.identitysource.core.enums.IdentitySourceEventReceiveType; import cn.topiam.employee.identitysource.core.enums.IdentitySourceEventReceiveType;
@ -49,11 +40,20 @@ import cn.topiam.employee.identitysource.wechatwork.enums.WeChatWorkEventType;
import cn.topiam.employee.identitysource.wechatwork.util.AesException; import cn.topiam.employee.identitysource.wechatwork.util.AesException;
import cn.topiam.employee.identitysource.wechatwork.util.WxBizMsgCrypt; import cn.topiam.employee.identitysource.wechatwork.util.WxBizMsgCrypt;
import cn.topiam.employee.support.exception.BadParamsException; import cn.topiam.employee.support.exception.BadParamsException;
import cn.topiam.employee.support.util.HttpRequestUtils;
import cn.topiam.employee.support.util.XmlUtils;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.xml.bind.JAXBContext;
import jakarta.xml.bind.JAXBException;
import jakarta.xml.bind.Unmarshaller;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
/** /**
* *
@ -79,12 +79,12 @@ public class WeChatWorkIdentitySource extends AbstractDefaultIdentitySource<WeCh
@Override @Override
public Object event(HttpServletRequest request, String body) { public Object event(HttpServletRequest request, String body) {
LocalDateTime eventTime = LocalDateTime.now(); LocalDateTime eventTime = LocalDateTime.now();
Map<String, Object> params = RequestUtils.getParams(request); Map<String, String> params = HttpRequestUtils.getRequestParameters(request);
WeChatWorkRequest weWorkResult = null; WeChatWorkRequest weWorkResult = null;
try { try {
if (RequestMethod.POST.name().equals(request.getMethod())) { if (RequestMethod.POST.name().equals(request.getMethod())) {
try { try {
weWorkResult = RequestUtils.getXml(body, WeChatWorkRequest.class); weWorkResult = XmlUtils.getXml(body, WeChatWorkRequest.class);
} catch (JAXBException e) { } catch (JAXBException e) {
log.error("企业微信身份源 [{}] 事件回调入参转换异常: {}", getId(), e.getMessage()); log.error("企业微信身份源 [{}] 事件回调入参转换异常: {}", getId(), e.getMessage());
throw new BadParamsException("企业微信事件回调数据转换异常: " + e.getMessage()); throw new BadParamsException("企业微信事件回调数据转换异常: " + e.getMessage());
@ -108,14 +108,14 @@ public class WeChatWorkIdentitySource extends AbstractDefaultIdentitySource<WeCh
* @param params {@link Map} * @param params {@link Map}
* @return * @return
*/ */
private String eventCallBack(LocalDateTime eventTime, Map<String, Object> params, private String eventCallBack(LocalDateTime eventTime, Map<String, String> params,
WeChatWorkRequest weWorkResult) throws IllegalArgumentException { WeChatWorkRequest weWorkResult) throws IllegalArgumentException {
try { try {
String msgSignature = (String) params.get(MSG_SIGNATURE); String msgSignature = params.get(MSG_SIGNATURE);
String timeStamp = (String) params.get(TIMESTAMP); String timeStamp = params.get(TIMESTAMP);
String nonce = (String) params.get(NONCE); String nonce = params.get(NONCE);
if (params.containsKey(ECHOSTR)) { if (params.containsKey(ECHOSTR)) {
String echoStr = (String) params.get(ECHOSTR); String echoStr = params.get(ECHOSTR);
return verifyUrl(msgSignature, timeStamp, nonce, echoStr); return verifyUrl(msgSignature, timeStamp, nonce, echoStr);
} else { } else {
EventParameter callBackDTO = processMessage(msgSignature, timeStamp, nonce, EventParameter callBackDTO = processMessage(msgSignature, timeStamp, nonce,