修改部分,微信推送事件,lkl的部分配置

This commit is contained in:
liuyingfang
2023-04-20 15:29:59 +08:00
parent 73fdf1b517
commit 082896aabc
15 changed files with 361 additions and 25 deletions

View File

@@ -0,0 +1,14 @@
package cn.pluss.platform.klk;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Data
@Component
@ConfigurationProperties(prefix = "lkl")
public class LklConfig {
@Value("private_key")
private String privateKey;
}

View File

@@ -0,0 +1,59 @@
package cn.pluss.platform.klk.entity;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.RandomUtil;
import cn.pluss.platform.yinsheng.ReqEntity;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
/**请求参数
* @author lyf
*/
@Getter
@Setter
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class ReqKlkEntity {
/**
* 接入方交易请求发起的系统时间(秒) long timestamp = System.currentTimeMillis()/1000【必传】
*/
private String timestamp;
private final String appid = "OP00000354";
/**
* 12个字符的随机字符串【必传】
*/
private final String nonceStr = "qazwsxedc987";
private String charset = "utf-8";
private String sign;
/**
* 加签用的证书序列号
*/
private final String serialNo = "00dfba8194c41b84cf";
private String version = "3.0";
public static ReqKlkEntity get(String jsonString) {
ReqKlkEntity entity = new ReqKlkEntity();
entity.timestamp = String.valueOf(System.currentTimeMillis() / 1000);
String format = "appid"+"\n"+"serialNo"+"\n"+"timeStamp"+"\n"+"nonceStr"+"\n"+"body"+"\n";
entity.sign = format.replace("appid", entity.appid).replace("serialNo", entity.serialNo)
.replace("timeStamp", entity.timestamp).replace("nonceStr",entity.nonceStr)
.replace("body",jsonString);
return entity;
}
public static void main(String[] args) {
System.out.println(get("req_data\": {\n" +
" \"member_id\": \"AAA200154561278\",\n" +
" \"mer_order_id\": \"202112030923011\"\n" +
" }\n"));
}
}

View File

@@ -0,0 +1,31 @@
package cn.pluss.platform.klk.entity;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
/**
* @author lyf
*/
@Setter
@Getter
public class RespKlkEntity {
/**
* 网关响应码
*/
private String code;
/**
* 网关响应码描述
*/
private String msg;
/**
* 响应时间
*/
private String resp_time;
/**
* 响应参数
*/
private Object resp_data;
}

View File

