宇同海外 国内订单取数

This commit is contained in:
yuqh 2025-08-22 17:01:20 +08:00
parent 3e95dfd2aa
commit b4397ec7e3
3 changed files with 244 additions and 0 deletions

View File

@ -0,0 +1,15 @@
package com.hzya.frame.u8c.gnsale.service;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.basedao.service.IBaseService;
import com.hzya.frame.web.entity.BaseEntity;
/**
* (BdInvmandoc)表服务接口
*
* @author makejava
* @since 2023-08-25 11:21:44
*/
public interface IGnSaleService extends IBaseService<BaseEntity, String> {
}

View File

@ -0,0 +1,183 @@
package com.hzya.frame.u8c.gnsale.service.impl;
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.gnsale.service.IGnSaleService;
import com.hzya.frame.web.entity.BaseEntity;
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("GnSaleServiceImpl")
public class GnSaleServiceImpl extends BaseService<BaseEntity, String> implements IGnSaleService {
@Autowired
private ComparisonServiceImpl comparisonServiceimpl;
private JSONObject bdGnDispatch(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", "10004");
mainObject.put("optionName", "数智中台");
JSONObject gn_dispatch = new JSONObject();
gn_dispatch.put("data_id", data.getString("detailId"));//明细唯一id
gn_dispatch.put("detail_id", data.getString("detailId"));//明细唯一id
gn_dispatch.put("shop_no", data.getString("shopNo"));//店铺编码
gn_dispatch.put("shop_name", data.getString("shopName"));//店铺名称
gn_dispatch.put("spec_no", data.getString("specNo"));//商品编码
gn_dispatch.put("reco_status", data.getString("recoStatus"));//对账状态对账成功/对账失败
gn_dispatch.put("warehouse_no", data.getString("warehouseNo"));//仓库编码
gn_dispatch.put("warehouse_name", data.getString("warehouseName"));//仓库名称
gn_dispatch.put("business_time", data.getString("businessTime"));//业务日期发货口径对账则为发货日期收货口径对账则为完成日期
gn_dispatch.put("period_start_date", data.getString("periodStartDate"));//账期开始日期
gn_dispatch.put("period_end_date", data.getString("periodEndDate"));//账期结束日期
gn_dispatch.put("summary_no", data.getString("summaryNo"));//汇总单号
gn_dispatch.put("plat_order_no", data.getString("platOrderNo"));//平台订单号
gn_dispatch.put("plat_sub_no", data.getString("platSubNo"));//平台子订单号
gn_dispatch.put("sys_order_no", data.getString("sysOrderNo"));//系统订单号
gn_dispatch.put("oms_stockout_no", data.getString("omsStockoutNo"));//销售出库单号
gn_dispatch.put("oms_refund_no", data.getString("omsRefundNo"));//退单号
gn_dispatch.put("original_order_no", data.getString("originalOrderNo"));//平台订单号[未处理]对于手工订单/退单慧经营会默认截取单号后缀如7198371239874-1截取后订单号为7198371239874此列展示7198371239874-1
gn_dispatch.put("reco_time", data.getString("recoTime"));//对账时间对账执行时间
gn_dispatch.put("salesman_name", data.getString("salesmanName"));//业务员名称
gn_dispatch.put("fenxiao_nick", data.getString("fenxiaoNick"));//分销商昵称
gn_dispatch.put("goods_no", data.getString("goodsNo"));//货品编码
gn_dispatch.put("goods_name", data.getString("goodsName"));//货品名称
gn_dispatch.put("goods_batch_no", data.getString("goodsBatchNo"));//货品批次号
gn_dispatch.put("gift_type", data.getString("giftType"));//赠品/
gn_dispatch.put("erp_order_type", data.getString("erpOrderType"));//订单类型网店销售线下零售售后换货批发业务保修换新保修完成订单补发供销补发自定义类型1-6自定义属性7-8等
gn_dispatch.put("delivery_amount", data.getString("deliveryAmount"));//发货金额
gn_dispatch.put("sqt_amount", data.getString("sqtAmount"));//售前退款金额发货前退款金额
gn_dispatch.put("szt_amount", data.getString("sztAmount"));//售中退款金额发货后确认收货前退款金额
gn_dispatch.put("sz_refund_only_amount", data.getString("szRefundOnlyAmount"));//售中仅退款金额
gn_dispatch.put("sz_refund_return_amount", data.getString("szRefundReturnAmount"));//售中退货退款金额
gn_dispatch.put("adjust_amount", data.getString("adjustAmount"));//调整单金额
gn_dispatch.put("collection_amount", data.getString("collectionAmount"));//收款金额最终账单实际收款金额
gn_dispatch.put("diff_amount", data.getString("diffAmount"));//差异金额计算公式发货金额-售中退款金额+调整单金额-收款金额
gn_dispatch.put("delivery_qty", data.getString("deliveryQty"));//发货数量
gn_dispatch.put("refund_qty", data.getString("refundQty"));//售中预计退款数量
gn_dispatch.put("return_qty", data.getString("returnQty"));//售中退货入库数量
gn_dispatch.put("expect_qty", data.getString("expectQty"));//实际数量计算公式发货数量-售中退货入库数量
gn_dispatch.put("share_post_amount", data.getString("sharePostAmount"));//邮费收入
gn_dispatch.put("author_name", data.getString("authorName"));//达人名称
gn_dispatch.put("sign_status", data.getString("signStatus"));//签收状态已签收等
mainObject.put("gn_dispatch",gn_dispatch);
jsonStr.put("jsonStr",mainObject);
Object result = comparisonServiceimpl.saveEntity(jsonStr);
logger.info("新增结果为:{}", JSON.toJSONString(result));
}
return data;
}
private JSONObject bdGnAdjust(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", "10005");
mainObject.put("optionName", "数智中台");
JSONObject gn_adjust = new JSONObject();
gn_adjust.put("data_id", data.getString("summaryNo"));//汇总单号唯一编码示例HZBH0001
gn_adjust.put("shop_no", data.getString("shopNo"));//店铺编码示例Db001
gn_adjust.put("summary_no", data.getString("summaryNo"));//汇总单号唯一编码示例HZBH0001
gn_adjust.put("shop_name", data.getString("shopName"));//店铺名称示例第一个店铺
gn_adjust.put("start_date", data.getString("startDate"));//账期开始时间示例2023-10-10
gn_adjust.put("end_date", data.getString("endDate"));//账期结束时间示例2023-10-31
gn_adjust.put("reco_status", data.getString("recoStatus"));//对账状态示例对账成功对账失败
gn_adjust.put("spec_no", data.getString("specNo"));//商家编码示例A0001
gn_adjust.put("good_name", data.getString("goodName"));//货品名称示例这是个好东西
gn_adjust.put("adjust_type", data.getString("adjustType"));//调整单类型示例负应收单正应收单
gn_adjust.put("refund_type", data.getString("refundType"));//退款类型处理逻辑同 adjust_type
mainObject.put("gn_adjust",gn_adjust);
jsonStr.put("jsonStr",mainObject);
Object result = comparisonServiceimpl.saveEntity(jsonStr);
logger.info("新增结果为:{}", JSON.toJSONString(result));
}
return data;
}
private JSONObject bdGnZdfy(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", "10005");
mainObject.put("optionName", "数智中台");
JSONObject gn_zdfy = new JSONObject();
gn_zdfy.put("plat_name", data.getString("platName"));//平台名称示例淘宝
gn_zdfy.put("shop_no", data.getString("shopNo"));//店铺编码示例Db001
gn_zdfy.put("shop_name", data.getString("shopName"));//店铺名称示例第一个店铺
gn_zdfy.put("business_date", data.getString("businessDate"));//账单结算日期示例2023-03-21
gn_zdfy.put("summary_no", data.getString("summaryNo"));//汇总单号唯一编码示例HZBH0001
gn_zdfy.put("account_no", data.getString("accountNo"));//账号示例**@.com
gn_zdfy.put("bill_type", data.getString("billType"));//交易账户名示例***@com.cn
gn_zdfy.put("expense_classify_name", data.getString("expenseClassifyName"));//费用分类名称示例收款项目
gn_zdfy.put("expense_classify_no", data.getString("expenseClassifyNo"));//费用分类编码示例90290125
gn_zdfy.put("expense_classify_remark", data.getString("expenseClassifyRemark"));//费用分类备注示例这是一个费用项
gn_zdfy.put("expense_item_no", data.getString("expenseItemNo"));//费用项编码示例10290125
gn_zdfy.put("expense_item_remark", data.getString("expenseItemRemark"));//费用项备注示例费用接口数据
gn_zdfy.put("expense_item_name", data.getString("expenseItemName"));//费用项名称示例这是一个收款项
gn_zdfy.put("subject_id", data.getString("subjectId"));//科目编码示例123
gn_zdfy.put("subject_name", data.getString("subjectName"));//科目名称示例aaa
gn_zdfy.put("business_amount", data.getString("businessAmount"));//金额示例100.0009
gn_zdfy.put("amount_channel", data.getString("amountChannel"));//资金渠道示例支付宝
gn_zdfy.put("business_type", data.getString("businessType"));//类型示例收款
mainObject.put("gn_zdfy",gn_zdfy);
jsonStr.put("jsonStr",mainObject);
Object result = comparisonServiceimpl.saveEntity(jsonStr);
logger.info("新增结果为:{}", JSON.toJSONString(result));
}
return data;
}
}

View File

@ -0,0 +1,46 @@
package com.hzya.frame.u8c.gnsale.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 HjyUtil {
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<String, String> map, String secret) {
StringBuilder sb = new StringBuilder();
sb.append(secret);
for (Map.Entry<String, String> 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;
}
}