where('status', '=', (int)$status); $model = $model->where('shop_supplier_id', '=', $shop_supplier_id); return $model->with(['logo'])->where('is_delete', '=', '0') ->order(['sort' => 'asc', 'create_time' => 'desc']) ->paginate($data); } /** * 获取所有门店列表 */ public static function getAllList($shop_supplier_id) { return (new self)->where('is_delete', '=', '0') ->where('shop_supplier_id','=',$shop_supplier_id) ->order(['sort' => 'asc', 'create_time' => 'desc']) ->select(); } /** * 新增记录 */ public function add($data) { $data = $this->createData($data); return self::create($data); } /** * 编辑记录 */ public function edit($data) { return $this->save($this->createData($data)); } /** * 软删除 */ public function setDelete($where) { return self::update(['is_delete' => 1], $where); } /** * 创建数据 */ private function createData($data) { $data['app_id'] = self::$app_id; // 格式化坐标信息 $coordinate = explode(',', $data['coordinate']); $data['latitude'] = $coordinate[0]; $data['longitude'] = $coordinate[1]; // 生成geohash $Geohash = new Geohash; $data['geohash'] = $Geohash->encode($data['longitude'], $data['latitude']); return $data; } /** * 提现打款成功:累积提现佣金 */ public static function totalMoney($store_id, $money) { $model = self::detail($store_id); return $model->save([ 'freeze_money' => $model['freeze_money'] - $money, 'cash_money' => $model['cash_money'] + $money, ]); } /** * 提现驳回:解冻门店资金 */ public static function backFreezeMoney($store_id, $money) { $model = self::detail($store_id); return $model->save([ 'money' => $model['money'] + $money, 'freeze_money' => $model['freeze_money'] - $money, ]); } /** * 根据门店id集获取门店列表 */ public function getListByIds($storeIds, $shop_supplier_id) { // 获取商品列表数据 return $this->with(['logo']) ->where('shop_supplier_id', '=', $shop_supplier_id) ->where('is_delete', '=', '0') ->where('status', '=', '1') ->where('store_id', 'in', $storeIds) ->select(); } /** * 获取支持核销门店列表数据 */ public function getCheckList($shop_supplier_id) { return $this->with(['logo'])->where('is_delete', '=', '0') ->where('shop_supplier_id', '=', $shop_supplier_id) ->where('is_check', '=', 1) ->order(['sort' => 'asc', 'create_time' => 'desc']) ->select(); } }