任务描述
暂无
需求描述

1.    需求概述

1.1. 背景

ERP目前门槛比较高,适用于中大型跨境电商企业,公司为拓展中小型跨境企业市场,特推出ERP1.0充值版,主要是通过购买订单量的方式来引入小型电商公司使用我们ERP。

1.2. 目标

推出ERP1.0充值版,为公司拓展市场份额。

2.    功能设计

2.1. 流程图

2.3. 对接外部接口

2.3.1 判断是否按单收费

select b.*,a.CustomerID,b.RenewalMethod as '续费方式:1:按单续费,2按时续费' from RB_VersionType_Customer a with(nolock) inner join RB_VersionType b with(nolock)
on a.VersionTypeID=b.ID where a.CustomerID=1

这个是产品3部杨文胜组提供的sql,其中续费方式为‘1:按单续费’,代表是按单收费,需要调用赛盒钱包;否则无需调用钱包接口,按照原逻辑下载或者添加订单

2.3.2 赛盒钱包接口

a)客户单量查询接口

协议名称:GetFeeItemList,服务ID:13

b)客户单量扣减接口

协议名称:UpdatePaymentNumber,服务ID:13

c)前往充值跳转地址

协议名称:钱包购买跳转接口,服务ID:13

注:客户单量服务ID:13。赛盒钱包对外接口文档见附件!

2.3. 客户订单

2.3.1 需求说明

1、订单下载
在下载前,先判断‘是否按单收费’:
如果不是,则无需调用钱包接口,直接下载订单;
如果是,则调用钱包客户单量查询接口,存在单量则进行下载,否则直接停止下载。
注:如果客户超过7天再充值,那么系统自动同步3天内订单;如果再7天内充值,则接着上次队列继续下载。
2、订单映射
映射前,先判断‘是否按单收费’:
如果不是,则无需调用钱包接口,直接下载订单;
如果是,则调用钱包客户单量扣减接口,扣减成功之后将订单映射客户订单业务表,否则停止映射。
3、手工建单
保存订单的时候,先判断‘是否按单收费’:
如果不是,则无需调用钱包接口,直接保存订单;
如果是,则调用钱包客户单量扣减接口,扣减成功则保存订单成功,否则保存失败并将接口返回错误信息提示给用户。
涉及功能:新建、复制、批量复制、无API导入、赛盒对接API接口
4、客户订单
打开页面,先判断‘是否按单收费’:
如果不是,则无需调用钱包接口,正常显示订单;
如果是,则调用钱包客户单量查询接口,存在单量则页面提示‘当前剩余X单量,预计还可使用Y天;否则页面提示:您当前单量不足,为不影响您订单下载,请及时前往充值!
-----说明-----

a)预计可使用Y天:当前单量X/近7天内平均日单量,如存在小数则向上取整!

b)用户点击蓝色字体【前往充值】则跳转钱包系统地址。

2.3.2 原型页面


