周大胖子 发表于 2022-6-8 15:07:27

CRMEB 改动详解

1. 添加adminapi 【就是后台管理接口】 相关文件操作:
   
                         添加路由:    app\adminapi\route\cards.php

                         添加控制器:    app\adminapi\controller\v1\cards\CardsController.php [咱就说其实咱不理解他另外的控制器都干啥,索性都删了照着tp6手册再写一个控制器]

                         添加表模型:    app\adminapi\route\cards.php   [同理 全删了 ,就写一个最简单的模型]


2.添加无权限、不需要登录的接口


                         添加路由:    app\api\route\v1.php

                         修改控制器:app\api\controller\v1\PublicController.php   【为什么在这里修改呢,因为这里方便啊,不用登录 不用判断权限 】

                         引入表模型


3.导出如何做

                     添加路由:    一般是后台 所以 看地方吧 注意是GET

                     在自己的控制器里 引入表模型:    use app\services\other\export\ExportServices;

                     修改ExportServices模型 :   复制上面的方法 新增一个方法,[按照上面的数据字段一通改 ]

                     在自己的控制器里调用此方法,并且传入要导出的数据



// 导出
    public function exp(){

      $exchange_state_arr = ['','未发放','发放未兑换','已兑换','作废','状态异常'];
      $card_type_arr = ['','188优级','288特级','388桃王'];
      $logistics_type_arr = ['','已发货','未发货'];

      $where = $this->request->getMore([
            ['exchange_state', ''],
            ['logistics_type', '']
      ]);

      // $where = [];

      // Request::param('type') && $where[]=array(['card_type','=',Request::param('type')]);
      // Request::param('status') && $where[]=array(['exchange_state','=',Request::param('status')]);
      // Request::param('logistics_type') && $where[]=array(['logistics_type','=',Request::param('logistics_type')]);   
      
      $ids = $this->request->get('ids');
      if ($ids) {
            $idsArr = array_filter(explode(',', $ids));
            if ($idsArr) {
                $where['id'] = $idsArr;
            }
      }
      // var_dump($where);
      $data = CardsExchangeServices::where($where)->select();
      
      $timeDate = Request::param('data');// 这是时间查询
      $timearr ;
      if(Request::param('data') ){
            $timearr = explode('-',$timeDate);
            $data = CardsExchangeServices::where($where)->whereBetweenTime('exchange_time', $timearr,$timearr)->select(); // 如果是时间查询就覆盖掉

      }
      
      foreach ($data as $key => $v) {
            $v->exchange_state && $v->exchange_state = $exchange_state_arr[$v->exchange_state];
            $v->card_type && $v->card_type = $card_type_arr[$v->card_type];
            $v->logistics_type && $v->logistics_type = $logistics_type_arr[$v->logistics_type];
            $v->logistics_home = ' ';
      }

      $e = new ExportServices;
      return app('json')->success(   $e->expCards($data));

    }
   







页: [1]
查看完整版本: CRMEB 改动详解