1. 商家统计说明

统计永远统计的是前一天的数据,不会统计当天的数据

1.1. 通过运营商后台界面操作统计:

运营商后台-系统-定时任务-分析统计更新商家每天数据(倒数第三个队列),执行队列。就可以统计商家前一天的数据。

1.2. linux通过命令行统计

  进入app/base下面
  //商家的数据统计
  执行./cmd sysstat:sysstatexec exec 2015-05-01 2015-05-14 (意思是重新统计2015-05-01 到 2015-05-14 这段时间商家的交易数据)

  执行./cmd sysstat:sysstatexec exec 2015-05-01(意思是重新统计2015-05-01这一天商家的交易数据)

  执行./cmd sysstat:sysstatexec execall (意思是重新统计2015-01-01到当前时间的前一天这段时间商家的交易数据)

  //运营商的数据统计(旧)
  执行./cmd sysstat:sysstatexec execOldManager 2015-05-01(意思是重新统计2015-05-01这一天所有商家的交易数据)

  执行./cmd sysstat:sysstatexec execOldallManager (意思是重新统计2015-01-01到当前时间的前一天这段时间所有商家的交易数据

   //运营商的数据统计(新)
  执行./cmd sysstat:sysstatexec execManager 2015-05-01(意思是重新统计2015-05-01这一天所有商家的交易数据)

  执行./cmd sysstat:sysstatexec execallManager (意思是重新统计2015-01-01到当前时间的前一天这段时间所有商家的交易数据)

1.3. window通过命令行统计

  进入app/base下面
  //商家的数据统计
  执行cmd sysstat:sysstatexec exec 2015-05-01 2015-05-14 (意思是重新统计2015-05-01 到 2015-05-14 这段时间商家的交易数据)

  执行cmd sysstat:sysstatexec exec 2015-05-01(意思是重新统计2015-05-01这一天商家的交易数据)

  执行cmd sysstat:sysstatexec execall (意思是重新统计2015-01-01到当前时间的前一天这段时间商家的交易数据)


  //运营商的数据统计(旧)
  执行./cmd sysstat:sysstatexec execOldManager 2015-05-01(意思是重新统计2015-05-01这一天所有商家的交易数据)

  执行./cmd sysstat:sysstatexec execOldallManager (意思是重新统计2015-01-01到当前时间的前一天这段时间所有商家的交易数据

   //运营商的数据统计(新)
  执行./cmd sysstat:sysstatexec execManager 2015-05-01(意思是重新统计2015-05-01这一天所有商家的交易数据)

  执行./cmd sysstat:sysstatexec execallManager (意思是重新统计2015-01-01到当前时间的前一天这段时间所有商家的交易数据)

1.4. 商家中心的报表字段说明

注意:所有的统计都是隔天的不是当天的

    新增订单金额:规定时间内会员新增订单金额(按照店铺统计) 
    新增订单数:规定时间内会员新增订单数(按照店铺统计)

    平均单价:规定时间内 新增订单额/新增订单数

    待付款订单金额:规定时间内会员没有付款的订单金额(按照店铺统计) 订单状态为:WAIT_BUYER_PAY
    以付款订单额:规定时间内会员付款的订单金额(按照店铺统计) 订单状态为:!WAIT_BUYER_PAY
                !TRADE_CLOSED     !TRADE_CLOSED_BY_SYSTEM(!为不等于)

    以完成订单额:规定时间内会员完成的订单额(按照店铺统计) 根据完成时间end_time和 订单状态为:TRADE_FINISHED 去统计
    以完成订单数:规定时间内会员完成的订单数(按照店铺统计) 根据完成时间end_time和 订单状态为:TRADE_FINISHED 去统计

    待发货订单额:规定时间内会员待发货订单额(按照店铺统计)  根据付款时间pay_time和订单状态为:WAIT_SELLER_SEND_GOODS去统计
    待发货订单数:规定时间内会员待发货订单数(按照店铺统计) 根据付款时间pay_time和订单状态为:WAIT_SELLER_SEND_GOODS去统计

    已发货订单数:规定时间内会员已发货订单数(按照店铺统计) 根据发货时间consign_time去统计

    已取消订单数:规定时间内会员已取消订单数(按照店铺统计) 根据取消订单时间end_time和订单状态为:!TRADE_CLOSED  !TRADE_CLOSED_BY_SYSTEM

1.5. 运营平台的报表字段说明

经营概况页:
    新增订单金额:根据您选择的时间范围内新增所有状态的订单金额。
    新增订单数:根据您选择的时间范围内新增所有状态的订单数量。
    已完成订单金额:根据您选择的时间范围内完成状态的订单金额,不包括退换货订单。
    已完成订单数:根据您选择的时间范围内完成状态的订单数量,不包括退换货订单。
    售后订单金额:根据您选择的时间范围内成功完成售后操作的订单金额。
    售后订单数:根据您选择的时间范围内成功完成售后操作的订单数量。
    新增会员:根据您选择的时间范围内的新增的会员数量。
    会员总数:根据商城上线直到您选择的时间结束节点的时间范围内的会员总数。
    新增商家:根据您选择的时间范围内的新增的商家数量。
    商家总数:根据商城上线直到您选择的时间结束节点的时间范围内的商家总数。

交易统计页:
    新增订单金额:根据您选择的时间范围内新增所有状态的订单金额。
    新增订单数:根据您选择的时间范围内新增所有状态的订单数量。
    已完成订单金额:根据您选择的时间范围内完成状态的订单金额,不包括退换货订单。
    已完成订单数:根据您选择的时间范围内完成状态的订单数量,不包括退换货订单。
    售后订单金额:根据您选择的时间范围内成功完成售后操作的订单金额。
    售后订单数:根据您选择的时间范围内成功完成售后操作的订单数量。

店铺数据统计页:
    销售额排行:在您选择的时间范围内,所有店铺根据已完成的订单的销售金额进行排行,该销售额不包括售后订单额。
    销售量排行:在您选择的时间范围内,所有店铺根据已完成的订单的销售数量进行排行,该销售数量不包括售后订单数量。

商品数据统计页:
    销售额排行:在您选择的时间范围内,指定的类目下的所有商品根据已完成的订单的销售金额进行排行,该销售额不包括售后订单额。
    销售量排行:在您选择的时间范围内,指定的类目下的所有商品根据已完成的订单的销售数量进行排行,该销售额不包括售后订单数量。

会员统计页:
    购买金额排行:在您选择的时间范围内,根据会员下单的订单金额进行排行。
    购买次数排行:在您选择的时间范围内,根据会员下单次数进行排行。

1.6. 商家中心和运营平台的报表升级

bbc报表升级

第一步:删除老的运营商报表(先把整个ectools的代码备份一份以便恢复)
/ectools/admin/analysis.php  删除
/ectools/dbschema/analysis.php analysis_log.php  删除
/ectools/lib/analysis 删除
/ectools/lib/tasks/statistic/day.php hour.php 删除
/ectools/model/analysis 删除 
/ectools/model/analysis.php 删除
/ectools/analysis 删除
/ectools/crontab.xml <cronentries> 注释中间的代码</cronentries>

第二步:替换报表app
先卸载掉老的报表的app 把老的代码备份一份(sysstat)
把新的sysstat放上去 bbc/app/sysstat/ 放在 bbc/app/sysstat/
执行 cmd update 把数据更新进去


第三步:把相应的类库放在相应的位置上
把public/app/sysstat 放在public/app/下面  有的话就替换一下(注意保留原来的)


第四步:执行命令统计数据 
//商家的数据统计
  执行./cmd sysstat:sysstatexec exec 2015-01-01 2015-12-09 (意思是重新统计2015-05-01 到 2015-12-09 这段时间商家的交易数据)
//运营商的数据统计(新)
  执行./cmd sysstat:sysstatexec execManager 2015-01-01 2015-12-09

第五步:放置升级脚本
把task.php 放在bbc/app/sysstat/

第六步:修改时间bug
1:修改退款中的时间bug

bbc/app/ectools/lib/data/refunds.php (对比一下 把时间加上) create方法
        $params['status'] = "succ";
        $params['refund_id'] =time();
        $params['created_time'] =time();
        $params['finish_time'] =time();
        $params['confirm_time'] =time();
        $objMdlRefunds = app::get('ectools')->model('refunds')

bbc/app/ectools/api/payment/payAndFinish.php payAndFinish 方法 46-48   65-69行对比一下
        $db->beginTransaction();

        try{
            。。。。。
            $paymentData = array(
                'payed_time' => time(),
                'created_time' => time(),
                'modified_time' => time(),
                。。。。。
                )
        }
2:修改下单支付是的时间bug
bbc/app/systrade/api/trade/moneyAndGoods.php 53-55行 对比一下
    //更新订单支付状态,并完成订单
    $objTrade = kernel::single('systrade_data_trade');
    $tradeData['data']['pay_time'] = time();
    $tradeData['data']['payed_fee'] = $tradeInfo['payment'];
    $tradeData['filter']['tid'] = $params['tid'];

bbc/app/systrade/api/trade/payFinish.php 39-53行 查看pay_time
   39              $tradeData['data']['status']='WAIT_SELLER_SEND_GOODS';
   40              $tradeData['data']['modified_time']=time();
   41:             $tradeData['data']['pay_time']=time();
   42              $tradeData['data']['payed_fee'] = $params['payment'];
   43              $tradeData['filter']['tid'] = $tid;
   ..
   50              $orders = array(
   51                  'status'=>'WAIT_SELLER_SEND_GOODS',
   52:                 'pay_time'=> time(),
   53              );

bbc/app/systrade/dbschema/order.php: 88-92行 查看pay_time

   88              'comment' => app::get('systrade')->_('是否超卖'),
   89          ),
   90:         'pay_time' => array(
   91              'type' => 'time',
   92              'comment' => app::get('systrade')->_('付款时间'),

bbc/app/systrade/api/trade/confirm.php:30-34行 查看end_time

   30                  'status' => 'TRADE_FINISHED',
   31                  'modified_time' => time(),
   32:                 'end_time' => time(),
   33              ),
   34          );

