model = new ShopOrderShippingModel(); } /** * 静态化入口 * @return static|null */ public static function make() { if (!self::$instance) { self::$instance = new static(); } return self::$instance; } /** * 根据单号获取订单信息(有缓存) * @param $orderId 订单号 * @param string $field 返沪字段 * @param bool $cache 是否缓存,默认是 * @return array|mixed */ public function getInfo($orderId, $field='', $cache=true) { $cacheKey = "caches:orders:shipping:info_{$orderId}".($field? '_'.md5($field):''); $data = RedisCache::get($cacheKey); if($data && $cache){ return $data; } $where = ['order_id'=> $orderId]; $field = $field? $field : 'sp_id,order_id,sp_name,sp_mobile,sp_province,sp_city,sp_county,sp_remark,sp_mergename'; $data = $this->model->where($where)->field($field)->findOrEmpty(); $data = $data? $data->toArray() : []; if($data && $cache){ RedisCache::set($cacheKey, $data, rand(10,20)); } return $data; } }