This commit is contained in:
2025-08-23 16:27:17 +08:00
parent 97e85a054f
commit de4a33e00e
25 changed files with 1244 additions and 323 deletions

View File

@@ -0,0 +1,234 @@
using System;
using System.Linq;
using System.Text;
using SqlSugar;
namespace MyCode.Project.Domain.Model
{
///<summary>
///
///</summary>
[SugarTable("JackOrders")]
public partial class JackOrders
{
public JackOrders(){
}
/// <summary>
/// Desc:
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true,ColumnName="id")]
public Guid Id {get;set;}
/// <summary>
/// Desc:销售单id(吉客云内码)
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="tradeId")]
public string TradeId {get;set;}
/// <summary>
/// Desc:平台优惠
/// Default:0
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="couponFee")]
public decimal? CouponFee {get;set;}
/// <summary>
/// Desc:实付金额
/// Default:0
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="realFee")]
public decimal? RealFee {get;set;}
/// <summary>
/// Desc:店铺编码
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="shopCode")]
public string ShopCode {get;set;}
/// <summary>
/// Desc:发货单单号
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="orderNo")]
public string OrderNo {get;set;}
/// <summary>
/// Desc:订单编号
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="tradeNo")]
public string TradeNo {get;set;}
/// <summary>
/// Desc:是否删除01
/// Default:0
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="isDelete")]
public int? IsDelete {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="mainPostid")]
public string MainPostid {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="companyName")]
public string CompanyName {get;set;}
/// <summary>
/// Desc:标记名称
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="flagNames")]
public string FlagNames {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="shopName")]
public string ShopName {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="warehouseName")]
public string WarehouseName {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="warehouseCode")]
public string WarehouseCode {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="logisticName")]
public string LogisticName {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="tradeFrom")]
public int? TradeFrom {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="warehouseId")]
public string WarehouseId {get;set;}
/// <summary>
/// Desc:店铺id
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="shopId")]
public long? ShopId {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="shopTypeCode")]
public string ShopTypeCode {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="apiType")]
public int? ApiType {get;set;}
/// <summary>
/// Desc:
/// Default:DateTime.Now
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="createTime")]
public DateTime? CreateTime {get;set;}
/// <summary>
/// Desc:
/// Default:DateTime.Now
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="updateTime")]
public DateTime? UpdateTime {get;set;}
/// <summary>
/// Desc:0=未处理 1=已合并 2=已推送
/// Default:0
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="status")]
public int? Status {get;set;}
/// <summary>
/// Desc:支付时间
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="payTime")]
public DateTime? PayTime {get;set;}
/// <summary>
/// Desc:发货时间
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="consignTime")]
public DateTime? ConsignTime {get;set;}
/// <summary>
/// Desc:销售单状态1010待审核1020审核中1030预售1050待复核2000备货等待2010备货等待等补货2020服务等待2030备货等待等生产2040采购等待3010虚拟发货4110待发货待递交4111待发货递交中4112待发货已递交4113待发货-递交失败4121待发货-取消中4122待发货已取消4123待发货取消失败4130待发货部分发货4040代销发货待递交4041代销发货已递交5010已取消5020已取消被合并5030已取消被拆分6000发货在途9090已完成
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="tradeStatus")]
public int? TradeStatus {get;set;}
/// <summary>
/// Desc:订单类型 销售单类型1零售业务2代发货来自分销商3预售订单4周期性订购5代销售供货商发货6现款现货7售后发货8售后退货9批发业务B2B10试销业务11错漏调整12仅退款13销售返利14大B2B业务15物流买赔16销售对账差异 91自定义192自定义293自定义3...100自定义10
/// Default:
/// Nullable:True
/// </summary>
public int? TradeType {get;set;}
}
}

View File

@@ -0,0 +1,122 @@
using System;
using System.Linq;
using System.Text;
using SqlSugar;
namespace MyCode.Project.Domain.Model
{
///<summary>
///
///</summary>
[SugarTable("PushKingDeeOrder")]
public partial class PushKingDeeOrder
{
public PushKingDeeOrder(){
}
/// <summary>
/// Desc:
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true,ColumnName="id")]
public Guid Id {get;set;}
/// <summary>
/// Desc:店铺编码
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="shopCode")]
public string ShopCode {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="shopName")]
public string ShopName {get;set;}
/// <summary>
/// Desc:店铺id
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="shopId")]
public long? ShopId {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="warehouseName")]
public string WarehouseName {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="warehouseCode")]
public string WarehouseCode {get;set;}
/// <summary>
/// Desc:
/// Default:DateTime.Now
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="createTime")]
public DateTime? CreateTime {get;set;}
/// <summary>
/// Desc:
/// Default:DateTime.Now
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="updateTime")]
public DateTime? UpdateTime {get;set;}
/// <summary>
/// Desc:0=未处理 1=已合并 2=已推送
/// Default:0
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="status")]
public int? Status {get;set;}
/// <summary>
/// Desc:发货时间
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="consignTime")]
public DateTime? ConsignTime {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="warehouseId")]
public string WarehouseId {get;set;}
/// <summary>
/// Desc:订单类型 销售单类型1零售业务2代发货来自分销商3预售订单4周期性订购5代销售供货商发货6现款现货7售后发货8售后退货9批发业务B2B10试销业务11错漏调整12仅退款13销售返利14大B2B业务15物流买赔16销售对账差异 91自定义192自定义293自定义3...100自定义10
/// Default:
/// Nullable:True
/// </summary>
public int? TradeType {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsIdentity=true)]
public int Sheet {get;set;}
}
}

View File

