TG.WXCRM.V4/DAL/TS/WX_TS_CMD_DAL.cs

204 lines
8.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OracleClient;
using System.Linq;
using WX.CRM.Common;
namespace WX.CRM.DAL.TS
{
public class WX_TS_CMD_DAL
{
/// <summary>
/// 提交发送朋友圈
/// </summary>
/// <param name="v_txt">内容</param>
/// <param name="v_timeType">推送类型</param>
/// <param name="v_exe_date">时间</param>
/// <param name="v_exe_time">日期</param>
/// <param name="errors"></param>
/// <returns></returns>
public bool CreateFriendscircle(string v_txt, int v_timeType, string v_exe_date, string v_exe_time, string v_imgpath, ref ValidationErrors errors)
{
bool resut = false;
try
{
var param1 = new List<OracleParameter>()
{
new OracleParameter() { ParameterName = "v_txt", OracleType = OracleType.NVarChar, Value =v_txt },
new OracleParameter() { ParameterName = "v_timeType", OracleType = OracleType.Number, Value =v_timeType },
new OracleParameter() { ParameterName = "v_exe_date", OracleType = OracleType.VarChar, Value =v_exe_date },
new OracleParameter() { ParameterName = "v_exe_time", OracleType = OracleType.VarChar, Value =v_exe_time },
new OracleParameter() { ParameterName = "v_imgpath", OracleType = OracleType.VarChar, Value =v_imgpath },
};
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_WX_TSCMD.CreateFriendscircle", param1.ToArray());
resut = true;
}
catch (Exception ex)
{
errors.Add(ex.ToString());
LogHelper.Error("CreateFriendscircle:" + ex.ToString());
}
return resut;
}
/// <summary>
/// 获取可推送cmd
/// </summary>
/// <returns></returns>
public DataTable GetCmdPici()
{
DataTable table = null;
try
{
var para = new List<OracleParameter>();
para.Add(new OracleParameter() { ParameterName = "v_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output });
table = OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_WX_TSCMD.GetCmdPici", para.ToArray()).Tables[0];
}
catch (Exception ex)
{
LogHelper.Error(ex.ToString());
}
return table;
}
/// <summary>
/// 获取图片内容
/// </summary>
/// <param name="pici">批次号</param>
/// <returns></returns>
public DataTable GetFriendScircleImgList(decimal pici)
{
DataTable table = null;
try
{
OracleParameter[] p2 =
{
new OracleParameter(){ ParameterName = "v_pici", OracleType = OracleType.Number, Value = pici},
new OracleParameter(){ ParameterName = "v_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output }
};
table = OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_WX_TSCMD.GetFriendScircleImgList", p2.ToArray()).Tables[0];
}
catch (Exception ex)
{
LogHelper.Error(ex.ToString());
}
return table;
}
/// <summary>
/// 修改批次推送状态
/// </summary>
/// <param name="v_pici">批次</param>
/// <param name="v_senddate">发送时间</param>
/// <param name="v_stutas">状态</param>
/// <param name="v_msg">推送返回的消息</param>
/// <param name="errors"></param>
/// <returns></returns>
public bool UpdateSendStutas(decimal v_pici, DateTime v_senddate, int v_stutas, string v_msg, ref ValidationErrors errors)
{
bool resut = false;
try
{
var param1 = new List<OracleParameter>()
{
new OracleParameter() { ParameterName = "v_pici", OracleType = OracleType.Number, Value =v_pici },
new OracleParameter() { ParameterName = "v_senddate", OracleType = OracleType.DateTime, Value =v_senddate },
new OracleParameter() { ParameterName = "v_stutas", OracleType = OracleType.Number, Value =v_stutas },
new OracleParameter() { ParameterName = "v_msg", OracleType = OracleType.VarChar, Value =v_msg }
};
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_WX_TSCMD.UpdateSendStutas", param1.ToArray());
resut = true;
}
catch (Exception ex)
{
errors.Add(ex.ToString());
LogHelper.Error("UpdateSendResStutas:" + ex.ToString());
}
return resut;
}
/// <summary>
/// 发送朋友圈日志
/// </summary>
/// <param name="stime"></param>
/// <param name="etime"></param>
/// <param name="v_alias"></param>
/// <param name="pager"></param>
/// <returns></returns>
public DataTable GetFirneScirccleLog(DateTime? stime, DateTime? etime, string v_alias, ref Pager pager)
{
OracleConnection conn = new OracleConnection(OracleHelper.AYCRMConn);
if (conn.State == ConnectionState.Closed)
conn.Open();
OracleTransaction trans = conn.BeginTransaction();
try
{
OracleParameter[] p2 =
{
new OracleParameter(){ ParameterName = "v_stime", OracleType = OracleType.DateTime, Value = stime},
new OracleParameter(){ ParameterName = "v_etime", OracleType = OracleType.DateTime, Value = etime},
new OracleParameter(){ ParameterName = "v_alias", OracleType = OracleType.VarChar, Value = v_alias},
new OracleParameter(){ ParameterName = "v_pageIndex", OracleType = OracleType.Number, Value = pager.page},
new OracleParameter(){ ParameterName = "v_pageSize", OracleType = OracleType.Number, Value = pager.rows},
new OracleParameter(){ ParameterName="v_total",OracleType=OracleType.Number,Direction = ParameterDirection.Output},
new OracleParameter(){ ParameterName = "v_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output }
};
var ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_WX_TSCMD.GetFirneScirccleLog", p2).Tables[0];
pager.totalRows = int.Parse(string.Format("{0}", p2.Single(m => m.ParameterName == "v_total").Value));
trans.Commit();
return ds;
}
catch (Exception)
{
trans.Rollback();
throw;
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
}
/// <summary>
/// 获取朋友圈内容
/// </summary>
/// <param name="pici"></param>
/// <returns></returns>
public DataTable GetFriendScircleTxtByPici(decimal pici)
{
OracleConnection conn = new OracleConnection(OracleHelper.AYCRMConn);
if (conn.State == ConnectionState.Closed)
conn.Open();
OracleTransaction trans = conn.BeginTransaction();
try
{
OracleParameter[] p2 =
{
new OracleParameter(){ ParameterName = "v_pici", OracleType = OracleType.Number, Value = pici},
new OracleParameter(){ ParameterName = "v_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output }
};
var ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_WX_TSCMD.GetFriendScircleTxtByPici", p2).Tables[0];
trans.Commit();
return ds;
}
catch (Exception)
{
trans.Rollback();
throw;
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
}
}
}