puzhibing
2023-08-14 753c4aede53b07041841d9aa94859b59e366bd5d
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/MallBook/util/TrhRequest.java
New file
@@ -0,0 +1,35 @@
package com.stylefeng.guns.modular.system.util.MallBook.util;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.exceptions.ValidateException;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.stylefeng.guns.modular.system.util.MallBook.config.ChannelConfig;
import com.stylefeng.guns.modular.system.util.MallBook.model.InterfaceRequest;
import com.stylefeng.guns.modular.system.util.MallBook.model.InterfaceResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * @Author xiaogc
 * @Date 2022/1/24 13:45
 */
public class TrhRequest<T> {
    Logger logger = LoggerFactory.getLogger("ServerLog");
    public InterfaceResponse execute(T t, String serverCode) {
        InterfaceRequest<T> request = new InterfaceRequest(t, serverCode);
        logger.warn("mallbook请求参数:" + JSONUtil.toJsonStr(request));
        String result = HttpUtil.post(ChannelConfig.payUrl, BeanUtil.beanToMap(request));
        logger.warn("mallbook响应参数:" + result);
        InterfaceResponse response = JSONUtil.toBean(result, InterfaceResponse.class);
        boolean verify = RSASignature.validate(response.content(), response.getSign());
        if (!verify) {
            throw new ValidateException("签名验证失败");
        } else {
            logger.warn("签名验证通过");
        }
        return response;
    }
}