From a217652d33c75df23202828000d82d0ca8555ac2 Mon Sep 17 00:00:00 2001 From: Administrator <1101184511@qq.com> Date: 星期一, 21 四月 2025 02:13:59 +0800 Subject: [PATCH] 初步完成积分后台管理相关页面 --- src/main/java/com/taoke/autopay/utils/order/OrderChannelApiUtil.java | 58 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 45 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/taoke/autopay/utils/order/OrderChannelApiUtil.java b/src/main/java/com/taoke/autopay/utils/order/OrderChannelApiUtil.java index 9266f72..8029da8 100644 --- a/src/main/java/com/taoke/autopay/utils/order/OrderChannelApiUtil.java +++ b/src/main/java/com/taoke/autopay/utils/order/OrderChannelApiUtil.java @@ -2,13 +2,20 @@ import com.taoke.autopay.entity.OrderChannelEnum; import com.taoke.autopay.utils.HttpUtil; -import com.taoke.autopay.utils.StringUtil; +import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; /** * @author hxh @@ -28,23 +35,48 @@ * @param: channel * @param: orderChannelName **/ - public static boolean isMerchantCanPay(OrderChannelEnum channel, String merchant) throws UnsupportedEncodingException { - if (channel == OrderChannelEnum.cyx) { - String url = String.format("https://api.youihuo.com/open/free.checkKsCompanyName?bsName=%s&apiKey=%s", URLEncoder.encode(merchant, "UTF-8"), OrderChannelUtil.CYX_API_KEY); - String result = HttpUtil.get(url); - logger.info(String.format("瓒呬剑浜晢瀹朵粯娆惧垽鏂細%s-%s", merchant, result)); - JSONObject root = JSONObject.fromObject(result); - System.out.println(result); - if(root.optInt("code") == 1000){ - return true; - } - } + public static boolean isMerchantCanPay(OrderChannelEnum channel, String merchant, BigDecimal payMoney) throws UnsupportedEncodingException { + try { + if (channel == OrderChannelEnum.cyx) { + String url = String.format("https://api.youihuo.com/open/free.checkKsCompanyName?bsName=%s&apiKey=%s", URLEncoder.encode(merchant, "UTF-8"), OrderChannelUtil.CYX_API_KEY); + String result = HttpUtil.get(url); + logger.info(String.format("瓒呬剑浜晢瀹朵粯娆惧垽鏂細%s-%s-%s", merchant, result, payMoney != null ? payMoney.setScale(2, RoundingMode.HALF_UP).toString() : null)); + JSONObject root = JSONObject.fromObject(result); + System.out.println(result); + if (root.optInt("code") == 1000) { + return true; + } + } else if (channel == OrderChannelEnum.bps) { + String payMoneyStr = payMoney != null ? payMoney.setScale(2, RoundingMode.HALF_UP).toString() :""; + String url = String.format("https://api.bpshe.com/mall/douyinOMS/getSubsidyOrderInfo?appKey=cdaef330f1324961a73e15a85ab67fd2&payAccount=%s&amount=%s", URLEncoder.encode(merchant, StandardCharsets.UTF_8.displayName()), URLEncoder.encode(payMoneyStr, StandardCharsets.UTF_8.displayName())); + Map<String, String> headers = new HashMap<>(); + headers.put("Accept", "application/json;charset=utf-8"); + String result = HttpUtil.get(url, headers); + logger.info(String.format("鐖嗗搧绀惧晢瀹朵粯娆惧垽鏂細%s-%s-%s", merchant, result, payMoneyStr)); + JSONObject root = JSONObject.fromObject(result); + if (root.optInt("errCode") == 0) { + JSONArray array = root.optJSONObject("data").optJSONArray("payAmounts"); + if (array != null) { + if (payMoney == null) { + return true; + } + Set<String> moneys = new HashSet<>(); + for (int i = 0; i < array.size(); i++) { + moneys.add(array.optString(i)); + } + return moneys.contains(payMoney.setScale(2, RoundingMode.HALF_UP).toString()); + } + } + } + }catch(Exception e){ + logger.error("鍟嗗楠岃瘉閿欒锛�", e); + } return false; } public static void main(String[] args) throws UnsupportedEncodingException { - System.out.print( isMerchantCanPay(OrderChannelEnum.cyx,"骞垮窞甯傚ぉ娌冲尯闀垮叴琛楀畨灏旈泤鏈嶉グ鍟嗚1")); + } -- Gitblit v1.8.0