bbc/app/systrade/lib/data/trade/cancel.php:180-207行 end_time

  180          //取消订单成功更新订单状态和信息
  181          $params['filter']['tid'] = $tid;
  182:         $params['data']['end_time'] = time();
  183          if( $cancelFrom == 'buyer')
  184          {
  ...
  203          //取消订单成功更新字订单信息
  204          $objMdlOrder = app::get('systrade')->model('order');
  205:         $orderParams['end_time'] = time();
  206          if(!$objMdlOrder->update($orderParams,$params['filter']))
  207          {

bbc/app/systrade/api/trade/delivery.php:42-46行 consign_time(发货时间)

   42                  'tid' => $params['tid'],
   43                  'status' => 'WAIT_BUYER_CONFIRM_GOODS',
   44:                 'consign_time' => time(),
   45                  'ziti_memo' => $params['ziti_memo'],
   46              );

   53                  $updateData['status'] = "WAIT_BUYER_CONFIRM_GOODS";
   54                  $updateData['oid'] = $value['oid'];
   55:                 $updateData['consign_time'] = time();
   56                  $isSave = $objMdlOrder->save($updateData);
   57                  if(!$isSave)


   bbc/app/systrade/api/tradeDelivery.php:33-49 行 consign_time

   33                  'tid' => $params['tid'],
   34                  'status' => 'WAIT_BUYER_CONFIRM_GOODS',
   35:                 'consign_time' => time(),
   36              );
   37  
   ..
   45                  $updateData['status'] = "WAIT_BUYER_CONFIRM_GOODS";
   46                  $updateData['oid'] = $value['oid'];
   47:                 $updateData['consign_time'] = time();
   48                  $isSave = $objMdlOrder->save($updateData);
   49                  if(!$isSave)



