| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291 |
- <?php
- namespace addons\Album\api\modules\v1\controllers;
- use addons\Album\common\models\AddonsAlbum;
- use addons\Album\common\models\AddonsAlbumDateStatistics;
- use addons\Album\common\models\AddonsAlbumPage;
- use addons\Album\common\models\AddonsAlbumStatistics;
- use addons\Album\common\models\AddonsAlbumVisit;
- use common\enums\AddonsEnum;
- use common\enums\StatusEnum;
- use common\models\goods\Goods;
- use common\models\order\Order;
- use common\models\order\OrderDetail;
- use Yii;
- use api\controllers\OnAuthController;
- use yii\db\Exception;
- /**
- * 默认控制器
- *
- * Class DefaultController
- * @package addons\Album\api\modules\v1\controllers
- */
- class DefaultController extends OnAuthController
- {
- public $modelClass = '';
- /**
- * 不用进行登录验证的方法
- *
- * 例如: ['index', 'update', 'create', 'view', 'delete']
- * 默认全部需要验证
- *
- * @var array
- */
- protected $authOptional = ['index','order','detail','visit'];
- /**
- * @Author: ltm 相册首页
- * @DateTime: 2022/2/17 0017 10:34
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $data
- * @return string
- */
- public function actionIndex()
- {
- $retuest = Yii::$app->request;
- if ($retuest->isGet) {
- $params = Yii::$app->request->get();
- $res = Yii::$app->services->validate->validate($params, [
- [['page'],'safe']
- ]);
- $params = AddonsAlbum::exceptNullVal($params);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $where[] = ['=', 'mall_id', $this->mall_id];
- $where[] = ['>=','status',StatusEnum::DISABLED];
- $order = 'id desc';
- $params = array('where' => $where, 'order'=>$order);
- $params['select'] = 'id,title,album_image';
- $params['limit'] = 15;
- $list = AddonsAlbum::listPage($params, false, true);
- $this->success('操作成功', $list);
- }
- }
- /**
- * @Author: ltm 相册详细
- * @DateTime: 2022/2/17 0017 15:51
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $data
- * @return string
- */
- public function actionDetail(){
- $retuest = Yii::$app->request;
- if ($retuest->isGet) {
- $params = Yii::$app->request->get();
- $res = Yii::$app->services->validate->validate($params, [
- [['album_id'],'required'],
- [['page','pid','album_page_id'],'safe'],
- ]);
- $params = AddonsAlbum::exceptNullVal($params);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $where[] = ['=', 'id', $params['album_id']];
- $detail = AddonsAlbum::getOne($where, true,['user']);
- $page_where[] = ['=','album_id',$params['album_id']];
- $page_where[] = ['=','status',StatusEnum::ENABLED];
- $params_data = array('where' => $page_where,'limit'=>12,'order' => 'sort');
- $page_data = AddonsAlbumPage::listPage($params_data,false,true);
- if($page_data){
- foreach ($page_data['list'] as $k => $v){
- if($v['goods_ids']){
- $goods_ids = explode(',',$v['goods_ids']);
- $goods_where = [];
- $goods_where[] = ['in','id',$goods_ids];
- $select = "goods_name,price,original_price,cover_pic,bannar_pic,stock,status,sales_num,virtual_sales,id";
- $goods_list = Goods::lists(['where' => $goods_where,'select' => $select],true);
- $page_data['list'][$k]['goods_list'] = $goods_list;
- $page_data['list'][$k]['goods_ids'] = $goods_ids;
- }else{
- $page_data['list'][$k]['goods_list'] = [];
- $page_data['list'][$k]['goods_ids'] = [];
- }
- }
- }
- if($detail['goods_ids']){
- if($detail['goods_ids']){
- $goods_ids = explode(',',$detail['goods_ids']);
- $goods_where = [];
- $goods_where[] = ['in','id',$goods_ids];
- $goods_list = Goods::lists(['where' => $goods_where],true);
- $page_data['goods_list'] = $goods_list;
- $page_data['goods_ids'] = $goods_ids;
- }else{
- $page_data['goods_list'] = [];
- $page_data['goods_ids'] = [];
- }
- }
- $list = array_merge($detail,$page_data);
- //统计分享
- // if(!empty($params['pid'])&&!empty(album_page_id)){
- // $params['mall_id'] = $this->mall_id;
- // //记录会员的访问记录
- // $params['user_id'] = $this->user_id;
- // $params['type'] = 'shares_click'; //views //shares
- // $res = AddonsAlbumVisit::handle($params);
- // }
- $this->success('操作成功', $list);
- }
- }
- /**
- * @Author: ltm 上一页下一页
- * @DateTime: 2022/2/17 0017 15:56
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $data
- * @return string
- */
- public function actionPage(){
- $retuest = Yii::$app->request;
- if ($retuest->isGet) {
- $params = Yii::$app->request->get();
- $res = Yii::$app->services->validate->validate($params, [
- [['album_id','page'],'required']
- ]);
- $params = AddonsAlbum::exceptNullVal($params);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $where[] = ['=','album_id',$params['album_id']];
- $params_data = array('where' => $where,'limit'=>1);
- $page_data = AddonsAlbumPage::listPage($params_data,false,true);
- if($page_data){
- foreach ($page_data['list'] as $k => $v){
- if($v['goods_ids']){
- $goods_ids = explode(',',$v['goods_ids']);
- $goods_where = [];
- $goods_where[] = ['in','id',$goods_ids];
- $select = "goods_name,price,original_price,cover_pic,bannar_pic,stock,status";
- $goods_list = Goods::lists(['where' => $goods_where,'select' => $select],true);
- $page_data['list'][$k]['goods_list'] = $goods_list;
- $page_data['list'][$k]['goods_ids'] = $goods_ids;
- }else{
- $page_data['list'][$k]['goods_list'] = [];
- $page_data['list'][$k]['goods_ids'] = [];
- }
- }
- }
- $this->success('操作成功', $page_data);
- }
- }
- /**
- * @Author: ltm 访问画册
- * @DateTime: 2022/2/17 0017 15:46
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $data
- * @return string
- */
- public function actionVisit(){
- $retuest = Yii::$app->request;
- if ($retuest->isGet) {
- $params = Yii::$app->request->get();
- $res = Yii::$app->services->validate->validate($params, [
- [['album_id','album_page_id','post_type'],'required'],
- ]);
- $params = AddonsAlbumVisit::exceptNullVal($params);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $params['mall_id'] = $this->mall_id;
- //记录会员的访问记录
- $params['user_id'] = $this->user_id;
- $params['type'] = 'views'; //views //shares
- $res = AddonsAlbumVisit::handle($params);
- if ($res === false) throw new Exception(AddonsAlbumVisit::getStaticError());
- $this->success('操作成功');
- }
- }
- /**
- * @Author: ltm 商品访问
- * @DateTime: 2022/2/17 0017 15:46
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $data
- * @return string
- */
- public function actionVisitGoods(){
- $retuest = Yii::$app->request;
- if ($retuest->isGet) {
- $params = Yii::$app->request->get();
- $res = Yii::$app->services->validate->validate($params, [
- [['album_id','album_page_id','goods_id','type'],'required'],
- ]);
- $params = AddonsAlbumVisit::exceptNullVal($params);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $params['mall_id'] = $this->mall_id;
- //记录会员的访问记录
- $params['user_id'] = $this->user_id;
- if($params['type'] == 'goods_views'){
- $params['type'] = 'goods_views';
- }else{
- $params['type'] = 'goods_click';
- }
- $res = AddonsAlbumVisit::handle($params);
- if ($res === false) throw new Exception(AddonsAlbumVisit::getStaticError());
- $this->success('操作成功');
- }
- }
- /**
- * @Author: ltm
- * @DateTime: 2022/2/21 0021 14:05
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $data
- * @return string
- */
- public function actionShare(){
- $retuest = Yii::$app->request;
- if ($retuest->isGet) {
- $params = Yii::$app->request->get();
- $res = Yii::$app->services->validate->validate($params, [
- [['album_id', 'album_page_id','type'], 'required'],
- ]);
- $params = AddonsAlbumVisit::exceptNullVal($params);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $params['mall_id'] = $this->mall_id;
- //记录会员的访问记录
- $params['user_id'] = $this->user_id;
- if($params['type'] == 'shares'){
- $params['type'] = 'shares'; //views //shares
- }else{
- $params['type'] = 'shares_click'; //views //shares
- }
- $res = AddonsAlbumVisit::handle($params);
- if ($res === false) throw new Exception(AddonsAlbumVisit::getStaticError());
- $this->success('操作成功');
- }
- }
- /**
- * @Author: ltm 测试接口
- * @DateTime: 2022/2/17 0017 16:34
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $data
- * @return string
- */
- public function actionOrder(){
- // 查询订单
- $id = 6843;
- $order = Order::findOne(['id' => $id])->toArray();
- $user_id = $order['user_id'];
- $album = AddonsAlbumVisit::find()->orderBy('updated_at desc')->where(['user_id' => $user_id,'mall_id' => $order['mall_id']])->asArray()->one();
- if($order['marketing_type'] == AddonsEnum::ADDONS_NAME_ALBUM) {
- $detail_where['where'][] = ['order_id' => $order['id']];
- $detail_where['select'] = 'goods_id,price,num,id';
- $order_detail = OrderDetail::lists($detail_where);
- if ($order_detail) {
- foreach ($order_detail as $k => $v) {
- $params['goods_id'] = $v['goods_id'];
- $params['price'] = $v['price'];
- $params['order_detail_id'] = $v['id'];
- }
- }
- $params['order_count'] = 1;
- $params['album_id'] = $album['album_id'];
- $params['user_id'] = $album['user_id'];
- $params['album_page_id'] = $album['album_page_id'];
- $params['pay_count'] = 1;
- $params['order_id'] = $order['id'];
- $params['goods_amount'] = $order['pay_money'];
- $params['amount'] = $order['pay_money'];
- $params['mall_id'] = $order['mall_id'];
- $params['type'] = 'order';
- $res = AddonsAlbumVisit::handle($params);
- }
- }
- }
|