username@email.com
2025-05-14 99ddfbcecf0fa2881eb3a91028257eef87dab6de
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CY.WebService;
using System.Data;
using System.Data.SqlClient;
using CY.WebService.Logging;
 
namespace CyinOrderWebService
{
    public class WebServiceBLL
    {
        /// <summary>
        /// 自动对规定时间内的订单进行收货操作
        /// </summary>
        public void AcceptOverTimeOrder()
        {
            try
            {
                List<int> d = new List<int>();
                Database _dataBase = new Database();
                DataTable OrderTable = _dataBase.SelectModel(" * ", " EC_OrderBasic ", string.Format(" OrderState <> 1 AND OrderState <> 6 AND OrderState <> -1 AND OrderState > 0 AND DeliveryTime <=GETDATE() AND OrderTypeId <=0 "));//执行查询
                DataRow[] result = OrderTable.Select();
                int i = -1;
                while (++i < result.Length)
                {
                    IList<SqlParameter> sqlParms = new List<SqlParameter>()
                    {
                        new SqlParameter(){ParameterName="@returnValue",Direction=ParameterDirection.ReturnValue,SqlDbType=SqlDbType.Int,DbType=DbType.Int32},
                        new SqlParameter(){ParameterName="@orderId",Value=int.Parse(result[i]["Keyid"].ToString())},
                        new SqlParameter(){ParameterName="@memberId",Value=Guid.Parse(result[i]["BuyerId"].ToString()),SqlDbType=SqlDbType.UniqueIdentifier}
                    };
                    _dataBase.Query("sp_EC_Order_AcceptById", CommandType.StoredProcedure, sqlParms.ToArray<SqlParameter>());
                }
            }
            catch (Exception ex)
            {
                Log4NetAdapter log_Log4NetAdapter = new Log4NetAdapter();
                log_Log4NetAdapter.Log(ex.Message);
            }
        }
 
        /// <summary>
        /// 自动删除超过规定时间的线上订单
        /// </summary>
        public void DelOverTimeOrder()
        {
            try
            {
                List<int> d = new List<int>();
                Database _dataBase = new Database();
                DataTable OrderTable = _dataBase.SelectModel(" * ", " EC_OrderBasic ", string.Format(" PayState = 0 AND OrderState = 1 AND CreateTime <='{0}' AND OrderTypeId <=0 ", DateTime.Now.AddDays(-int.Parse(System.Configuration.ConfigurationManager.AppSettings["OrderOverDays"].ToString())).ToString()));//执行查询
                DataRow[] result = OrderTable.Select();
                int i = -1;
                while (++i < result.Length)
                {
                    IList<SqlParameter> sqlParms = new List<SqlParameter>()
                    {
                        new SqlParameter(){ParameterName="@Keyid",Value=int.Parse(result[i]["Keyid"].ToString())}
                    };
                    _dataBase.Query("sp_EC_OrderBasic_DeleteOnlineOverTime", CommandType.StoredProcedure, sqlParms.ToArray<SqlParameter>());
                }
            }
            catch (Exception ex)
            {
                Log4NetAdapter log_Log4NetAdapter = new Log4NetAdapter();
                log_Log4NetAdapter.Log(ex.Message);
            }
        }
 
        /// <summary>
        /// 自动删除超过规定时间的线上订单
        /// </summary>
        public void RemovedlOverTimeOrder()
        {
            try
            {
                string time = DateTime.Now.AddDays(-int.Parse(System.Configuration.ConfigurationManager.AppSettings["RecruitmentsOverDays"].ToString())).ToString();
                Database _dataBase = new Database();
                _dataBase.ExecuteSql(" UPDATE OA_StaffRecruitments SET R_Status='1' WHERE R_Status='2' AND R_StartTime <='" + time + "' ");
            }
            catch (Exception ex)
            {
                Log4NetAdapter log_Log4NetAdapter = new Log4NetAdapter();
                log_Log4NetAdapter.Log(ex.Message);
            }
        }
 
        /// <summary>
        /// 将已到期会员状态修改为已到期
        /// </summary>
        public void SetMemberStatus()
        {
            try
            {
                List<int> d = new List<int>();
                Database _dataBase = new Database();
                DataTable OrderTable = _dataBase.SelectModel(" * ", " EC_MemberBasic ", string.Format(" MemberType = '印刷厂商' AND ExpirationTime <= GETDATE()  AND UseState='3' "));//执行查询
                DataRow[] result = OrderTable.Select();
                int i = -1;
                while (++i < result.Length)
                {
                    IList<SqlParameter> sqlParms = new List<SqlParameter>()
                    {
                        new SqlParameter(){ParameterName="@MemberId",Value=Guid.Parse(result[i]["MemberId"].ToString()),SqlDbType=SqlDbType.UniqueIdentifier},
                        new SqlParameter(){ParameterName="@UseState",Value=1}
                    };
                    _dataBase.Query("sp_EC_MemberBasic_FirmOverTime", CommandType.StoredProcedure, sqlParms.ToArray<SqlParameter>());
                }
            }
            catch (Exception ex)
            {
                Log4NetAdapter log_Log4NetAdapter = new Log4NetAdapter();
                log_Log4NetAdapter.Log(ex.Message);
            }
        }
 
        /// <summary>
        /// 15天未还款自动降低客户信誉
        /// </summary>
        public void LowerCreditLevel()
        {
            try
            {
                Database _dataBase = new Database();
                DataTable OrderTable = _dataBase.SelectModel(" t.PayeeId,MIN(t.CreateTime) AS CreateTime  ", " (SELECT PayeeId,CreateTime FROM dbo.Pay_IncExpRecord AS a WHERE a.BalanceAccount='9' AND a.TradingType=1 AND a.Keyid > ISNULL((SELECT TOP(1) Keyid FROM dbo.Pay_IncExpRecord WHERE BalanceAccount='14' AND a.PayeeId = PayId ORDER BY Keyid DESC),0) AND a.CreateTime > ISNULL((SELECT TOP(1) CreateTime FROM dbo.Pay_CreditRecard WHERE a.PayeeId = PayId ORDER BY Keyid DESC),'2000-01-01 00:00:00')) t ", string.Format(" 1=1 GROUP BY t.PayeeId ORDER BY MIN(t.CreateTime)  "));//执行查询
                DataRow[] result = OrderTable.Select();
                int i = -1;
                while (++i < result.Length)
                {
                    int Payeeid = int.Parse(result[i]["PayeeId"].ToString());
                    DateTime CreatTime = DateTime.Parse(result[i]["CreateTime"].ToString());
                    if (CreatTime.AddDays(15) < DateTime.Now)
                    {
                        IList<SqlParameter> sqlParms = new List<SqlParameter>()
                        {
                            new SqlParameter(){ParameterName="@PayeeId",Value=Payeeid}
                        };
                        _dataBase.Query("sp_Pay_PaymentAccount_LowerCreditLevel", CommandType.StoredProcedure, sqlParms.ToArray<SqlParameter>());
                    }
                }
            }
            catch (Exception ex)
            {
                Log4NetAdapter log_Log4NetAdapter = new Log4NetAdapter();
                log_Log4NetAdapter.Log(ex.Message);
            }
        }
    }
}