diff --git a/fw-u8c/src/main/java/com/hzya/frame/u8c/gnsale/service/IGnSaleService.java b/fw-u8c/src/main/java/com/hzya/frame/u8c/gnsale/service/IGnSaleService.java new file mode 100644 index 00000000..93dfeece --- /dev/null +++ b/fw-u8c/src/main/java/com/hzya/frame/u8c/gnsale/service/IGnSaleService.java @@ -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 { + +} diff --git a/fw-u8c/src/main/java/com/hzya/frame/u8c/gnsale/service/impl/GnSaleServiceImpl.java b/fw-u8c/src/main/java/com/hzya/frame/u8c/gnsale/service/impl/GnSaleServiceImpl.java new file mode 100644 index 00000000..c58a2759 --- /dev/null +++ b/fw-u8c/src/main/java/com/hzya/frame/u8c/gnsale/service/impl/GnSaleServiceImpl.java @@ -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 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; + } +} diff --git a/fw-u8c/src/main/java/com/hzya/frame/u8c/gnsale/util/HjyUtil.java b/fw-u8c/src/main/java/com/hzya/frame/u8c/gnsale/util/HjyUtil.java new file mode 100644 index 00000000..a3379f38 --- /dev/null +++ b/fw-u8c/src/main/java/com/hzya/frame/u8c/gnsale/util/HjyUtil.java @@ -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 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; + } +}