__('天'),'2' => __('月'),'3' => __('汇总')]; } public function getTypeTextAttr($value, $data) { $value = $value ? $value : $data['type']; $list = $this->getTypeList(); return isset($list[$value]) ? $list[$value] : ''; } public function getFlagList() { return ['1' => __('自身'),'2' => __('属下'),'3' => __('全部')]; } public function getFlagTextAttr($value, $data) { $value = $value ? $value : $data['flag']; $list = $this->getFlagList(); return isset($list[$value]) ? $list[$value] : ''; } /** * 聚合sum查询订单统计 * * @param string|array|null $admin_id 管理、渠道、代理 id * @param int $type 周期类型 1天 2月 3汇总 //此方法只能查type=1的,通过sum聚合 * @param string|null $flag 数据表示 1自身 2属下 3全部 * @param string|null $startdate 日期开始时间(包含) * @param string|null $enddate 日期结束时间(包含) */ public function sumCollect($admin_id = null,$type = 1, $flag = null, $startdate = null, $enddate = null, $business_line = PayConstants::BUSINESS_WECHAT) { if (is_null($admin_id) || $type != 1 || is_null($flag)) { return null; } if (is_array($admin_id) && count($admin_id) == 0) { return null; } $where = [ 'type' => $type, 'flag' => $flag ]; $where['admin_id'] = is_array($admin_id) ? ['in', $admin_id] : $admin_id; if (!is_null($startdate) && !is_null($enddate)) { //2个都存在才是区间查询 2头都包含 $where['createdate'] = ['between', "{$startdate},{$enddate}"]; } else { $where['createdate'] = ['<', date('Ymd', time())]; //不包含今天 } $where['business_line'] = $business_line; $info = $this->field("sum(recharge_money) as recharge_money,sum(recharge_money_benefit) as recharge_money_benefit,sum(normal_recharge_orders_count) as normal_recharge_orders_count,sum(normal_recharge_orders) as normal_recharge_orders,sum(normal_recharge_money) as normal_recharge_money,sum(normal_recharge_money_benefit) as normal_recharge_money_benefit,sum(normal_recharge_guide_orders) as normal_recharge_guide_orders,sum(noraml_recharge_guide_money) as noraml_recharge_guide_money,sum(normal_recharge_user_count) as normal_recharge_user_count,sum(normal_recharge_user_suc_count) as normal_recharge_user_suc_count,sum(noraml_recharge_guide_money_benefit) as noraml_recharge_guide_money_benefit,sum(vip_recharge_orders_count) as vip_recharge_orders_count,sum(vip_recharge_orders) as vip_recharge_orders,sum(vip_recharge_money) as vip_recharge_money,sum(vip_recharge_money_benefit) as vip_recharge_money_benefit,sum(vip_recharge_guide_orders) as vip_recharge_guide_orders,sum(vip_recharge_guide_money) as vip_recharge_guide_money,sum(vip_recharge_user_count) as vip_recharge_user_count,sum(vip_recharge_user_suc_count) as vip_recharge_user_suc_count,sum(vip_recharge_guide_money_benefit) as vip_recharge_guide_money_benefit, sum(kandian_recharge_orders_count) as kandian_recharge_orders_count, sum(kandian_recharge_orders) as kandian_recharge_orders, sum(split_money) as split_money")->where($where)->find(); $info['type'] = $type; $info['flag'] = $flag; return $info; } /** * @param $object * @return array */ public function mkParamsForCheck(OrdersCollectObject $object) { return [ 'admin_id' => $object->admin_id, 'business_line' => $object->business_line, 'type' => $object->type, 'flag' => $object->flag, 'createdate' => OrdersCollectUpdateService::instance()->getCreateDate($object->type)->data, ]; } /** * @param $object * @return array */ public function mkParamsForUpdate(OrdersCollectObject $object) { $update = $object->toArray(); unset($update['admin_id']); unset($update['flag']); unset($update['type']); unset($update['business_line']); unset($update['type_text']); unset($update['flag_text']); $update['updatetime'] = time(); return $update; } /** * @param $object * @return array */ public function mkParamsForInsert(OrdersCollectObject $object) { $current_time = time(); return [ 'admin_id' => $object->admin_id, 'business_line' => $object->business_line, 'type' => $object->type, 'flag' => $object->flag, 'createdate' => OrdersCollectUpdateService::instance()->getCreateDate($object->type)->data, 'createtime' => $current_time, 'updatetime' => $current_time, 'recharge_money' => (float)$object->recharge_money, 'recharge_money_benefit' => (float)$object->recharge_money_benefit, 'normal_recharge_orders_count' => (float)$object->normal_recharge_orders_count, 'normal_recharge_orders' => (float)$object->normal_recharge_orders, 'normal_recharge_money' => (float)$object->normal_recharge_money, 'normal_recharge_money_benefit' => (float)$object->normal_recharge_money_benefit, 'normal_recharge_guide_orders' => (float)$object->normal_recharge_guide_orders, 'noraml_recharge_guide_money' => (float)$object->noraml_recharge_guide_money, 'normal_recharge_user_count' => (float)$object->normal_recharge_user_count, 'normal_recharge_user_suc_count' => (float)$object->normal_recharge_user_suc_count, 'noraml_recharge_guide_money_benefit' => (float)$object->noraml_recharge_guide_money_benefit, 'vip_recharge_orders_count' => (float)$object->vip_recharge_orders_count, 'vip_recharge_orders' => (float)$object->vip_recharge_orders, 'vip_recharge_money' => (float)$object->vip_recharge_money, 'vip_recharge_money_benefit' => (float)$object->vip_recharge_money_benefit, 'vip_recharge_guide_orders' => (float)$object->vip_recharge_guide_orders, 'vip_recharge_guide_money' => (float)$object->vip_recharge_guide_money, 'vip_recharge_user_count' => (float)$object->vip_recharge_user_count, 'vip_recharge_user_suc_count' => (float)$object->vip_recharge_user_suc_count, 'vip_recharge_guide_money_benefit' => (float)$object->vip_recharge_guide_money_benefit, 'pv' => (float)$object->pv, 'uv' => (float)$object->uv, 'kandian_recharge_orders_count' => (float)$object->kandian_recharge_orders_count, 'kandian_recharge_orders' => (float)$object->kandian_recharge_orders, 'split_money' => (float)$object->split_money, ]; } }