zhaojs
2023-09-27 74098f1401afe40f961d1d167bb18dd0a71c4d59
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
128
129
130
131
132
133
134
135
using Operater.DbModel;
using System;
using System.Collections.Generic;
using System.Text;
using CommonUtil;
using Operater.DAL;
using AlibabaSDK.Domain;
using AlibabaSDK.Api;
using AlibabaSDK.Request;
using Operater.DTO.TopMessage;
 
namespace TradeInterflow.Handle
{
    public class CommonHandle
    {
        public static TopTokenInfo _topToken = new TopTokenInfo();
 
        public static AuthPointTaskSet _authPointTaskSet = new AuthPointTaskSet();
        /// <summary>
        /// 记录通知消息
        /// </summary>
        /// <param name="msg"></param>
        public static void RecorderMessage(MessageNotify msg)
        {
            msg.Id = Guid.NewGuid().ToString();
            msg.CreateTime = DateTime.Now;
            msg.IsSolve = 0;
            new MessageNotifyDAL().Insert(msg);
        }
 
        #region 获取1688token信息
        public static string GetAliToken()
        {
            if (_topToken.IsNull() || _topToken.aliToken.IsNullOrEmpty() || _topToken.aliExpreTime < DateTime.Now)
            {
                var appSet = new AppsetDAL().ListGet(t => t.Id != null)[0];
                _topToken.aliToken = appSet.AlibabaToken;
                _topToken.aliExpreTime = DateTime.Now.AddHours(1);
                return appSet.AlibabaToken;
            }
            return _topToken.aliToken;
        }
        #endregion
 
        #region 获取有赞token信息
        public static string GetYzToken()
        {
            if (_topToken.IsNull() || _topToken.yzToken.IsNullOrEmpty() || _topToken.yzExpreTime < DateTime.Now)
            {
                var appSet = new AppsetDAL().ListGet(t => t.Id != null)[0];
                _topToken.yzToken = appSet.YzToken;
                _topToken.yzExpreTime = DateTime.Now.AddHours(1);
                return appSet.YzToken;
            }
            return _topToken.yzToken;
        }
        #endregion
 
        public static TopTokenInfo GetSetInfo()
        {
            if (_topToken.IsNull() || _topToken.yzToken.IsNullOrEmpty() || _topToken.yzExpreTime > DateTime.Now)
            {
                var appSet = new AppsetDAL().ListGet(t => t.Id != null)[0];
                _topToken.yzToken = appSet.YzToken;
                _topToken.yzExpreTime = DateTime.Now.AddHours(1);
                _topToken.aliToken = appSet.AlibabaToken;
                _topToken.YzShopId = appSet.YzShopid;
            }
            return _topToken;
        }
 
        #region 接口获取1688订单详情
        public static AlibabaTradeDetailDomain GetAliTradeDetail(string tid)
        {
            try
            {
                AlibabaTradeDeatilGetRequest request = new AlibabaTradeDeatilGetRequest()
                {
                    orderId = tid,
                    webSite = "1688"
                };
                var response = AliabaClient.Execute(request, CommonHandle.GetAliToken());
                if (response.IsNull() || !response.Success || response.result.IsNull())
                {//接口请求失败
                    LogUtil.Info("接口获取1688订单详情error:" + (response.IsNull() ? "null" : response.ErrorMsg), "1688订单详情eror");
                    return null;
                }
                return response.result;
            }
            catch (Exception e)
            {
                LogUtil.Info("接口获取1688订单详情error:" + e.ToString(), "1688订单详情eror");
                Console.WriteLine("接口获取1688订单详情error:" + e.ToString());
            }
            return null;
        }
 
        #endregion
 
 
        #region 获取授权送积分设置
        public static AuthPointTaskSet GetAuthPointSet()
        {
            if (_authPointTaskSet.IsSet == 0 || _authPointTaskSet.ExpressTime < DateTime.Now)
            {//从数据库获取
                var set = new PointTaskDAL().ListGet(t => t.TaskType == 0 && t.IsRun == 1 && t.IsDel == 0);
                if (set.IsNull() || set.Count == 0)
                {
                    _authPointTaskSet.ExpressTime = DateTime.Now.AddMinutes(10);
                    _authPointTaskSet.IsSet = -1;
                    return null;
                }
                _authPointTaskSet.ExpressTime = DateTime.Now.AddMinutes(10);
                _authPointTaskSet.PointTaskSet = set[0];
                _authPointTaskSet.IsSet = 1;
            }
            return _authPointTaskSet;
        }
 
        #endregion
 
        public class TopTokenInfo
        {
            public string aliToken { get; set; }
 
            public DateTime aliExpreTime { get; set; }
 
            public string yzToken { get; set; }
 
            public DateTime yzExpreTime { get; set; }
 
            public string YzShopId { get; set; }
        }
    }
}