50], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'mall_id' => 'Mall ID', 'store_id' => '门店id', 'add_user_nums' => '新增会员', 'order_nums' => '订单数', 'settlement_commission' => '结算佣金', 'sales_money' => '门店销售额', 'cashier_sales_money' => '收银台销售额', 'date_time' => '日期时间', 'status' => '状态[0禁用 1启用 -1删除]', 'created_at' => '创建时间', 'updated_at' => '修改时间', ]; } public static function setData($params) { try { if (!empty($params['mall_id']) && !empty($params['date_time']) && !empty($params['store_id'])) { $store_census = StoreCensus::findOne(['date_time' => $params['date_time'], 'store_id' => $params['store_id'], 'mall_id' => $params['mall_id']]); if (empty($store_census)) { $store_census = new StoreCensus(); $store_census->loadDefaultValues(); $store_census->mall_id = $params['mall_id']; $store_census->store_id = $params['store_id']; $store_census->date_time = $params['date_time']; } if (!empty($params['cashier_order_nums'])) $store_census->cashier_order_nums += $params['cashier_order_nums']; if (!empty($params['sales_money'])) $store_census->sales_money += $params['sales_money']; if (!empty($params['order_nums'])) $store_census->order_nums += $params['order_nums']; if (!empty($params['add_user_nums'])) $store_census->add_user_nums += $params['add_user_nums']; if (!empty($params['settlement_commission'])) $store_census->settlement_commission += $params['settlement_commission']; if (!empty($params['cashier_sales_money'])) $store_census->cashier_sales_money += $params['cashier_sales_money']; $res = $store_census->save(); } return true; } catch (\Exception $e) { self::$static_error = $e->getMessage(); return false; } } //数据迁移-累计处理历史数据 public static function historyOrderRefund() { try { //获取商城id $mall_list = Mall::getEnableMallList(true); if(!empty($mall_list)){ foreach ($mall_list as $mall){ // var_dump('商城:'. $mall['id']); self::grandHistoryOrderRefund(['mall_id' => $mall['id']]); } } return true; } catch (\Exception $e) { throw new Exception($e->getMessage()); } } public static function grandHistoryOrderRefund($params) { try { //清零商城addons_store_census 订单累计数量和退款金额 self::updateAll(['order_nums' => 0, 'order_refund_money' => 0], ['mall_id' => $params['mall_id']]); //查找商城每日统计数据 $list = self::lists([ 'where' => [ ['mall_id' => $params['mall_id']], ['status' => StatusEnum::ENABLED], ], 'order' => 'id asc', ], false); foreach ($list as $detail) { $order_nums = 0; //查找对应日期订单 $order_nums = StoreOrder::find()->where(['mall_id' => $params['mall_id'], 'store_id' => $detail['store_id'], 'pay_status' => 1]) ->andWhere(['and', ['>=', 'created_at', strtotime($detail['date_time'])], ['<=', 'created_at', strtotime($detail['date_time']. ' 23:59:59')]]) ->count(); $order_refund_money = OrderRefund::find()->where(['mall_id' => $params['mall_id'], 'store_id' => $detail['store_id'], 'is_refund' => 1]) ->andWhere(['and', ['>=', 'refund_at', strtotime($detail['date_time'])], ['<=', 'refund_at', strtotime($detail['date_time']. ' 23:59:59')]])->sum('reality_refund_price'); $detail->order_nums = $order_nums ?? 0; $detail->order_refund_money = $order_refund_money ?? 0; if (!$detail->save()) var_dump('id:'.$detail['id'].'修改数据失败'); } } catch (\Exception $e) { throw new Exception($e->getMessage()); } } }