小飞侠
9 天以前 24494c18efba9c7fbc952e5af35b961d648e3ecd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
using cylsg.Core;
using cylsg.Model.ECTEModel;
using EzCoreNet.Redis;
using EzInitqMessageDef;
using EzWechat;
using Furion;
using Furion.FriendlyException;
using InitQ.Abstractions;
using InitQ.Attributes;
using MapsterMapper;
using Models;
using Newtonsoft.Json;
using SqlSugar;
using StackExchange.Profiling.Internal;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace EzInitQ
{
    /// <summary>
    /// 川印 消息队列处理函数
    /// </summary>
    public class CY_MessageServiser: IRedisSubscribe
    {
 
        /// <summary>
        /// 川印厂商ID
        /// </summary>
        public Guid firmId => new Guid("88B49967-D590-452C-93C6-0049A75FA5FF");
        /// <summary>
        /// 司机问题反馈 分发问题
        /// </summary>
        /// <param name="msg"></param>
        [Subscribe(InitQMessages.CYOSDeiverWentiFankuai)]
        public async void CYOSDeiverWentiFanKui(string msg)
        {
        
            ISqlSugarClient _OAsqlSugarClient = App.GetService<ISqlSugarClient>().AsTenant().GetConnection("ECTESTOADB");
 
 
            var userdata = JsonConvert.DeserializeObject<CY_OSDeiverWentiFankuaiModes>(msg);
 
            if(userdata ==null)
            throw Oops.Oh($"队列CYOSDeiverWentiFankuai 处理失败,请检查消息格式++++++++{msg}");
            if(userdata.OA_DeliverPlanPaicheID==null)
               throw Oops.Oh($"队列CYOSDeiverWentiFankuai 处理失败,没有获取到派车ID+++++++++{msg}");
 
            //var DbC = new BaseRepository<OA_DeliverPlanPaiche>();
             var data= await _OAsqlSugarClient.Queryable<OA_DeliverPlanPaiche>().Includes(x=>x.Driver).Where(x=>x.Keyid==userdata.OA_DeliverPlanPaicheID).FirstAsync();
             if(data==null)
             throw Oops.Oh($"队列CYOSDeiverWentiFankuai 处理失败,没有获取到派车信息+++++++++{msg}");
 
             if(data.Driver==null)
            {
                throw Oops.Oh($"队列CYOSDeiverWentiFankuai 处理失败,没有获取到司机信息+++++++++{msg}");
 
            }
 
            //var WorkReminderDb = new BaseRepository<OA_WorkReminder>();
            //订单ID
            var SellerOrderId = await _OAsqlSugarClient.Queryable<OA_DeliverPlan>().Where(x => x.DeliverPlanPaicheid == data.Keyid).Select(x=>x.SellerOrderId).FirstAsync();
            string? orderDocumentName = null;
            if (SellerOrderId != null)
                orderDocumentName = await _OAsqlSugarClient.Queryable<EC_OrderBasic>().Where(x => x.SellerOrderId == SellerOrderId).Select(x => x.DocumentName).FirstAsync();
 
            //创建人 
            var creerter = await _OAsqlSugarClient.Queryable<OaStaff>().Where(x => x.MemberId == data.Creater).Select(x => x.Name).FirstAsync();
            if(creerter!=null)
            {
                await _OAsqlSugarClient.Insertable(new OA_WorkReminder
                {
                    Content = $" 派送:{data.CompanyName} 地址:{data.Dizhi}, {data.Remark??""}   {orderDocumentName??""}。 送货反馈:{userdata.WenTi}",
                    RemenderObject = creerter,
                    Remender  = data.Driver.Name,
                    RemenderTime= userdata.CreateTime
 
                }).ExecuteCommandAsync();
            }
 
            //派车任务
              var PaiCheRenwu= await _OAsqlSugarClient.Queryable<OA_DeliverTixing>().Includes(x=>x.SentStaff).Where(x=>x.DeliverPlanPaicheId==data.Keyid).FirstAsync();
            if(PaiCheRenwu!=null)
            {
                await _OAsqlSugarClient.Insertable(new OA_WorkReminder
                {
                    Content = $" 派送:{data.CompanyName} 地址:{data.Dizhi}, {data.Remark ?? ""} {orderDocumentName ?? ""}。 送货反馈:{userdata.WenTi}",
                    Remender = data.Driver.Name ,
                    RemenderObject = PaiCheRenwu?.SentStaff?.Name??"",
                    RemenderTime = userdata.CreateTime
 
                }).ExecuteCommandAsync();
            }
            
             if (data.Zerenren!=null)
             {
                //var zherenrenDb = new BaseRepository<OaStaff>();
                var zherenren = await _OAsqlSugarClient.Queryable<OaStaff>().Where(x=>x.Keyid==data.Zerenren&&x.FirmId== firmId).Select(x=>x.Name).FirstAsync();
                 if(zherenren!=null)
                 {
                    await _OAsqlSugarClient.Insertable(new OA_WorkReminder
                    {
                        Content = $" 派送:{data.CompanyName} 地址:{data.Dizhi}, {data.Remark ?? ""} {orderDocumentName ?? ""}。 送货反馈:{userdata.WenTi}",
                        RemenderObject  = zherenren,
                        Remender = data.Driver.Name,
                         RemenderTime = userdata.CreateTime
 
                    }).ExecuteCommandAsync();
 
 
 
                 }
 
             }
 
 
 
 
          
        }
 
 
 
    }
}