diff --git a/OpenAuth.App/OpenAuth.App.csproj b/OpenAuth.App/OpenAuth.App.csproj
index 5a2ff4b..fb5738a 100644
--- a/OpenAuth.App/OpenAuth.App.csproj
+++ b/OpenAuth.App/OpenAuth.App.csproj
@@ -35,6 +35,7 @@
+
diff --git a/OpenAuth.App/ServiceApp/IdleLand/IdleLandApp.cs b/OpenAuth.App/ServiceApp/IdleLand/IdleLandApp.cs
index 75c8dc6..cedfc50 100644
--- a/OpenAuth.App/ServiceApp/IdleLand/IdleLandApp.cs
+++ b/OpenAuth.App/ServiceApp/IdleLand/IdleLandApp.cs
@@ -12,6 +12,8 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using NPinyin;
+using Microsoft.International.Converters.PinYinConverter;
namespace OpenAuth.App
{
@@ -139,16 +141,16 @@ namespace OpenAuth.App
public async Task GetSequenceGen(decimal lat, decimal lng, string prefix)
{
- var sql = $" SELECT bsm FROM shp_drone_community where ST_Within(st_geomfromtext('POINT({lng} {lat})',4326), geom) = 't'";
+ var sql = $" SELECT zldwdmid FROM shp_drone_community where ST_Within(st_geomfromtext('POINT({lng} {lat})',4326), geom) = 't'";
var model = await client.SqlQueryable(sql).FirstAsync();
string bizCode = "";
if (model != null)
{
- string bsm = model.bsm;
- var org = await client.Queryable().FirstAsync(a => a.Id.ToString() == bsm);
+ string zldwdmid = model.zldwdmid;
+ var org = await client.Queryable().FirstAsync(a => a.Id.ToString() == zldwdmid);
if (org != null)
{
- bizCode = org.BizCode;
+ bizCode = org.BizCode+"-";
}
else
{
@@ -161,11 +163,39 @@ namespace OpenAuth.App
bizCode = "";
}
- var orderNumber = await _sequenceGenerator.NextAsync(
- prefix,
- $"{prefix}-{{0:00000}}");
+ var typeList = prefix.Split('-');
- return bizCode + "-" + orderNumber;
+ var typeUper = "";
+
+ foreach (var type in typeList)
+ {
+ typeUper += GetPinyinFirstLetters(type) + "-";
+ }
+
+ //var orderNumber = await _sequenceGenerator.NextAsync(
+ // prefix,
+ // $"{prefix}-{{0:00000}}");
+ var orderNumber = await _sequenceGenerator.NextAsync(
+ typeUper,
+ $"{typeUper}{{0:00000}}");
+
+
+ return bizCode + orderNumber;
+ }
+
+
+ public static string GetPinyinFirstLetters(string chineseString)
+ {
+ StringBuilder sb = new StringBuilder();
+ foreach (var character in chineseString)
+ {
+ if (ChineseChar.IsValidChar(character)) // 检查是否为汉字
+ {
+ string fullPinyin = Pinyin.GetPinyin(character);
+ sb.Append(fullPinyin[0].ToString().ToUpper());
+ }
+ }
+ return sb.ToString();
}
}
}
diff --git a/OpenAuth.WebApi/Controllers/ServiceControllers/IdleLandController.cs b/OpenAuth.WebApi/Controllers/ServiceControllers/IdleLandController.cs
index 9b18b07..05ee246 100644
--- a/OpenAuth.WebApi/Controllers/ServiceControllers/IdleLandController.cs
+++ b/OpenAuth.WebApi/Controllers/ServiceControllers/IdleLandController.cs
@@ -125,6 +125,7 @@ namespace OpenAuth.WebApi.Controllers
/// 前置类型
///
[HttpGet]
+ [AllowAnonymous]
public async Task> GetSequenceGen(decimal lat, decimal lng,string prefix)
{
var result = new Response();