mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 19:03:27 +08:00
【优化】将系统常见多种编号生成方式修改为雪花漂移算法。
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="NPOI" Version="2.4.1" />
|
||||
<PackageReference Include="ToolGood.Words" Version="3.0.3.1" />
|
||||
<PackageReference Include="Yitter.IdGenerator" Version="1.0.12" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -11,6 +11,7 @@ using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using CoreCms.Net.Configuration;
|
||||
using CoreCms.Net.Model.ViewModels.Basics;
|
||||
using Yitter.IdGenerator;
|
||||
|
||||
namespace CoreCms.Net.Utility.Helper
|
||||
{
|
||||
@@ -238,31 +239,31 @@ namespace CoreCms.Net.Utility.Helper
|
||||
switch (type)
|
||||
{
|
||||
case (int)GlobalEnumVars.SerialNumberType.订单编号: //订单编号
|
||||
str = type + Msectime() + rand.Next(0, 9);
|
||||
str = type + YitIdHelper.NextId().ToString();
|
||||
break;
|
||||
case (int)GlobalEnumVars.SerialNumberType.支付单编号: //支付单编号
|
||||
str = type + Msectime() + rand.Next(0, 9);
|
||||
str = type + YitIdHelper.NextId().ToString();
|
||||
break;
|
||||
case (int)GlobalEnumVars.SerialNumberType.商品编号: //商品编号
|
||||
str = 'G' + Msectime() + rand.Next(0, 5);
|
||||
str = 'G' + YitIdHelper.NextId().ToString();
|
||||
break;
|
||||
case (int)GlobalEnumVars.SerialNumberType.货品编号: //货品编号
|
||||
str = 'P' + Msectime() + rand.Next(0, 5);
|
||||
str = 'P' + YitIdHelper.NextId().ToString();
|
||||
break;
|
||||
case (int)GlobalEnumVars.SerialNumberType.售后单编号: //售后单编号
|
||||
str = type + Msectime() + rand.Next(0, 9);
|
||||
str = type + YitIdHelper.NextId().ToString();
|
||||
break;
|
||||
case (int)GlobalEnumVars.SerialNumberType.退款单编号: //退款单编号
|
||||
str = type + Msectime() + rand.Next(0, 9);
|
||||
str = type + YitIdHelper.NextId().ToString();
|
||||
break;
|
||||
case (int)GlobalEnumVars.SerialNumberType.退货单编号: //退货单编号
|
||||
str = type + Msectime() + rand.Next(0, 9);
|
||||
str = type + YitIdHelper.NextId().ToString();
|
||||
break;
|
||||
case (int)GlobalEnumVars.SerialNumberType.发货单编号: //发货单编号
|
||||
str = type + Msectime() + rand.Next(0, 9);
|
||||
str = type + YitIdHelper.NextId().ToString();
|
||||
break;
|
||||
case (int)GlobalEnumVars.SerialNumberType.服务订单编号: //服务订单编号
|
||||
str = type + Msectime() + rand.Next(0, 9);
|
||||
str = type + YitIdHelper.NextId().ToString();
|
||||
break;
|
||||
case (int)GlobalEnumVars.SerialNumberType.提货单号: //提货单号
|
||||
//str = 'T' + type + msectime() + rand.Next(0, 5);
|
||||
@@ -286,7 +287,7 @@ namespace CoreCms.Net.Utility.Helper
|
||||
}
|
||||
break;
|
||||
default:
|
||||
str = 'T' + Msectime() + rand.Next(0, 9);
|
||||
str = 'T' + YitIdHelper.NextId().ToString();
|
||||
break;
|
||||
}
|
||||
return str;
|
||||
|
||||
@@ -140,14 +140,18 @@ namespace CoreCms.Net.Web.Admin
|
||||
p.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
|
||||
});
|
||||
|
||||
|
||||
|
||||
// ѩ<><D1A9>Ư<EFBFBD><C6AF><EFBFBD>㷨
|
||||
// <20><><EFBFBD><EFBFBD> IdGeneratorOptions <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڹ<EFBFBD><DAB9>캯<EFBFBD><ECBAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WorkerId<49><64>
|
||||
var options = new IdGeneratorOptions(1);
|
||||
// WorkerIdBitLength Ĭ<><C4AC>ֵ6<D6B5><36>֧<EFBFBD>ֵ<EFBFBD> WorkerId <20><><EFBFBD><EFBFBD>ֵΪ2^6-1<><31><EFBFBD><EFBFBD> WorkerId <20><><EFBFBD><EFBFBD>64<36><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD> WorkerIdBitLength
|
||||
// options.WorkerIdBitLength = 10;
|
||||
// ...... <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>òο<C3B2> IdGeneratorOptions <20><><EFBFBD>壬һ<E5A3AC><D2BB><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>ֻҪ<D6BB><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WorkerIdBitLength <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WorkerId <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
|
||||
YitIdHelper.SetIdGenerator(options);
|
||||
|
||||
// <20><>ʼ<EFBFBD><CABC><EFBFBD>Ժ<D4BA><F3A3ACBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ID<49>ĵط<C4B5><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
//var newId = YitIdHelper.NextId();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ using CoreCms.Net.WeChat.Service.Mediator;
|
||||
using Essensoft.Paylink.Alipay;
|
||||
using Essensoft.Paylink.WeChatPay;
|
||||
using MediatR;
|
||||
using Yitter.IdGenerator;
|
||||
|
||||
namespace CoreCms.Net.Web.WebApi
|
||||
{
|
||||
@@ -152,7 +153,18 @@ namespace CoreCms.Net.Web.WebApi
|
||||
p.SerializerSettings.DateFormatString = "yyyy/MM/dd HH:mm:ss";
|
||||
});
|
||||
|
||||
// ѩ<><D1A9>Ư<EFBFBD><C6AF><EFBFBD>㷨
|
||||
// <20><><EFBFBD><EFBFBD> IdGeneratorOptions <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڹ<EFBFBD><DAB9>캯<EFBFBD><ECBAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WorkerId<49><64>
|
||||
var options = new IdGeneratorOptions(1);
|
||||
// WorkerIdBitLength Ĭ<><C4AC>ֵ6<D6B5><36>֧<EFBFBD>ֵ<EFBFBD> WorkerId <20><><EFBFBD><EFBFBD>ֵΪ2^6-1<><31><EFBFBD><EFBFBD> WorkerId <20><><EFBFBD><EFBFBD>64<36><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD> WorkerIdBitLength
|
||||
// options.WorkerIdBitLength = 10;
|
||||
// ...... <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>òο<C3B2> IdGeneratorOptions <20><><EFBFBD>壬һ<E5A3AC><D2BB><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>ֻҪ<D6BB><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WorkerIdBitLength <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WorkerId <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
|
||||
YitIdHelper.SetIdGenerator(options);
|
||||
|
||||
// <20><>ʼ<EFBFBD><CABC><EFBFBD>Ժ<D4BA><F3A3ACBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ID<49>ĵط<C4B5><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
//var newId = YitIdHelper.NextId();
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user