@@ -0,0 +1,51 @@
package cn.pluss.platform.klk.service;
import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.klk.LklConfig;
import cn.pluss.platform.klk.entity.ReqKlkEntity;
import cn.pluss.platform.klk.entity.RespKlkEntity;
import cn.pluss.platform.util.RSAUtils;
import cn.pluss.platform.util.SM4Util;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import static org.springframework.http.MediaType.APPLICATION_JSON;
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
/**
* @author lyf
*/
@Slf4j
@Service("KlkService")
public class KlkService {
@Autowired
private LklConfig lklConfig;
public void reqKlk()throws Exception{
String data = "req_data\": {\n" +
" \"member_id\": \"AAA200154561278\",\n" +
" \"mer_order_id\": \"202112030923011\"\n" +
" }\n";
String key = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDvDBZyHUDndAGxrIcsCV2njhNO3vCEZotTaWYSYwtDvkcAb1EjsBFabXZaKigpqFXk5XXNI3NIHP9M8XKzIgGvc65NpLAfRjVql8JiTvLyYd1gIUcOXMInabu+oX7dQSI1mS8XzqaoVRhDZQWhXcJW9bxMulgnzvk0Ggw07AjGF7si+hP/Va8SJmN7EJwfQq6TpSxR+WdIHpbWdhZ+NHwitnQwAJTLBFvfk28INM39G7XOsXdVLfsooFdglVTOHpNuRiQAj9gShCCNrpGsNQxDiJIxE43qRsNsRwigyo6DPJk/klgDJa417E2wgP8VrwiXparO4FMzOGK15quuoD7DAgMBAAECggEBANhmWOt1EAx3OBFf3f4/fEjylQgRSiqRqg8Ymw6KGuh4mE4Md6eW/B6geUOmZjVP7nIIR1wte28M0REWgn8nid8LGf+v1sB5DmIwgAf+8G/7qCwd8/VMg3aqgQtRp0ckb5OV2Mv0h2pbnltkWHR8LDIMwymyh5uCApbn/aTrCAZKNXcPOyAn9tM8Bu3FHk3Pf24Er3SN+bnGxgpzDrFjsDSHjDFT9UMIc2WdA3tuMv9X3DDn0bRCsHnsIw3WrwY6HQ8mumdbURk+2Ey3eRFfMYxyS96kOgBC2hqZOlDwVPAKTPtS4hoq+cQ0sRaJQ4T0UALJrBVHa+EESgRaTvrXqAECgYEA+WKmy9hcvp6IWZlk9Q1JZ+dgIVxrO65zylK2FnD1/vcTx2JMn73WKtQb6vdvTuk+Ruv9hY9PEsf7S8gHSTTmzHOUgo5x0F8yCxXFnfji2juoUnDdpkjtQK5KySDcpQb5kcCJWEVi9v+zObM0Zr1Nu5/NreE8EqUl3+7MtHOu1TMCgYEA9WM9P6m4frHPW7h4gs/GISA9LuOdtjLvAtgCK4cW2mhtGNAMttD8zOBQrRuafcbFAyU9de6nhGwetOhkW9YSV+xRNa7HWTeIRgXJuJBrluq5e1QGTIwZU/GujpNaR4Qiu0B8TodM/FME7htsyxjmCwEfT6SDYlkeMzTbMa9Q0DECgYBqsR/2+dvD2YMwAgZFKKgNAdoIq8dcwyfamUQ5mZ5EtGQL2yw48zibHh/LiIxgUD1Kjk/qQgNsX45NP4iOc0mCkrgomtRqdy+rumbPTNmQ0BEVJCBPscd+8pIgNiTvnWpMRvj7gMP0NDTzLI3wnnCRIq8WAtR2jZ0Ejt+ZHBziLQKBgQDibEe/zqNmhDuJrpXEXmO7fTv3YB/OVwEj5p1Z/LSho2nHU3Hn3r7lbLYEhUvwctCnLl2fzC7Wic1rsGOqOcWDS5NDrZpUQGGF+yE/JEOiZcPwgH+vcjaMtp0TAfRzuQEzNzV8YGwxB4mtC7E/ViIuVULHAk4ZGZI8PbFkDxjKgQKBgG8jEuLTI1tsP3kyaF3jAylnw7SkBc4gfe9knsYlw44YlrDSKr8AOp/zSgwvMYvqT+fygaJ3yf9uIBdrIilqCHKXccZ9uA/bT5JfIi6jbg3EoE9YhB0+1aGAS1O2dBvUiD8tJ+BjAT4OB0UDpmM6QsFLQgFyXgvDnzr/o+hQJelW";
ReqKlkEntity reqKlkEntity = ReqKlkEntity.get(data);
System.out.println("signFormat++++++++++++++"+reqKlkEntity.getSign());
String sign = RSAUtils.signSHA256(key, reqKlkEntity.getSign());
System.out.println("sign++++++++++++++++++"+sign);
//设置Authorization
HttpHeaders headers = new HttpHeaders();
headers.setContentType(APPLICATION_JSON);
headers.set("Authorization", "LKLAPI-SHA256withRSA");
String finalSign = "Content-Type: application/json"+"\n"+"Authorization:LKLAPI-SHA256withRSA"+" "+"appid="+reqKlkEntity.getAppid()+","+"serial_no="+reqKlkEntity.getSerialNo()+","+
reqKlkEntity.getTimestamp()+","+"nonce_str="+reqKlkEntity.getNonceStr()+","+
"signature="+sign;
System.out.println(finalSign);
}
// public String signEncrypt(String sign){
// SM4Util
// }
}

View File

@@ -149,7 +149,8 @@ public class MerchantMenberServiceImpl extends ServiceImpl<MerchantMenberMapper,
throw new MsgException("验证码错误!");
}
// 使用验证码之后删除验证码
phoneValidateCodeMapper.deletePhoneValidateCode(existValidateCode);
//TODO 线下的删除老是进行行锁,线上不影响
//phoneValidateCodeMapper.deletePhoneValidateCode(existValidateCode);
MerchantStore ms = new MerchantStore();
ms.setMerchantCode(merchantCode);

View File

@@ -96,9 +96,13 @@ public class WechatUtils {
}
public static WxUserInfoResponse getWxUserInfo(String accessToken,String openid) {
logger.info("accessToken{}", accessToken);
logger.info("openid{}", openid);
String url = WxConstants.WX_USER_INFO_URL.replace("ACCESS_TOKEN", accessToken).replace("OPENID",openid);
logger.info("url{}", url);
try {
JSONObject response = HttpUtil.httpRequest(url,"GET", null);
logger.info("response{}", response);
if(response == null){
MsgException.throwException("获取微信用户信息异常");
}