| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 | <?phpnamespace App\Http\Controllers\Channel\Notice;use App\Http\Controllers\Channel\BaseController;use App\Http\Controllers\Channel\Notice\Transformers\NoticeTransformer;use App\Http\Controllers\Channel\Notice\Transformers\SimpleNoticeTransformer;use App\Modules\Channel\Services\ChannelService;use App\Modules\Notice\Services\fansLimitNoticeService;use App\Modules\Notice\Services\NoticeService;use Illuminate\Http\Request;class NoticesController extends BaseController{    /**     * @apiDefine Notice 公告     */    /**     * @apiVersion 1.0.0     * @apiDescription 获取公告列表     * @api {GET} notices 获取公告列表     * @apiGroup Notice     * @apiName notices     * @apiParam   {Number}  [notice_type_id] 公告分类id.(可不传,不传获取所有分类公告)     * @apiParam   {Number}  [status] 状态.0:正常状态; -1:删除   (可不传,不传获取所有分类公告)     * @apiSuccess {Number}  id 公告ID.     * @apiSuccess {String}  is_popup 是否弹出. 0:普通;1:弹框;     * @apiSuccess {String}  title 标题.     * @apiSuccess {String}  content 内容.     * @apiSuccess {status}  status 状态.0:正常状态; -1:删除     * @apiSuccess {String}  updated_time 更新时间.     * @apiSuccess {String}  type_name 类型名称     * @apiSuccess {Number}  type_id 类型ID     * @apiSuccessExample {json} Success-Response:     *     *     {     *         "code": 0,     *         "msg": "",     *         "data":     *         {     *             "list":[     *                 {     *                     "id": "121",     *                     "is_popup": "1",     *                     "title": "1212-12-12-12",     *                     "content": "对不起,我爱你",     *                     "status": 0,     *                     "updated_time": "2017-12-12 12:12:12"     *                     "type_name": "测试类型",     *                     "type_id": 1     *                 }     *             ],     *             "meta":{     *                 "total"=>224,     *                 "per_page"=>15,     *                 "current_page"=>1,     *                 "last_page"=>15,     *                 "next_page_url"=>"",     *                 "prev_page_url"=>""     *             }     *         }     *     }     */    function get_list(Request $request)    {        $notice_type_id = $request->has('notice_type_id') && $request->input('notice_type_id') ? $request->input('notice_type_id') : null;        $status = $request->has('status') && $request->input('status') ? $request->input('status') : null;        $status = 0;        $notices = NoticeService::getAllNoticeList($notice_type_id, $status);        return response()->pagination(new NoticeTransformer(), $notices);    }    //获取简易的通知列表    function get_simple_list(Request $request)    {        $notice_type_id = $request->has('notice_type_id') && $request->input('notice_type_id') ? $request->input('notice_type_id') : null;        $status = $request->has('status') && $request->input('status') ? $request->input('status') : null;        $status = 0;        $notices = NoticeService::getSimpleNoticeList($notice_type_id, $status);        return response()->pagination(new SimpleNoticeTransformer(), $notices);    }    /**     * @apiVersion 1.0.0     * @apiDescription 获取一个公告     * @api {get} getNotice 获取一个公告     * @apiGroup Notice     * @apiName getNotice     * @apiParam   {Number}  id 公告ID.     * @apiSuccess {String}  is_popup 是否弹出. 0:普通;1:弹框;     * @apiSuccess {String}  title 标题.     * @apiSuccess {String}  content 内容.     * @apiSuccess {status}  status 状态.0:正常状态; -1:删除     * @apiSuccess {String}  updated_time 更新时间.     * @apiSuccess {String}  type_name 类型名称     * @apiSuccess {Number}  type_id 类型ID     * @apiSuccessExample {json} Success-Response:     *     {     *         "code": 0,     *         "msg": "",     *         "data":{     *                     "id": "121",     *                     "is_popup": "1",     *                     "title": "1212-12-12-12",     *                     "content": "对不起,我爱你",     *                     "status": 0,     *                     "updated_time": "2017-12-12 12:12:12"     *                     "type_name": "测试类型",     *                     "type_id": 1     *                 }     *     }     */    function get_notice(Request $request) {        $id = $request->has('id') ? $request->input('id') : '';        if(!is_numeric($id)) {            return response()->error("PARAM_ERROR");        }        $notice = NoticeService::getNotice($id);        if(empty($notice)) {            return response()->error("PARAM_ERROR");        }        return response()->item(new NoticeTransformer(), $notice);    }    public function getfansLimitNotice(){        $channel_user_id = $this->getChannelUserId();        if(!$channel_user_id) return response()->error('PARAM_ERROR');        $distribution_channel_ids = ChannelService::getUserChannelIds($channel_user_id);        $notice = fansLimitNoticeService::getAllOfficialAccountsLimit($distribution_channel_ids);        $data=[];        if(!$notice->isEmpty()){            $official_accounts = [];            foreach ($notice as $item){                $official_accounts[] = $item->account_nickname;                $item->is_read=1;                $item->save();            }            $official_accounts = implode(',',$official_accounts);            $data = [                'title'=>'阈值提醒',                'contents'=>"站点服务号{$official_accounts}今日增粉阈值0,请关注服务号解封情况!解封后请前往系统设置-服务号设置-编辑,调高日关注上限!"            ];            return response()->success($data);        }        return response()->success($data);    }}
 |