任务描述


需求描述

需求背景

前期已完成清库调价及指定listing调价转Java


需求内容

涉及内容:

筛选条件:见图1

策略规则:见图1

执行范围:见图1

服务执行频率:服务每天执行,同一个渠道SKU同一个店铺,3天内只执行一次。


公共逻辑:过滤逻辑、公共保存逻辑、修复原价逻辑:见图2

其他:

1、根据节日执行时间, 下一次装载时按时间升序执行

2、节日促销需要过滤存在海外仓的SKU,并且针对每次海外仓SKU表更新时,针对新增到海外仓的SKU,需要同时从节日里排除



验收标准
暂无
历史记录  
  1. 2024-12-11 09:49:31, 由 罗友军 创建。
  2. 2024-12-16 16:53:09, 由 刘学森 添加备注。
    1.这里应该是3天

    2.这里是10天前到2天前

    3.sql错误


    FBM-SQL:
    SELECT
      *
    FROM
      (
        SELECT
          [a].[OrderSourceID] AS [OrderSourceID],
          [a].[SellerSKU] AS [OrderSourceSKU],
          [b].[OrderSourceCountry] AS [SiteCode],
          [a].[ASINorItemID] AS [ASIN],
          MAX([a].[PayTime]) AS [PayTime],
          SUM([a].[Incomes]) AS [Incomes],
          SUM([a].[Profits]) AS [Profits],
          (
            CASE
              WHEN (SUM([a].[Incomes]) = 0) THEN 0
              ELSE (SUM([a].[Profits]) / SUM([a].[Incomes]))
            END
          ) AS [ProfitMargin]
        FROM
          [RB_Report_OrderSettlement] [a] WITH(NOLOCK)
          INNER JOIN [RB_OrderSource] [b] WITH(NOLOCK) ON (
            ([a].[CustomerID] = [b].[CustomerID])
            AND ([a].[OrderSourceID] = [b].[Id])
          )
          INNER JOIN [RB_WareHouse] [c] WITH(NOLOCK) ON (
            (
              ([a].[CustomerID] = [c].[CustomerID])
              AND ([a].[WareHouseID] = [c].[ID])
            )
            AND ([c].[WareHouseType] = 1)
          )
          INNER JOIN [RB_OrderInfo] [d] WITH(NOLOCK) ON (
            (
              (
                (
                  ([a].[CustomerID] = [d].[CustomerID])
                  AND ([a].[OrderCode] = [d].[OrderCode])
                )
                AND NOT ([d].[OrderDescription] LIKE '%' + N'偏远' + '%')
              )
              AND ([d].[OrderStatus] = 0)
            )
            AND NOT ([a].[OrderStatus] IN (1, 2))
          )
          INNER JOIN [RB_Transport] [e] WITH(NOLOCK) ON (
            ([a].[CustomerID] = [e].[CustomerID])
            AND ([a].[TransportID] = [e].[ID])
          )
        WHERE
          (
            (
              (
                (
                  (
                    (
                      (
                        (
                          (
                            ([a].[CustomerID] = 1)
                            AND ([b].[OrderSourceType] = 1)
                          )
                          AND (ISNULL([a].[AddOrderReasonType], 0) = 0)
                        )
                        AND NOT(
                          [a].[SellerSKU] IS NULL
                          OR [a].[SellerSKU] = ''
                        )
                      )
                      AND NOT(
                        [a].[OrderCode] IS NULL
                        OR [a].[OrderCode] = ''
                      )
                    )
                    AND (
                      NOT ([a].[TransportName] LIKE '%' + N'DHL' + '%')
                      AND NOT ([e].[TransportName] LIKE '%' + N'DHL' + '%')
                    )
                  )
                  AND ([d].[IsFBAOrder] = 0)
                )
                AND ([a].[ShipTime] >= '2024-12-06 16:27:02.764')
              )
              AND ([a].[ShipTime] <= '2024-12-14 16:27:02.764')
            )
            AND ([a].[Incomes] > 0)
          )
        GROUP BY
          [a].[OrderSourceID],
          [a].[SellerSKU],
          [b].[OrderSourceCountry],
          [a].[ASINorItemID],
          [a].[SKU]
        HAVING
          (
            (SUM([a].[SalesRefunds]) = 0)
            AND (SUM([a].[Incomes]) > 0)
          )
      ) MergeTable

    FBA-SQL:

    SELECT
      *
    FROM
      (
        SELECT
          [a].[OrderSourceID] AS [OrderSourceID],
          [a].[SellerSKU] AS [OrderSourceSKU],
          [b].[OrderSourceCountry] AS [SiteCode],
          [a].[ASINorItemID] AS [ASIN],
          MAX([a].[PayTime]) AS [PayTime],
          SUM([a].[Incomes]) AS [Incomes],
          SUM([a].[Profits]) AS [Profits],
          (
            CASE
              WHEN (SUM([a].[Incomes]) = 0) THEN 0
              ELSE (SUM([a].[Profits]) / SUM([a].[Incomes]))
            END
          ) AS [ProfitMargin]
        FROM
          [RB_Report_OrderSettlement] [a] WITH(NOLOCK)
          INNER JOIN [RB_OrderSource] [b] WITH(NOLOCK) ON (
            ([a].[CustomerID] = [b].[CustomerID])
            AND ([a].[OrderSourceID] = [b].[Id])
          )
          INNER JOIN [RB_OrderInfo] [c] WITH(NOLOCK) ON (
            (
              (
                ([a].[CustomerID] = [c].[CustomerID])
                AND ([a].[OrderCode] = [c].[OrderCode])
              )
              AND NOT ([c].[OrderStatus] IN (1, 2))
            )
            AND ([c].[OrderState] = 2)
          )
        WHERE
          (
            (
              (
                (
                  (
                    (
                      (
                        ([a].[CustomerID] = 1)
                        AND ([b].[OrderSourceType] = 1)
                      )
                      AND NOT(
                        [a].[SellerSKU] IS NULL
                        OR [a].[SellerSKU] = ''
                      )
                    )
                    AND NOT(
                      [a].[OrderCode] IS NULL
                      OR [a].[OrderCode] = ''
                    )
                  )
                  AND ([c].[IsFBAOrder] = 1)
                )
                AND ([a].[ShipTime] >= '2024-12-06 16:52:48.325')
              )
              AND ([a].[ShipTime] <= '2024-12-14 16:52:48.326')
            )
            AND ([a].[Incomes] > 0)
          )
        GROUP BY
          [a].[OrderSourceID],
          [a].[SellerSKU],
          [b].[OrderSourceCountry],
          [a].[ASINorItemID],
          [a].[SKU]
        HAVING
          (
            (SUM([a].[SalesRefunds]) = 0)
            AND (SUM([a].[Incomes]) > 0)
          )
      ) MergeTable
  3. 2024-12-16 19:31:43, 由 刘学森 添加备注。
    4.这里结束后要保存更新时间


    5.这里排序是降序


    6.未实现过滤奥特莱斯

    7.这一段放到where里面

    8.方法命名改下,这个方法是设置状态

    9.进度保存不要写在仓储层里,不然这一批数据查出来没处理会造成漏数据


    10.负利润可以去掉

    11.缺少指定节日过滤实现

    12.币种汇率放到循环开始前先查出来,或者增加缓存

  4. 2024-12-16 19:31:51, 由 刘学森 完成。
    修改了 总计消耗,旧值为 "0",新值为 "8"。
    修改了 指派给 ,旧值为 "liuxuesen",新值为 "luoyoujun"。
    修改了 实际完成,旧值为 "",新值为 "2024-12-16 19:31:47"。
    修改了 任务状态,旧值为 "wait",新值为 "done"。
    修改了 实际开始,旧值为 "0000-00-00 00:00:00",新值为 "2024-12-16 19:31:51"。
    修改了 预计剩余,旧值为 "8",新值为 "0"。
    修改了 由谁完成,旧值为 "",新值为 "liuxuesen"。
  5. 2024-12-21 16:43:34, 由 梁秀丽 编辑。
    修改了 最初预计,旧值为 "8",新值为 "10"。
  6. 2025-05-17 14:12:52, 由 李亚婷 关闭。
    修改了 任务状态,旧值为 "done",新值为 "closed"。
    修改了 指派给 ,旧值为 "luoyoujun",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "liyating"。
    修改了 关闭时间,旧值为 "0000-00-00 00:00:00",新值为 "2025-05-17 14:12:52"。
    修改了 关闭原因,旧值为 "",新值为 "done"。
所属迭代 智能中心-智能运营迭代
所属模块 智能中心-需求池  战略独立项目   智能刊登
相关需求 智能运营:FBAFBM低负利润调价转Java
指派给 Closed 于 2025-05-17 14:12:52
任务类型 后端
任务标签 初始
开发组
任务状态 已关闭
进度 100%
优先级 P3
关键词
抄送给
由谁创建 罗友军 于 2024-12-11 09:49:30
由谁完成 刘学森 于 2024-12-16 19:31:47
由谁取消 暂无
由谁关闭 李亚婷 于 2025-05-17 14:12:52
关闭原因 已完成
最后编辑 李亚婷 于 2025-05-17 14:12:52
团队 最初预计 总计消耗 预计剩余
工时信息
最初预计 10工时
总计消耗 8工时
预计剩余 0工时
预计开始 2024-12-11
实际开始 2024-12-16
截止日期 2024-12-20