// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\store\controller; use app\common\model\store\StoreSettle; use think\response\Json; use app\store\model\Store as StoreModel; use app\common\model\Channel; use app\common\model\PriceSet; /** * 商家中心控制器 * Class Store * @package app\store\controller */ class Store extends Controller { /** * 获取当前登录的商城信息 * @return Json */ public function info(): Json { // 商城详情 $model = StoreModel::detail($this->storeId); return $this->renderSuccess(['storeInfo' => $model]); } /** * 更新商城信息 * @return Json */ public function update(): Json { // 商城详情 $model = StoreModel::detail($this->storeId); // 更新记录 if (!$model->edit($this->postForm())) { return $this->renderError($model->getError() ?: '更新失败'); } return $this->renderSuccess('更新成功'); } /** * 门店入驻列表 */ public function settleList(): Json { $list = StoreSettle::where('store_id', '=', $this->storeId) ->order('created_at','desc') ->paginate(10); return $this->renderSuccess(compact('list')); } /** * 门店入驻详情 */ public function settleDetail(int $id): Json { $detail = StoreSettle::get($id); return $this->renderSuccess(compact('detail')); } /** * 审核商城 * @param int $storeId * @return Json */ public function platformList(): Json { //$list = Channel::withoutGlobalScope()->where('status', 1)->whereIn('code',['jd','sn','zy','xqtx'])->select(); //$list = Channel::withoutGlobalScope()->where('status', 1)->whereIn('code',['zy'])->select(); $list = Channel::withoutGlobalScope()->where('status', 1)->select(); $platformList = []; foreach ($list as $key => $value) { //$platformList[$value['code']] = $value['name']; $platformList[$value['code']] = $value['alias']; } //$platformList = config('app.platformList'); return $this->renderSuccess($platformList); } public function setStorePrice(): Json { $params = $this->request->param(); $storeid = $this->storeId; // var_dump($params); // exit(); //先删除 PriceSet::where('store_id', $storeid)->where('type', $params['type'] ?? 0)->delete(); $inDatas = []; foreach ($params['list'] as $value) { $categorys = explode(",", $value['category']); foreach ($categorys as $category) { foreach ($value['price_list'] as $price) { $temp = [ 'category' => $value['category'], 'code' => $category, 'store_id' => $storeid, 'type' => $params['type'], 'min' => $price['min'], 'max' => $price['max'], 'add_price_rate' => $price['add_price_rate'], 'create_time' => time(), 'update_time' => time(), ]; $inDatas[] = $temp; } } } // echo "
";
        // print_r($inDatas);
        // exit();
        $model = new PriceSet;
        $model->addAll($inDatas);
        return $this->renderSuccess('ok');
    }

    //加个设置回显
    public function getStorePriceInfo(int $type): Json
    {
        $storeid = $this->storeId;
        $list = PriceSet::where('store_id', $storeid)->where('type', $type)->field('category,code,min,max,add_price_rate')->group("category, min")->select()->toArray();
        $data = [];
        $arr = [];
        foreach ($list as $value) {
            $arr[$value['category']][] = $value;
        }
        foreach ($arr as $key => $item) {
            $data['list'][] = [
                'category' => $key,
                'price_list' => $item,
            ];
        }
        $data['type'] = $type;
        return $this->renderSuccess($data);
    }
    
}