@@ -6,9 +6,9 @@ using SqlSugar;
namespace MyCode.Project.Domain.Model
{
///<summary>
///
///工作调度
///</summary>
[SugarTable("sys_workprocess")]
[SugarTable("SysWorkProcess")]
public partial class SysWorkprocess
{
public SysWorkprocess(){
@@ -16,100 +16,124 @@ namespace MyCode.Project.Domain.Model
}
/// <summary>
/// Desc:主键
/// Desc:ID
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true,ColumnName="id")]
public long Id {get;set;}
[SugarColumn(IsPrimaryKey=true)]
public Guid ID {get;set;}
/// <summary>
/// Desc:路径
/// Desc:对应的商家。
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="type_path")]
public string TypePath {get;set;}
public Guid MerchantID {get;set;}
/// <summary>
/// Desc:最后修改时间
/// Desc:执行类型。1=类对象2=存储过程
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="edit_time")]
public DateTime EditTime {get;set;}
/// <summary>
/// Desc:数字越小,优先级越高
/// Default:0
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="priority")]
public int Priority {get;set;}
/// <summary>
/// Desc:类型1函数
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="func_type")]
public int FuncType {get;set;}
/// <summary>
/// Desc:异常信息
/// Default:NULL
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="exception_info")]
public string ExceptionInfo {get;set;}
/// <summary>
/// Desc:备注信息
/// Default:NULL
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="remark")]
public string Remark {get;set;}
/// <summary>
/// Desc:执行情况0等待执行 1执行中 9执行成功 2执行失败
/// Desc:执行的类
/// Default:
/// Nullable:False
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="status")]
public int Status {get;set;}
public string FuncClass {get;set;}
/// <summary>
/// Desc:执行的模块
/// Default:
/// Nullable:True
/// </summary>
public string FuncMethod {get;set;}
/// <summary>
/// Desc:参数信息
/// Default:NULL
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="parameter_info")]
public string ParameterInfo {get;set;}
public string ParamInfo {get;set;}
/// <summary>
/// Desc:方法名
/// Desc:执行时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? ExecuteTime {get;set;}
/// <summary>
/// Desc:重试次数
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="method_name")]
public string MethodName {get;set;}
public int RetryCount {get;set;}
/// <summary>
/// Desc:公司ID
/// Desc:异常信息
/// Default:
/// Nullable:True
/// </summary>
public string ExceptionInfo {get;set;}
/// <summary>
/// Desc:执行状态。0=等待1=执行2=异常暂停3=执行完成
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="company_id")]
public long CompanyId {get;set;}
public int FuncStatus {get;set;}
/// <summary>
/// Desc:创建人
/// Default:
/// Nullable:False
/// </summary>
public string Creater {get;set;}
/// <summary>
/// Desc:创建时间
/// Default:NULL
/// Default:
/// Nullable:False
/// </summary>
public DateTime CreateTime {get;set;}
/// <summary>
/// Desc:编辑人
/// Default:
/// Nullable:False
/// </summary>
public string Editor {get;set;}
/// <summary>
/// Desc:编辑时间
/// Default:
/// Nullable:False
/// </summary>
public DateTime EditTime {get;set;}
/// <summary>
/// Desc:备注
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="create_time")]
public DateTime? CreateTime {get;set;}
public string Remark {get;set;}
/// <summary>
/// Desc:数字越小,优先级越高
/// Default:5
/// Nullable:True
/// </summary>
public int? Priority {get;set;}
/// <summary>
/// Desc:程序执行结果返回内容
/// Default:
/// Nullable:True
/// </summary>
public string Result {get;set;}
}
}

View File

@@ -0,0 +1,209 @@
using System;
using System.Linq;
using System.Text;
using SqlSugar;
namespace MyCode.Project.Domain.Model
{
///<summary>
///
///</summary>
[SugarTable("YTKJ_t_ShopParameter")]
public partial class YTKJTShopParameter
{
public YTKJTShopParameter(){
}
/// <summary>
/// Desc:
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true)]
public long FID {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:False
/// </summary>
public string FBILLNO {get;set;}
/// <summary>
/// Desc:审核状态 C=已审核
/// Default:
/// Nullable:False
/// </summary>
public string FDOCUMENTSTATUS {get;set;}
/// <summary>
/// Desc:门店编码
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_SHOPCODE")]
public string FSHOPCODE {get;set;}
/// <summary>
/// Desc:门店名称
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_SHOPNAME")]
public string FSHOPNAME {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_YTKJ_TEXT2")]
public string FYTKJTEXT2 {get;set;}
/// <summary>
/// Desc:是否同步金蝶
/// Default:1
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_SYNCHRONIZEKINGDEE")]
public string FSYNCHRONIZEKINGDEE {get;set;}
/// <summary>
/// Desc:是否同步WMS
/// Default:1
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_SYNCHRONIZEWMS")]
public string FSYNCHRONIZEWMS {get;set;}
/// <summary>
/// Desc:销售客户
/// Default:0
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_SALESCUSTOMERS")]
public int FSALESCUSTOMERS {get;set;}
/// <summary>
/// Desc:发货仓库ID
/// Default:0
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_WAREHOUSE")]
public int FWAREHOUSE {get;set;}
/// <summary>
/// Desc:仓库货主
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_CANGKUHUOZHU")]
public string FCANGKUHUOZHU {get;set;}
/// <summary>
/// Desc:公司ID
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_COMPANYID")]
public string FCOMPANYID {get;set;}
/// <summary>
/// Desc:发货大仓
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_DACANG")]
public string FDACANG {get;set;}
/// <summary>
/// Desc:税率
/// Default:0
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_TAXRATE")]
public decimal FTAXRATE {get;set;}
/// <summary>
/// Desc:创建日期
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="F_YTKJ_CREATEDATE")]
public DateTime? FYTKJCREATEDATE {get;set;}
/// <summary>
/// Desc:修改日期
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="F_YTKJ_MODIFYDATE")]
public DateTime? FYTKJMODIFYDATE {get;set;}
/// <summary>
/// Desc:审核日期
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="F_AUDITDATE")]
public DateTime? FAUDITDATE {get;set;}
/// <summary>
/// Desc:创建人
/// Default:0
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_YTKJ_CREATORID")]
public int FYTKJCREATORID {get;set;}
/// <summary>
/// Desc:修改人
/// Default:0
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_YTKJ_MODIFIERID")]
public int FYTKJMODIFIERID {get;set;}
/// <summary>
/// Desc:审核人
/// Default:0
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_AUDITOR")]
public int FAUDITOR {get;set;}
/// <summary>
/// Desc:仓库编码
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_WAREHOUSE_CODE")]
public string FWAREHOUSECODE {get;set;}
/// <summary>
/// Desc:仓库名称
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="F_WAREHOUSE_NAME")]
public string FWAREHOUSENAME {get;set;}
/// <summary>
/// Desc:销售员ID
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="F_SALER")]
public long? FSALER {get;set;}
/// <summary>
/// Desc:销售组织ID
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="F_SALE_ORGID")]
public int? FSALEORGID {get;set;}
}
}

