--- a/application/p/logic/MatchRecord.php +++ b/application/p/logic/MatchRecord.php @@ -58,7 +58,7 @@ class MatchRecord{ //获取uuid $params['uuid'] = guid(); $params['create_time'] = date('Y-m-d H:i:s'); - $params['create_by'] = $user_uuid; + $params['create_by'] = self::normalizeCreateBy($user_uuid, ltrim((string)\think\Config::get('database.type'), '\\') === \app\cores\database\Dm::class); //模型处理 $result = $this->model->insert($params); if (!$result) { @@ -76,6 +76,11 @@ class MatchRecord{ * @param string $uuid uuid * @return array; */ + private static function normalizeCreateBy(string $value, bool $isDm): string + { + return $isDm ? mb_substr($value, 0, 32, 'UTF-8') : $value; + } + public function info($uuid) { try { //查询历年参加比赛情况记录是否存在 @@ -86,7 +91,20 @@ class MatchRecord{ } catch (Exception $e) { return array('code' => 1, 'message' => $e->getMessage()); } - return array('code' => 0, 'message' => '查询成功', 'data' => $result); + return array('code' => 0, 'message' => '查询成功', 'data' => self::normalizeReadCreateTime($result, ltrim((string)\think\Config::get('database.type'), '\\') === \app\cores\database\Dm::class)); + } + + private static function normalizeReadCreateTime(array $row, bool $isDm): array + { + $value = $row['create_time'] ?? null; + if (!$isDm || !is_string($value) || !preg_match('/^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})\.\d{1,6}$/D', $value, $parts)) { + return $row; + } + $date = \DateTime::createFromFormat('!Y-m-d H:i:s', $parts[1]); + if ($date && substr($parts[1], 0, 4) !== '0000' && $date->format('Y-m-d H:i:s') === $parts[1]) { + $row['create_time'] = $parts[1]; + } + return $row; } /** * 历年参加比赛情况记录修改