From ad31661fdcad312c83306afc49f81a24f4d7f1be Mon Sep 17 00:00:00 2001 From: yuqh <123456> Date: Fri, 15 Aug 2025 13:20:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=87=E5=90=8C=E6=B5=B7=E5=A4=96=E9=94=80?= =?UTF-8?q?=E5=94=AE=E8=AE=A2=E5=8D=95=E5=8F=96=E6=95=B0=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../YutHwSaleOrderPluginInitializer.java | 63 +++++ .../cfgHome/plugin/yut/pluginCfg.xml | 6 + .../yut/spring/spring-buildpackage-dao.xml | 5 + .../yut/spring/spring-buildpackage-plugin.xml | 5 + .../spring/spring-buildpackage-service.xml | 5 + .../service/impl/ComparisonServiceImpl.java | 5 + .../u8c/hwsale/service/IHwSaleService.java | 22 ++ .../service/impl/HwSaleServiceImpl.java | 258 ++++++++++++++++++ .../hzya/frame/u8c/hwsale/util/HwUtil.java | 46 ++++ 9 files changed, 415 insertions(+) create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/yut/plugin/YutHwSaleOrderPluginInitializer.java create mode 100644 base-buildpackage/src/main/resources/cfgHome/plugin/yut/pluginCfg.xml create mode 100644 base-buildpackage/src/main/resources/cfgHome/plugin/yut/spring/spring-buildpackage-dao.xml create mode 100644 base-buildpackage/src/main/resources/cfgHome/plugin/yut/spring/spring-buildpackage-plugin.xml create mode 100644 base-buildpackage/src/main/resources/cfgHome/plugin/yut/spring/spring-buildpackage-service.xml create mode 100644 fw-u8c/src/main/java/com/hzya/frame/u8c/hwsale/service/IHwSaleService.java create mode 100644 fw-u8c/src/main/java/com/hzya/frame/u8c/hwsale/service/impl/HwSaleServiceImpl.java create mode 100644 fw-u8c/src/main/java/com/hzya/frame/u8c/hwsale/util/HwUtil.java diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/yut/plugin/YutHwSaleOrderPluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/yut/plugin/YutHwSaleOrderPluginInitializer.java new file mode 100644 index 00000000..8710ce99 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/yut/plugin/YutHwSaleOrderPluginInitializer.java @@ -0,0 +1,63 @@ +package com.hzya.frame.plugin.yut.plugin; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.u8c.hwsale.service.IHwSaleService; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 消息管理日志(SysMessageManageLog)表服务接口 + * + * @author makejava + * @since 2024-03-08 10:22:00 + */ +public class YutHwSaleOrderPluginInitializer extends PluginBaseEntity { + Logger logger = LoggerFactory.getLogger(YutHwSaleOrderPluginInitializer.class); + @Autowired + public IHwSaleService hwSaleService; + @Override + public void initialize() { + logger.info(getPluginLabel() + "執行初始化方法initialize()"); + } + + @Override + public void destroy() { + logger.info(getPluginLabel() + "執行銷毀方法destroy()"); + } + + @Override + public String getPluginId() { + return "YutHwSaleOrderPluginInitializer"; + } + + @Override + public String getPluginName() { + return "抓取海外销售订单数据插件"; + } + + @Override + public String getPluginLabel() { + return "抓取海外销售订单数据插件"; + } + @Override + public String getPluginType() { + return "1"; + } + + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + logger.info("开始执行"+getPluginName()+requestJson.toString()); + try { + hwSaleService.getHwSaleOrder(requestJson); + return BaseResult.getSuccessMessageEntity("执行成功"); + }catch (Exception e){ + e.printStackTrace(); + } + return BaseResult.getSuccessMessageEntity("执行成功"); + } + +} diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/yut/pluginCfg.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/yut/pluginCfg.xml new file mode 100644 index 00000000..774971d0 --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/yut/pluginCfg.xml @@ -0,0 +1,6 @@ + + +BackUpDatabasePlugin +BackUpDatabasePlugin插件 +20241021 + diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/yut/spring/spring-buildpackage-dao.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/yut/spring/spring-buildpackage-dao.xml new file mode 100644 index 00000000..c0cb5dbb --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/yut/spring/spring-buildpackage-dao.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/yut/spring/spring-buildpackage-plugin.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/yut/spring/spring-buildpackage-plugin.xml new file mode 100644 index 00000000..56fd0d59 --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/yut/spring/spring-buildpackage-plugin.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/yut/spring/spring-buildpackage-service.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/yut/spring/spring-buildpackage-service.xml new file mode 100644 index 00000000..a0d8a92e --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/yut/spring/spring-buildpackage-service.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/comparison/service/impl/ComparisonServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/comparison/service/impl/ComparisonServiceImpl.java index a4948dd0..ab1d4e9e 100644 --- a/base-service/src/main/java/com/hzya/frame/sysnew/comparison/service/impl/ComparisonServiceImpl.java +++ b/base-service/src/main/java/com/hzya/frame/sysnew/comparison/service/impl/ComparisonServiceImpl.java @@ -178,6 +178,11 @@ public class ComparisonServiceImpl extends BaseService .flatMap(e1 -> e1.getValue().keySet().stream() .map(dbname -> new AbstractMap.SimpleEntry<>(e1.getKey(), dbname))) .collect(Collectors.toList()); + // 按value升序排序 +// List> sortedByValue = keyPairs.stream() +// .sorted(Map.Entry.comparingByValue()) +// .collect(Collectors.toList()); + // keyPairs 得值为键值对,键是表名称,值是类型,避免多个子表得键一样,比如:mdm_customer:1,mdm_customer_bank:2,mdm_customer_option_log:2 for (Map.Entry keyPair : keyPairs) { //如果是1,就是主表,根据查询出来得主表是否是传输传递得主表 diff --git a/fw-u8c/src/main/java/com/hzya/frame/u8c/hwsale/service/IHwSaleService.java b/fw-u8c/src/main/java/com/hzya/frame/u8c/hwsale/service/IHwSaleService.java new file mode 100644 index 00000000..4d67ba57 --- /dev/null +++ b/fw-u8c/src/main/java/com/hzya/frame/u8c/hwsale/service/IHwSaleService.java @@ -0,0 +1,22 @@ +package com.hzya.frame.u8c.hwsale.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.basedao.service.IBaseService; +import com.hzya.frame.u8c.Invmandoc.entity.BdInvmandocEntity; +import com.hzya.frame.web.entity.BaseEntity; + +/** + * (BdInvmandoc)表服务接口 + * + * @author makejava + * @since 2023-08-25 11:21:44 + */ +public interface IHwSaleService extends IBaseService { + /** + * 获取电商海外订单数据 + * + * @param requestJson 请求参数 + * @return 实例对象 + */ + void getHwSaleOrder(JSONObject requestJson); +} diff --git a/fw-u8c/src/main/java/com/hzya/frame/u8c/hwsale/service/impl/HwSaleServiceImpl.java b/fw-u8c/src/main/java/com/hzya/frame/u8c/hwsale/service/impl/HwSaleServiceImpl.java new file mode 100644 index 00000000..1e321099 --- /dev/null +++ b/fw-u8c/src/main/java/com/hzya/frame/u8c/hwsale/service/impl/HwSaleServiceImpl.java @@ -0,0 +1,258 @@ +package com.hzya.frame.u8c.hwsale.service.impl; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.crypto.SecureUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.basedao.service.impl.BaseService; +import com.hzya.frame.sysnew.comparison.service.impl.ComparisonServiceImpl; +import com.hzya.frame.u8c.Invmandoc.dao.IBdInvmandocDao; +import com.hzya.frame.u8c.Invmandoc.entity.BdInvmandocEntity; +import com.hzya.frame.u8c.Invmandoc.service.IBdInvmandocService; +import com.hzya.frame.u8c.hwsale.service.IHwSaleService; +import com.hzya.frame.u8c.hwsale.util.HwUtil; +import com.hzya.frame.web.entity.BaseEntity; +import org.jetbrains.annotations.NotNull; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Map; +import java.util.TreeMap; + +/** + * (BdInvmandoc)表服务实现类 + * + * @author makejava + * @since 2023-08-25 11:21:44 + */ +@Service("HwSaleServiceImpl") +public class HwSaleServiceImpl extends BaseService implements IHwSaleService { + @Autowired + private ComparisonServiceImpl comparisonServiceimpl; +/** + * + * @content 获取电商海外数据 + * @className: Administrator + * @author laborer + * @date 2025-08-14 9:06 + * + */ + + @Override + public void getHwSaleOrder(JSONObject requestJson) { + JSONArray dataArr = new JSONArray(); + StringBuffer url = new StringBuffer(); + url.append(HwUtil.baseUrl + "/api/openservices/trade/v1/getSalesTradeList"); + String timestamp = String.valueOf(System.currentTimeMillis()); + Map map = new TreeMap<>(); + map.put("sid", "sales"); + map.put("appName", "sales"); + map.put("timestamp",timestamp ); + JSONObject parmetersMap = new JSONObject(); + parmetersMap.put("createTimeBegin", "2025-05-10 00:00:00"); + parmetersMap.put("createTimeEnd", "2025-08-01 15:00:00"); + int i = 0; + while (true){ + i++; + parmetersMap.put("pageNo", i); + parmetersMap.put("pageSize", "100"); + map.put("body",parmetersMap.toJSONString()); + String sign = SecureUtil.md5(HwUtil.linkParams(map,HwUtil.appkey)); + logger.info("获取跨境电商销售订单数据,请求参数"+parmetersMap.toJSONString()); + url.append("?sid=sales&appName=sales×tamp="+timestamp+"&sign="+sign); + String result = HwUtil.doPost(parmetersMap.toString(),url.toString()); + if(StrUtil.isEmpty(result)){ + throw new RuntimeException("获取跨境电商销售订单数据失败"); + } + JSONObject resultObj = JSONObject.parseObject(result); + boolean ok = resultObj.getBoolean("ok"); + if(!ok){ + throw new RuntimeException("获取跨境电商销售订单数据失败"); + } + JSONObject dataObj = resultObj.getJSONObject("data"); + JSONArray datas = dataObj.getJSONArray("data"); + //获取订单明细数据,如果有数据递归向下查,反之跳出循环 + if(datas.size() >0){ + datas.forEach(item -> { + JSONObject data = getOrders(timestamp, item); + dataArr.add(data); + }); + }else{ + break; + } + } + //如果数组不为空,将数据写入中台业务中心,先查询在写入,如果数据已经存在则直接跳过,反正写入中台业务中心 + if(dataArr.size() >0){ + dataArr.forEach(item -> { + JSONObject dataItem = bdHwSaleParm(item); + }); + } + + } + + private JSONObject bdHwSaleParm(Object item) { + JSONObject data = (JSONObject) item; + //组装表头参数 + JSONArray orders = data.getJSONArray("orders"); + JSONObject jsonObjectUser = new JSONObject(); + JSONObject jsonStr = new JSONObject(); + jsonObjectUser.put("data_id", data.get("data_id")); + jsonObjectUser.put("mdmCode", "10001"); + jsonStr.put("jsonStr", jsonObjectUser); + //先查询编码和名称查询是否存在 + Object attribute = comparisonServiceimpl.queryEntityPage(jsonStr); + JSONObject jsonObjectAttribute = (JSONObject) JSON.toJSON(attribute); + JSONArray jsonArrayList = jsonObjectAttribute.getJSONObject("pageInfo").getJSONArray("list"); + if (jsonArrayList == null || jsonArrayList.size() == 0) { + JSONObject mainObject = new JSONObject(); + mainObject.put("appName","数智中台"); + mainObject.put("appCode","800004"); + mainObject.put("mdmCode", "10001"); + mainObject.put("optionName", "数智中台"); + JSONObject hw_sale_order = new JSONObject(); + JSONArray hw_sage_orders = new JSONArray(); + hw_sale_order.put("data_id", data.getString("tradeId"));//订单id + hw_sale_order.put("trade_id", data.getString("tradeId"));//订单id + hw_sale_order.put("trade_no", data.getString("tradeNo"));//ERP订单号 + hw_sale_order.put("src_tids", data.getString("srcTids"));//平台订单号 + hw_sale_order.put("trade_time", data.getString("tradeTime"));//下单时间 + hw_sale_order.put("trade_type", data.getString("tradeType"));//订单类型(枚举值:线下,线上) + hw_sale_order.put("shop_no", data.getString("shopNo"));//店铺编码 + hw_sale_order.put("shop_text", data.getString("shopText"));//店铺名称 + hw_sale_order.put("erp_remark", data.getString("erpRemark"));//系统备注 + hw_sale_order.put("cs_remark", data.getString("csRemark"));//客服备注 + hw_sale_order.put("buyer_message", data.getString("buyerMessage"));//买家备注 + hw_sale_order.put("trade_source", data.getString("tradeSource"));//订单来源 + hw_sale_order.put("platform_mask_list", data.getString("platformMaskList"));//平台标识 + hw_sale_order.put("flag_list", data.getString("flagList"));//订单标记 ,取系统单中【自定义标记名称】 + hw_sale_order.put("seller_full_name", data.getString("sellerFullName"));//业务员 + hw_sale_order.put("warehouse_no", data.getString("warehouseNo"));//仓库编码 + hw_sale_order.put("warehouse_text", data.getString("warehouseText"));//仓库名称 + hw_sale_order.put("outer_no", data.getString("outerNo"));//外部仓单号 + hw_sale_order.put("post_amount", data.getString("postAmount"));//买家支付邮费 + hw_sale_order.put("receiver_telno", data.getString("receiverTelno"));//固话 + hw_sale_order.put("receiver_name", data.getString("receiverName"));//收件人 + hw_sale_order.put("receiver_mobile", data.getString("receiverMobile"));//手机 + hw_sale_order.put("receiver_zip", data.getString("receiverZip"));//邮编 + hw_sale_order.put("weight", data.getString("weight"));//重量 + hw_sale_order.put("buyer_nick", data.getString("buyerNick"));//昵称 + hw_sale_order.put("country", data.getString("country"));//国家 + hw_sale_order.put("receiver_province", data.getString("receiverProvince"));//省/州 + hw_sale_order.put("receiver_city", data.getString("receiverCity"));//市 + hw_sale_order.put("receiver_district", data.getString("receiverDistrict"));//区 + hw_sale_order.put("receiver_address", data.getString("receiverAddress"));//详细地址1 + hw_sale_order.put("receiver_address2", data.getString("receiverAddress2"));//详细地址2 + hw_sale_order.put("logistics_id", data.getString("logisticsId"));//物流编号 + hw_sale_order.put("logistics_text", data.getString("logisticsText"));//物流名称 + hw_sale_order.put("logistics_no", data.getString("logisticsNo"));//物流单号 + hw_sale_order.put("logistics_label_url", data.getString("logisticsLabelUrl"));//物流面单url + hw_sale_order.put("delivery_mobile", data.getString("deliveryMobile"));//发货人信息 + hw_sale_order.put("currency_code", data.getString("currencyCode"));//订单币种 + hw_sale_order.put("delivery_type", data.getString("deliveryType"));//付款方式 + hw_sale_order.put("receivable", data.getString("receivable"));//应收金额 + hw_sale_order.put("received", data.getString("received"));//实收金额 + hw_sale_order.put("pay_time", data.getString("payTime"));//付款时间 + hw_sale_order.put("over_time", data.getString("overTime"));//最晚发货时间 + hw_sale_order.put("delivery_time", data.getString("deliveryTime"));//发货时间 + hw_sale_order.put("out_bound_time", data.getString("outBoundTime"));//移入配货时间 + hw_sale_order.put("estimated_vat", data.getString("estimatedVat"));//税费 + hw_sale_order.put("discount", data.getString("discount"));//优惠 + hw_sale_order.put("discount_codes", data.getString("discountCodes"));//折扣码 + hw_sale_order.put("commission", data.getString("commission"));//佣金 + hw_sale_order.put("post_cost", data.getString("postCost"));//预估邮费成本 + hw_sale_order.put("bad_delivery", data.getString("badDelivery"));//是否异常发货(true 异常,false 无异常) + hw_sale_order.put("frozen", data.getString("frozen"));//是否冻结(true 已冻结,false 未冻结) + hw_sale_order.put("trade_status_code", data.getString("tradeStatusCode"));//订单状态编码(1、2、3、4、7、8) + hw_sale_order.put("trade_status_desc", data.getString("tradeStatusDesc"));//订单状态描述:递交中、待处理、配货中、已发货、已取消、待审核 + hw_sale_order.put("created", data.getString("created"));//创建时间 + hw_sale_order.put("modified", data.getString("modified"));//修改时间 + hw_sale_order.put("exchange_rate", data.getString("exchangeRate"));//汇率 + hw_sale_order.put("platform_id", data.getString("platformId"));//平台id信息 + hw_sale_order.put("sku_platform_discount", data.getString("skuPlatformDiscount"));//平台优惠 + hw_sale_order.put("sku_seller_discount", data.getString("skuSellerDiscount"));//买家优惠 + hw_sale_order.put("refund_status", data.getString("refundStatus"));//0:无退款、1:申请退款、2:部分退款、3:退款成功 + hw_sale_order.put("tid_number", data.getString("tidNumber"));//平台序列号(20250604迭代新增) + hw_sale_order.put("pay_account", data.getString("payAccount"));//支付账户(20250702添加) + if(orders.size()>0){ + orders.forEach(items -> { + JSONObject bodys = (JSONObject)items; + JSONObject body = new JSONObject(); + + body.put("data_id", bodys.getString("orderId"));//订单id + body.put("order_id", bodys.getString("orderId"));//子单id + body.put("trade_id", bodys.getString("tradeId"));//订单id + body.put("src_oid", bodys.getString("srcOid"));//平台子单号 + body.put("src_tid", bodys.getString("srcTid"));//平台订单号 + body.put("api_spec_no", bodys.getString("apiSpecNo"));//平台SKU编码 + body.put("api_spec_name", bodys.getString("apiSpecName"));//平台SKU编码 + body.put("sku_no", bodys.getString("skuNo"));//SKU编码 + body.put("sku_name", bodys.getString("skuName"));//SKU名称 + body.put("spu_no", bodys.getString("spuNo"));//SPU编码 + body.put("spu_name", bodys.getString("spuName"));//SPU名称 + body.put("stock_num", bodys.getString("stockNum"));//库存数 + body.put("use_able_stock_num", bodys.getString("useAbleStockNum"));//可用库存 + body.put("delivery_able_stock_num", bodys.getString("deliveryAbleStockNum"));//可发库存 + body.put("num", bodys.getString("num"));//销售数量 + body.put("price", bodys.getString("price"));//单价 + body.put("sku_amount", bodys.getString("skuAmount"));//货款 + body.put("is_gift", bodys.getString("isGift"));//是否赠品 + body.put("position_nos", bodys.getString("positionNos"));//货位编码 + body.put("remark", bodys.getString("remark"));//子单备注 + body.put("sku_price", bodys.getString("skuPrice"));//货品档案维护的标价 + body.put("order_post_amount", bodys.getString("orderPostAmount"));//分摊邮费 + body.put("latest_purchase_price", bodys.getString("latestPurchasePrice"));//最新采购入库价 + body.put("platform_order_status", bodys.getString("platformOrderStatus"));//平台子单状态(5:未知,10:未确认,25:风控中,30:待发货,40:部分发货,50:已发货,60:已签收,70:已完成,80:已退款,90:已关闭) + body.put("detail_goods_amount", bodys.getString("detailGoodsAmount"));//商品成交价 + body.put("suite_no", bodys.getString("suiteNo"));//组合SKU编码 + body.put("suite_name", bodys.getString("suiteName"));//组合SKU名称 + body.put("logistics_label_url", bodys.getString("logisticsLabelUrl"));//面单链接,如果没有链接返回null + body.put("spec_img_url", bodys.getString("specImgUrl"));//sku图片 + body.put("refund_status", bodys.getString("refundStatus"));//0:无退款1:取消退款 2:申请退款 5:退款成功 7:子单部分退款 + body.put("tid_number", bodys.getString("tidNumber"));//平台序列号(20250604迭代新增) + body.put("special_info", bodys.getString("specialInfo"));//定制信息(20250702添加) + hw_sage_orders.add( body); + }); + + } + mainObject.put("hw_sale_order",hw_sale_order); + mainObject.put("hw_sale_orders",hw_sage_orders); + jsonStr.put("jsonStr",mainObject); + Object result = comparisonServiceimpl.saveEntity(jsonStr); + logger.info("新增结果为:{}", JSON.toJSONString(result)); + } + + return data; + } + + @NotNull + private JSONObject getOrders(String timestamp, Object item) { + JSONObject data = (JSONObject) item; + //获取订单明细数据 + JSONArray tradeIds = new JSONArray(); + tradeIds.add(data.getString("tradeId")); + StringBuffer bUrl = new StringBuffer(); + bUrl.append(HwUtil.baseUrl + "/api/openservices/trade/v1/getSalesTradeOrderList"); + Map bMap = new TreeMap<>(); + bMap.put("sid", "sales"); + bMap.put("appName", "sales"); + bMap.put("timestamp", timestamp); + JSONObject bParmetersMap = new JSONObject(); + bParmetersMap.put("tradeIds",tradeIds); + bMap.put("body",bParmetersMap.toJSONString()); + String bSign = SecureUtil.md5(HwUtil.linkParams(bMap,HwUtil.appkey)); + bUrl.append("?sid=sales&appName=sales×tamp="+ timestamp +"&sign="+bSign); + String bResult = HwUtil.doPost(bParmetersMap.toString(),bUrl.toString()); + if(StrUtil.isEmpty(bResult)){ + throw new RuntimeException("获取跨境电商销售订单数据失败"); + } + JSONObject bResultObj = JSONObject.parseObject(bResult); + boolean bOk = bResultObj.getBoolean("ok"); + if(!bOk){ + logger.info("获取跨境电商销售订单明细数据失败"); + } + JSONArray bDataarr = bResultObj.getJSONArray("data"); + data.put("orders",bDataarr); + return data; + } +} diff --git a/fw-u8c/src/main/java/com/hzya/frame/u8c/hwsale/util/HwUtil.java b/fw-u8c/src/main/java/com/hzya/frame/u8c/hwsale/util/HwUtil.java new file mode 100644 index 00000000..861ce056 --- /dev/null +++ b/fw-u8c/src/main/java/com/hzya/frame/u8c/hwsale/util/HwUtil.java @@ -0,0 +1,46 @@ +package com.hzya.frame.u8c.hwsale.util; + +import cn.hutool.http.HttpRequest; + +import java.util.Map; + +/** + * com.hzya.frame.u8c.hwsale.util + * + * @author makejava + * @date 2025-08 -14 13:25 + */ + +public class HwUtil { + public static final String baseUrl = "https://openapi.qizhishangke.com"; + public static final String appkey = "2aa6ce6a155fdceebec72edec9c7abf8"; + /** + * + * @content 参数加密 + * @className: Administrator + * @author laborer + * @date 2025-08-14 13:25 + * + */ + + public static String linkParams(Map map, String secret) { + StringBuilder sb = new StringBuilder(); + sb.append(secret); + for (Map.Entry item : map.entrySet()) + { + if (item.getKey().equals("sign")) + continue; + sb.append(item.getKey()); + sb.append(item.getValue()); + } + sb.append(secret); + return sb.toString(); + } + public static String doPost(String parm,String url){ + String result = HttpRequest.post(url) + .body(parm)//表单内容 + .timeout(20000)//超时,毫秒 + .execute().body(); + return result; + } +}