mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-07-04 05:58:00 +08:00
提供给lianlian获取token
This commit is contained in:
@@ -10,13 +10,16 @@ import com.jsowell.common.util.StringUtils;
|
|||||||
import com.jsowell.pile.dto.*;
|
import com.jsowell.pile.dto.*;
|
||||||
import com.jsowell.thirdparty.lianlian.common.CommonResult;
|
import com.jsowell.thirdparty.lianlian.common.CommonResult;
|
||||||
import com.jsowell.thirdparty.lianlian.domain.StationStatsInfo;
|
import com.jsowell.thirdparty.lianlian.domain.StationStatsInfo;
|
||||||
|
import com.jsowell.thirdparty.lianlian.dto.QueryTokenDTO;
|
||||||
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||||
import com.jsowell.thirdparty.lianlian.vo.*;
|
import com.jsowell.thirdparty.lianlian.vo.*;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对接联联平台controller
|
* 对接联联平台controller
|
||||||
@@ -317,7 +320,13 @@ public class LianLianController extends BaseController {
|
|||||||
* http://localhost:8080/LianLian/v1/query_token
|
* http://localhost:8080/LianLian/v1/query_token
|
||||||
*/
|
*/
|
||||||
@PostMapping("/v1/query_token")
|
@PostMapping("/v1/query_token")
|
||||||
public CommonResult<?> queryToken() {
|
public CommonResult<?> queryToken(QueryTokenDTO dto) {
|
||||||
return null;
|
try {
|
||||||
|
Map<String, String> map = lianLianService.generateToken(dto);
|
||||||
|
return CommonResult.success(0, "", map.get("data"), map.get("sig"));
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
logger.error("获取token接口 异常");
|
||||||
|
return CommonResult.failed("获取token发生异常");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
@@ -18,24 +19,11 @@ import com.jsowell.netty.command.ykc.ProofreadTimeCommand;
|
|||||||
import com.jsowell.netty.handler.HeartbeatRequestHandler;
|
import com.jsowell.netty.handler.HeartbeatRequestHandler;
|
||||||
import com.jsowell.netty.service.yunkuaichong.YKCBusinessService;
|
import com.jsowell.netty.service.yunkuaichong.YKCBusinessService;
|
||||||
import com.jsowell.netty.service.yunkuaichong.YKCPushCommandService;
|
import com.jsowell.netty.service.yunkuaichong.YKCPushCommandService;
|
||||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
import com.jsowell.pile.domain.*;
|
||||||
import com.jsowell.pile.domain.PileAuthCard;
|
|
||||||
import com.jsowell.pile.domain.PileBillingDetail;
|
|
||||||
import com.jsowell.pile.domain.PileBillingTemplate;
|
|
||||||
import com.jsowell.pile.domain.PileStationInfo;
|
|
||||||
import com.jsowell.pile.domain.WxpayCallbackRecord;
|
|
||||||
import com.jsowell.pile.dto.*;
|
import com.jsowell.pile.dto.*;
|
||||||
import com.jsowell.pile.mapper.MemberBasicInfoMapper;
|
import com.jsowell.pile.mapper.MemberBasicInfoMapper;
|
||||||
import com.jsowell.pile.mapper.PileBillingTemplateMapper;
|
import com.jsowell.pile.mapper.PileBillingTemplateMapper;
|
||||||
import com.jsowell.pile.service.IOrderBasicInfoService;
|
import com.jsowell.pile.service.*;
|
||||||
import com.jsowell.pile.service.IPileAuthCardService;
|
|
||||||
import com.jsowell.pile.service.IPileBasicInfoService;
|
|
||||||
import com.jsowell.pile.service.IPileBillingTemplateService;
|
|
||||||
import com.jsowell.pile.service.IPileMsgRecordService;
|
|
||||||
import com.jsowell.pile.service.IPileStationInfoService;
|
|
||||||
import com.jsowell.pile.service.SimCardService;
|
|
||||||
import com.jsowell.pile.service.WechatPayService;
|
|
||||||
import com.jsowell.pile.service.WxpayCallbackRecordService;
|
|
||||||
import com.jsowell.pile.vo.web.BillingTemplateVO;
|
import com.jsowell.pile.vo.web.BillingTemplateVO;
|
||||||
import com.jsowell.pile.vo.web.OrderListVO;
|
import com.jsowell.pile.vo.web.OrderListVO;
|
||||||
import com.jsowell.pile.vo.web.PileDetailVO;
|
import com.jsowell.pile.vo.web.PileDetailVO;
|
||||||
@@ -43,7 +31,11 @@ import com.jsowell.service.MemberService;
|
|||||||
import com.jsowell.service.OrderService;
|
import com.jsowell.service.OrderService;
|
||||||
import com.jsowell.service.PileRemoteService;
|
import com.jsowell.service.PileRemoteService;
|
||||||
import com.jsowell.service.PileService;
|
import com.jsowell.service.PileService;
|
||||||
|
import com.jsowell.thirdparty.lianlian.dto.QueryTokenDTO;
|
||||||
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||||
|
import com.jsowell.thirdparty.lianlian.util.Cryptos;
|
||||||
|
import com.jsowell.thirdparty.lianlian.util.Encodes;
|
||||||
|
import com.jsowell.thirdparty.lianlian.util.GBSignUtils;
|
||||||
import com.jsowell.wxpay.common.WeChatPayParameter;
|
import com.jsowell.wxpay.common.WeChatPayParameter;
|
||||||
import com.jsowell.wxpay.dto.AppletTemplateMessageSendDTO;
|
import com.jsowell.wxpay.dto.AppletTemplateMessageSendDTO;
|
||||||
import com.jsowell.wxpay.dto.WeChatRefundDTO;
|
import com.jsowell.wxpay.dto.WeChatRefundDTO;
|
||||||
@@ -59,6 +51,7 @@ import org.springframework.test.context.ActiveProfiles;
|
|||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
import org.springframework.util.StopWatch;
|
import org.springframework.util.StopWatch;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
@@ -144,6 +137,38 @@ public class SpringBootTestController {
|
|||||||
|
|
||||||
static final String ALGORITHM_MAC = "HmacMD5";
|
static final String ALGORITHM_MAC = "HmacMD5";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGenerateLianlianToken() throws UnsupportedEncodingException {
|
||||||
|
String OperatorID = "425010765";
|
||||||
|
String OperatorSecret = "123123123123aaaa"; // 1234567890abcdef
|
||||||
|
|
||||||
|
//请求dataX
|
||||||
|
Map<String, String> data = new HashMap<>();
|
||||||
|
data.put("OperatorID", OperatorID);
|
||||||
|
data.put("OperatorSecret", OperatorSecret);
|
||||||
|
String dataJson = JSONUtil.toJsonStr(data);
|
||||||
|
|
||||||
|
//加密
|
||||||
|
byte[] encryptText = Cryptos.aesEncrypt(dataJson.getBytes("UTF-8"),
|
||||||
|
OperatorSecret.getBytes(), OperatorSecret.getBytes());
|
||||||
|
String strData = Encodes.encodeBase64(encryptText);
|
||||||
|
|
||||||
|
Map<String, String> request = new LinkedHashMap<>();
|
||||||
|
request.put("OperatorID", OperatorID);
|
||||||
|
request.put("Data", strData);
|
||||||
|
request.put("TimeStamp", System.currentTimeMillis() + "");
|
||||||
|
request.put("Seq", "0001");
|
||||||
|
|
||||||
|
//生成签名
|
||||||
|
String sig = GBSignUtils.sign(request, OperatorSecret);
|
||||||
|
request.put("Sig", sig);
|
||||||
|
String tokenRequest = JSONUtil.toJsonStr(request);
|
||||||
|
|
||||||
|
QueryTokenDTO dto = JSONObject.parseObject(tokenRequest, QueryTokenDTO.class);
|
||||||
|
|
||||||
|
lianLianService.generateToken(dto);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testupdateElecAmount() {
|
public void testupdateElecAmount() {
|
||||||
orderBasicInfoService.updateElecAmount();
|
orderBasicInfoService.updateElecAmount();
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public class JWTUtils {
|
|||||||
* @param ttlMillis 过期时间 毫秒
|
* @param ttlMillis 过期时间 毫秒
|
||||||
* @return Token String 凭证
|
* @return Token String 凭证
|
||||||
*/
|
*/
|
||||||
private static String createToken(String id, String subject, long ttlMillis) {
|
public static String createToken(String id, String subject, long ttlMillis) {
|
||||||
// 签名方法 HS256
|
// 签名方法 HS256
|
||||||
SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;
|
SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;
|
||||||
|
|
||||||
|
|||||||
24
jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/dto/QueryTokenDTO.java
vendored
Normal file
24
jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/dto/QueryTokenDTO.java
vendored
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
package com.jsowell.thirdparty.lianlian.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
public class QueryTokenDTO {
|
||||||
|
@JsonProperty(value = "OperatorID")
|
||||||
|
private String operatorID;
|
||||||
|
|
||||||
|
@JsonProperty(value = "Data")
|
||||||
|
private String data;
|
||||||
|
|
||||||
|
@JsonProperty(value = "TimeStamp")
|
||||||
|
private String timeStamp;
|
||||||
|
|
||||||
|
@JsonProperty(value = "Seq")
|
||||||
|
private String seq;
|
||||||
|
|
||||||
|
@JsonProperty(value = "Sig")
|
||||||
|
private String sig;
|
||||||
|
}
|
||||||
@@ -2,9 +2,12 @@ package com.jsowell.thirdparty.lianlian.service;
|
|||||||
|
|
||||||
import com.jsowell.pile.dto.*;
|
import com.jsowell.pile.dto.*;
|
||||||
import com.jsowell.thirdparty.lianlian.domain.StationStatsInfo;
|
import com.jsowell.thirdparty.lianlian.domain.StationStatsInfo;
|
||||||
|
import com.jsowell.thirdparty.lianlian.dto.QueryTokenDTO;
|
||||||
import com.jsowell.thirdparty.lianlian.vo.*;
|
import com.jsowell.thirdparty.lianlian.vo.*;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public interface LianLianService {
|
public interface LianLianService {
|
||||||
|
|
||||||
@@ -150,4 +153,6 @@ public interface LianLianService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
String pushPileChargeStatusChange(String orderCode);
|
String pushPileChargeStatusChange(String orderCode);
|
||||||
|
|
||||||
|
Map<String, String> generateToken(QueryTokenDTO dto) throws UnsupportedEncodingException;
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
44
jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/vo/AccessTokenVO.java
vendored
Normal file
44
jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/vo/AccessTokenVO.java
vendored
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
package com.jsowell.thirdparty.lianlian.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
public class AccessTokenVO {
|
||||||
|
/**
|
||||||
|
* 字符串 对接平台组织机构代码
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "OperatorID")
|
||||||
|
private String operatorID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 整型
|
||||||
|
* 0:成功;
|
||||||
|
* 1:失败
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "SuccStat")
|
||||||
|
private String succStat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字符串 全局唯一凭证
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "AccessToken")
|
||||||
|
private String accessToken;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 整型 凭证有效期,单位秒
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "TokenAvailableTime")
|
||||||
|
private String tokenAvailableTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 整型
|
||||||
|
* 0:无;
|
||||||
|
* 1:无此对接平台;
|
||||||
|
* 2:密钥错误; 3~99:自定义
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "FailReason")
|
||||||
|
private String failReason;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user