status; $name = $this->name; $mobile = $this->mobile; $start_time = $this->start_time; $end_time = $this->end_time; $store_id = $this->store_id; $query = SuperSales::find()->alias('ss') ->leftJoin(['u' => User::tableName()], 'ss.user_id = u.id') ->leftJoin(['su' => SaasUser::tableName()], 'su.mobile=u.binding') ->where(['ss.store_id' => $store_id]); if (isset($status) && in_array($status, [SuperSales::STATUS_FINISH, SuperSales::STATUS_NOT_FINISH])) { $query->andWhere(['ss.status' => $status]); } if ($name) { $query->andWhere(['like', 'su.name', $name]); } if ($mobile) { $query->andWhere(['like', 'su.mobile', $mobile]); } if ($start_time) { $query->andWhere(['>=', 'ss.created_at', strtotime($start_time)]); } if ($end_time) { $query->andWhere(['<=', 'ss.created_at', strtotime($end_time)]); } $query->select('ss.id, ss.created_at, ss.status, su.name, su.avatar, su.mobile')->orderBy('ss.created_at DESC'); $list = pagination_make($query); foreach ($list['list'] as &$item) { $item['created_at'] = date('Y-m-d H:i:s', $item['created_at']); $item['status'] = intval($item['status']); if ($item['status'] === SuperSales::STATUS_FINISH) { $item['status_name'] = '已完成'; } else { $item['status_name'] = '未完成'; } $item['num'] = SuperSalesSub::find()->where(['sales_id' => $item['id']])->count(); } return [ 'code' => 0, 'msg' => 'success', 'data' => $list ]; } //参团用户 public function superSalesUserList() { $name = $this->name; $mobile = $this->mobile; $start_time = $this->start_time; $end_time = $this->end_time; $id = $this->id; $query = SuperSalesSub::find()->alias('sss') ->leftJoin(['o' => Order::tableName()], 'sss.order_id = o.id') ->leftJoin(['u' => User::tableName()], 'sss.user_id = u.id') ->leftJoin(['su' => SaasUser::tableName()], 'su.mobile = u.binding') ->where(['sss.sales_id' => $id]); if ($name) { $query->andWhere(['like', 'su.name', $name]); } if ($mobile) { $query->andWhere(['like', 'su.mobile', $mobile]); } if ($start_time) { $query->andWhere(['>=', 'o.created_at', strtotime($start_time)]); } if ($end_time) { $query->andWhere(['<=', 'o.created_at', strtotime($end_time)]); } $query->select('sss.id, sss.weight, sss.order_id, sss.parent_user_id, sss.points, o.created_at, su.name, su.avatar, su.mobile, o.order_no') ->orderBy('sss.points DESC'); $list = pagination_make($query); foreach ($list['list'] as &$item) { $item['created_at'] = date('Y-m-d H:i:s', $item['created_at']); $item['fugou'] = \app\models\SuperSalesRepeatOrder::findOne(['order_id' => $item['order_id']]); $item['is_fugou'] = $item['fugou'] ? 1 : 0; $item['parent_name'] = ''; if ($item['parent_user_id']) { $superSalesSub = SuperSalesSub::findOne(['user_id' => $item['parent_user_id']]); if ($superSalesSub) { $binding = User::findOne(['id' => $item['parent_user_id'], 'is_delete' => 0])->binding; $user = SaasUser::find()->where(['mobile' => $binding]) ->select('name')->asArray()->One(); $item['parent_name'] = $user['name'] ?: ''; } } } return [ 'code' => 0, 'msg' => 'success', 'data' => $list ]; } //团长列表 public function superSalesSubList() { $name = $this->name; $mobile = $this->mobile; $start_time = $this->start_time; $end_time = $this->end_time; $store_id = $this->store_id; $parent_user_id = $this->parent_user_id; $query = SuperSalesUser::find()->alias('ssu') ->leftJoin(['u' => User::tableName()], 'ssu.user_id = u.id') ->leftJoin(['su' => SaasUser::tableName()], 'su.mobile = u.binding') ->where(['ssu.store_id' => $store_id]); if ($parent_user_id) { $query->andWhere(['ssu.parent_user_id' => $parent_user_id]); } if ($name) { $query->andWhere(['like', 'su.name', $name]); } if ($mobile) { $query->andWhere(['like', 'su.mobile', $mobile]); } if ($start_time) { $query->andWhere(['>=', 'ssu.created_at', strtotime($start_time)]); } if ($end_time) { $query->andWhere(['<=', 'ssu.created_at', strtotime($end_time)]); } $query->select('ssu.id, ssu.created_at, ssu.direct_award, ssu.group_award, ssu.parent_user_id, ssu.user_id, su.name, su.avatar, su.mobile') ->orderBy('ssu.created_at DESC'); $list = pagination_make($query); foreach ($list['list'] as &$item) { $item['created_at'] = date('Y-m-d H:i:s', $item['created_at']); $item['parent_name'] = ''; if ($item['parent_user_id']) { $superSalesSub = SuperSalesSub::findOne(['user_id' => $item['parent_user_id']]); if ($superSalesSub) { $binding = User::findOne(['id' => $item['parent_user_id'], 'is_delete' => 0])->binding; $user = SaasUser::find()->where(['mobile' => $binding]) ->select('name')->asArray()->One(); $item['parent_name'] = $user['name'] ?: ''; } } //原始推荐下级 $item['direct_user_num'] = SuperSalesUser::find()->where(['parent_user_id' => $item['user_id']])->count(); } return [ 'code' => 0, 'msg' => 'success', 'data' => $list ]; } //直推奖列表 public function directAwardList() { $name = $this->name; $mobile = $this->mobile; $start_time = $this->start_time; $end_time = $this->end_time; $order_no = $this->order_no; $send_start_time = $this->send_start_time; $send_end_time = $this->send_end_time; $store_id = $this->store_id; $query = SuperSalesMoney::find()->alias('ssm') ->leftJoin(['o' => Order::tableName()], 'ssm.order_id = o.id') ->leftJoin(['u' => User::tableName()], 'ssm.user_id = u.id') ->leftJoin(['su' => SaasUser::tableName()], 'su.mobile = u.binding') ->where(['ssm.store_id' => $store_id, 'ssm.type' => SuperSalesMoney::TYPE_DIRECT_AWARD]); if ($name) { $query->andWhere(['like', 'su.name', $name]); } if ($mobile) { $query->andWhere(['like', 'su.mobile', $mobile]); } if ($order_no) { $query->andWhere(['like', 'o.order_no', $order_no]); } if ($start_time) { $query->andWhere(['>=', 'o.created_at', strtotime($start_time)]); } if ($end_time) { $query->andWhere(['<=', 'o.created_at', strtotime($end_time)]); } if ($send_start_time) { $query->andWhere(['>=', 'ssm.send_time', strtotime($send_start_time)]); } if ($send_end_time) { $query->andWhere(['<=', 'ssm.send_time', strtotime($send_end_time)]); } $query->select('ssm.id, ssm.order_id, ssm.money, o.created_at, ssm.send_time, ssm.status, o.order_no, su.name, su.avatar, su.mobile, o.user_id, o.total_price') ->orderBy('ssm.created_at DESC'); $list = pagination_make($query); foreach ($list['list'] as &$item) { $item['created_at'] = date('Y-m-d H:i:s', $item['created_at']); $item['status'] = intval($item['status']); $item['send_time'] = $item['status'] ? date('Y-m-d H:i:s', $item['send_time']) : '暂未到账'; $binding = User::findOne(['id' => $item['user_id'], 'is_delete' => 0])->binding; $user = SaasUser::find()->where(['mobile' => $binding]) ->select('name')->asArray()->One(); $item['order_user_name'] = $user['name'] ?: ''; } return [ 'code' => 0, 'msg' => 'success', 'data' => $list ]; } //分红奖列表 public function dividendAwardList() { $name = $this->name; $mobile = $this->mobile; $start_time = $this->start_time; $end_time = $this->end_time; $send_start_time = $this->send_start_time; $send_end_time = $this->send_end_time; $finish_start_time = $this->finish_start_time; $finish_end_time = $this->finish_end_time; $store_id = $this->store_id; $query = SuperSalesMoney::find()->alias('ssm') ->leftJoin(['ss' => SuperSales::tableName()], 'ssm.sales_id = ss.id') ->leftJoin(['o' => Order::tableName()], 'ssm.order_id = o.id') ->leftJoin(['u' => User::tableName()], 'ssm.user_id = u.id') ->leftJoin(['su' => SaasUser::tableName()], 'su.mobile = u.binding') ->where(['ssm.store_id' => $store_id, 'ssm.type' => SuperSalesMoney::TYPE_GROUP_AWARD]); if ($name) { $query->andWhere(['like', 'su.name', $name]); } if ($mobile) { $query->andWhere(['like', 'su.mobile', $mobile]); } if ($start_time) { $query->andWhere(['>=', 'ss.created_at', strtotime($start_time)]); } if ($end_time) { $query->andWhere(['<=', 'ss.created_at', strtotime($end_time)]); } if ($send_start_time) { $query->andWhere(['>=', 'ssm.send_time', strtotime($send_start_time)]); } if ($send_end_time) { $query->andWhere(['<=', 'ssm.send_time', strtotime($send_end_time)]); } if ($finish_start_time) { $query->andWhere(['>=', 'ss.finish_time', strtotime($finish_start_time)]); } if ($finish_end_time) { $query->andWhere(['<=', 'ss.finish_time', strtotime($finish_end_time)]); } $query->select('ssm.id, ssm.money, ss.finish_time, ssm.send_time, ssm.status, su.name, su.avatar, su.mobile, ssm.sales_id, ss.created_at') ->orderBy('ssm.created_at DESC'); $list = pagination_make($query); foreach ($list['list'] as &$item) { $item['finish_time'] = $item['finish_time'] > 0 ? date('Y-m-d H:i:s', $item['finish_time']) : ''; $item['status'] = intval($item['status']); $item['send_time'] = $item['status'] ? date('Y-m-d H:i:s', $item['send_time']) : '暂未到账'; $item['created_at'] = date('Y-m-d H:i:s', $item['created_at']); } return [ 'code' => 0, 'msg' => 'success', 'data' => $list ]; } }