123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- <?php
- /**
- * Created by PhpStorm.
- * User: hp
- * Date: 2017/11/20
- * Time: 16:17
- */
- namespace App\Http\Controllers\Manage\SendOrder;
- use App\Http\Controllers\Controller;
- use App\Http\Controllers\Manage\SendOrder\Transformers\HeadlinelTransformer;
- use App\Modules\Promotion\Models\Headline;
- use App\Modules\Promotion\Services\PromotionService;
- use DB;
- use Illuminate\Http\Request;
- class HeadlineController extends Controller
- {
- /**
- * 标题
- */
- /**
- * @api {post} SendOrder/uploadHeadlins 导入标题
- * @apiParam {File} [headlines] 标题文件
- * @apiSuccessExample {json} Success-Response:
- *
- * {
- * "code": 0,
- * "msg": "",
- * "data":[]
- * }
- */
- function uploadHeadlins(Request $request)
- {
- if (!$request->hasFile('file')) {
- return response()->error('PARAM_EMPTY');
- }
- $file = $request->file('file');
- $currentIndex = 0;
- if (null != $file) {
- $file_name = date('YmdHis') . '.csv';
- $path = $request->file->storeAs('file', $file_name);
- $path = storage_path('app/' . $path);
- $file = fopen($path, "r");
- $serial_number = Headline::getMaxSerialNumber();
- while ($data = fgetcsv($file)) {
- if ($currentIndex > 0) {
- \Log::info($data);
- $title = mb_convert_encoding(trim($data[0]), "UTF-8", "GBK");
- $category = mb_convert_encoding(trim($data[1]), "UTF-8", "GBK");
- $remark = mb_convert_encoding(trim($data[2]), "UTF-8", "GBK");
- $type = mb_convert_encoding(trim($data[3]), "UTF-8", "GBK");
- $quality = mb_convert_encoding(trim($data[4]), "UTF-8", "GBK");
- $serial_number = $serial_number + 1;
- if (!$title || !$remark || !$category || !$serial_number || !$quality || !$type) {
- return response()->error('PARAM_EMPTY');
- }
- Headline::addHeadline(compact('title', 'category', 'remark', 'type', 'quality', 'serial_number'));
- }
- $currentIndex++;
- }
- return response()->success();
- }
- }
- /**
- * @api {post} SendOrder/deleteHeadlines 删除标题
- * @apiParam {Number} [id] 标题id(可不传,多个之间用逗号隔开)
- * @apiSuccessExample {json} Success-Response:
- *
- * {
- * "code": 0,
- * "msg": "",
- * "data":[]
- * }
- */
- function deleteHeadlines(Request $request)
- {
- $id = $request->has('id') ? $request->input('id') : '';
- if (empty($id)) {
- return response()->error("PARAM_EMPTY");
- }
- $ids = explode(',', $id);
- $result = Headline::delHeadlines($ids);
- if ($result) {
- return response()->success();
- }
- }
- /**
- * @api {GET} sendOrder/getHeadlines 获取标题
- * @apiParam {Number} [id] 标题id(可不传)
- * @apiParam {String} [remark] 标题的备注(可不传)
- * @apiParam {String} [quality] 质量(可不传)
- * @apiParam {Number} [type] 类型(1: 推文标题, 2:客服专用)(可不传)
- *
- * @apiSuccess {Number} id 标题id.
- * @apiSuccess {String} title 标题内容id
- * @apiSuccess {String} category 类型(男频、女频)
- * @apiSuccess {String} remark 备注
- * @apiSuccess {Number} serial_number 序号
- * @apiSuccess {String} updated_at 更新时间
- * @apiSuccess {String} created_at 创建时间
- * @apiSuccessExample {json} Success-Response:
- *
- * {
- * "code": 0,
- * "msg": "",
- * "data": [
- * {
- * "id": 5,
- * "title": "标题111",
- * "category": "男频",
- * "remark": "1",
- * "serial_number": 11111,
- * "updated_at": "2018-08-22 14:14:20",
- * "created_at": "2018-08-22 14:14:20"
- * },
- * {
- * "id": 6,
- * "title": "标题2222",
- * "category": "女频",
- * "remark": "2",
- * "serial_number": 111111,
- * "updated_at": "2018-08-22 14:14:20",
- * "created_at": "2018-08-22 14:14:20"
- * }
- * ],
- * "meta": {
- * "total": 1,
- * "per_page": 15,
- * "current_page": 1,
- * "last_page": 1,
- * "next_page_url": "",
- * "prev_page_url": ""
- * }
- * }
- */
- function getHeadlines(Request $request)
- {
- $id = $request->has('id') ? $request->input('id') : '';
- $remark = $request->has('remark') ? $request->input('remark') : '';
- $title = $request->has('title') ? $request->input('title') : '';
- $type = $request->has('type') ? $request->input('type') : '';
- $category = $request->has('category') ? $request->input('category') : '';
- $quality = $request->has('quality') ? $request->input('quality') : '';
- $param = [];
- if ($id) {
- $param['id'] = $id;
- }
- if ($remark) {
- $param['remark'] = $remark;
- }
- if ($title){
- $param['title'] = $title;
- }
- if ($type) {
- $param['type'] = $type;
- }
- if ($category) {
- $param['category'] = $category;
- }
- if ($quality) {
- $param['quality'] = $quality;
- }
- $result = PromotionService::getHeadlineByParams($param);
- return response()->pagination(new HeadlinelTransformer(), $result);
- }
- }
|