|
@@ -3,15 +3,19 @@ package com.zswl.cloud.springBtach.server.core.api.xiaoju;
|
|
|
import com.xiaoju.open.oil.commons.config.OilConfig;
|
|
|
import com.xiaoju.open.oil.core.QueryClient;
|
|
|
import com.xiaoju.open.oil.core.QueryClientFactory;
|
|
|
+import com.xiaoju.open.oil.interfaces.domain.AllowanceInfo;
|
|
|
+import com.xiaoju.open.oil.interfaces.request.QueryApiStorePriceRequest;
|
|
|
+import com.xiaoju.open.oil.interfaces.request.QueryCalPriceRequest;
|
|
|
+import com.xiaoju.open.oil.interfaces.request.QueryStoreDetailRequest;
|
|
|
import com.xiaoju.open.oil.interfaces.request.QueryTokenRequest;
|
|
|
+import com.xiaoju.open.oil.interfaces.response.QueryApiStorePriceResponse;
|
|
|
+import com.xiaoju.open.oil.interfaces.response.QueryCalPriceResponse;
|
|
|
+import com.xiaoju.open.oil.interfaces.response.QueryStoreDetailResponse;
|
|
|
import com.xiaoju.open.oil.interfaces.response.QueryTokenResponse;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
-import javax.crypto.Cipher;
|
|
|
-import javax.crypto.spec.IvParameterSpec;
|
|
|
-import javax.crypto.spec.SecretKeySpec;
|
|
|
-import java.util.Base64;
|
|
|
+import java.util.List;
|
|
|
|
|
|
|
|
|
@Component
|
|
@@ -20,7 +24,7 @@ public class XiaoJuApi {
|
|
|
@Autowired
|
|
|
OilConfig oilConfig;
|
|
|
|
|
|
- public String queryToken(){
|
|
|
+ public String queryToken() {
|
|
|
|
|
|
QueryTokenRequest queryTokenRequest = new QueryTokenRequest();
|
|
|
queryTokenRequest.setAppSecret(oilConfig.getAppSecret());
|
|
@@ -29,28 +33,58 @@ public class XiaoJuApi {
|
|
|
return queryTokenResponse.getAccessToken();
|
|
|
}
|
|
|
|
|
|
- public static String encrypt(String data, String dataSecret, String dataSecretIv) {
|
|
|
- try {
|
|
|
- if (dataSecret == null) {
|
|
|
- System.out.print("Key为空null");
|
|
|
- return null;
|
|
|
- } else if (dataSecret.length() != 16) {
|
|
|
- System.out.print("Key长度不是16位");
|
|
|
- return null;
|
|
|
- } else {
|
|
|
- byte[] raw = dataSecret.getBytes("UTF-8");
|
|
|
- SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
|
|
|
- Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
|
|
|
- IvParameterSpec iv = new IvParameterSpec(dataSecretIv.getBytes());
|
|
|
- cipher.init(1, skeySpec, iv);
|
|
|
- byte[] encrypted = cipher.doFinal(data.getBytes());
|
|
|
- String str = Base64.getEncoder().encodeToString(encrypted);
|
|
|
- str = str.replaceAll("\r", "");
|
|
|
- str = str.replaceAll("\n", "");
|
|
|
- return str;
|
|
|
- }
|
|
|
- } catch (Exception var9) {
|
|
|
- return null;
|
|
|
- }
|
|
|
+
|
|
|
+ public QueryStoreDetailResponse queryStoreDetail(String userId, String storeId,Float latitude,Float longitude) {
|
|
|
+
|
|
|
+ QueryStoreDetailRequest queryStoreDetailRequest = new QueryStoreDetailRequest();
|
|
|
+
|
|
|
+ queryStoreDetailRequest.setLat(latitude);
|
|
|
+ queryStoreDetailRequest.setLon(longitude);
|
|
|
+ queryStoreDetailRequest.setOutUserId(userId);
|
|
|
+ queryStoreDetailRequest.setStoreId(storeId);
|
|
|
+ queryStoreDetailRequest.setOpenChannel(1);
|
|
|
+
|
|
|
+ QueryClient queryClient = QueryClientFactory.create(oilConfig);
|
|
|
+
|
|
|
+ return queryClient.api().queryStoreDetail(queryStoreDetailRequest);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询门店价格
|
|
|
+ public List<QueryApiStorePriceResponse> queryStorePrice(String userId, List<String> storeIdList) {
|
|
|
+
|
|
|
+ QueryApiStorePriceRequest queryApiStorePriceRequest = new QueryApiStorePriceRequest();
|
|
|
+ queryApiStorePriceRequest.setOpenChannel(1);
|
|
|
+ queryApiStorePriceRequest.setOutUserId(userId);
|
|
|
+ queryApiStorePriceRequest.setStoreIds(storeIdList);
|
|
|
+ QueryClient queryClient = QueryClientFactory.create(oilConfig);
|
|
|
+
|
|
|
+ return queryClient.api().queryStorePrice(queryApiStorePriceRequest);
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
+ // 价格计算
|
|
|
+ public QueryCalPriceResponse queryCalPrice(String userId, String storeId,String itemName,Integer amount, AllowanceInfo allowanceInfo) {
|
|
|
+ QueryCalPriceRequest queryCalPriceRequest = new QueryCalPriceRequest();
|
|
|
+ queryCalPriceRequest.setStoreId(storeId);
|
|
|
+ queryCalPriceRequest.setOpenChannel(1);
|
|
|
+ queryCalPriceRequest.setOutUserId(userId);
|
|
|
+ queryCalPriceRequest.setItemName(itemName);
|
|
|
+ queryCalPriceRequest.setAmount(amount);
|
|
|
+
|
|
|
+ // 优惠券
|
|
|
+// List<AllowanceInfo> allowanceInfos = new ArrayList<>();
|
|
|
+// AllowanceInfo allowanceInfo = new AllowanceInfo();
|
|
|
+// allowanceInfo.setAllowanceId("E1-4ji-1kiJSL");
|
|
|
+// allowanceInfo.setAllowanceType(2);
|
|
|
+// allowanceInfos.add(allowanceInfo);
|
|
|
+ queryCalPriceRequest.setPromotionInfo(List.of(allowanceInfo));
|
|
|
+
|
|
|
+ QueryClient queryClient = QueryClientFactory.create(oilConfig);
|
|
|
+
|
|
|
+ return queryClient.api().queryCalPrice(queryCalPriceRequest);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|