View File

@@ -77,14 +77,18 @@
<Compile Include="Message\Response\WebSocket\ConnUser`.cs" />
<Compile Include="Message\Response\WorkProcess\WorkProcessResp.cs" />
<Compile Include="Model\ApiLog.cs" />
<Compile Include="Model\SysWorkprocess.cs" />
<Compile Include="Model\JackOrders.cs" />
<Compile Include="Model\PushKingDeeOrder.cs" />
<Compile Include="Model\SysWorkprocessHistory.cs" />
<Compile Include="Model\YTKJTShopParameter.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Repositories\IApiLogRepository.cs" />
<Compile Include="Repositories\IJackOrdersRepository.cs" />
<Compile Include="Repositories\IPushKingDeeOrderRepository.cs" />
<Compile Include="Repositories\IRepository.cs" />
<Compile Include="Repositories\IRepository`.cs" />
<Compile Include="Repositories\ISysWorkprocessHistoryRepository.cs" />
<Compile Include="Repositories\ISysWorkprocessRepository.cs" />
<Compile Include="Repositories\IYTKJTShopParameterRepository.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MyCode.Project.Infrastructure;
using MyCode.Project.Domain;
using MyCode.Project.Domain.Model;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Domain.Message;
namespace MyCode.Project.Domain.Repositories
{
public interface IJackOrdersRepository : IRepository<JackOrders>
{
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MyCode.Project.Infrastructure;
using MyCode.Project.Domain;
using MyCode.Project.Domain.Model;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Domain.Message;
namespace MyCode.Project.Domain.Repositories
{
public interface IPushKingDeeOrderRepository : IRepository<PushKingDeeOrder>
{
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MyCode.Project.Infrastructure;
using MyCode.Project.Domain;
using MyCode.Project.Domain.Model;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Domain.Message;
namespace MyCode.Project.Domain.Repositories
{
public interface IYTKJTShopParameterRepository : IRepository<YTKJTShopParameter>
{
}
}

View File

@@ -10,8 +10,8 @@
<connectionStrings>
<add name="WMSConn" connectionString="Data Source=127.0.0.1; Initial Catalog=xietong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" providerName="System.Data.SqlClient" />
<add name="YunTongConn" connectionString="Data Source=127.0.0.1; Initial Catalog=xietong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" />
<add name="WMSConn" connectionString="Data Source=127.0.0.1; Initial Catalog=YunTong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" providerName="System.Data.SqlClient" />
<add name="YunTongConn" connectionString="Data Source=127.0.0.1; Initial Catalog=YunTong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" />
</connectionStrings>

View File

@@ -0,0 +1,26 @@
using MyCode.Project.Repositories.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MyCode.Project.Domain.Message;
using MyCode.Project.Domain.Model;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.Search;
namespace MyCode.Project.Repositories
{
public class JackOrdersRepository: Repository<JackOrders>, IJackOrdersRepository
{
public JackOrdersRepository(MyCodeSqlSugarClient context) : base(context)
{ }
}
}

View File

@@ -86,11 +86,13 @@
<Compile Include="Common\Repository`.cs" />
<Compile Include="Common\TransactionCallHandler.cs" />
<Compile Include="Common\TransactionCallHandlerAttribute.cs" />
<Compile Include="JackOrdersRepository.cs" />
<Compile Include="Lxm\LxmReportRepository.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Common\Repository.cs" />
<Compile Include="PushKingDeeOrderRepository.cs" />
<Compile Include="SysWorkprocessHistoryRepository.cs" />
<Compile Include="SysWorkprocessRepository.cs" />
<Compile Include="YTKJTShopParameterRepository.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config">

View File

@@ -0,0 +1,26 @@
using MyCode.Project.Repositories.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MyCode.Project.Domain.Message;
using MyCode.Project.Domain.Model;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.Search;
namespace MyCode.Project.Repositories
{
public class PushKingDeeOrderRepository: Repository<PushKingDeeOrder>, IPushKingDeeOrderRepository
{
public PushKingDeeOrderRepository(MyCodeSqlSugarClient context) : base(context)
{ }
}
}

View File

@@ -0,0 +1,26 @@
using MyCode.Project.Repositories.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MyCode.Project.Domain.Message;
using MyCode.Project.Domain.Model;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.Search;
namespace MyCode.Project.Repositories
{
public class YTKJTShopParameterRepository: Repository<YTKJTShopParameter>, IYTKJTShopParameterRepository
{
public YTKJTShopParameterRepository(MyCodeSqlSugarClient context) : base(context)
{ }
}
}

View File

@@ -12,17 +12,17 @@ namespace MyCode.Project.ScheduleTask.Jobs
public class EveryJob : IJob
{
private readonly IWorkProcessService _workProcessService;
//private readonly IWorkProcessService _workProcessService;
public EveryJob(IWorkProcessService workProcessService)
public EveryJob( )
{
_workProcessService = workProcessService;
}
public void Execute(IJobExecutionContext context)
{
_workProcessService.Execute();
//_workProcessService.Execute();
}
}
}

View File

@@ -1,10 +0,0 @@
using MyCode.Project.Infrastructure.JackYun;
namespace MyCode.Project.Services
{
public interface IJackYunService
{
JackyunResponse Call(string method, string version, BaseRequestBizData bizData);
}
}

View File

@@ -0,0 +1,10 @@
using MyCode.Project.Infrastructure.JackYun;
namespace MyCode.Project.Services
{
public interface ILiQiongHaiService
{
}
}

View File

@@ -0,0 +1,10 @@
using MyCode.Project.Infrastructure.JackYun;
namespace MyCode.Project.Services
{
public interface IYuyuboService
{
}
}

View File

@@ -0,0 +1,10 @@
using MyCode.Project.Infrastructure.JackYun;
namespace MyCode.Project.Services
{
public interface IZhuBinService
{
}
}

View File

@@ -1,75 +0,0 @@
using MyCode.Project.Domain.Message.Request.JackYun;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.JackYun;
using System;
namespace MyCode.Project.Services.Implementation
{
public class JackYunService : ServiceBase //, IJackYunService
{
/// <summary>
/// 请求开放平台服务
/// </summary>
/// <param name="method">开放接口方法名</param>
/// <param name="version">开放接口版本号(null表示默认)</param>
/// <param name="bizData">请求业务数据</param>
/// <returns>OpenResponse返回对象</returns>
public JackyunResponse Call(string method, string version, BaseRequestBizData bizData)
{
//接口返回值
JackyunResponse response = null;
//返回值字符串
string strResponse = null;
try
{
//请求吉客云开放接口。
strResponse = JackyunOpenHttpUtils.Post(method, version, bizData);
}
catch (Exception ex)
{
response = new JackyunResponse();
response.onFail(ex.Message, "CLIENT_EXCEPTION");
return response;
}
return JsonHelper.ToObject<JackyunResponse>(strResponse);
}
#region
/// <summary>
/// 订单查询
/// </summary>
public void testTradeFullInfoGet()
{
Byte total = 0;
OrderTradeFullInfoGetRequestBizData requestBizData = new OrderTradeFullInfoGetRequestBizData();
string value = "2019-06-05 12:00:00";
requestBizData.startModified = DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
string value1 = "2019-09-05 12:00:00";
requestBizData.endModified = DateTime.ParseExact(value1, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.tradeNo = "JY201906050001,JY201906050002";
requestBizData.hasTotal = total;
requestBizData.pageSize = 50;
requestBizData.pageIndex = 0;
requestBizData.fields = "tradeNo,orderNo";
requestBizData.startCreated = DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.endCreated = DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.startAuditTime = DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.endAuditTime = DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.startConsignTime = DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.endConsignTime = DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.tradeStatus = Convert.ToByte(1010);
requestBizData.tradeType = 1;
requestBizData.sourceTradeNos = "10,026,635,314";
requestBizData.shopIds = new long[] { 378761130654261100, 378761130654261100 };
//JackyunResponse response = Call(EnumAttribute.GetAttribute(ApiEnum.TRADEFULLINFOGET).Value, "", requestBizData);
//Console.Out.WriteLine("订单查询接口响应信息=" + JsonUtils.ToJson(response));
}
#endregion
}
}

View File

@@ -0,0 +1,21 @@
using MyCode.Project.Domain.Message.Request.JackYun;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.JackYun;
using System;
namespace MyCode.Project.Services.Implementation
{
public class LiQiongHaiService : ServiceBase //, ILiQiongHaiService
{
private IPushKingDeeOrderRepository _pushKingDeeOrderRepository;
public LiQiongHaiService(IPushKingDeeOrderRepository pushKingDeeOrderRepository)
{
_pushKingDeeOrderRepository = pushKingDeeOrderRepository;
}
}
}

View File

@@ -7,6 +7,7 @@ using MyCode.Project.Infrastructure.Enumeration;
using MyCode.Project.Infrastructure.Exceptions;
using MyCode.Project.Infrastructure.Extensions;
using MyCode.Project.Infrastructure.UnityExtensions;
using MyCode.Project.Repositories;
using MyCode.Project.Repositories.Common;
using System;
using System.Collections.Generic;
@@ -20,118 +21,169 @@ namespace MyCode.Project.Services.Implementation
{
public class WorkProcessService : ServiceBase, IWorkProcessService
{
#region
private readonly ISysWorkprocessRepository _sysWorkprocessRepository;
private readonly ISysWorkprocessHistoryRepository _sysWorkprocessHistoryRepository;
private ISysWorkProcessRepository _SysWorkProcessRepository;
public WorkProcessService(ISysWorkprocessRepository sysWorkprocessRepository,
ISysWorkprocessHistoryRepository sysWorkprocessHistoryRepository)
private static object locker = new object(); //创建锁
public WorkProcessService(ISysWorkProcessRepository SysWorkProcessRepository)
{
_sysWorkprocessRepository = sysWorkprocessRepository;
_sysWorkprocessHistoryRepository = sysWorkprocessHistoryRepository;
_SysWorkProcessRepository = SysWorkProcessRepository;
}
#region Add()
/// <summary>
/// 添加调度
/// </summary>
/// <typeparam name="T">执行类</typeparam>
/// <param name="merchantId">商家ID</param>
/// <param name="methodName">方法名</param>
/// <param name="remark">备注</param>
/// <param name="entity">参数信息</param>
/// <param name="funcType">执行类型</param>
public void Add<T>(Guid merchantId, string methodName, string remark = "", object entity = null, int priority = 5, FuncType funcType = FuncType.Method) where T : class
{
Add(merchantId, typeof(T), methodName, remark, entity, funcType, priority);
}
/// <summary>
/// 添加调度
/// </summary>
/// <param name="merchantId">商家ID</param>
/// <param name="type">执行类</param>
/// <param name="methodName">方法名</param>
/// <param name="remark">备注</param>
/// <param name="entity">参数信息</param>
/// <param name="funcType">执行类型</param>
public void Add(Guid merchantId, Type type, string methodName, string remark = "", object entity = null, FuncType funcType = FuncType.Method, int priority = 5)
{
string typePath = string.Format("{0}, {1}", type.FullName, type.Assembly.GetName().Name);
string paramInfo = entity == null
? ""
: entity is string || entity is Guid || entity is int || entity is long || entity is decimal ||
entity is float || entity is double
? entity.SafeString()
: JsonHelper.ToJson(entity);
Add(merchantId, typePath, methodName, remark, paramInfo, funcType, priority);
}
/// <summary>
/// 添加调度任务
/// </summary>
/// <param name="merchantId">商家ID</param>
/// <param name="typePath">类型路径Lxm.IServices.IWorkProcessService, Lxm.Services</param>
/// <param name="methodName">方法名</param>
/// <param name="remark">备注</param>
/// <param name="paramInfo">参数信息</param>
/// <param name="funcType">执行类型</param>
public void Add(Guid merchantId, string typePath, string methodName, string remark = "", string paramInfo = "",
FuncType funcType = FuncType.Method, int priority = 5)
{
if (this._SysWorkProcessRepository.Exists(funcType, merchantId, typePath, methodName, paramInfo) && methodName != "RunWechatVSKingDee")
{
return;
}
SysWorkProcess entity = new SysWorkProcess();
entity.ID = Guid.NewGuid();
entity.MerchantID = merchantId;
entity.FuncType = funcType.Value();
entity.FuncClass = typePath;
entity.FuncMethod = methodName;
entity.ParamInfo = paramInfo;
entity.FuncStatus = FuncStatus.Waiting.Value();
entity.Remark = remark;
entity.RetryCount = 0;
entity.Creater = "系统调度";
entity.CreateTime = DateTime.Now;
entity.Editor = "系统调度";
entity.EditTime = DateTime.Now;
entity.Priority = priority;
this._SysWorkProcessRepository.Add(entity);
}
#endregion
#region SelectInitWorkProcess
public List<SysWorkprocess> SelectInitWorkProcess(int top)
public List<SysWorkProcess> SelectInitWorkProcess(int top)
{
var result = _sysWorkprocessRepository.Queryable()
.Where(p => p.Status == (int)WorkProcessStatus.Init)
return _SysWorkProcessRepository.Queryable()
.Where(p => p.FuncStatus == (int)WorkProcessStatus.Waiting && (p.Priority == 1 || p.Priority == null))
.Take(top)
.OrderBy(p => p.Priority)
.OrderBy(p => p.EditTime).ToList();
return result;
.OrderBy(p => p.CreateTime).ToList();
}
#endregion
#region Add()
public void Add(List<SysWorkprocess> workProcess)
public void Add(List<SysWorkProcess> workProcess)
{
_sysWorkprocessRepository.Add(workProcess);
_SysWorkProcessRepository.Add(workProcess);
}
#endregion
#region RestratStopProcess()
public void RestratStopProcess()
{
var list = _sysWorkprocessRepository.SelectList(p => p.Status == (int)WorkProcessStatus.Stop);
var list = _SysWorkProcessRepository.SelectList(p => p.FuncStatus == (int)WorkProcessStatus.Pause);
list.ForEach(x => {
x.Status = (int)WorkProcessStatus.Running;
x.FuncStatus = (int)WorkProcessStatus.Running;
x.EditTime = DateTime.Now;
_sysWorkprocessRepository.Update(x);
});
_SysWorkProcessRepository.Update(list);
}
#endregion
#region RestartStopProcess
[TransactionCallHandler]
public void RestartStopProcess(long workprocessId)
public void RestartStopProcess(Guid workprocessId)
{
var workprocess = _SysWorkProcessRepository.SelectFirst(p => p.ID == workprocessId);
var workprocess = _sysWorkprocessRepository.SelectFirst(p => p.Id == workprocessId);
if (workprocess.FuncStatus != (int)WorkProcessStatus.Pause) { throw new BaseException("当前进程状态不是停止"); }
if (workprocess.Status != (int)WorkProcessStatus.Stop) { throw new BaseException("当前进程状态不是停止"); }
workprocess.Status = (int)WorkProcessStatus.Init;
workprocess.FuncStatus = (int)WorkProcessStatus.Running;
workprocess.EditTime = DateTime.Now;
_sysWorkprocessRepository.Update(workprocess);
_SysWorkProcessRepository.Update(workprocess);
}
#endregion
#region ProcessHandleExpire()
/// <summary>
/// 进程执行超时
/// </summary>
public void ProcessHandleExpire()
{
var time = DateTime.Now.AddMinutes(-10);
var count = _sysWorkprocessRepository.Count(p => p.Status == (int)WorkProcessStatus.Running && p.EditTime <= time);
if (count > 0) { DingDingHelper.SendMsg($"有超时的进程任务产生,条数:{count}"); }
}
#endregion
#region
[TransactionCallHandler]
public void ClearHistoryTask()
{
var historyDate = DateTime.Now.AddDays(-7);
var historyData = _sysWorkprocessRepository.SelectList(p => p.CreateTime < historyDate);
if (historyData == null || historyData.Count == 0) { return; }
_sysWorkprocessRepository.Add(historyData, "sys_workprocess_history");
_sysWorkprocessRepository.DeleteByIds(historyData.Select(p => p.Id).ToArray());
_SysWorkProcessRepository.Delete(p => p.FuncStatus == (int)WorkProcessStatus.Complete && p.EditTime < historyDate);
}
#endregion
#region ExecuteSingle()
public void ExecuteSingle(SysWorkprocess process)
public void ExecuteSingle(SysWorkProcess process)
{
var type = UnityHelper.GetUnityContainer().Resolve(Type.GetType(process.TypePath));
var type = UnityHelper.GetUnityContainer().Resolve(Type.GetType(process.FuncClass));
MethodInfo method = type.GetType().GetMethod(process.MethodName);
MethodInfo method = type.GetType().GetMethod(process.FuncMethod);
object result = new object();
if (!string.IsNullOrEmpty(process.ParameterInfo))
if (!string.IsNullOrEmpty(process.ParamInfo))
{
method.Invoke(type, new object[] { process.ParameterInfo });
result = method.Invoke(type, new object[] { process.ParamInfo });
}
else
{
method.Invoke(type, new object[] { });
result = method.Invoke(type, new object[] { });
}
process.Status = (int)WorkProcessStatus.Finished;
if (result == null)
result = "";
process.FuncStatus = (int)WorkProcessStatus.Complete;
process.ExecuteTime = DateTime.Now;
process.ExceptionInfo = string.Empty;
process.EditTime = DateTime.Now;
_sysWorkprocessRepository.Update(process);
process.Result = JsonHelper.ToJson(result);
_SysWorkProcessRepository.Update(process);
}
#endregion
@@ -140,18 +192,94 @@ namespace MyCode.Project.Services.Implementation
public void Execute()
{
lock (locker)
{
var client = UnityHelper.GetService<MyCodeSqlSugarClient>();
var list = SelectInitWorkProcess(5);
//先将这10个任务改成运行中
if (list != null && list.Count > 0)
{
var updateList = list.Select(p => new SysWorkProcess { ID = p.ID, FuncStatus = (int)WorkProcessStatus.Running });
_SysWorkProcessRepository.Update(updateList.ToList(), it => new { it.FuncStatus });
}
foreach (var process in list)
{
//这里开启事务,同时才开启
client.Ado.BeginTran();
#region
try
{
ExecuteSingle(process);
client.Ado.CommitTran();
}
catch (Exception ex)
{
client.Ado.RollbackTran();
while (ex.InnerException != null)
{
ex = ex.InnerException;
}
process.FuncStatus = (int)WorkProcessStatus.ExceptionStop;
process.EditTime = DateTime.Now;
process.ExecuteTime = DateTime.Now;
if (ex is BaseException)
{
process.ExceptionInfo = ex.Message;
}
else
{
process.ExceptionInfo = ex.ToString();
}
_SysWorkProcessRepository.Update(process);
}
#endregion
}
}
}
#endregion
#region SelectOtherInitWorkProcess2
/// <summary>
/// 获取优先级34,5的调度
/// </summary>
/// <param name="top"></param>
/// <returns></returns>
public List<SysWorkProcess> SelectOtherInitWorkProcess(int top)
{
return _SysWorkProcessRepository.Queryable()
.Where(p => p.FuncStatus == (int)WorkProcessStatus.Waiting && p.Priority > 2 && p.Priority <= 5)
.Take(top)
.OrderBy(p => p.Priority)
.OrderBy(p => p.CreateTime).ToList();
}
#endregion
#region ExecuteOther
/// <summary>
/// 调度执行优先级比较低的任务
/// </summary>
public void ExecuteOther()
{
var client = UnityHelper.GetService<MyCodeSqlSugarClient>();
var list = SelectInitWorkProcess(10);
var list = SelectOtherInitWorkProcess(20);
//先将这20个任务改成运行中
//先将这10个任务改成运行中
if (list != null && list.Count > 0)
{
DateTime now = DateTime.Now;
var updateList = list.Select(p => new SysWorkprocess { Id = p.Id, Status = (int)WorkProcessStatus.Running, EditTime = now });
var updateList = list.Select(p => new SysWorkProcess { ID = p.ID, FuncStatus = (int)WorkProcessStatus.Running });
_sysWorkprocessRepository.Update(updateList.ToList(), it => new { it.Status, it.EditTime });
_SysWorkProcessRepository.Update(updateList.ToList(), it => new { it.FuncStatus });
}
foreach (var process in list)
@@ -175,8 +303,9 @@ namespace MyCode.Project.Services.Implementation
ex = ex.InnerException;
}
process.Status = (int)WorkProcessStatus.Stop;
process.FuncStatus = (int)WorkProcessStatus.ExceptionStop;
process.EditTime = DateTime.Now;
process.ExecuteTime = DateTime.Now;
if (ex is BaseException)
{
process.ExceptionInfo = ex.Message;
@@ -186,124 +315,181 @@ namespace MyCode.Project.Services.Implementation
process.ExceptionInfo = ex.ToString();
}
_sysWorkprocessRepository.Update(process);
DingDingHelper.SendMsg(process.ExceptionInfo);
}
finally
{
client.Ado.Context.Queues.Clear();
_SysWorkProcessRepository.Update(process);
}
#endregion
}
}
#endregion
#region SelectPriority2InitWorkProcess2
/// <summary>
/// 返回优先级等于2的前几十条数据
/// </summary>
/// <param name="top"></param>
/// <returns></returns>
public List<SysWorkProcess> SelectPriority2InitWorkProcess(int top)
{
return _SysWorkProcessRepository.Queryable()
.Where(p => p.FuncStatus == (int)WorkProcessStatus.Waiting && p.Priority == 2)
.Take(top)
.OrderBy(p => p.Priority)
.OrderBy(p => p.CreateTime).ToList();
}
#endregion
#region ExecutePriority2Work2
/// <summary>
/// 调度执行优先级等于2的任务
/// </summary>
public void ExecutePriority2Work()
{
var client = UnityHelper.GetService<MyCodeSqlSugarClient>();
var list = SelectPriority2InitWorkProcess(10);
//先将这10个任务改成运行中
if (list != null && list.Count > 0)
{
var updateList = list.Select(p => new SysWorkProcess { ID = p.ID, FuncStatus = (int)WorkProcessStatus.Running });
_SysWorkProcessRepository.Update(updateList.ToList(), it => new { it.FuncStatus });
}
}
#endregion
#region Add()
/// <summary>
/// 添加调度
/// </summary>
/// <typeparam name="T">执行类</typeparam>
/// <param name="merchantId">商家ID</param>
/// <param name="methodName">方法名</param>
/// <param name="remark">备注</param>
/// <param name="entity">参数信息</param>
/// <param name="funcType">执行类型</param>
public void Add<T>(string methodName,long companyId, object entity = null, string remark = "", FuncType funcType = FuncType.Function, Priority priority = Priority.Low)
{
Add(typeof(T), companyId,methodName, remark, entity, funcType, priority);
}
#endregion
#region Add()
/// <summary>
/// 添加调度
/// </summary>
/// <param name="merchantId">商家ID</param>
/// <param name="type">执行类</param>
/// <param name="methodName">方法名</param>
/// <param name="remark">备注</param>
/// <param name="entity">参数信息</param>
/// <param name="funcType">执行类型</param>
public void Add(Type type,long companyId, string methodName, string remark = "", object entity = null, FuncType funcType = FuncType.Function, Priority priority = Priority.Low)
{
string typePath = string.Format("{0}, {1}", type.FullName, type.Assembly.GetName().Name);
string paramInfo = entity == null
? ""
: entity is string || entity is Guid || entity is int || entity is long || entity is decimal ||
entity is float || entity is double
? entity.ToString()
: entity.ToJson();
Add(typePath,companyId, methodName, remark, paramInfo, funcType, priority);
}
#endregion
#region AddQueue()
public void AddQueue<T>(string methodName, long companyId,object entity = null,FuncType funcType = FuncType.Function, Priority priority = Priority.Low)
{
var type = typeof(T);
string typePath = string.Format("{0}, {1}", type.FullName, type.Assembly.GetName().Name);
string paramInfo = entity == null
? ""
: entity is string || entity is Guid || entity is int || entity is long || entity is decimal ||
entity is float || entity is double
? entity.ToString()
: entity.ToJson();
var workProcess = new SysWorkprocess()
foreach (var process in list)
{
Id = IdHelper.GetNewId(),
FuncType = (byte)funcType,
TypePath = typePath,
MethodName = methodName,
ParameterInfo = paramInfo,
Status = (int)WorkProcessStatus.Init,
EditTime = DateTime.Now,
Priority = (byte)priority,
CreateTime = DateTime.Now,
CompanyId = companyId
};
//这里开启事务,同时才开启
client.Ado.BeginTran();
_sysWorkprocessRepository.AddQueue(workProcess);
#region
try
{
ExecuteSingle(process);
client.Ado.CommitTran();
}
catch (Exception ex)
{
client.Ado.RollbackTran();
while (ex.InnerException != null)
{
ex = ex.InnerException;
}
process.FuncStatus = (int)WorkProcessStatus.ExceptionStop;
process.EditTime = DateTime.Now;
process.ExecuteTime = DateTime.Now;
if (ex is BaseException)
{
process.ExceptionInfo = ex.Message;
}
else
{
process.ExceptionInfo = ex.ToString();
}
_SysWorkProcessRepository.Update(process);
}
#endregion
//Thread.Sleep(300);
}
}
#endregion
#region Add()
#region SelectSmsInitWorkProcess6
/// <summary>
/// 添加调度任务
/// 获取优先级6的短信调度
/// </summary>
/// <param name="merchantId">商家ID</param>
/// <param name="typePath">类型路径Lxm.IServices.IWorkProcessService, Lxm.Services</param>
/// <param name="methodName">方法名</param>
/// <param name="remark">备注</param>
/// <param name="paramInfo">参数信息</param>
/// <param name="funcType">执行类型</param>
public void Add(string typePath,long companyId, string methodName, string remark = "", string paramInfo = "",
FuncType funcType = FuncType.Function,
Priority priority = Priority.Low)
/// <param name="top"></param>
/// <returns></returns>
public List<SysWorkProcess> SelectPriority6WorkProcess(int top)
{
DateTime days = DateTime.Now.Date;
return _SysWorkProcessRepository.Queryable()
.Where(p => p.FuncStatus == (int)WorkProcessStatus.Waiting && p.Priority == 6)
.Take(top)
.OrderBy(p => p.Priority)
.OrderBy(p => p.CreateTime).ToList();
}
#endregion
var entity = new SysWorkprocess()
#region ExecutePriority6=6
/// <summary>
/// 调度执行优先级=6的任务
/// </summary>
public void ExecutePriority6()
{
var client = UnityHelper.GetService<MyCodeSqlSugarClient>();
var list = SelectPriority6WorkProcess(20);
//先将这10个任务改成运行中
if (list != null && list.Count > 0)
{
Id = IdHelper.GetNewId(),
FuncType = (byte)funcType,
TypePath = typePath,
MethodName = methodName,
ParameterInfo = paramInfo,
Status = (int)WorkProcessStatus.Init,
Remark = remark,
EditTime = DateTime.Now,
Priority = (byte)priority,
CreateTime = DateTime.Now,
CompanyId = companyId
};
_sysWorkprocessRepository.Add(entity);
var updateList = list.Select(p => new SysWorkProcess { ID = p.ID, FuncStatus = (int)WorkProcessStatus.Running });
_SysWorkProcessRepository.Update(updateList.ToList(), it => new { it.FuncStatus });
}
foreach (var process in list)
{
//这里开启事务,同时才开启
client.Ado.BeginTran();
#region
try
{
ExecuteSingle(process);
client.Ado.CommitTran();
}
catch (Exception ex)
{
client.Ado.RollbackTran();
while (ex.InnerException != null)
{
ex = ex.InnerException;
}
process.FuncStatus = (int)WorkProcessStatus.ExceptionStop;
process.EditTime = DateTime.Now;
process.ExecuteTime = DateTime.Now;
if (ex is BaseException)
{
process.ExceptionInfo = ex.Message;
}
else
{
process.ExceptionInfo = ex.ToString();
}
_SysWorkProcessRepository.Update(process);
}
#endregion
}
}
#endregion
#region RetryTask()
/// <summary>
/// 重试失败的任务
/// </summary>
public void RetryTask()
{
DateTime today = DateTime.Now.Date.AddDays(-1);
var list = _SysWorkProcessRepository.Queryable().Where(t => t.FuncStatus == 4 && t.RetryCount <= 10
&& t.CreateTime >= today).OrderBy(t => t.EditTime).Take(20).ToList();
list.ForEach(t =>
{
t.RetryCount = t.RetryCount + 1;
t.FuncStatus = 0;
});
_SysWorkProcessRepository.Update(list);
}
#endregion
}

