20250327 添加名称和操作员
This commit is contained in:
parent
4c03b94808
commit
f78c6c8fe3
|
|
@ -1,36 +1,363 @@
|
|||
/Waste.Application/bin
|
||||
/Waste.Application/obj
|
||||
/Waste.Core/obj
|
||||
/Waste.Core/bin
|
||||
/Waste.Doc/obj
|
||||
/Waste.Doc/bin
|
||||
/Waste.Domain/bin
|
||||
/Waste.Domain/obj
|
||||
/Waste.Web/bin
|
||||
/Waste.Web/obj
|
||||
/Waste.Web.Core/bin
|
||||
/Waste.Web.Core/obj
|
||||
/Nirvana.Common/bin
|
||||
/Nirvana.Common/obj
|
||||
/Waste.Doc/苏州垃圾分类计量设备计入标准/4G_2G_NB DTU Products Functions _V2.0_20200219.zip
|
||||
/Waste.Doc/苏州垃圾分类计量设备计入标准/4G_2G_NB Products Operation Guide_20200424.zip
|
||||
/Waste.Doc/苏州垃圾分类计量设备计入标准/HF2411 User Manual-V1.2_20200706.zip
|
||||
/Waste.Doc/苏州垃圾分类计量设备计入标准/4G_2G_NB DTU Products Functions _V2.0_20200219/4G_2G_NB DTU Products Functions_V2.0_20200219.pdf
|
||||
/Waste.Doc/苏州垃圾分类计量设备计入标准/4G_2G_NB Products Operation Guide_20200424/4G_2G_NB Products Operation Guide_20200424.pdf
|
||||
/Waste.Doc/苏州垃圾分类计量设备计入标准/HF2411 User Manual-V1.2_20200706/HF2411 User Manual V1.2(20200706).pdf
|
||||
/Waste.MessageHandler/bin
|
||||
/Waste.MessageHandler/obj
|
||||
/Waste.Socket/bin
|
||||
/Waste.Socket/obj
|
||||
/Waste.Web.Entry/bin
|
||||
/Waste.Web.Entry/obj
|
||||
/.vs
|
||||
/WasteConsoleTest/WasteConsoleTest/obj
|
||||
/WasteConsoleTest/WasteConsoleTest/bin
|
||||
/Waste.CreateDB/bin/Debug/net5.0
|
||||
/Waste.CreateDB/obj
|
||||
/Waste.SocketService.cs/bin
|
||||
/Waste.SocketService.cs/obj
|
||||
/WasteHexTest/obj
|
||||
/WasteHexTest/bin
|
||||
/Waste.Web.Entry/wwwroot/bugs
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
##
|
||||
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
||||
|
||||
# User-specific files
|
||||
*.rsuser
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Mono auto generated files
|
||||
mono_crash.*
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
[Ww][Ii][Nn]32/
|
||||
[Aa][Rr][Mm]/
|
||||
[Aa][Rr][Mm]64/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Oo]ut/
|
||||
[Ll]og/
|
||||
[Ll]ogs/
|
||||
|
||||
# Visual Studio 2015/2017 cache/options directory
|
||||
.vs/
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||
#wwwroot/
|
||||
|
||||
# Visual Studio 2017 auto generated files
|
||||
Generated\ Files/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUnit
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
nunit-*.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
# Benchmark Results
|
||||
BenchmarkDotNet.Artifacts/
|
||||
|
||||
# .NET Core
|
||||
project.lock.json
|
||||
project.fragment.lock.json
|
||||
artifacts/
|
||||
|
||||
# ASP.NET Scaffolding
|
||||
ScaffoldingReadMe.txt
|
||||
|
||||
# StyleCop
|
||||
StyleCopReport.xml
|
||||
|
||||
# Files built by Visual Studio
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_h.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.iobj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.ipdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*_wpftmp.csproj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.svclog
|
||||
*.scc
|
||||
|
||||
# Chutzpah Test files
|
||||
_Chutzpah*
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opendb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
*.VC.db
|
||||
*.VC.VC.opendb
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
*.sap
|
||||
|
||||
# Visual Studio Trace Files
|
||||
*.e2e
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# AxoCover is a Code Coverage Tool
|
||||
.axoCover/*
|
||||
!.axoCover/settings.json
|
||||
|
||||
# Coverlet is a free, cross platform Code Coverage Tool
|
||||
coverage*.json
|
||||
coverage*.xml
|
||||
coverage*.info
|
||||
|
||||
# Visual Studio code coverage results
|
||||
*.coverage
|
||||
*.coveragexml
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
nCrunchTemp_*
|
||||
|
||||
# MightyMoose
|
||||
*.mm.*
|
||||
AutoTest.Net/
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||
# but database connection strings (with potential passwords) will be unencrypted
|
||||
*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||
# in these scripts will be unencrypted
|
||||
PublishScripts/
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
# NuGet Symbol Packages
|
||||
*.snupkg
|
||||
# The packages folder can be ignored because of Package Restore
|
||||
**/[Pp]ackages/*
|
||||
# except build/, which is used as an MSBuild target.
|
||||
!**/[Pp]ackages/build/
|
||||
# Uncomment if necessary however generally it will be regenerated when needed
|
||||
#!**/[Pp]ackages/repositories.config
|
||||
# NuGet v3's project.json files produces more ignorable files
|
||||
*.nuget.props
|
||||
*.nuget.targets
|
||||
|
||||
# Microsoft Azure Build Output
|
||||
csx/
|
||||
*.build.csdef
|
||||
|
||||
# Microsoft Azure Emulator
|
||||
ecf/
|
||||
rcf/
|
||||
|
||||
# Windows Store app package directories and files
|
||||
AppPackages/
|
||||
BundleArtifacts/
|
||||
Package.StoreAssociation.xml
|
||||
_pkginfo.txt
|
||||
*.appx
|
||||
*.appxbundle
|
||||
*.appxupload
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
*.[Cc]ache
|
||||
# but keep track of directories ending in .cache
|
||||
!?*.[Cc]ache/
|
||||
|
||||
# Others
|
||||
ClientBin/
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.dbproj.schemaview
|
||||
*.jfm
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
orleans.codegen.cs
|
||||
|
||||
# Including strong name files can present a security risk
|
||||
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||
#*.snk
|
||||
|
||||
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||
#bower_components/
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file
|
||||
# to a newer Visual Studio version. Backup files are not needed,
|
||||
# because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
ServiceFabricBackup/
|
||||
*.rptproj.bak
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
*.ndf
|
||||
|
||||
# Business Intelligence projects
|
||||
*.rdl.data
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
*.rptproj.rsuser
|
||||
*- [Bb]ackup.rdl
|
||||
*- [Bb]ackup ([0-9]).rdl
|
||||
*- [Bb]ackup ([0-9][0-9]).rdl
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
# GhostDoc plugin setting file
|
||||
*.GhostDoc.xml
|
||||
|
||||
# Node.js Tools for Visual Studio
|
||||
.ntvs_analysis.dat
|
||||
node_modules/
|
||||
|
||||
# Visual Studio 6 build log
|
||||
*.plg
|
||||
|
||||
# Visual Studio 6 workspace options file
|
||||
*.opt
|
||||
|
||||
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||
*.vbw
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/ModelManifest.xml
|
||||
**/*.Server/GeneratedArtifacts
|
||||
**/*.Server/ModelManifest.xml
|
||||
_Pvt_Extensions
|
||||
|
||||
# Paket dependency manager
|
||||
.paket/paket.exe
|
||||
paket-files/
|
||||
|
||||
# FAKE - F# Make
|
||||
.fake/
|
||||
|
||||
# CodeRush personal settings
|
||||
.cr/personal
|
||||
|
||||
# Python Tools for Visual Studio (PTVS)
|
||||
__pycache__/
|
||||
*.pyc
|
||||
|
||||
# Cake - Uncomment if you are using it
|
||||
# tools/**
|
||||
# !tools/packages.config
|
||||
|
||||
# Tabs Studio
|
||||
*.tss
|
||||
|
||||
# Telerik's JustMock configuration file
|
||||
*.jmconfig
|
||||
|
||||
# BizTalk build output
|
||||
*.btp.cs
|
||||
*.btm.cs
|
||||
*.odx.cs
|
||||
*.xsd.cs
|
||||
|
||||
# OpenCover UI analysis results
|
||||
OpenCover/
|
||||
|
||||
# Azure Stream Analytics local run output
|
||||
ASALocalRun/
|
||||
|
||||
# MSBuild Binary and Structured Log
|
||||
*.binlog
|
||||
|
||||
# NVidia Nsight GPU debugger configuration file
|
||||
*.nvuser
|
||||
|
||||
# MFractors (Xamarin productivity tool) working folder
|
||||
.mfractor/
|
||||
|
||||
# Local History for Visual Studio
|
||||
.localhistory/
|
||||
|
||||
# BeatPulse healthcheck temp database
|
||||
healthchecksdb
|
||||
|
||||
# Backup folder for Package Reference Convert tool in Visual Studio 2017
|
||||
MigrationBackup/
|
||||
|
||||
# Ionide (cross platform F# VS Code tools) working folder
|
||||
.ionide/
|
||||
|
||||
# Fody - auto-generated XML schema
|
||||
FodyWeavers.xsd
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Waste.Application.ThirdApiInfo
|
||||
{
|
||||
public class ProductInfoDto
|
||||
{
|
||||
public decimal amount { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string date { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string dateTime { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long id { get; set; }
|
||||
/// <summary>
|
||||
/// 规格,参数名称,
|
||||
/// </summary>
|
||||
public string idNames { get; set; }
|
||||
/// <summary>
|
||||
/// 545677,参数值,
|
||||
/// </summary>
|
||||
public string idValues { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public bool isUpload { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int level { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public decimal lowerLimit { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public decimal netWeight { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long productId { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string productName { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string productNo { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long recordNo { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long startDate { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int status { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public decimal tareWeight { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string time { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long timeStamp { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string unit { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public decimal upperLimit { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long userId { get; set; }
|
||||
/// <summary>
|
||||
/// 技术员
|
||||
/// </summary>
|
||||
public string userName { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string uuid { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public decimal weight { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string image { get; set; }
|
||||
|
||||
public string Video { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -5,6 +5,8 @@ using System.Linq;
|
|||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Waste.Application.SubscribeInfo;
|
||||
using Waste.Domain;
|
||||
using Waste.Domain.DataModel;
|
||||
|
||||
namespace Waste.Application.ThirdApiInfo
|
||||
{
|
||||
|
|
@ -50,5 +52,12 @@ namespace Waste.Application.ThirdApiInfo
|
|||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
Task<object> WifiPostAsync(WifiRequestC2SDto data);
|
||||
/// <summary>
|
||||
/// 新增电子秤
|
||||
/// </summary>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
Task<ResultInfo> AddProductAsync(ProductInfoDto data);
|
||||
Task<PageParms<W_Product>> GetProductAsync(QueryParams param);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ using System.IO;
|
|||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Waste.Application.SubscribeInfo;
|
||||
using Waste.Domain.DataModel;
|
||||
|
||||
namespace Waste.Application.ThirdApiInfo
|
||||
{
|
||||
|
|
@ -317,5 +318,22 @@ namespace Waste.Application.ThirdApiInfo
|
|||
{
|
||||
return await _openService.WifiPostAsync(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增电子秤
|
||||
/// </summary>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<ResultInfo> AddProductAsync(ProductInfoDto data)
|
||||
{
|
||||
return await _openService.AddProductAsync(data);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<PageParms<W_Product>> GetProductAsync(QueryParams param)
|
||||
{
|
||||
return await _openService.GetProductAsync(param);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6,11 +6,16 @@ using Microsoft.Extensions.Caching.Distributed;
|
|||
using Nirvana.Common;
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Furion.LinqBuilder;
|
||||
using Waste.Application.SubscribeInfo;
|
||||
using Waste.Domain;
|
||||
using Waste.Domain.DataModel;
|
||||
using System.Net.Http;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace Waste.Application.ThirdApiInfo
|
||||
{
|
||||
|
|
@ -161,16 +166,38 @@ namespace Waste.Application.ThirdApiInfo
|
|||
|
||||
|
||||
// trash@1@62942200205496@4.964 trash@垃圾种类@垃圾桶编号@垃圾重量
|
||||
//20250327 添加名称和操作员 trash@5@干垃圾@30654605660104@技术员@0.22 (@干垃圾) 是名称 (@技术员) 是操作员
|
||||
if (!string.IsNullOrEmpty(data.data) && data.data.StartsWith("trash@"))
|
||||
{
|
||||
var arr = data.data.Split('@');
|
||||
var type = arr.GetListValue(1);
|
||||
returndata.trash = arr.GetListValue(2);
|
||||
var weight = arr.GetListValue(3);
|
||||
|
||||
var result = await UpdateDevInfo(data, returndata, device, type, weight);
|
||||
if (result != null) return result;
|
||||
if (arr.Length == 4)
|
||||
{
|
||||
var type = arr.GetListValue(1);
|
||||
returndata.trash = arr.GetListValue(2);
|
||||
var weight = arr.GetListValue(3);
|
||||
var result = await UpdateDevInfo(data, returndata, device, type, weight);
|
||||
if (result != null) return result;
|
||||
}
|
||||
else if (arr.Length == 6)
|
||||
{
|
||||
var type = arr.GetListValue(1);
|
||||
|
||||
var typename = arr.GetListValue(2);
|
||||
|
||||
returndata.trash = arr.GetListValue(3);
|
||||
|
||||
var name = arr.GetListValue(4);
|
||||
|
||||
var weight = arr.GetListValue(5);
|
||||
|
||||
var result = await UpdateDevInfo(data, returndata, device, type, weight, typename, name);
|
||||
if (result != null) return result;
|
||||
}
|
||||
else
|
||||
{
|
||||
return new ResultInfo(ResultState.FAIL, $"协议格式不正确:{data.ToJson()}");
|
||||
}
|
||||
}
|
||||
//解析协议,IC卡数据@垃圾桶编号@厨余垃圾@7.91
|
||||
// 00000000003031 40 0F00010009 40 C6E4CBFBC0ACBBF8 40 31352E39
|
||||
|
|
@ -438,22 +465,37 @@ namespace Waste.Application.ThirdApiInfo
|
|||
return chs.GetString(bytes);
|
||||
}
|
||||
|
||||
//private int TrashType(string type)
|
||||
//{
|
||||
// if (type == "厨余垃圾") return 1;
|
||||
// else if (type == "可回收物") return 2;
|
||||
// else if (type == "有害垃圾") return 3;
|
||||
// else if (type == "其他垃圾") return 4;
|
||||
// else return 0;
|
||||
//}
|
||||
//private string TrashTypeTitle(string type)
|
||||
//{
|
||||
// if (!int.TryParse(type, out var num)) return type;
|
||||
// if (num == 1) return "厨余垃圾";
|
||||
// else if (num == 2) return "可回收物";
|
||||
// else if (num == 3) return "有害垃圾";
|
||||
// else if (num == 4) return "其他垃圾";
|
||||
// else return "0";
|
||||
//}
|
||||
|
||||
private int TrashType(string type)
|
||||
{
|
||||
if (type == "厨余垃圾") return 1;
|
||||
else if (type == "可回收物") return 2;
|
||||
else if (type == "有害垃圾") return 3;
|
||||
else if (type == "其他垃圾") return 4;
|
||||
else return 0;
|
||||
var result = dbClient.Queryable<W_WasteType>().First(s => s.Name == type);
|
||||
if (result == null) return 0;
|
||||
return int.Parse(result.Code);
|
||||
}
|
||||
|
||||
private string TrashTypeTitle(string type)
|
||||
{
|
||||
if (!int.TryParse(type, out var num)) return type;
|
||||
if (num == 1) return "厨余垃圾";
|
||||
else if (num == 2) return "可回收物";
|
||||
else if (num == 3) return "有害垃圾";
|
||||
else if (num == 4) return "其他垃圾";
|
||||
else return "0";
|
||||
var result = dbClient.Queryable<W_WasteType>().First(s => s.Code == type || s.Code == "0000" + type);
|
||||
if (result == null) return "0";
|
||||
return result.Name;
|
||||
}
|
||||
|
||||
private int GetTimestamp(DateTime time)
|
||||
|
|
@ -552,10 +594,11 @@ namespace Waste.Application.ThirdApiInfo
|
|||
return ((int)bt).ToString("X2");
|
||||
}
|
||||
|
||||
private async Task<ResultInfo> UpdateDevInfo(GetDevInfoRequestDto data, GetDevInfoResponseDto returndata, W_Device device,
|
||||
string type, string weight)
|
||||
private async Task<ResultInfo> UpdateDevInfo(GetDevInfoRequestDto data, GetDevInfoResponseDto returndata, W_Device device, string type, string weight, string typename = "", string name = "")
|
||||
{
|
||||
returndata.type = TrashType(type);
|
||||
//returndata.type = TrashType(type);
|
||||
returndata.type = int.Parse(type);
|
||||
|
||||
returndata.Weight = weight.ToDouble();
|
||||
//计算净重,毛重-皮重=净重,如果净重小于等于0则不上报保存
|
||||
returndata.Weight = (returndata.Weight - device.Tare.ToDouble()).ToDouble(2);
|
||||
|
|
@ -594,10 +637,25 @@ namespace Waste.Application.ThirdApiInfo
|
|||
ResultId = returndata.ResultId,
|
||||
Tare = device.Tare,
|
||||
trash = returndata.trash,
|
||||
wastetype = TrashTypeTitle(type),
|
||||
wastetype = typename.IsNullOrEmpty() == false ? typename : TrashTypeTitle(type),
|
||||
weight = weight
|
||||
});
|
||||
|
||||
|
||||
if (name.IsNullOrEmpty() == false && typename.IsNullOrEmpty() == false)
|
||||
{
|
||||
await dbClient.Insertable(new W_MeasureResult
|
||||
{
|
||||
ResultId = returndata.ResultId,
|
||||
WasteSType = "",
|
||||
Price = 0.00m,
|
||||
Amount = 0.00m,
|
||||
OpUser = name,
|
||||
UUID = "",
|
||||
CreatedTime = DateTime.Now,
|
||||
}).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
//推送数据给第三方
|
||||
await _resultService.SendMessageToThird(new SendThirdMessageSubscribeS2SDto
|
||||
{
|
||||
|
|
@ -605,7 +663,7 @@ namespace Waste.Application.ThirdApiInfo
|
|||
WasteSType = "",
|
||||
Time = DateTime.Now,
|
||||
TrashCode = returndata.trash,
|
||||
WasteType = TrashTypeTitle(type),
|
||||
WasteType = typename.IsNullOrEmpty() == false ? typename : TrashTypeTitle(type),
|
||||
Weight = weight.ToDecimal(),
|
||||
faccode = device.FacEcode,
|
||||
ecode = device.Ecode,
|
||||
|
|
@ -616,5 +674,132 @@ namespace Waste.Application.ThirdApiInfo
|
|||
});
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增电子秤
|
||||
/// </summary>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ResultInfo> AddProductAsync(ProductInfoDto data)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (await dbClient.Queryable<W_Product>().AnyAsync(x => x.Uuid == data.uuid))
|
||||
{
|
||||
return new ResultInfo(ResultState.FAIL, "数据已存在");
|
||||
}
|
||||
var imageUrl = "";
|
||||
if (data.image.IsNullOrEmpty() == false)
|
||||
{
|
||||
//将图片上传服务器
|
||||
// 移除Base64字符串中的前缀(如 "data:image/png;base64,")
|
||||
string base64Data = data.image;
|
||||
// 将Base64字符串解码为字节数组
|
||||
var arr = Convert.FromBase64String(base64Data);
|
||||
//把上传完的路径存到数据库
|
||||
using (var client = new HttpClient())
|
||||
{
|
||||
// 创建MultipartFormDataContent对象
|
||||
var content = new MultipartFormDataContent();
|
||||
|
||||
// 添加文件内容到MultipartFormDataContent
|
||||
content.Add(new ByteArrayContent(arr), "file", "image.png");
|
||||
|
||||
// 发送POST请求
|
||||
HttpResponseMessage response = await client.PostAsync("https://izzt.jt-sky.com/api/common/uploadimg", content);
|
||||
|
||||
// 检查响应
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
// 假设服务器返回的是JSON格式,包含图片URL
|
||||
var responseContent = await response.Content.ReadAsStringAsync();
|
||||
|
||||
if (responseContent.Contains("success"))
|
||||
{
|
||||
// 解析JSON
|
||||
JObject jsonResponseObject = JObject.Parse(responseContent);
|
||||
// 提取URL
|
||||
imageUrl = jsonResponseObject["data"]["url"].ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
W_Product insertdata = new W_Product
|
||||
{
|
||||
Id = Guid.NewGuid().ToString(),
|
||||
UserName = data.userName,
|
||||
Weight = data.weight.ToString(),
|
||||
Image = imageUrl,
|
||||
UpperLimit = data.upperLimit.ToString(),
|
||||
Unit = data.unit,
|
||||
TimeStamp = data.timeStamp.ToString(),
|
||||
TareWeight = data.tareWeight.ToString(),
|
||||
RecordNo = data.recordNo.ToString(),
|
||||
ProductNo = data.productNo,
|
||||
ProductName = data.productName,
|
||||
ProductId = data.productId.ToString(),
|
||||
NetWeight = data.netWeight.ToString(),
|
||||
LowerLimit = data.lowerLimit.ToString(),
|
||||
IdNames = data.idNames,
|
||||
IdValues = data.idValues,
|
||||
Date = data.date,
|
||||
DateTime = data.dateTime,
|
||||
Amount = data.amount.ToString(),
|
||||
Uuid = data.uuid,
|
||||
UserId = data.userId.ToString(),
|
||||
CreateTime = DateTime.Now,
|
||||
Video = data.Video
|
||||
};
|
||||
await dbClient.Insertable(insertdata).ExecuteCommandAsync();
|
||||
return new ResultInfo(ResultState.SUCCESS, "success");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ResultInfo(ResultState.FAIL, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<PageParms<W_Product>> GetProductAsync(QueryParams param)
|
||||
{
|
||||
try
|
||||
{
|
||||
RefAsync<int> totalnum = 0;
|
||||
var temquery = dbClient.Queryable<W_Product>();
|
||||
if (param.queryParam != null && param.queryParam.Count > 0)
|
||||
{
|
||||
List<IConditionalModel> conModels = new List<IConditionalModel>();
|
||||
param.queryParam.ForEach(x =>
|
||||
{
|
||||
if (!string.IsNullOrEmpty(x.Value))
|
||||
{
|
||||
conModels.Add(new ConditionalModel()
|
||||
{
|
||||
FieldName = x.Name,
|
||||
ConditionalType = (ConditionalType)x.Type,
|
||||
FieldValue = x.Value.Trim()
|
||||
});
|
||||
}
|
||||
});
|
||||
if (conModels.Count > 0)
|
||||
{
|
||||
temquery = temquery.Where(conModels);
|
||||
}
|
||||
}
|
||||
string sorts = string.Format("{0} {1}", param.sort, param.order);
|
||||
var query = await temquery.OrderBy(sorts)
|
||||
.ToPageListAsync(param.offset, param.limit, totalnum);
|
||||
return new PageParms<W_Product>
|
||||
{
|
||||
page = param.offset,
|
||||
Items = query,
|
||||
totalnum = totalnum,
|
||||
limit = param.limit
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new PageParms<W_Product>();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2976,6 +2976,131 @@
|
|||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.date">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.dateTime">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.id">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.idNames">
|
||||
<summary>
|
||||
规格,参数名称,
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.idValues">
|
||||
<summary>
|
||||
545677,参数值,
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.isUpload">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.level">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.lowerLimit">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.netWeight">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.productId">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.productName">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.productNo">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.recordNo">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.startDate">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.status">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.tareWeight">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.time">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.timeStamp">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.unit">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.upperLimit">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.userId">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.userName">
|
||||
<summary>
|
||||
技术员
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.uuid">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.weight">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Waste.Application.ThirdApiInfo.ProductInfoDto.image">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Waste.Application.ThirdApiInfo.DevHeartRequestDto">
|
||||
<summary>
|
||||
心跳包上报数据
|
||||
|
|
@ -3383,6 +3508,13 @@
|
|||
<param name="data"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Waste.Application.ThirdApiInfo.IOpenService.AddProductAsync(Waste.Application.ThirdApiInfo.ProductInfoDto)">
|
||||
<summary>
|
||||
新增电子秤
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Waste.Application.ThirdApiInfo.OpenAppService">
|
||||
<summary>
|
||||
开放数据
|
||||
|
|
@ -3451,6 +3583,13 @@
|
|||
<param name="data"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Waste.Application.ThirdApiInfo.OpenAppService.AddProductAsync(Waste.Application.ThirdApiInfo.ProductInfoDto)">
|
||||
<summary>
|
||||
新增电子秤
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Waste.Application.ThirdApiInfo.OpenService">
|
||||
<summary>
|
||||
设备对接接口
|
||||
|
|
@ -3533,6 +3672,13 @@
|
|||
<param name="bt"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Waste.Application.ThirdApiInfo.OpenService.AddProductAsync(Waste.Application.ThirdApiInfo.ProductInfoDto)">
|
||||
<summary>
|
||||
新增电子秤
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Waste.Application.IWasteService.GetTypeListAsync(Nirvana.Common.QueryParams)">
|
||||
<summary>
|
||||
垃圾分类列表
|
||||
|
|
|
|||
|
|
@ -0,0 +1,170 @@
|
|||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Waste.Domain.DataModel
|
||||
{
|
||||
[SugarTable("W_Product")]
|
||||
public partial class W_Product
|
||||
{
|
||||
public W_Product()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey = true)]
|
||||
public string Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string UserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Weight { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Image { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string UpperLimit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:NULL
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string TimeStamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string TareWeight { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string RecordNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string ProductNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string ProductName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string NetWeight { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string LowerLimit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string IdNames { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string IdValues { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Date { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string DateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Amount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Uuid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string UserId { get; set; }
|
||||
|
||||
public System.DateTime CreateTime { get; set; }
|
||||
|
||||
public string Video { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Waste.OpenApi.Host.Controllers
|
||||
{
|
||||
[ApiController]
|
||||
[Route("open-api/[controller]")]
|
||||
public class ResultController : ControllerBase
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
using Furion;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Serilog;
|
||||
using Serilog.Events;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Waste.OpenApi.Host
|
||||
{
|
||||
public class Program
|
||||
{
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
CreateHostBuilder(args).Build().Run();
|
||||
}
|
||||
|
||||
public static IHostBuilder CreateHostBuilder(string[] args) =>
|
||||
Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder(args)
|
||||
.ConfigureWebHostDefaults(webBuilder =>
|
||||
{
|
||||
webBuilder.Inject()
|
||||
.UseStartup<Startup>()
|
||||
.UseSerilogDefault(config =>
|
||||
{
|
||||
var filepath = App.Configuration["logfile"];
|
||||
string date = DateTime.Now.ToString("yyyy-MM-dd");//按时间创建文件夹
|
||||
string outputTemplate = "{NewLine}【{Level:u3}】{Timestamp:yyyy-MM-dd HH:mm:ss.fff}" +
|
||||
"{NewLine}#Msg#{Message:lj}" +
|
||||
"{NewLine}#Pro #{Properties:j}" +
|
||||
"{NewLine}#Exc#{Exception}" +
|
||||
new string('-', 50);//输出模板
|
||||
///1.输出所有restrictedToMinimumLevel:LogEventLevel类型
|
||||
config
|
||||
.Enrich.WithProperty("Application", typeof(Program).Assembly.GetName().Name)
|
||||
.Enrich.WithProcessId()
|
||||
.Enrich.WithProcessName()
|
||||
.Enrich.WithMachineName()
|
||||
.Enrich.WithEnvironmentUserName()
|
||||
.WriteTo.Seq("http://localhost:5341/")
|
||||
//.MinimumLevel.Debug() // 所有Sink的最小记录级别
|
||||
//.MinimumLevel.Override("Microsoft", LogEventLevel.Fatal)
|
||||
//.Enrich.FromLogContext()
|
||||
.WriteTo.Console(outputTemplate: outputTemplate)
|
||||
|
||||
//2.1仅输出 LogEventLevel.Debug 类型
|
||||
.WriteTo.Logger(lg => lg.Filter.ByIncludingOnly(evt => evt.Level == LogEventLevel.Debug)//筛选过滤
|
||||
.WriteTo.File($"{filepath}/{date}/{LogEventLevel.Debug}.log",
|
||||
outputTemplate: outputTemplate,
|
||||
rollingInterval: RollingInterval.Day,//日志按日保存,这样会在文件名称后自动加上日期后缀
|
||||
encoding: Encoding.UTF8 // 文件字符编码
|
||||
)
|
||||
)
|
||||
|
||||
//2.2仅输出 LogEventLevel.Error 类型
|
||||
.WriteTo.Logger(lg => lg.Filter.ByIncludingOnly(evt => evt.Level == LogEventLevel.Error)//筛选过滤
|
||||
.WriteTo.File($"{filepath}/{date}/{LogEventLevel.Error}.log",
|
||||
outputTemplate: outputTemplate,
|
||||
rollingInterval: RollingInterval.Day,//日志按日保存,这样会在文件名称后自动加上日期后缀
|
||||
encoding: Encoding.UTF8 // 文件字符编码
|
||||
)
|
||||
)
|
||||
.WriteTo.Logger(lg => lg.Filter.ByIncludingOnly(evt => evt.Level == LogEventLevel.Information)//筛选过滤
|
||||
.WriteTo.File($"{filepath}/{date}/{LogEventLevel.Information}.log",
|
||||
outputTemplate: outputTemplate,
|
||||
rollingInterval: RollingInterval.Day,//日志按日保存,这样会在文件名称后自动加上日期后缀
|
||||
encoding: Encoding.UTF8 // 文件字符编码
|
||||
)
|
||||
)
|
||||
.WriteTo.Logger(lg => lg.Filter.ByIncludingOnly(evt => evt.Level == LogEventLevel.Fatal)//筛选过滤
|
||||
.WriteTo.File($"{filepath}/{date}/{LogEventLevel.Fatal}.log",
|
||||
outputTemplate: outputTemplate,
|
||||
rollingInterval: RollingInterval.Day,//日志按日保存,这样会在文件名称后自动加上日期后缀
|
||||
encoding: Encoding.UTF8 // 文件字符编码
|
||||
)
|
||||
)
|
||||
.WriteTo.Logger(lg => lg.Filter.ByIncludingOnly(evt => evt.Level == LogEventLevel.Warning)//筛选过滤
|
||||
.WriteTo.File($"{filepath}/{date}/{LogEventLevel.Warning}.log",
|
||||
outputTemplate: outputTemplate,
|
||||
rollingInterval: RollingInterval.Day,//日志按日保存,这样会在文件名称后自动加上日期后缀
|
||||
encoding: Encoding.UTF8 // 文件字符编码
|
||||
)
|
||||
)
|
||||
;
|
||||
})
|
||||
;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"$schema": "http://json.schemastore.org/launchsettings.json",
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:54579",
|
||||
"sslPort": 0
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"http": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"launchBrowser": true,
|
||||
"applicationUrl": "http://localhost:5070",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
using Furion;
|
||||
using Microsoft.AspNetCore.DataProtection;
|
||||
using Microsoft.AspNetCore.Mvc.ViewFeatures;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Nirvana.Common;
|
||||
using Serilog;
|
||||
using System.Text;
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Furion.DependencyInjection;
|
||||
using System;
|
||||
using Waste.Domain;
|
||||
|
||||
namespace Waste.OpenApi.Host
|
||||
{
|
||||
public class Startup// : AppStartup
|
||||
{
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
var configuration = App.Configuration;
|
||||
|
||||
|
||||
|
||||
|
||||
services.AddControllers(options =>
|
||||
{
|
||||
options.EnableEndpointRouting = true;
|
||||
}).AddInject();
|
||||
|
||||
|
||||
#region 注入获取IP
|
||||
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
|
||||
MyHttpContext.serviceCollection = services;
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
||||
{
|
||||
//启用 GB2312(按需)
|
||||
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
||||
if (env.IsDevelopment())
|
||||
{
|
||||
app.UseDeveloperExceptionPage();
|
||||
}
|
||||
|
||||
|
||||
// 或者更多配置
|
||||
// app.UseUnifyResultStatusCodes(options => { options.Return200StatusCodes = new [] { 401, 403 }; });
|
||||
//允许body重用
|
||||
app.Use(next => context =>
|
||||
{
|
||||
context.Request.EnableBuffering();
|
||||
return next(context);
|
||||
});
|
||||
|
||||
app.UseStaticFiles();
|
||||
// 必须在 UseStaticFiles 和 UseRouting 之间,记录请求日志
|
||||
app.UseRouting();
|
||||
|
||||
|
||||
// app.UseAuthentication();
|
||||
app.UseAuthorization();
|
||||
|
||||
app.UseInject();
|
||||
|
||||
|
||||
app.UseEndpoints(endpoints =>
|
||||
{
|
||||
endpoints.MapControllerRoute(
|
||||
name: "default",
|
||||
pattern: "{controller=Home}/{action=Index}/{id?}");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public class CurrentUser : ICurrentUser, ITransient
|
||||
{
|
||||
public Guid? Id => null;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net5.0</TargetFramework>
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Serilog.Enrichers.Process" Version="2.0.2" />
|
||||
<PackageReference Include="Serilog.Sinks.Seq" Version="5.0.1" />
|
||||
<PackageReference Include="Serilog.Enrichers.Environment" Version="2.3.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Waste.Domain\Waste.Domain.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
"Serilog": {
|
||||
"MinimumLevel": {
|
||||
"Default": "Information",
|
||||
"Override": {
|
||||
"System": "Warning",
|
||||
"Microsoft": "Warning",
|
||||
"Microsoft.Hosting.Lifetime": "Warning",
|
||||
"Microsoft.EntityFrameworkCore": "Warning"
|
||||
}
|
||||
}
|
||||
},
|
||||
"logfile": "d:/errlog/waste.ybhdmob.com", //日志文件路径
|
||||
"NirvanaConnection": "Server=localhost,4331;Database=waste;uid=jutian_user;pwd=jutian1qaz@WSX;"
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
-->
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<History>True|2022-06-24T03:02:53.2509336Z;True|2022-06-21T16:12:12.0351728+08:00;True|2022-06-21T16:02:10.4631892+08:00;True|2022-06-21T15:53:41.4845069+08:00;True|2022-06-21T14:07:12.5956345+08:00;True|2022-06-18T11:30:52.8509064+08:00;True|2022-06-18T11:12:53.8211499+08:00;True|2022-06-18T11:11:56.6483268+08:00;True|2022-06-18T10:40:35.8822373+08:00;True|2022-05-17T17:19:03.8993888+08:00;True|2021-11-23T17:56:50.1140092+08:00;True|2021-11-23T17:47:15.3723334+08:00;True|2021-11-23T17:46:56.0953346+08:00;True|2021-11-23T15:39:30.7279293+08:00;True|2021-11-23T15:26:11.9749528+08:00;True|2021-11-23T15:19:15.3506970+08:00;True|2021-11-23T14:58:10.0460847+08:00;</History>
|
||||
<History>True|2024-12-26T01:10:06.2433590Z||;True|2024-12-25T18:25:15.3622768+08:00||;True|2024-12-25T18:21:11.3533614+08:00||;False|2024-12-25T18:21:00.0512342+08:00||;True|2024-12-25T18:02:00.9343947+08:00||;True|2024-12-25T18:01:38.8672132+08:00||;True|2024-12-25T17:53:52.8116954+08:00||;True|2024-12-25T17:26:12.9040139+08:00||;True|2024-12-25T16:29:14.2739005+08:00||;True|2024-12-24T17:39:06.2503701+08:00||;True|2024-12-20T16:45:57.1905101+08:00||;True|2024-12-20T16:42:08.5174447+08:00||;True|2024-12-20T14:34:40.0312353+08:00||;True|2024-12-20T14:34:29.9878081+08:00||;True|2024-12-20T14:30:12.8940480+08:00||;False|2024-12-20T14:29:53.4324255+08:00||;True|2024-12-20T14:01:11.5986756+08:00||;True|2024-12-20T14:01:08.2479019+08:00||;True|2024-12-20T13:54:01.8966259+08:00||;True|2024-12-20T13:51:45.5298413+08:00||;True|2024-12-20T13:51:05.5206640+08:00||;True|2024-12-20T13:50:15.0489021+08:00||;True|2024-12-20T11:57:56.6476092+08:00||;True|2024-12-20T11:45:26.1507642+08:00||;True|2024-12-20T11:24:57.9651646+08:00||;True|2024-12-18T09:55:33.7744752+08:00||;True|2022-06-24T11:02:53.2509336+08:00||;True|2022-06-21T16:12:12.0351728+08:00||;True|2022-06-21T16:02:10.4631892+08:00||;True|2022-06-21T15:53:41.4845069+08:00||;True|2022-06-21T14:07:12.5956345+08:00||;True|2022-06-18T11:30:52.8509064+08:00||;True|2022-06-18T11:12:53.8211499+08:00||;True|2022-06-18T11:11:56.6483268+08:00||;True|2022-06-18T10:40:35.8822373+08:00||;True|2022-05-17T17:19:03.8993888+08:00||;True|2021-11-23T17:56:50.1140092+08:00||;True|2021-11-23T17:47:15.3723334+08:00||;True|2021-11-23T17:46:56.0953346+08:00||;True|2021-11-23T15:39:30.7279293+08:00||;True|2021-11-23T15:26:11.9749528+08:00||;True|2021-11-23T15:19:15.3506970+08:00||;True|2021-11-23T14:58:10.0460847+08:00||;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<_LastSelectedProfileId>H:\liuzl_ybhdmob\Waste\Waste.SocketService.cs\Properties\PublishProfiles\FolderProfile.pubxml</_LastSelectedProfileId>
|
||||
<_LastSelectedProfileId>E:\liuzl_ybhdmob\巨天垃圾分类\Waste\Waste.SocketService.cs\Properties\PublishProfiles\FolderProfile.pubxml</_LastSelectedProfileId>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -90,10 +90,10 @@ namespace Waste.Web.Core
|
|||
//启用 GB2312(按需)
|
||||
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
||||
app.UseSession();
|
||||
if (env.IsDevelopment())
|
||||
{
|
||||
app.UseDeveloperExceptionPage();
|
||||
}
|
||||
//if (env.IsDevelopment())
|
||||
//{
|
||||
// app.UseDeveloperExceptionPage();
|
||||
//}
|
||||
|
||||
// 添加规范化结果状态码,需要在这里注册
|
||||
app.UseUnifyResultStatusCodes();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<key id="8bb4cac3-1d12-401d-83b9-3fd48e11a10f" version="1">
|
||||
<creationDate>2025-03-20T05:35:34.3500923Z</creationDate>
|
||||
<activationDate>2025-03-20T05:35:34.2930103Z</activationDate>
|
||||
<expirationDate>2025-06-18T05:35:34.2930103Z</expirationDate>
|
||||
<descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
|
||||
<descriptor>
|
||||
<encryption algorithm="AES_256_CBC" />
|
||||
<validation algorithm="HMACSHA256" />
|
||||
<masterKey p4:requiresEncryption="true" xmlns:p4="http://schemas.asp.net/2015/03/dataProtection">
|
||||
<!-- Warning: the key below is in an unencrypted form. -->
|
||||
<value>TvqtBOO7y3sR/Iok1jz9b14w6ZihrCPOvEUrHyqFKQ6QXDja6MpYBfScz80fpGToEkvdnxDUOtxH1g8pxWTrGw==</value>
|
||||
</masterKey>
|
||||
</descriptor>
|
||||
</descriptor>
|
||||
</key>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<key id="990d58c2-bb18-4ec6-901c-0391a76bfa2f" version="1">
|
||||
<creationDate>2024-12-13T07:11:41.6846536Z</creationDate>
|
||||
<activationDate>2024-12-13T07:11:41.630637Z</activationDate>
|
||||
<expirationDate>2025-03-13T07:11:41.630637Z</expirationDate>
|
||||
<descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
|
||||
<descriptor>
|
||||
<encryption algorithm="AES_256_CBC" />
|
||||
<validation algorithm="HMACSHA256" />
|
||||
<masterKey p4:requiresEncryption="true" xmlns:p4="http://schemas.asp.net/2015/03/dataProtection">
|
||||
<!-- Warning: the key below is in an unencrypted form. -->
|
||||
<value>tAYzBIDvWqs5fqO3vv3lFKJKUGxc/smu8Rp7Vs4BRG+fKqHEVyBqnj9Q5nkj+qczAJOgmsn1MuET3TcG5zluOQ==</value>
|
||||
</masterKey>
|
||||
</descriptor>
|
||||
</descriptor>
|
||||
</key>
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
@page
|
||||
@model Waste.Web.Entry.Pages.Device.ProductModel
|
||||
@{
|
||||
ViewData["Title"] = "标准秤列表";
|
||||
}
|
||||
<div class="layui-card">
|
||||
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" class="layui-input" name="Name" id="Name" placeholder="请输入产品名称" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="btn btn-primary btn-lg js-search" type="button">查询</button>
|
||||
@*<button class="btn btn-primary btn-lg js-add" type="button">添加</button> *@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<table class="layui-table" id="list" lay-filter="list">
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@section Scripts {
|
||||
<script type="text/javascript">
|
||||
layui.use(['common'], function () {
|
||||
var common = layui.common;
|
||||
common.initTable({
|
||||
url: '/api/open/getproduct', method: 'post',
|
||||
cols: [[
|
||||
{
|
||||
field: 'image', title: '图片',templet: function(d) { // 自定义渲染逻辑
|
||||
return '<img src="' + d.image + '" style="width: 50px; height: 50px;">';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'video', title: '视频'
|
||||
},
|
||||
{
|
||||
field: 'productname', title: '产品名称'
|
||||
},
|
||||
{
|
||||
field: 'netweight', title: '净重'
|
||||
},
|
||||
{
|
||||
field: 'weight', title: '毛重'
|
||||
},
|
||||
{
|
||||
field: 'amount', title: '数量'
|
||||
},
|
||||
{
|
||||
field: 'unit', title: '重量单位'
|
||||
},
|
||||
{
|
||||
field: 'upperlimit', title: '上限'
|
||||
},
|
||||
{
|
||||
field: 'username', title: '用户名称'
|
||||
},
|
||||
{
|
||||
field: 'createtime', title: '创建时间'
|
||||
},
|
||||
]],
|
||||
parseData: function(n) {
|
||||
console.log("接口返回的原始数据:", n);
|
||||
return {
|
||||
data: n.items, // 数据列表在 n.Items 中
|
||||
totalnum: n.totalnum, // 数据总数在 n.totalnum 中
|
||||
statuscode: 200
|
||||
};
|
||||
},
|
||||
});
|
||||
$(".js-search").on("click", function () {
|
||||
common.reloadtable("list", {
|
||||
where: {
|
||||
queryParam: [{
|
||||
"Name": 'ProductName',
|
||||
"Type": QueryCond.Like,
|
||||
"Value": $("#Name").val()
|
||||
}]
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using System;
|
||||
using Waste.Application;
|
||||
using Waste.Application.ThirdApiInfo;
|
||||
using Waste.Domain;
|
||||
using Waste.Domain.DataModel;
|
||||
using Nirvana.Common;
|
||||
|
||||
namespace Waste.Web.Entry.Pages.Device
|
||||
{
|
||||
public class ProductModel : BaseModel
|
||||
{
|
||||
public void OnGet()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<_PublishTargetUrl>D:\webpublish\waste.ybhdmob.com</_PublishTargetUrl>
|
||||
<History>True|2024-02-22T01:28:06.5641782Z;True|2024-02-22T09:23:28.6539914+08:00;True|2024-02-21T13:50:30.0887271+08:00;True|2023-01-09T14:37:17.3219940+08:00;False|2023-01-09T14:36:37.2025779+08:00;True|2022-09-14T10:54:14.3430113+08:00;True|2022-08-24T10:11:56.9315738+08:00;True|2022-07-28T16:27:26.4646475+08:00;True|2022-07-26T18:02:16.8734313+08:00;True|2022-07-26T17:47:48.4802128+08:00;True|2022-07-26T10:16:29.8933802+08:00;True|2022-07-26T09:36:14.5292489+08:00;True|2022-07-12T17:26:37.8289741+08:00;True|2022-07-07T15:15:35.7942932+08:00;True|2022-07-07T14:38:14.6580938+08:00;True|2022-07-07T14:32:33.3480279+08:00;True|2022-07-06T08:59:01.5108509+08:00;True|2022-06-21T14:41:45.3390865+08:00;False|2022-06-21T14:31:42.6318272+08:00;True|2022-06-21T14:07:42.4016410+08:00;True|2022-06-20T15:37:14.0002383+08:00;True|2022-06-20T08:32:15.3735483+08:00;True|2022-06-18T10:39:25.0997617+08:00;True|2022-06-15T11:23:32.6444305+08:00;True|2022-06-07T10:26:48.8057155+08:00;True|2022-05-19T14:38:58.4564787+08:00;True|2022-05-19T10:00:43.2712891+08:00;True|2022-05-17T18:00:53.2618269+08:00;True|2022-05-17T17:55:33.2053115+08:00;True|2022-05-17T17:38:48.8279756+08:00;True|2022-05-16T16:44:49.1758100+08:00;True|2022-03-30T10:54:32.5565057+08:00;True|2022-03-30T10:53:48.9972377+08:00;True|2022-03-30T10:50:31.5745775+08:00;True|2022-03-30T10:47:50.1605527+08:00;True|2022-03-30T10:15:59.9812921+08:00;True|2022-03-29T09:29:45.1039655+08:00;True|2022-03-29T09:21:47.0149226+08:00;True|2022-03-28T10:33:44.7419612+08:00;True|2022-03-28T10:22:40.9448563+08:00;True|2022-03-28T10:19:15.1438519+08:00;True|2022-01-20T10:39:53.2000547+08:00;True|2021-11-23T17:45:59.0399234+08:00;True|2021-11-23T14:52:52.6108389+08:00;True|2021-11-23T13:47:55.8909321+08:00;True|2021-11-23T13:46:38.7796888+08:00;True|2021-11-23T13:42:14.9551976+08:00;True|2021-11-23T13:40:54.9093258+08:00;True|2021-11-23T13:31:49.0003794+08:00;True|2021-11-23T13:29:43.7414639+08:00;True|2021-10-12T15:18:06.6012215+08:00;True|2021-10-12T15:11:17.7752651+08:00;True|2021-10-12T14:54:39.0578509+08:00;True|2021-10-12T11:25:18.7098128+08:00;True|2021-09-18T15:34:20.7386778+08:00;True|2021-09-15T11:09:28.0068993+08:00;True|2021-09-07T12:19:33.4635211+08:00;True|2021-09-07T11:36:13.4563799+08:00;True|2021-09-03T15:41:46.2819586+08:00;True|2021-08-31T17:16:16.0336390+08:00;True|2021-08-31T16:05:30.7224440+08:00;True|2021-08-23T09:44:46.2114418+08:00;True|2021-08-19T20:32:56.2854974+08:00;True|2021-08-18T14:01:33.0411246+08:00;True|2021-08-17T10:05:15.4299188+08:00;True|2021-08-13T19:32:53.6307075+08:00;True|2021-08-13T19:29:50.5876782+08:00;True|2021-08-13T19:14:14.2545106+08:00;True|2021-08-13T15:24:09.4521125+08:00;True|2021-08-13T14:59:40.4579407+08:00;True|2021-08-13T10:02:29.7650246+08:00;True|2021-08-13T09:45:10.6245894+08:00;True|2021-08-12T20:11:21.5851106+08:00;True|2021-08-12T20:00:42.4820498+08:00;True|2021-08-12T18:44:08.3079650+08:00;True|2021-08-12T18:35:47.4730766+08:00;True|2021-08-12T18:32:10.9361388+08:00;True|2021-08-12T18:30:21.4006961+08:00;True|2021-08-12T18:13:00.9624470+08:00;True|2021-08-12T18:10:12.3459311+08:00;True|2021-08-12T18:09:18.8656414+08:00;True|2021-08-12T17:35:24.7213607+08:00;True|2021-08-11T07:54:57.1322848+08:00;True|2021-08-10T10:16:40.7495389+08:00;True|2021-08-03T11:16:02.7897282+08:00;True|2021-08-02T16:39:27.2332369+08:00;True|2021-08-02T15:07:40.7995318+08:00;True|2021-08-02T14:32:29.6885424+08:00;True|2021-08-02T14:31:18.6578543+08:00;True|2021-08-02T14:27:57.1301002+08:00;True|2021-08-02T10:55:40.3542370+08:00;True|2021-08-02T09:44:28.0994056+08:00;True|2021-08-01T13:49:38.4071985+08:00;True|2021-08-01T13:36:45.5372120+08:00;True|2021-08-01T11:00:19.6165520+08:00;True|2021-08-01T10:38:51.4029710+08:00;True|2021-07-31T20:27:53.6583811+08:00;True|2021-07-31T18:35:23.4214441+08:00;True|2021-07-31T17:34:14.0712243+08:00;True|2021-07-31T14:50:43.2065556+08:00;</History>
|
||||
<History>True|2025-03-27T03:41:02.3228124Z||;True|2025-03-21T16:54:06.1039552+08:00||;True|2025-03-21T13:31:54.3916167+08:00||;True|2025-03-21T11:58:37.1884032+08:00||;True|2025-03-21T11:35:39.8283713+08:00||;True|2025-03-20T15:55:31.1151589+08:00||;True|2025-02-11T14:49:30.5446930+08:00||;True|2025-02-11T14:35:29.4332908+08:00||;True|2025-02-11T13:59:02.5624245+08:00||;True|2024-12-26T15:55:05.3910632+08:00||;True|2024-12-26T09:11:18.0562918+08:00||;True|2024-12-20T17:09:33.5985280+08:00||;True|2024-12-20T16:58:49.8519733+08:00||;True|2024-12-20T16:47:57.5264148+08:00||;True|2024-12-20T15:15:52.6034211+08:00||;True|2024-12-20T15:04:37.1611174+08:00||;True|2024-12-20T15:03:11.1199173+08:00||;True|2024-12-20T14:56:32.0361934+08:00||;True|2024-12-20T14:52:27.0845075+08:00||;True|2024-12-18T09:25:19.6828490+08:00||;True|2024-12-16T15:45:38.9731146+08:00||;True|2024-02-22T09:28:06.5641782+08:00||;True|2024-02-22T09:23:28.6539914+08:00||;True|2024-02-21T13:50:30.0887271+08:00||;True|2023-01-09T14:37:17.3219940+08:00||;False|2023-01-09T14:36:37.2025779+08:00||;True|2022-09-14T10:54:14.3430113+08:00||;True|2022-08-24T10:11:56.9315738+08:00||;True|2022-07-28T16:27:26.4646475+08:00||;True|2022-07-26T18:02:16.8734313+08:00||;True|2022-07-26T17:47:48.4802128+08:00||;True|2022-07-26T10:16:29.8933802+08:00||;True|2022-07-26T09:36:14.5292489+08:00||;True|2022-07-12T17:26:37.8289741+08:00||;True|2022-07-07T15:15:35.7942932+08:00||;True|2022-07-07T14:38:14.6580938+08:00||;True|2022-07-07T14:32:33.3480279+08:00||;True|2022-07-06T08:59:01.5108509+08:00||;True|2022-06-21T14:41:45.3390865+08:00||;False|2022-06-21T14:31:42.6318272+08:00||;True|2022-06-21T14:07:42.4016410+08:00||;True|2022-06-20T15:37:14.0002383+08:00||;True|2022-06-20T08:32:15.3735483+08:00||;True|2022-06-18T10:39:25.0997617+08:00||;True|2022-06-15T11:23:32.6444305+08:00||;True|2022-06-07T10:26:48.8057155+08:00||;True|2022-05-19T14:38:58.4564787+08:00||;True|2022-05-19T10:00:43.2712891+08:00||;True|2022-05-17T18:00:53.2618269+08:00||;True|2022-05-17T17:55:33.2053115+08:00||;True|2022-05-17T17:38:48.8279756+08:00||;True|2022-05-16T16:44:49.1758100+08:00||;True|2022-03-30T10:54:32.5565057+08:00||;True|2022-03-30T10:53:48.9972377+08:00||;True|2022-03-30T10:50:31.5745775+08:00||;True|2022-03-30T10:47:50.1605527+08:00||;True|2022-03-30T10:15:59.9812921+08:00||;True|2022-03-29T09:29:45.1039655+08:00||;True|2022-03-29T09:21:47.0149226+08:00||;True|2022-03-28T10:33:44.7419612+08:00||;True|2022-03-28T10:22:40.9448563+08:00||;True|2022-03-28T10:19:15.1438519+08:00||;True|2022-01-20T10:39:53.2000547+08:00||;True|2021-11-23T17:45:59.0399234+08:00||;True|2021-11-23T14:52:52.6108389+08:00||;True|2021-11-23T13:47:55.8909321+08:00||;True|2021-11-23T13:46:38.7796888+08:00||;True|2021-11-23T13:42:14.9551976+08:00||;True|2021-11-23T13:40:54.9093258+08:00||;True|2021-11-23T13:31:49.0003794+08:00||;True|2021-11-23T13:29:43.7414639+08:00||;True|2021-10-12T15:18:06.6012215+08:00||;True|2021-10-12T15:11:17.7752651+08:00||;True|2021-10-12T14:54:39.0578509+08:00||;True|2021-10-12T11:25:18.7098128+08:00||;True|2021-09-18T15:34:20.7386778+08:00||;True|2021-09-15T11:09:28.0068993+08:00||;True|2021-09-07T12:19:33.4635211+08:00||;True|2021-09-07T11:36:13.4563799+08:00||;True|2021-09-03T15:41:46.2819586+08:00||;True|2021-08-31T17:16:16.0336390+08:00||;True|2021-08-31T16:05:30.7224440+08:00||;True|2021-08-23T09:44:46.2114418+08:00||;True|2021-08-19T20:32:56.2854974+08:00||;True|2021-08-18T14:01:33.0411246+08:00||;True|2021-08-17T10:05:15.4299188+08:00||;True|2021-08-13T19:32:53.6307075+08:00||;True|2021-08-13T19:29:50.5876782+08:00||;True|2021-08-13T19:14:14.2545106+08:00||;True|2021-08-13T15:24:09.4521125+08:00||;True|2021-08-13T14:59:40.4579407+08:00||;True|2021-08-13T10:02:29.7650246+08:00||;True|2021-08-13T09:45:10.6245894+08:00||;True|2021-08-12T20:11:21.5851106+08:00||;True|2021-08-12T20:00:42.4820498+08:00||;True|2021-08-12T18:44:08.3079650+08:00||;True|2021-08-12T18:35:47.4730766+08:00||;True|2021-08-12T18:32:10.9361388+08:00||;True|2021-08-12T18:30:21.4006961+08:00||;True|2021-08-12T18:13:00.9624470+08:00||;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -11,6 +11,13 @@
|
|||
<DebugSymbols>false</DebugSymbols>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Remove="Pages\Product\**" />
|
||||
<Content Remove="Pages\Product\**" />
|
||||
<EmbeddedResource Remove="Pages\Product\**" />
|
||||
<None Remove="Pages\Product\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="Pages\Shared\_Layout.cshtml" />
|
||||
<None Include="Pages\Shared\_ValidationScriptsPartial.cshtml" />
|
||||
|
|
|
|||
|
|
@ -4,5 +4,9 @@
|
|||
<RazorPage_SelectedScaffolderID>RazorPageScaffolder</RazorPage_SelectedScaffolderID>
|
||||
<RazorPage_SelectedScaffolderCategoryPath>root/Common/RazorPage</RazorPage_SelectedScaffolderCategoryPath>
|
||||
<NameOfLastUsedPublishProfile>E:\liuzl_ybhdmob\巨天垃圾分类\Waste\Waste.Web.Entry\Properties\PublishProfiles\waste.ybhdmob.com.pubxml</NameOfLastUsedPublishProfile>
|
||||
<ActiveDebugProfile>Waste.Web.Entry</ActiveDebugProfile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -37,6 +37,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WasteHexTest", "WasteHexTes
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Waste.SocketService", "Waste.SocketService.cs\Waste.SocketService.csproj", "{52B214DE-0AE6-4554-ABA6-1222175A6DEE}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Waste.OpenApi.Host", "Waste.OpenApi.Host\Waste.OpenApi.Host.csproj", "{F5F25517-BC6C-4DF6-8C4E-13074F995589}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
|
@ -95,6 +97,10 @@ Global
|
|||
{52B214DE-0AE6-4554-ABA6-1222175A6DEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{52B214DE-0AE6-4554-ABA6-1222175A6DEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{52B214DE-0AE6-4554-ABA6-1222175A6DEE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F5F25517-BC6C-4DF6-8C4E-13074F995589}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F5F25517-BC6C-4DF6-8C4E-13074F995589}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F5F25517-BC6C-4DF6-8C4E-13074F995589}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F5F25517-BC6C-4DF6-8C4E-13074F995589}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
@ -113,6 +119,7 @@ Global
|
|||
{D722D30A-DB79-41C7-A377-0864E42E7AF1} = {114F03F7-2D58-4BBE-B91A-CBB9F3DC12A0}
|
||||
{13679A86-CE78-49A2-BD09-83A33642D9BF} = {0E68A675-AD88-4D8F-A0A2-B37094327D88}
|
||||
{52B214DE-0AE6-4554-ABA6-1222175A6DEE} = {A10953C4-FF58-42A1-AAEF-7B68018F5EDB}
|
||||
{F5F25517-BC6C-4DF6-8C4E-13074F995589} = {A10953C4-FF58-42A1-AAEF-7B68018F5EDB}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {086B267B-9152-4816-8D48-30032ACB8A2C}
|
||||
|
|
|
|||
Loading…
Reference in New Issue