diff --git a/admin/controllers/stats/Order.php b/admin/controllers/stats/Order.php index 7ed9c983..444f8960 100644 --- a/admin/controllers/stats/Order.php +++ b/admin/controllers/stats/Order.php @@ -431,7 +431,7 @@ class order extends HD_Controller ->from('lc_receiver_orders_v2 as a') ->join('lc_receiver_customers as b', "b.id=a.customer_id", 'left') ->where($where_o) - ->count_all_results(); + ->get()->result_array(); $customer_ids[$k2] = implode(',', array_unique(array_column($res_o, 'customer_id'))); } } diff --git a/market/controllers/api/sylive/GroupsWin.php b/market/controllers/api/sylive/GroupsWin.php new file mode 100644 index 00000000..defd9c30 --- /dev/null +++ b/market/controllers/api/sylive/GroupsWin.php @@ -0,0 +1,192 @@ +load->model('market/Market_sylive_order_model', 'mdSyliveOrder'); + $this->load->model('market/Market_sylive_user_model', 'mdSyliveUser'); + $this->load->model('market/Market_sylive_activity_kpidata_model', 'mdSyliveActivityKpidata'); + $this->load->model('market/Market_sylive_groups_model', 'mdSyliveGroups'); + + $this->load->model('market/Market_sylive_organization_model', 'mdSyliveOrganization'); + $this->load->model('market/Market_sylive_team_model', 'mdSyliveTeam'); + } + + /** + * Notes:订单管理列表 + * Created on: 2022/12/08 14:48 + * Created by: dengbw + */ + public function index_get() + { + $date = $this->orderList($this->inputs); + $this->return_response_list($date); + } + + /** + * Notes:导出订单数据 + * Created on: 2022/12/08 15:26 + * Created by: dengbw + */ + public function export_get() + { + $this->inputs['page'] = 1; + $this->inputs['limit'] = 10000; + $date = $this->orderList($this->inputs); + $this->return_response_list($date); + } + + /** + * Notes:中奖类型 + * Created on: 2022/12/08 15:26 + * Created by: dengbw + */ + public function win_type_get() + { + $activityId = intval($this->input_param('activityId')); + $winTypeAry = $this->mdSyliveOrder->winTypeAry($activityId); + $date = []; + foreach ($winTypeAry as $k => $v) { + if ($k > 0) { + $date[] = ['id' => $k, 'name' => $v['title']]; + } + } + $this->return_response_list($date); + } + + private function orderList($params) + { + $activityId = intval($params['activityId']); + $page = $params['page']; + $limit = $params['limit']; + $uname = $params['uname']; + $mobile = $params['mobile']; + $type = $params['type']; + $sort = $params['sort']; + $order = $params['order']; + $bizId = $params['bizId']; + $itemId = $params['itemId']; + $winType= $params['winType']; + !$page && $page = 1; + !$limit && $limit = 10; + $sort_order = 'id desc'; + if ($sort && $order) { + $sort_order = $sort . ' ' . $order; + } + $list = []; + $where['status'] = 1; + $where['win'] = 1; + $activityId && $where['activityId'] = $activityId; + $itemId && $where['itemId'] = $itemId; + $winType && $where['winType'] = $winType; + $uname && $where['uname LIKE "%' . trim($uname) . '%"'] = null; + $mobile && $where['mobile LIKE "%' . trim($mobile) . '%"'] = null; + strlen($type) && $where['type'] = $type; + if ($bizId) { + $res_org = $this->mdSyliveGroups->get(["groupsId" => $bizId]); + if ($res_org) { + if ($res_org['groupsLevel']) { + $levelId = 'levelId' . $res_org['groupsLevel']; + $where[$levelId] = $bizId; + } else if ($res_org['parentId']) {//门店 + $where['bizId'] = $bizId; + } + } + } + if ($limit == 10000) { + $count = $limit; + } else { + $count = $this->mdSyliveOrder->count($where); + } + if ($count) { + $winTypeAry = $this->mdSyliveOrder->winTypeAry($activityId); + $res = $this->mdSyliveOrder->select($where, $sort_order, $page, $limit); + foreach ($res as $v) { + $consultant = $this->consultantGet(['activityId' => $v['activityId'], 'userId' => $v['userId'] + , 'levelId1' => $v['levelId1'], 'levelId2' => $v['levelId2'], 'levelId3' => $v['levelId3'] + , 'bizId' => $v['bizId'], 'cfUserId' => $v['cfUserId']]); + $item = [ + 'id' => $v['id'], 'sid' => $v['sid'], 'uname' => $v['uname'], 'mobile' => $v['mobile'], 'itemTitle' => $v['itemTitle'] + , 'totalPrice' => $v['totalPrice'], 'payTime' => $v['payTime'] != '0000-00-00 00:00:00' ? $v['payTime'] : '' + , 'winTime' => $v['winTime'] ? $v['winTime'] : '', 'winName' => $winTypeAry[$v['winType']]['title'] + , 'levelName1' => $consultant['levelName1'], 'levelName2' => $consultant['levelName2'], 'levelName3' => $consultant['levelName3'] + , 'stores' => $consultant['stores'], 'consultant' => $consultant['consultant'] + ]; + if ($limit == 10000) { + $address = $biz = ''; + $jsondata = $v['jsondata'] ? json_decode($v['jsondata'], true) : []; + if ($jsondata['address']) { + $address = $jsondata['address']['region'] . $jsondata['address']['detail']; + } + if ($jsondata['biz']) { + $biz = $jsondata['biz']; + } + $item['address'] = $address; + $item['biz'] = $biz; + } + $list[] = $item; + } + } + if ($limit == 10000) { + return $list; + } else { + return ['list' => $list, 'count' => $count]; + } + } + + /** + * Notes:获取顾问信息 + * Created on: 2022/12/08 11:29 + * Created by: dengbw + * @param $params + * @return string + */ + private function consultantGet($params) + { + $stores = $consultant = $levelName1 = $levelName2 = $levelName3 = ''; + $levelId1 = intval($params['levelId1']); + $levelId2 = intval($params['levelId2']); + $levelId3 = intval($params['levelId3']); + $bizId = intval($params['bizId']); + $cfUserId = intval($params['cfUserId']); + if (!$bizId) { + $re = $this->mdSyliveActivityKpidata->get(['activityId' => $params['activityId'], 'userId' => $params['userId'], 'kpi' => 'order']); + if ($re) { + $levelId1 = $re['levelId1']; + $levelId2 = $re['levelId2']; + $levelId3 = $re['levelId3']; + $bizId = $re['bizId']; + $cfUserId = $re['cfUserId']; + } + } + $res_org = $this->mdSyliveGroups->get(["groupsId" => $bizId]); + $res_org['groupsName'] && $stores = $res_org['groupsName']; + if ($levelId1) { + $res_org = $this->mdSyliveGroups->get(["groupsId" => $levelId1]); + $res_org['groupsName'] && $levelName1 = $res_org['groupsName']; + } + if ($levelId2) { + $res_org = $this->mdSyliveGroups->get(["groupsId" => $levelId2]); + $res_org['groupsName'] && $levelName2 = $res_org['groupsName']; + } + if ($levelId3) { + $res_org = $this->mdSyliveGroups->get(["groupsId" => $levelId3]); + $res_org['groupsName'] && $levelName3 = $res_org['groupsName']; + } + $re_user = $this->mdSyliveUser->get(['userId' => $cfUserId]); + $re_user['uname'] && $consultant = $re_user['uname']; + return ['stores' => $stores, 'consultant' => $consultant, 'levelName1' => $levelName1, + 'levelName2' => $levelName2, 'levelName3' => $levelName3]; + } + +} \ No newline at end of file