From b01e964b4849de736540e5423e90748152430394 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Fri, 15 May 2026 16:03:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E5=A4=96=E5=8C=85=E5=B7=A5=E5=8F=B7=E8=BE=93=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implements/GainfoOutsourceService.cs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs index c8aaaabb..d894d81f 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs @@ -1,4 +1,5 @@ -using Dlhis.Basic.Organization.Request; +using System.Text.RegularExpressions; +using Dlhis.Basic.Organization.Request; using Dlhis.Basic.Organization.Response; using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Basic.Enums; @@ -35,6 +36,7 @@ public class GainfoOutsourceService : IGainfoOutsourceService public async Task SaveAsync(GainfoOutsourceRequest request) { await CheckDuplicate(request); + var sapCodeExists = await _dbContext.Queryable() .Where(x => x.Code == request.ExternalInfo.SapCode) .AnyAsync(); @@ -51,6 +53,12 @@ public class GainfoOutsourceService : IGainfoOutsourceService var entity = request.Adapt(); entity.No = Guid.NewGuid().ToString(); entity.Type = GainfoUserTypeEnumType.Outsource; + + if (request.Code.IsPresent()) + { + IsAlphanumeric(request.Code).ThrowIfFalse("工号只能包含字母和数字"); + } + entity.Code = request.Code.IsPresent() ? request.Code : await GetOutSourceCodeAsync(); @@ -338,4 +346,13 @@ public class GainfoOutsourceService : IGainfoOutsourceService } } } + + public static bool IsAlphanumeric(string input) + { + // 空字符串可根据需要决定是否允许,此处为 false + if (string.IsNullOrEmpty(input)) return false; + + // ^ 表示开头,$ 表示结尾,确保整个字符串都由英文数字组成 + return Regex.IsMatch(input, @"^[a-zA-Z0-9]+$"); + } } \ No newline at end of file