getOne(['id' => $this->userinfo['OperaterID']]); $where = []; if (!$manager_info['IsRoot']) { $where['ManagerId'] = $this->userinfo['OperaterID']; } $user_id_list = []; $register_id_list = []; $today_register_id_list = []; $data = []; $time_where1 = ''; $time_where2 = ''; $time_where_today = ''; $time_where2_today = ''; $date1 = date("Y-m-01", time()); $date2 = date("Y-m-d H:i:s", time()); $flag = date("d", time()) == date("t", time()); $date3 = date("Y-m-01", strtotime("-1 month")); $date4 = $flag ? date("Y-m-t H:i:s", strtotime("-1 month")) : date("Y-m-d H:i:s", strtotime("-1 month")); if(isset($_GET['sell_month'])){ $date1 = date('Y-m-01', strtotime($_GET['sell_month'])); $date2 = date("Y-m-t 23:59:59", strtotime($_GET['sell_month'])); $date3 = date("Y-m-01", strtotime($_GET['sell_month']." -1 month")); $date4 = date("Y-m-t 23:59:59", strtotime($_GET['sell_month']." -1 month")); } //本月 $time_where1 .= " UpdateTime>='" . $date1 . "' and UpdateTime<='" . $date2 . "' "; $time_where2 .= " UpdateTime>='" . $date3 . "' and UpdateTime<='" . $date4 . "' "; $time_where_today .= " UpdateTime>='" . date("Y-m-d") . "' and UpdateTime<='" . $date2 . "' "; //获取用户列表 $user_list = $user_model->getAllManagerUser($where); foreach ($user_list as $info) { $user_id_list[] = $info['Id']; //本月注册用户 if (strtotime($info['CreateTime']) >= strtotime($date1) && strtotime($info['CreateTime']) <= strtotime($date2)) { $register_id_list[] = $info['Id']; } if (strtotime($info['CreateTime']) >= strtotime(date("Y-m-d")) && strtotime($info['CreateTime']) <= strtotime($date2)) { $today_register_id_list[] = $info['Id']; } } $user_where = ['UserId' => ['in', $user_id_list]]; $register_where = ['UserId' => ['in', $register_id_list]]; //获取本月所有消费额 $all_cost_data = $product_order_model->getAllMoney($time_where1); //获取本月该客户经理所有的消费额 $user_cost_data = $product_order_model->getAllMoney($time_where1, $user_where); //获取上月该客户经理所有的消费额 $user_last_month_cost_data = $product_order_model->getAllMoney($time_where2, $user_where); //获取今天该客户经理所有的消费额 $user_today_cost_data = $product_order_model->getAllMoney($time_where2_today, ['UserId' => ['in', $today_register_id_list]]); //获取本月该客户经理所有新注册的消费额 $register_cost_data = $product_order_model->getAllMoney($time_where1, $register_where); //获取本月总退款 $refund_cost_data = $product_order_model->getRefund($time_where1, $user_where); //总消费营业额 $all_cost = $all_cost_data['money']??0; $user_cost = $user_cost_data['money']??0; $all_cost_num = $all_cost_data['num']??0; $user_cost_num = $user_cost_data['num']??0; //上月 $user_last_month_cost = $user_last_month_cost_data['money']??0; //注册 $user_register_count = count($register_id_list); $user_register_cost_count = $register_cost_data?$register_cost_data['num']:0; $sell_percent = ($all_cost?round($user_cost / $all_cost * 100, 2):0); $cost_percent = ($all_cost_num?round($user_cost_num / $all_cost_num * 100, 2):0); $cost_register = ($user_register_count?round($user_register_cost_count / $user_register_count * 100, 2):0); $cost_old_user = (($all_cost_num - $user_register_count)?round(($user_cost_num - $user_register_cost_count) / ($all_cost_num - $user_register_count) * 100, 2):0); $com_cost = ($user_cost - $user_last_month_cost); $com_percent = ($user_last_month_cost?round(($user_cost - $user_last_month_cost) / $user_last_month_cost * 100, 2):0); $today_new_user = ($user_today_cost_data?$user_today_cost_data['num']:0)."/".count($today_register_id_list); $refund = ($refund_cost_data?$refund_cost_data['money']:0); $data['sell_percent'] = "我的营业额($user_cost)/总营业额($all_cost)=" . $sell_percent . '%'; $data['cost_percent'] = "消费客户数($user_cost_num)/所有客户($all_cost_num)=" . $cost_percent . '%'; $data['cost_register'] = "注册且购买过的客户($user_register_cost_count)/当月新注册客户总数($user_register_count)=" . $cost_register . '%'; $data['cost_old_user'] = "老客户在本月再次购买(" . ($user_cost_num - $user_register_cost_count) . ")/所有老客户(" . $cost_old_user . '%'; $data['com_cost'] = "同比增加金额=" . $com_cost; $data['com_percent'] = "同比增加百分比=" . $com_percent.'%'; $data['today_new_user'] = "今日新赠客户".$today_new_user; $data['refund'] = "总退款金额".$refund; \result($data); } /** * @description: 获取所有客户销售信息 * @param {*} * @return {*} */ public function getAll() { $manager_model = new Manager; $manager_list = $manager_model->getAllList(); $list = []; foreach($manager_list as $info){ $temp = $this->getInfo($info['id']); $temp['name'] = $info['RealName']; $list[] = $temp; } \result($list); } private function getInfo($manager_id) { $user_model = new User; $product_order_model = new ProductOrder; $where['ManagerId'] = $manager_id; $user_id_list = []; $register_id_list = []; $today_register_id_list = []; $data = []; $time_where1 = ''; $time_where2 = ''; $time_where_today = ''; $time_where2_today = ''; $data = []; $date1 = date("Y-m-01", time()); $date2 = date("Y-m-d H:i:s", time()); $flag = date("d", time()) == date("t", time()); $date3 = date("Y-m-01", strtotime("-1 month")); $date4 = $flag ? date("Y-m-t H:i:s", strtotime("-1 month")) : date("Y-m-d H:i:s", strtotime("-1 month")); if(isset($_GET['sell_month'])){ $date1 = date('Y-m-01', strtotime($_GET['sell_month'])); $date2 = date("Y-m-t 23:59:59", strtotime($_GET['sell_month'])); $date3 = date("Y-m-01", strtotime($_GET['sell_month']." -1 month")); $date4 = date("Y-m-t 23:59:59", strtotime($_GET['sell_month']." -1 month")); } //本月 $time_where1 .= " UpdateTime>='" . $date1 . "' and UpdateTime<='" . $date2 . "' "; $time_where2 .= " UpdateTime>='" . $date3 . "' and UpdateTime<='" . $date4 . "' "; $time_where_today .= " UpdateTime>='" . date("Y-m-d") . "' and UpdateTime<='" . $date2 . "' "; //获取用户列表 $user_list = $user_model->getAllManagerUser($where); foreach ($user_list as $info) { $user_id_list[] = $info['Id']; //本月注册用户 if (strtotime($info['CreateTime']) >= strtotime($date1) && strtotime($info['CreateTime']) <= strtotime($date2)) { $register_id_list[] = $info['Id']; } if (strtotime($info['CreateTime']) >= strtotime(date("Y-m-d")) && strtotime($info['CreateTime']) <= strtotime($date2)) { $today_register_id_list[] = $info['Id']; } } $user_where = ['UserId' => ['in', $user_id_list]]; $register_where = ['UserId' => ['in', $register_id_list]]; //获取本月所有消费额 $all_cost_data = $product_order_model->getAllMoney($time_where1); //获取本月该客户经理所有的消费额 $user_cost_data = $product_order_model->getAllMoney($time_where1, $user_where); //获取上月该客户经理所有的消费额 $user_last_month_cost_data = $product_order_model->getAllMoney($time_where2, $user_where); //获取今天该客户经理所有的消费额 $user_today_cost_data = $product_order_model->getAllMoney($time_where2_today, ['UserId' => ['in', $today_register_id_list]]); //获取本月该客户经理所有新注册的消费额 $register_cost_data = $product_order_model->getAllMoney($time_where1, $register_where); //获取本月总退款 $refund_cost_data = $product_order_model->getRefund($time_where1, $user_where); //总消费营业额 $all_cost = $all_cost_data['money']??0; $user_cost = $user_cost_data['money']??0; $all_cost_num = $all_cost_data['num']??0; $user_cost_num = $user_cost_data['num']??0; //上月 $user_last_month_cost = $user_last_month_cost_data['money']??0; //注册 $user_register_count = count($register_id_list); $user_register_cost_count = $register_cost_data?$register_cost_data['num']:0; $data['sell_percent'] = ($all_cost?round($user_cost / $all_cost * 100, 2):0).'%'; $data['cost_percent'] = ($all_cost_num?round($user_cost_num / $all_cost_num * 100, 2):0).'%'; $data['cost_register'] = ($user_register_count?round($user_register_cost_count / $user_register_count * 100, 2):0); $data['cost_old_user'] = (($all_cost_num - $user_register_count)?round(($user_cost_num - $user_register_cost_count) / ($all_cost_num - $user_register_count) * 100, 2):0); $data['com_cost'] = ($user_cost - $user_last_month_cost); $data['com_percent'] = ($user_last_month_cost?round(($user_cost - $user_last_month_cost) / $user_last_month_cost * 100, 2):0).'%'; $data['today_new_user'] = ($user_today_cost_data?$user_today_cost_data['num']:0)."/".count($today_register_id_list); $data['refund'] = ($refund_cost_data?$refund_cost_data['money']:0); return $data; } }