|
|
|
@ -2,7 +2,9 @@ |
|
|
|
|
using Microsoft.EntityFrameworkCore; |
|
|
|
|
using Microsoft.Extensions.Logging; |
|
|
|
|
using MongoDB.Driver.Linq; |
|
|
|
|
using MySqlX.XDevAPI.Common; |
|
|
|
|
using System.Net; |
|
|
|
|
using System.Text; |
|
|
|
|
using System.Text.RegularExpressions; |
|
|
|
|
using static Tiobon.Core.Model.Consts; |
|
|
|
|
|
|
|
|
@ -1682,6 +1684,18 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe |
|
|
|
|
return ServiceResult.OprateSuccess("发放成功!"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static string CreateRandomNum(int num) |
|
|
|
|
{ |
|
|
|
|
string str = "0123456789"; |
|
|
|
|
StringBuilder sb = new StringBuilder(); |
|
|
|
|
for (int i = 0; i < num; i++) |
|
|
|
|
{ |
|
|
|
|
sb.Append(str[new Random(Guid.NewGuid().GetHashCode()).Next(0, str.Length - 1)]); |
|
|
|
|
} |
|
|
|
|
return sb.ToString(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// <summary> |
|
|
|
|
/// 处理证书数据 |
|
|
|
|
/// </summary> |
|
|
|
@ -1708,6 +1722,10 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe |
|
|
|
|
{ |
|
|
|
|
var rule = rules[j]; |
|
|
|
|
|
|
|
|
|
var certificateNoItems = await Db.Queryable<Ghre_CertificateDesignItem>() |
|
|
|
|
.Where(x => x.CertificateRuleId == rule.Id && x.field == "CertificateNo") |
|
|
|
|
.FirstAsync(); |
|
|
|
|
|
|
|
|
|
if (examRecordId != null) |
|
|
|
|
{ |
|
|
|
|
if (rule.SendRule == "ExamPass" && !await Db.Queryable<Ghre_ExamRecord>() |
|
|
|
@ -1759,6 +1777,22 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe |
|
|
|
|
Reverse1 = studyRecordId != null ? $"{studyRecordId}" : $"{examRecordId}" |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
certificate.CertificateNo = SnowFlakeSingle.Instance.NextId().ObjToString(); |
|
|
|
|
|
|
|
|
|
if (certificateNoItems != null) |
|
|
|
|
{ |
|
|
|
|
if (certificateNoItems.certNoRule == "manual") |
|
|
|
|
certificate.CertificateNo = rule.Id.ObjToString(); |
|
|
|
|
else if (certificateNoItems.certNoRule == "fixed") |
|
|
|
|
{ |
|
|
|
|
var certNoFixed = certificateNoItems.certNoFixed; |
|
|
|
|
int length = 22 - (certNoFixed.IsNotEmptyOrNull() ? certNoFixed.Length : 0); |
|
|
|
|
|
|
|
|
|
certificate.CertificateNo = certNoFixed + CreateRandomNum(length); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
await Db.Insertable(certificate).ExecuteReturnSnowflakeIdAsync(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|