where(['isShow'=>1,'dataFlag'=>1,'areaType'=>0])->field('areaId,areaName')->order('areaKey desc')->select(); for ($i = 0; $i < count($listCity); $i++) { $parentId = $listCity[$i]["areaId"]; $listPro = Db::name('areas')->alias('a') ->join('__SHOP_FREIGHTS__ s','a.areaId= s.areaId2 and s.shopId='.$shopId,'left') ->where(['a.isShow'=>1,'a.dataFlag'=>1,'a.areaType'=>1,'a.parentId'=>$parentId]) ->field('a.areaId,a.areaName,a.parentId,s.freightId,s.freight') ->order('a.areaKey desc') ->select(); $listCity[$i]['listProvince'] = $listPro; } return $listCity; } /** * 编辑 */ public function edit(){ $shopId = session('WST_USER.shopId'); $info = input("post."); $areas = Db::name('areas')->where('isShow=1 AND dataFlag = 1 AND areaType=1')->field('areaId')->select(); Db::startTrans(); if(count($areas)==0)return WSTReturn('无效的城市'); try{ $dataList = []; foreach ($areas as $key => $v) { $m = model('ShopFreights')->where(['shopId'=>$shopId,'areaId2'=>$v['areaId']])->find(); $freight = ((int)input('post.'.$v['areaId'])>0)?(int)input('post.'.$v['areaId']):0; if($m){ $m->freight = $freight; $m->save(); }else{ $data = []; $data['shopId'] = $shopId; $data['areaId2'] = $v['areaId']; $data['freight'] = $freight; $data['createTime'] = date('Y-m-d H:i:s'); $dataList[] = $data; } } if(count($dataList)>0)model('ShopFreights')->saveAll($dataList); Db::commit(); return WSTReturn("操作成功", 1); }catch (\Exception $e) { Db::rollback();errLog($e); return WSTReturn('操作失败',-1); } } }