update 联联接口返回值加密

This commit is contained in:
Lemon
2023-05-27 16:31:09 +08:00
parent f001414146
commit b0973e131a
3 changed files with 23 additions and 5 deletions

View File

@@ -16,6 +16,7 @@ import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
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.Cryptos;
import com.jsowell.thirdparty.lianlian.util.Encodes; import com.jsowell.thirdparty.lianlian.util.Encodes;
import com.jsowell.thirdparty.lianlian.util.SignUtils;
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;
@@ -360,8 +361,9 @@ public class LianLianController extends BaseController {
String dataStr = new String(plainText, "UTF-8"); String dataStr = new String(plainText, "UTF-8");
// 转换成相应对象 // 转换成相应对象
QueryStationInfoDTO queryStationInfoDTO = JSONObject.parseObject(dataStr, QueryStationInfoDTO.class); QueryStationInfoDTO queryStationInfoDTO = JSONObject.parseObject(dataStr, QueryStationInfoDTO.class);
LianLianPageResponse response = lianLianService.query_stations_info(queryStationInfoDTO); Map<String, String> map = lianLianService.query_stations_info(dto.getOperatorID(), queryStationInfoDTO);
return CommonResult.success(response);
return CommonResult.success(0, "查询充电站信息成功!", map.get("Data"), map.get("Sig"));
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }

View File

@@ -28,7 +28,7 @@ public interface LianLianService {
* @param dto * @param dto
* @return * @return
*/ */
LianLianPageResponse query_stations_info(QueryStationInfoDTO dto); Map<String, String> query_stations_info(String operatorId, QueryStationInfoDTO dto);
/** /**
* 设备接口状态查询 * 设备接口状态查询

View File

@@ -211,7 +211,7 @@ public class LianLianServiceImpl implements LianLianService {
* @return * @return
*/ */
@Override @Override
public LianLianPageResponse query_stations_info(QueryStationInfoDTO dto) { public Map<String, String> query_stations_info(String operatorId, QueryStationInfoDTO dto) {
List<StationInfo> resultList = new ArrayList<>(); List<StationInfo> resultList = new ArrayList<>();
int pageNo = dto.getPageNo() == null ? 1 : dto.getPageNo(); int pageNo = dto.getPageNo() == null ? 1 : dto.getPageNo();
int pageSize = dto.getPageSize() == null ? 10 : dto.getPageSize(); int pageSize = dto.getPageSize() == null ? 10 : dto.getPageSize();
@@ -222,6 +222,10 @@ public class LianLianServiceImpl implements LianLianService {
// 未查到数据 // 未查到数据
return null; return null;
} }
DockingPlatformConfig configInfo = dockingPlatformConfigService.getInfoByOperatorId(operatorId);
if (configInfo == null) {
return null;
}
PageInfo<PileStationInfo> pageInfo = new PageInfo<>(stationInfos); PageInfo<PileStationInfo> pageInfo = new PageInfo<>(stationInfos);
for (PileStationInfo pileStationInfo : pageInfo.getList()) { for (PileStationInfo pileStationInfo : pageInfo.getList()) {
StationInfo stationInfo = new StationInfo(); StationInfo stationInfo = new StationInfo();
@@ -272,7 +276,19 @@ public class LianLianServiceImpl implements LianLianService {
.ItemSize(resultList.size()) .ItemSize(resultList.size())
.list(resultList) .list(resultList)
.build(); .build();
return pageResponse; // 加密
Map<String, String> resultMap = Maps.newLinkedHashMap();
// 加密数据
byte[] encryptText = Cryptos.aesEncrypt(JSONObject.toJSONString(pageResponse).getBytes(),
configInfo.getOperatorSecret().getBytes(), configInfo.getDataSecretIv().getBytes());
String encryptData = Encodes.encodeBase64(encryptText);
resultMap.put("Data", encryptData);
// 生成sig
String resultSign = GBSignUtils.sign(resultMap, configInfo.getOperatorSecret());
resultMap.put("Sig", resultSign);
return resultMap;
} }
/** /**