diff --git a/market/controllers/api/sylive/Activity.php b/market/controllers/api/sylive/Activity.php index 398e3317..77308b19 100644 --- a/market/controllers/api/sylive/Activity.php +++ b/market/controllers/api/sylive/Activity.php @@ -22,7 +22,6 @@ class Activity extends BaseController $this->load->model('market/Market_sylive_groups_model', 'mdSyliveGroups'); $this->load->model('market/Market_sylive_groups_user_model', 'mdSyliveGroupsUser'); $this->load->model('market/Market_sylive_customer_model', 'mdSyliveCustomer'); - $this->load->model('market/Market_sylive_blacklist_model', 'mdSyliveBlacklist'); } /** @@ -62,7 +61,7 @@ class Activity extends BaseController $dateRange = $v['timeStart'] != '0000-00-00 00:00:00' ? [$v['timeStart'], $v['timeEnd']] : ''; $status = intval($v['status']); $activityId = intval($v['activityId']); - $bgImg = $channelImg = $banner = $sharePhoto = $shareImg = $shareTitle = $pay = $bottoms = $showBlacklist = []; + $bgImg = $channelImg = $banner = $sharePhoto = $shareImg = $shareTitle = $pay = $bottoms = []; $item = ['itemImg' => [], 'title' => '', 'introduction' => '', 'price' => '', 'stock' => '', 'dateRange' => '']; $coupon = ['img' => [], 'title' => '', 'rules' => '', 'price' => '', 'dateRange' => '']; $draw = ['bgImg' => [], 'sms' => '', 'screenDisplay' => 1, 'winNum' => [], 'winType' => []]; @@ -182,18 +181,12 @@ class Activity extends BaseController $tag = $jsondata['visitTag'][$k2] ? $jsondata['visitTag'][$k2] : ''; $visitTag[] = ['id' => $k2, 'title' => $v2, 'tag' => $tag]; } - if ($blacklist) { - $res_bl = $this->mdSyliveBlacklist->select(['activityId' => $activityId], 'blacklistId desc', 0, 0, 'blacklistId,mobile'); - foreach ($res_bl as $k2 => $v2) { - $showBlacklist[] = ['id' => $v2['blacklistId'], 'mobile' => $v2['mobile'], 'type' => 'show']; - } - } $list[] = [ 'activityId' => $activityId, 'title' => $v['title'], 'channelId' => $v['channelId'], 'pay' => $pay, 'organizationId' => $organizationId, 'activityStart' => $activityStart, 'shareTitle' => $shareTitle, 'dateRange' => $dateRange, 'coupon' => $coupon, 'drawCode' => $v['drawCode'], 'bgImg' => $bgImg, 'channelImg' => $channelImg, 'banner' => $banner, 'sharePhoto' => $sharePhoto, 'shareImg' => $shareImg, 'item' => $item, 'url' => $url, 'mchId' => $v['mchId'], 'protocolTitle' => $v['protocolTitle'], 'protocol' => $v['protocol'], 'serviceLink' => $serviceLink, - 'bottoms' => $bottoms, 'draw' => $draw, 'visitTag' => $visitTag, 'blacklist' => $blacklist, 'showBlacklist' => $showBlacklist, + 'bottoms' => $bottoms, 'draw' => $draw, 'visitTag' => $visitTag, 'blacklist' => $blacklist, 'signBespeak' => $signBespeak, 'barrage' => $barrage, 'button' => $button, 's_time' => $v['timeStart'], 'e_time' => $v['timeEnd'], 'status' => $status, 'groups' => $groups, 'createTime' => $v['createTime']]; } @@ -735,100 +728,4 @@ class Activity extends BaseController $this->return_response(); } - /** - * Notes:修改黑名单 - * Created on: 2023/3/03 10:08 - * Created by: dengbw - */ - public function blacklist_put() - { - $activityId = intval($this->input_param('activityId')); - if (!$activityId) { - $this->return_json('参数错误'); - } - $blacklist = $this->input_param('blacklist'); - $addDate = []; - $delId = ''; - foreach ($blacklist as $v) { - if ($v['type'] == 'add' && $v['mobile']) { - $re = $this->mdSyliveBlacklist->get(['activityId' => $activityId, 'mobile' => $v['mobile']]); - if (!$re) { - $addDate[] = ['mobile' => $v['mobile'], 'activityId' => $activityId, 'createTime' => date('Y-m-d H:i:s')]; - } - } else if ($v['type'] == 'del' && $v['id']) { - $delId = $delId ? $delId . ',' . $v['id'] : $v['id']; - } - } - if (count($addDate)) { - $this->mdSyliveBlacklist->add_batch($addDate); - } - if ($delId) { - $this->mdSyliveBlacklist->delete(["blacklistId in({$delId})" => null]); - } - $this->return_response(); - } - - /** - * Notes:导入黑名单 - * Created on: 2023/3/06 17:24 - * Created by: dengbw - * @throws PHPExcel_Exception - * @throws PHPExcel_Reader_Exception - */ - public function blacklist_import_post() - { - require_once COMMPATH . '/third_party/PHPExcel/IOFactory.php'; - $res = $this->upload(); - if (!$res['code']) { - return $this->return_json($res['message']); - } - $file = $res['path']; - if ($res['file_ext'] == '.xls') { - $reader = \PHPExcel_IOFactory::createReader('Excel5'); // 读取 excel 文档 - } elseif ($res['file_ext'] == '.xlsx') { - $reader = \PHPExcel_IOFactory::createReader('Excel2007'); // 读取 excel 文档 - } else { - return $this->return_json('文件无法识别'); - } - $PHPExcel = $reader->load($file); // 文档名称 - $objWorksheet = $PHPExcel->getActiveSheet(); - $rowCnt = $objWorksheet->getHighestRow(); //获取总行数 - if ($rowCnt > 800) { - @unlink($file); - $this->return_json('数据大于800请拆分多个表格导入'); - } - $activityId = $_POST['activityId']; - $addDate = []; - for ($_row = 2; $_row <= $rowCnt; $_row++) { //读取内容 - $mobile = $objWorksheet->getCell('A' . $_row)->getValue(); - if ($mobile) { - $re = $this->mdSyliveBlacklist->get(['activityId' => $activityId, 'mobile' => $mobile]); - if (!$re) { - $addDate[] = ['mobile' => $mobile, 'activityId' => $activityId, 'createTime' => date('Y-m-d H:i:s')]; - } - } - } - $count = count($addDate); - if ($count) { - $this->mdSyliveBlacklist->add_batch($addDate); - } - @unlink($file); - $this->return_response('', "成功新增{$count}个黑名单"); - } - - private function upload() - { - $config['upload_path'] = $_SERVER['DOCUMENT_ROOT'] . '/temp/'; - $config['allowed_types'] = '*'; - $config['max_size'] = 5120; - $config['file_name'] = 'blacklist_' . time() . rand(1, 99999); - $this->load->library('upload', $config); - if (!$this->upload->do_upload('file')) { - return ['code' => SYS_CODE_FAIL, 'message' => $this->upload->display_errors('', '')]; - } else { - $data = $this->upload->data(); - return ['code' => SYS_CODE_SUCCESS, 'path' => $data['full_path'], 'file_ext' => $data['file_ext']]; - } - } - -} \ No newline at end of file +} diff --git a/market/controllers/api/sylive/Blacklist.php b/market/controllers/api/sylive/Blacklist.php new file mode 100644 index 00000000..223861ea --- /dev/null +++ b/market/controllers/api/sylive/Blacklist.php @@ -0,0 +1,182 @@ +load->model('market/Market_sylive_blacklist_model', 'mdSyliveBlacklist'); + } + + /** + * Notes:黑名单管理列表 + * Created on: 2022/9/20 14:48 + * Created by: dengbw + */ + public function page_get() + { + $activityId = intval($this->input_param('activityId')); + $mobile = $this->input_param('mobile'); + $page = $this->input_param('page'); + $limit = $this->input_param('limit'); + $sort = $this->input_param('sort'); + $order = $this->input_param('order'); + !$page && $page = 1; + !$limit && $limit = 10; + $sort_order = 'blacklistId desc'; + if ($sort && $order) { + $sort_order = $sort . ' ' . $order; + } + $where['blacklistId>'] = 0; + $mobile && $where['mobile LIKE "%' . trim($mobile) . '%"'] = null; + $activityId && $where['activityId'] = $activityId; + $count = $this->mdSyliveBlacklist->count($where); + $list = []; + if ($count) { + $res = $this->mdSyliveBlacklist->select($where, $sort_order, $page, $limit); + foreach ($res as $v) { + $list[] = ['blacklistId' => $v['blacklistId'], 'activityId' => $v['activityId'], + 'mobile' => $v['mobile'], 'createTime' => $v['createTime']]; + } + } + $date = ['list' => $list, 'count' => $count]; + $this->return_response_list($date); + } + + /** + * Notes:添加黑名单 + * Created on: 2022/10/21 16:46 + * Created by: dengbw + */ + public function index_post() + { + $activityId = intval($this->input_param('activityId')); + $mobile = $this->input_param('mobile'); + if (!$activityId) { + $this->return_json('参数错误'); + } + if (!$mobile) { + $this->return_json('请输入手机号'); + } + $re = $this->mdSyliveBlacklist->get(['activityId' => $activityId,'mobile' => $mobile]); + if ($re) { + $this->return_json('手机号已在黑名单中'); + } + $addDate = ['activityId' => $activityId, 'mobile' => $mobile, 'createTime' => date('Y-m-d H:i:s')]; + $id = $this->mdSyliveBlacklist->add($addDate); + if (!$id) { + $this->return_json('添加黑名单失败'); + } + $this->return_response(); + } + + /** + * Notes:修改黑名单 + * Created on: 2022/10/21 14:48 + * Created by: dengbw + */ + public function index_put() + { + $blacklistId = intval($this->input_param('blacklistId')); + $mobile = $this->input_param('mobile'); + if (!$blacklistId) { + $this->return_json('参数错误'); + } + if (!$mobile) { + $this->return_json('请输入黑名单标题'); + } + $upDate = ['mobile' => $mobile]; + $this->mdSyliveBlacklist->update($upDate, ['blacklistId' => $blacklistId]); + $this->return_response(); + } + + /** + * Notes:批量删除黑名单 + * Created on: 2022/10/21 17:11 + * Created by: dengbw + */ + public function batch_delete() + { + $ids = $this->input_param('ids'); + if (!$ids) { + $this->return_json('参数错误'); + } + $str_ids = implode(',', $ids); + if ($str_ids) { + $this->mdSyliveBlacklist->delete(["blacklistId in($str_ids)" => null]); + } + $this->return_response(); + } + + /** + * Notes:导入黑名单 + * Created on: 2023/3/06 17:24 + * Created by: dengbw + * @throws PHPExcel_Exception + * @throws PHPExcel_Reader_Exception + */ + public function import_post() + { + require_once COMMPATH . '/third_party/PHPExcel/IOFactory.php'; + $res = $this->upload(); + if (!$res['code']) { + return $this->return_json($res['message']); + } + $file = $res['path']; + if ($res['file_ext'] == '.xls') { + $reader = \PHPExcel_IOFactory::createReader('Excel5'); // 读取 excel 文档 + } elseif ($res['file_ext'] == '.xlsx') { + $reader = \PHPExcel_IOFactory::createReader('Excel2007'); // 读取 excel 文档 + } else { + return $this->return_json('文件无法识别'); + } + $PHPExcel = $reader->load($file); // 文档名称 + $objWorksheet = $PHPExcel->getActiveSheet(); + $rowCnt = $objWorksheet->getHighestRow(); //获取总行数 + if ($rowCnt > 800) { + @unlink($file); + $this->return_json('数据大于800请拆分多个表格导入'); + } + $activityId = $_POST['activityId']; + $addDate = []; + for ($_row = 2; $_row <= $rowCnt; $_row++) { //读取内容 + $mobile = $objWorksheet->getCell('A' . $_row)->getValue(); + if ($mobile) { + $re = $this->mdSyliveBlacklist->get(['activityId' => $activityId, 'mobile' => $mobile]); + if (!$re) { + $addDate[] = ['mobile' => $mobile, 'activityId' => $activityId, 'createTime' => date('Y-m-d H:i:s')]; + } + } + } + $count = count($addDate); + if ($count) { + $this->mdSyliveBlacklist->add_batch($addDate); + } + @unlink($file); + $this->return_response('', "成功新增{$count}个黑名单"); + } + + private function upload() + { + $config['upload_path'] = $_SERVER['DOCUMENT_ROOT'] . '/temp/'; + $config['allowed_types'] = '*'; + $config['max_size'] = 5120; + $config['file_name'] = 'blacklist_' . time() . rand(1, 99999); + $this->load->library('upload', $config); + if (!$this->upload->do_upload('file')) { + return ['code' => SYS_CODE_FAIL, 'message' => $this->upload->display_errors('', '')]; + } else { + $data = $this->upload->data(); + return ['code' => SYS_CODE_SUCCESS, 'path' => $data['full_path'], 'file_ext' => $data['file_ext']]; + } + } + +}