store_id = get_store_id(); $liveForm->page = get_params('pageNo',1); $liveForm->limit = get_params('pageSize',10); $res = $liveForm->getLiveList(); if ($res['errcode'] == 0) { foreach ($res['room_info'] as $k=>$v){ $res['room_info'][$k]['start_time'] = date('Y-m-d H:i:s',$res['room_info'][$k]['start_time']); $res['room_info'][$k]['end_time'] = date('Y-m-d H:i:s',$res['room_info'][$k]['end_time']); } } return [ 'code' => 0, 'data' => [ 'list' => $res['errcode'] == 0 ? $res['room_info'] : [], 'total' => $res['total'], 'pageNo' => get_params('pageNo',1), 'pageSize' => get_params('pageSize',10) ] ]; } /** * @return array|string * 添加直播间 */ public function actionEdit() { $data = post_params(); $liveForm = new LiveDetailForm(); $liveForm->store_id = get_store_id(); $liveForm->data = $data; $res = $liveForm->submitLive(); if ($res['errcode'] == 0) { return [ 'code' => 0, 'msg' => '添加成功' ]; } $errorMsg = $res['errmsg']; if (strpos($errorMsg, 'startTime or endTime is invalid') !== false) { $errorMsg = '开播时间需要在当前时间的10分钟后 并且 开始时间不能在 6 个月后,开播时间和结束时间间隔不得短于30分钟,不得超过24小时'; } if (strpos($errorMsg, 'name length is invalid') !== false) { $errorMsg = '直播间名字,最短3个汉字,最长17个汉字,1个汉字相当于2个字符'; } return [ 'code' => 1, 'msg' => $errorMsg, ]; } public function actionDelete() { $liveForm = new LiveDetailForm(); $liveForm->store_id = get_store_id(); $liveForm->roomId = post_params('roomId'); $res = $liveForm->deleteRoom(); if ($res['errcode'] == 0) { return [ 'code' => 0, 'msg' => '删除成功' ]; } return [ 'code' => 1, 'msg' => $res['errmsg'] ]; } /** * 直播间添加商品 */ public function actionGoodsAdd () { $data = post_params(); $liveForm = new LiveDetailForm(); $liveForm->store_id = get_store_id(); $liveForm->goods_id = $data['goods_group']; $liveForm->roomId = $data['roomId']; $res = $liveForm->addGoods(); if ($res['errcode'] == 0) { return [ 'code' => 0, 'msg' => '添加成功' ]; } return [ 'code' => 1, 'msg' => $res['errmsg'] ]; } /** * 回放列表 */ public function actionHuifang () { $liveForm = new LiveDetailForm(); $liveForm->store_id = get_store_id(); $liveForm->roomid = get_params('roomid',0); $res = $liveForm->getHuifang(); return [ 'code' => 0, 'data' => [ 'list' => $res['errcode'] == 0 ? $res['live_replay'] : [] ] ]; } /** * 获取media */ public function actionGetMedia () { $liveForm = new LiveDetailForm(); $liveForm->store_id = get_store_id(); $liveForm->file = get_params('img_url'); $res = $liveForm->getMedia(); if (!empty($res['errcode'])) { return [ 'code' => 1, 'msg' => '网络异常,请稍后再试', ]; } return [ 'code' => 0, 'data' => $res ]; } /** * 获取已经审核通过的商品列表 * @return array * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException * @throws \GuzzleHttp\Exception\GuzzleException */ public function actionGetGoods() { $liveForm = new LiveDetailForm(); $liveForm->store_id = get_store_id(); $liveForm->page = get_params('pageNo',1); $liveForm->limit = get_params('pageSize',10); $res = $liveForm->getGoodsList(); if ($res['errcode'] == 0) { return [ 'code' => 0, 'data' => [ 'total' => $res['total'], 'list' => $res['goods'], ] ]; } return [ 'code' => 1, 'msg' => $res['errmsg'] ]; } /* begin 2023/12/11 16:53:03 WPing丶 */ /** * 模块名:actionLiveRoomPurviewEdit * 代码描述:直播间权限修改 * 作者:WPing丶 * 请求方式:GET/POST * 创建时间:2023/12/11 16:53:45 * @param int room_id 直播间ID * @param int type 可见范围:0=所有人;1=指定用户;2=指定会员; * @param array user_id 用户ID * @param array level_id 会员等级ID */ public function actionLiveRoomPurviewEdit() { $request = \Yii::$app->request; $store_id = get_store_id(); if($request->isGet) {//获取 $room_id = get_params('room_id'); $lrp = LiveRoomPurview::findOne(['room_id' => $room_id, 'store_id' => $store_id, 'is_delete' => 0]); $checked_level = explode(',', $lrp->level_id); $level_list = Level::find()->where(['store_id' => $store_id, 'is_delete' => 0, 'status' => 1])->select('id,name')->asArray()->all(); foreach($level_list as &$level) { if(in_array($level['id'], $checked_level)) { $level['checked'] = 1; } else { $level['checked'] = 0; } } $user_checked_list = []; $checked_user = explode(',', $lrp->user_id); if(count($checked_user) > 0) { $user_checked_list = User::find()->alias('u') ->leftJoin(['su' => SaasUser::tableName()], 'su.mobile = u.binding') ->where(['u.id' => $checked_user]) ->select('u.id,su.name,su.avatar') ->asArray()->all(); } return [ 'code' => 0, 'data' => [ 'level_list' => $level_list, 'checked_level' => $checked_level, 'type' => $lrp->type, 'user_checked_list' => $user_checked_list, ] ]; } if ($request->isPost){//保存 $post_params = post_params(); $lrp = LiveRoomPurview::findOne(['room_id' => $post_params['room_id'], 'store_id' => $store_id, 'is_delete' => 0]); if(!$lrp) { $lrp = new LiveRoomPurview(); $lrp->room_id = $post_params['room_id']; $lrp->store_id = $store_id; } $lrp->type = $post_params['type']; $lrp->user_id = implode(',',$post_params['user_list']); $lrp->level_id = implode(',',$post_params['level_list']); if(!$lrp->save()) { return [ 'code' => 1, 'msg' => '修改失败' ]; } return [ 'code' => 0, 'msg' => '修改成功' ]; } } /* end */ }