From 89879d47da4c63103ec38595c5dd014a12c01cca Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期二, 02 七月 2024 16:36:24 +0800
Subject: [PATCH] 计划订单修改样式
---
CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs | 126 ++++++++++++++++++++++++++++++++++++++++-
1 files changed, 122 insertions(+), 4 deletions(-)
diff --git a/CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs b/CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs
index e02d672..9f355f2 100644
--- a/CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs
+++ b/CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs
@@ -1,7 +1,11 @@
-锘縰sing CoreCms.Net.IRepository.UnitOfWork;
+锘縰sing CoreCms.Net.Configuration;
+using CoreCms.Net.IRepository.UnitOfWork;
using CoreCms.Net.IServices;
using CoreCms.Net.IServices.baifenbingfa;
using CoreCms.Net.Model.Entities;
+using CoreCms.Net.Utility.Helper;
+using Nest;
+using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -18,18 +22,19 @@
private readonly ICoreCmsUserServices _userServices;
private readonly IUnitOfWork _unitOfWork;
-
- public BfbfComAPIService(ICoreCmsUserServices userServices,IUnitOfWork unitOfWork)
+ private readonly ICoreCmsSettingServices _coreCmsSettingServices;
+ public BfbfComAPIService(ICoreCmsUserServices userServices,IUnitOfWork unitOfWork, ICoreCmsSettingServices coreCmsSettingServices)
{
_userServices = userServices;
_unitOfWork = unitOfWork;
+ _coreCmsSettingServices = coreCmsSettingServices;
}
public async Task<List<SearchUserData>> SearchUserData(string s)
{
var ListData= await _unitOfWork.GetDbClient().Queryable<CoreCmsUser>().Where(x => x.isDelete == false).Select(x => new SearchUserData
{
Id = x.id,
- name = x.mobile + "|" + x.userName + "|" + x.nickName,
+ name = x.mobile /*+ "|" + x.userName*/ + "|" + x.nickName,
}).WithCache(50).ToListAsync();
if (string.IsNullOrEmpty(s))
@@ -38,5 +43,118 @@
}
return ListData.Where(x => x.name.Contains(s)).ToList();
}
+
+ public async Task<bool> IsDictionary(int UserId)
+ {
+ if (UserId == 0)
+ return false;
+ var user=await _unitOfWork.GetDbClient().Queryable<CoreCmsUser>().Includes(x=>x.gradeInfo).Where(x=>x.id== UserId).WithCache(10).SingleAsync();
+ if (user == null)
+ return false;
+ if(user.gradeInfo==null)
+ return false;
+ var allConfigs = await _coreCmsSettingServices.GetConfigDictionaries();
+ var kc = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DictionaryUserGroupKey);
+ if (user.gradeInfo.valueKey == kc)
+ return true;
+ return false;
+
+ }
+
+ public async Task<List<CoreCmsGoodsCategory>> GetGoodsCategory()
+ {
+ return await _unitOfWork.GetDbClient().Queryable<CoreCmsGoodsCategory>().Where(x=>x.isShow==true).WithCache(10).ToTreeAsync(x=>x.children, x=>x.parentId,0);
+ }
+
+
+ public decimal CommandCustomizable(int count)
+ {
+ if (count > 9999)
+ return 0;
+ return count * 1;
+ }
+
+ public List<DistributorSort> orderedDistributors(List<DistributorSort> DataList, string latitude, string longitude)
+ {
+
+
+ GeoCoordinate inputLocation = new GeoCoordinate(double.Parse(longitude), double.Parse(latitude)); // 杈撳叆鐨勭粡绾害
+
+ var sortedDistributors = DataList.OrderBy(d => CalculateDistance(inputLocation, new GeoCoordinate(double.Parse(d.longitude), double.Parse(d.latitude))))
+ .ToList();
+ return sortedDistributors;
+ }
+
+
+ /// <summary>
+ /// 璁$畻缁忕含杈捐窛绂�
+ /// </summary>
+ /// <param name="location1"></param>
+ /// <param name="location2"></param>
+ /// <returns></returns>
+ private static double CalculateDistance(GeoCoordinate location1, GeoCoordinate location2)
+ {
+ const double earthRadiusKm = 6371;
+ var dLat = ToRadians(location2.Latitude - location1.Latitude);
+ var dLon = ToRadians(location2.Longitude - location1.Longitude);
+
+ var a = Math.Sin(dLat / 2) * Math.Sin(dLat / 2) +
+ Math.Cos(ToRadians(location1.Latitude)) * Math.Cos(ToRadians(location2.Latitude)) *
+ Math.Sin(dLon / 2) * Math.Sin(dLon / 2);
+ var c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));
+ var distance = earthRadiusKm * c;
+
+ return distance;
+ }
+
+ private static double ToRadians(double degree)
+ {
+ return degree * Math.PI / 180;
+ }
+
+ /// <summary>
+ /// 鑾峰彇鏈夋晥鏍″洯浠g悊
+ /// </summary>
+ /// <param name="PIds"></param>
+ /// <returns></returns>
+ public async Task< List<DistributorSort>> GetDistributorsList(List<int> PIds)
+ {
+ var blist= await _unitOfWork.GetDbClient().Queryable<CoreCmsDistribution>().Where(x=>x.profession=="鏍″洯浠g悊"&&x.verifyStatus== (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes).ToListAsync();
+ List < DistributorSort > retlist=new List<DistributorSort>();
+ foreach (var item in blist)
+ {
+ if (string.IsNullOrEmpty(item.storeCoordinate) || item.storeCoordinate == ",")
+ //娌℃湁瀹氫綅锛屼笉鍔犲叆
+ continue;
+ var ldinate= item.storeCoordinate.Split(',');
+ retlist.Add( new DistributorSort()
+ {
+ id = item.id,
+ latitude = ldinate[0],
+ longitude = ldinate[1],
+ name = item.schoolName + ":" + item.name
+
+
+
+ });
+ }
+ return retlist;
+ }
+
+
+
+ public async Task< List< int>> GetOderProductsIDs(string[] OderIds)
+ {
+ var list= await _unitOfWork.GetDbClient().Queryable<CoreCmsOrder>().Where(x => OderIds.Contains(x.orderId))
+ .Select(x => new { items = SqlFunc.Subqueryable<CoreCmsOrderItem>().Where(it => it.orderId == x.orderId).ToList() }).ToListAsync();
+ var li=new List<int>();
+ foreach (var item in list)
+ {
+ li.AddRange(item.items.Select(x=>x.id).ToList());
+
+
+ }
+ return li;
+ }
}
}
--
Gitblit v1.9.1