验收标准
暂无
相关用例
历史记录  
  1. 2022-02-16 17:45:37, 由 maojinqiang 创建。
  2. 2022-02-17 15:15:33, 由 fangdahua 完成。
    修改了 总计消耗,旧值为 "0",新值为 "5"。
    修改了 实际完成,旧值为 "",新值为 "2022-02-17 10:43:13"。
    修改了 任务状态,旧值为 "wait",新值为 "done"。
    修改了 实际开始,旧值为 "0000-00-00 00:00:00",新值为 "2022-02-17 10:59:47"。
    修改了 预计剩余,旧值为 "5",新值为 "0"。
    修改了 由谁完成,旧值为 "",新值为 "fangdahua"。

    ERP订单下载队列控制


    检测按单消费逻辑:

    检测是否按单消费逻辑sql,当字段RenewalMethod=1表示为按单续费(不是1或为空或者根本没配置表无数据表示按时,则不进行校验),才进行调用钱包接口获取钱包单量(RemaindNumber)


    共享库

    select b.*,a.CustomerID,b.RenewalMethod as '续费方式:1:按单续费,2按时续费' from RB_VersionType_Customer a with(nolock) inner join RB_VersionType b with(nolock)
    on a.VersionTypeID=b.ID where a.CustomerID= 商户号



    注意验证单个商户、多个商户渠道队列下载情况,其中单商户或多商户都未配置RB_VersionType_Customer和RB_VersionType相关数据,多商户只配置其中的商户,多商户全部配置,单商户钱包单量不够,多商户其中部分商户钱包单量不够,多商户钱包单量都不够和单量都足够等情况。


    2.业务判断逻辑


    需要验证什么都没配置的场景,即以前商户数据,一上线可以运行正常,后面再测试根据实际客户配置进行处理逻辑。


    a.当前商户如果不是按单续费,则改商户队列正常执行且下载

    b.当前商户如果是按单消费,则判断钱包单量RemaindNumber是否大于0,大于0则正常下载。单量不够,则不会执行订单下载也不会生成订单队列,中间表不会产生订单。

     (如果队列最后修改时间updatetime小于最近7天,则自动初始化该商户队列开始时间为三天前0点到结束时间0:30;否则继续之前队列执行下载)。



    检测队列执行脚本


    SELECT
            OS.OrderSourceName,
            API.CustomerID,
            OS.OrderSourceType,
            API.OrderSourceID,
            OS.OrderSourceCountry,
            Max(PTT.ID) AS TimeIntervalID,
            Max(Isnull(Dateadd(MINUTE, -2, PTT.EndTime), CONVERT(CHAR(10), Getdate(), 111)))    AS StartTime,
            Dateadd(Minute, 30, Max(Isnull(PTT.EndTime, CONVERT(CHAR(10), Getdate(), 111))))     AS EndTime,
            MAX(PTT.UpdateTime) AS UpdateTime,
            1   AS ProcessType,
            (
                SELECT Times
                FROM   RB_ProcessTask_TimeInterval WITH(nolock)
                WHERE  ID = Max(PTT.ID)
            ) AS Times
    FROM   RB_OrderSource_EbayAmazonAPI API WITH(nolock)
            LEFT JOIN RB_OrderSource OS WITH(nolock) ON OS.CustomerID = API.CustomerID AND OS.ID = API.OrderSourceID
            LEFT JOIN RB_ProcessTask_TimeInterval PTT WITH(nolock) ON OS.CustomerID = PTT.CustomerID AND OS.ID = PTT.OrderSourceID AND PTT.ProcessType=1
    WHERE   1=1
      and API.IsActive = 1
            AND OS.IsActive = 1
            AND OS.OrderSourceType = 平台枚举id
             AND OS.IsDownloadOrder = 1
            AND isnull(IsNewSale ,0)=0
    GROUP  BY OS.OrderSourceName,
                API.CustomerID,
                OS.OrderSourceType,
                API.OrderSourceID,
                API.DevIDSellerId,
                API.AppIDMarketplaceId,
                API.CertIDAccessKeyId,
                API.ServerUrl,
                API.UserTokenSecretAccessKey,
                API.MerchantToken,
                API.EUBAPIPassword,
                OS.OrderSourceCountry
     Having Max(Isnull(PTT.EndTime, CONVERT(CHAR(10), Getdate(), 111))) <Dateadd(Minute, -50, GETDATE())
    ORDER BY MAX(PTT.UpdateTime) desc


    单个渠道队列执行情况,每次执行完成,StartTime和EndTime往前推30分钟

     select id,Times,[Message],StartTime,EndTime,AddTime,UpdateTime from RB_ProcessTask_TimeInterval where
     CustomerID = 1 and OrderSourceID = 5240 and processtype=1 order by AddTime desc。



    提供测试验证按钮 shipfeetest。aspx,提供 【速卖通下载】按钮,给来源渠道配置对应的授权信息,点击按钮自动运行订单下载,生成队列(调用成功则时间往前推移。调用失败则提示错误)


    自测截图


    执行失败



    执行成功,满足状态中间表会下载有待处理订单



  3. 2022-02-18 11:23:02, 由 fangdahua 指派给 maojinqiang。
    修改了 指派给,旧值为 "fangdahua",新值为 "maojinqiang"。
所属迭代 【主干】产品中心2月第一个版本(2022年)
所属模块 赛盒科技  赛盒ERP管理系统   订单组
相关需求 ERP1.0充值版之订单模块单量限制功能
指派给 毛金强 于 2022-02-18 11:23:02
任务类型 后端
任务标签 初始
开发组
任务状态 已完成
进度 100%
优先级 P2
关键词
抄送给
由谁创建 maojinqiang 于 2022-02-16 17:45:37
由谁完成 fangdahua 于 2022-02-17 10:43:13
由谁取消 暂无
由谁关闭 暂无
关闭原因 暂无
最后编辑 fangdahua 于 2022-02-18 11:23:02
团队 最初预计 总计消耗 预计剩余
工时信息
最初预计 5工时
总计消耗 5工时
预计剩余 0工时
预计开始 0000-00-00
实际开始 2022-02-17
截止日期 0000-00-00