修改部分,微信推送事件,lkl的部分配置
This commit is contained in:
@@ -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;
|
||||
}
|
||||
@@ -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"));
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
// }
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
@@ -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("获取微信用户信息异常");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user