validValues($key, $values)) { return false; } // 删除系统设置缓存 Cache::rm('setting_' . self::$wxapp_id); return $model->save([ 'key' => $key, 'describe' => SettingEnum::data()[$key]['describe'], 'values' => $values, 'wxapp_id' => self::$wxapp_id, ]) !== false; } /** * 数据验证 * @param $key * @param $values * @return bool */ private function validValues($key, $values) { $callback = [ 'store' => function ($values) { return $this->validStore($values); }, 'printer' => function ($values) { return $this->validPrinter($values); }, ]; // 验证商城设置 return isset($callback[$key]) ? $callback[$key]($values) : true; } /** * 验证商城设置 * @param $values * @return bool */ private function validStore($values) { if (!isset($values['delivery_type']) || empty($values['delivery_type'])) { $this->error = '配送方式至少选择一个'; return false; } return true; } /** * 验证小票打印机设置 * @param $values * @return bool */ private function validPrinter($values) { if ($values['is_open'] == false) { return true; } if (!$values['printer_id']) { $this->error = '请选择订单打印机'; return false; } if (empty($values['order_status'])) { $this->error = '请选择订单打印方式'; return false; } return true; } }