This commit is contained in:
mkm 2024-07-02 14:30:30 +08:00
commit 6347ee4f25
4 changed files with 38 additions and 27 deletions

View File

@ -51,9 +51,9 @@ class SystemStoreLists extends BaseAdminDataLists implements ListsSearchInterfac
$latitude = $this->request->get('latitude',''); $latitude = $this->request->get('latitude','');
$longitude = $this->request->get('longitude',''); $longitude = $this->request->get('longitude','');
$cart_id = $this->request->get('cart_id',''); $cart_id = $this->request->get('cart_id','');
if(empty($longitude) || empty($latitude)){ // if(empty($longitude) || empty($latitude)){
throw new Exception('缺失经纬度'); // throw new Exception('缺失经纬度');
} // }
$where[]=['is_show','=',YesNoEnum::YES]; $where[]=['is_show','=',YesNoEnum::YES];
$data = SystemStore::where($this->searchWhere)->where($where) $data = SystemStore::where($this->searchWhere)->where($where)
->field(['id', 'name', 'phone', 'detailed_address', 'image', 'is_show', ->field(['id', 'name', 'phone', 'detailed_address', 'image', 'is_show',
@ -65,26 +65,33 @@ class SystemStoreLists extends BaseAdminDataLists implements ListsSearchInterfac
->select() ->select()
->toArray(); ->toArray();
if($cart_id){ if($cart_id){
$cart_id = explode(',',$cart_id); if($latitude && $longitude){
$cart_select = Cart::whereIn('id', $cart_id) $cart_id = explode(',',$cart_id);
->field('id,product_id,cart_num,store_id')->select()->toArray(); $cart_select = Cart::whereIn('id', $cart_id)
foreach ($cart_select as $v) { ->field('id,product_id,cart_num,store_id')->select()->toArray();
foreach ($data as &$values){ foreach ($cart_select as $v) {
$store = StoreBranchProduct::where([ foreach ($data as &$values){
'store_id'=>$values['id'], $store = StoreBranchProduct::where([
'product_id'=>$v['product_id'], 'store_id'=>$values['id'],
])->field('id,store_name,stock')->withTrashed()->find(); 'product_id'=>$v['product_id'],
if(empty($store)){ ])->field('id,store_name,stock')->withTrashed()->find();
$store['stock'] =0; if(empty($store)){
$store['stock'] =0;
}
$values['reservation'] = 0;
if($store['stock'] < $v['cart_num']){
$values['reservation'] = 1;
}
$values['distance'] = haversineDistance($values['latitude'],$values['longitude'],$latitude,$longitude);
} }
$values['reservation'] = 0;
if($store['stock'] < $v['cart_num']){
$values['reservation'] = 1;
}
$values['distance'] = haversineDistance($values['latitude'],$values['longitude'],$latitude,$longitude);
}
}
}else{
foreach ($data as &$values){
$values['distance'] = 0;
}
} }
}else{ }else{
foreach ($data as &$value){ foreach ($data as &$value){
$value['distance'] = haversineDistance($value['latitude'],$value['longitude'],$latitude,$longitude); $value['distance'] = haversineDistance($value['latitude'],$value['longitude'],$latitude,$longitude);

View File

@ -176,7 +176,6 @@ class OrderLogic extends BaseLogic
$order['source'] = $params['source']; $order['source'] = $params['source'];
} }
//处理返回最近的店铺 //处理返回最近的店铺
$store['near_store'] = [];
if ((isset($params['lat']) && $params['lat'] != '') && (isset($params['long']) && $params['long'] != '')) { if ((isset($params['lat']) && $params['lat'] != '') && (isset($params['long']) && $params['long'] != '')) {
$storeAll = SystemStore::field('id,name,phone,address,detailed_address,latitude,longitude')->select()->toArray(); $storeAll = SystemStore::field('id,name,phone,address,detailed_address,latitude,longitude')->select()->toArray();
$nearestStore = null; $nearestStore = null;
@ -188,9 +187,13 @@ class OrderLogic extends BaseLogic
$nearestStore = $value; $nearestStore = $value;
} }
} }
$store['near_store'] =[];
if ($nearestStore) { if ($nearestStore) {
$store['near_store'] = $nearestStore; $store['near_store'] = $nearestStore;
} }
}else{
$store_id = getenv('STORE_ID') ?? 1;
$store['near_store'] =SystemStore::where('id', $store_id)->field('id,name,phone,address,detailed_address,latitude,longitude')->find()??[];
} }
} catch (\Exception $e) { } catch (\Exception $e) {
self::setError($e->getMessage()); self::setError($e->getMessage());

View File

@ -90,6 +90,7 @@ class UserLogic extends BaseLogic
->find(); ->find();
//判断是不是员工 //判断是不是员工
if($data){ if($data){
$GetNumber = $data['integral'];
$data = $data->toArray(); $data = $data->toArray();
$all =UserShip::field('id,title,limit')->select()->toArray(); $all =UserShip::field('id,title,limit')->select()->toArray();
$new = self::getNextArrayByID($all,$data['user_ship']); $new = self::getNextArrayByID($all,$data['user_ship']);
@ -118,11 +119,11 @@ class UserLogic extends BaseLogic
'is_writeoff'=>0,'uid'=>$uid 'is_writeoff'=>0,'uid'=>$uid
])->whereIn('shipping_type',[1,2])->count(); ])->whereIn('shipping_type',[1,2])->count();
$data['openid'] = UserAuth::where(['user_id'=>$uid,'terminal'=>1])->value('openid'); $data['openid'] = UserAuth::where(['user_id'=>$uid,'terminal'=>1])->value('openid');
$number=UserSign::where('uid',$uid)->where('status',0)->sum('number'); // $number=UserSign::where('uid',$uid)->where('status',0)->sum('number');
$data['integral']=bcadd($data['integral'],$number,2); // $data['integral']=bcadd($data['integral'],$number,2);
$number = UserSign::where('uid',$uid)->where(['status'=>0,'financial_pm'=>1])->sum('number'); $number = UserSign::where('uid',$uid)->where(['type'=>0,'status'=>1])->sum('number');
$GetNumber = UserSign::where('uid',$uid)->where('status',1)->sum('number'); // $GetNumber = UserSign::where('uid',$uid)->where('status',1)->sum('number');
$data['number'] =bcadd($number,0,2); $data['number'] =bcadd($number,0,2);
$data['GetNumber'] =bcadd($GetNumber,0,2); $data['GetNumber'] =bcadd($GetNumber,0,2);
}else{ }else{

View File

@ -137,9 +137,9 @@ class WorkbenchLogic extends BaseLogic
$recharge_field = 'from_unixtime(pay_time,"%Y-%m") as pay_time,sum(price) as pay_price'; $recharge_field = 'from_unixtime(pay_time,"%Y-%m") as pay_time,sum(price) as pay_price';
} }
$data['order_list'] = StoreOrder::with('user')->where($where) $data['order_list'] = StoreOrder::with('user')->where($where)
->whereBetweenTime('pay_time', $startTime, $endTime) // ->whereBetweenTime('pay_time', $startTime, $endTime)
->order('pay_time', 'desc') ->order('pay_time', 'desc')
->limit(6) // ->limit(6)
->select()->each(function($item){ ->select()->each(function($item){
$item->pay_time=$item->pay_time>0?date('Y-m-d H:i:s',$item->pay_time):''; $item->pay_time=$item->pay_time>0?date('Y-m-d H:i:s',$item->pay_time):'';
}) })