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 { /// /// 自动对规定时间内的订单进行收货操作 /// public void AcceptOverTimeOrder() { try { List d = new List(); 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 sqlParms = new List() { 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()); } } catch (Exception ex) { Log4NetAdapter log_Log4NetAdapter = new Log4NetAdapter(); log_Log4NetAdapter.Log(ex.Message); } } /// /// 自动删除超过规定时间的线上订单 /// public void DelOverTimeOrder() { try { List d = new List(); 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 sqlParms = new List() { new SqlParameter(){ParameterName="@Keyid",Value=int.Parse(result[i]["Keyid"].ToString())} }; _dataBase.Query("sp_EC_OrderBasic_DeleteOnlineOverTime", CommandType.StoredProcedure, sqlParms.ToArray()); } } catch (Exception ex) { Log4NetAdapter log_Log4NetAdapter = new Log4NetAdapter(); log_Log4NetAdapter.Log(ex.Message); } } /// /// 自动删除超过规定时间的线上订单 /// 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); } } /// /// 将已到期会员状态修改为已到期 /// public void SetMemberStatus() { try { List d = new List(); 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 sqlParms = new List() { 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()); } } catch (Exception ex) { Log4NetAdapter log_Log4NetAdapter = new Log4NetAdapter(); log_Log4NetAdapter.Log(ex.Message); } } /// /// 15天未还款自动降低客户信誉 /// 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 sqlParms = new List() { new SqlParameter(){ParameterName="@PayeeId",Value=Payeeid} }; _dataBase.Query("sp_Pay_PaymentAccount_LowerCreditLevel", CommandType.StoredProcedure, sqlParms.ToArray()); } } } catch (Exception ex) { Log4NetAdapter log_Log4NetAdapter = new Log4NetAdapter(); log_Log4NetAdapter.Log(ex.Message); } } } }