View File

@@ -0,0 +1,20 @@
using MyCode.Project.Domain.Message.Request.JackYun;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.JackYun;
using System;
namespace MyCode.Project.Services.Implementation
{
public class YuyuboService : ServiceBase //,// IJackYunService
{
private IJackOrdersRepository _jackOrdersRepository;
public YuyuboService(IJackOrdersRepository jackOrdersRepository)
{
_jackOrdersRepository = jackOrdersRepository;
}
}
}

View File

@@ -0,0 +1,20 @@
using MyCode.Project.Domain.Message.Request.JackYun;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.JackYun;
using System;
namespace MyCode.Project.Services.Implementation
{
public class ZhuBinService : ServiceBase //, IZhuBinService
{
private IYTKJTShopParameterRepository _yTKJTShopParameterRepository;
public ZhuBinService(IYTKJTShopParameterRepository yTKJTShopParameterRepository)
{
_yTKJTShopParameterRepository = yTKJTShopParameterRepository;
}
}
}

View File

@@ -115,19 +115,21 @@
<Compile Include="BLL\WebSocketBLL.cs" />
<Compile Include="Implementation\AnsyDataProcessService.cs" />
<Compile Include="Implementation\ApiLogService.cs" />
<Compile Include="Implementation\JackYunService.cs" />
<Compile Include="Implementation\ZhuBinService.cs" />
<Compile Include="Implementation\LiQiongHaiService.cs" />
<Compile Include="Implementation\YuyuboService.cs" />
<Compile Include="Implementation\ReportService.cs" />
<Compile Include="Implementation\QueueProcessService.cs" />
<Compile Include="Implementation\WebSocketService.cs" />
<Compile Include="Implementation\WorkProcessService.cs" />
<Compile Include="IServices\IAnsyDataProcessService.cs" />
<Compile Include="IServices\IJackYunService.cs" />
<Compile Include="IServices\ILiQiongHaiService.cs" />
<Compile Include="IServices\IZhuBinService.cs" />
<Compile Include="IServices\IYuyuboService.cs" />
<Compile Include="IServices\IApiLogService.cs" />
<Compile Include="IServices\IItemListService.cs" />
<Compile Include="IServices\IQueueProcessService.cs" />
<Compile Include="IServices\IReportService.cs" />
<Compile Include="IServices\IWebSocketService.cs" />
<Compile Include="IServices\IWorkProcessService.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ServiceBase.cs" />
</ItemGroup>

View File

@@ -25,8 +25,8 @@
<connectionStrings>
<!-- 数据库测试-->
<add name="WMSConn" connectionString="Data Source=127.0.0.1; Initial Catalog=xietong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" providerName="System.Data.SqlClient" />
<add name="YunTongConn" connectionString="Data Source=127.0.0.1; Initial Catalog=xietong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" />
<add name="WMSConn" connectionString="Data Source=8.138.110.197,1433; Initial Catalog=AIS20240310221756; User ID=sa;Password=12qw!@; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" providerName="System.Data.SqlClient" />
<add name="YunTongConn" connectionString="Data Source=8.138.110.197,1433; Initial Catalog=AIS20240310221756; User ID=sa;Password=12qw!@; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" />
<!--测试MYSQL内网-->