bbc/app/systrade/lib/data/trade/delivery.php: 200-285行  consign_time

  200              $aUpdate['tid'] = $sdf['tid'];
  201              $aUpdate['status'] = 'WAIT_BUYER_CONFIRM_GOODS';
  202:             $aUpdate['consign_time'] = $modifieTime;
  203  
  204              if(!$objMdlTrade->save($aUpdate))
  ...
  281              $modifieTime = time();
  282              $updateData['oid'] = $tmp['oid'];
  283:             $updateData['consign_time'] = $modifieTime;
  284              if ($isUpdateStore && $objMdlOrder->save($updateData))
  285              {


bbc/app/systrade/lib/trade/process.php: 16-23行 consign_time

   16          $params['data']['modified_time'] = time();
   17          $params['data']['end_time'] = time();
   18:       //$params['filter']['consign_time|sthan'] = $secondTime;
   19        //$params['filter']['status'] = "WAIT_BUYER_CONFIRM_GOODS";
   20          $paramsForList['rows']   = 'tid';
   21:         $paramsForList['filter'] = ['consign_time|sthan'=>$secondTime, 'status'=>"WAIT_BUYER_CONFIRM_GOODS"];
   22          $tidList = kernel::single('systrade_data_trade')->getTradeList($paramsForList, false);
   23

results matching ""

    No results matching ""