1270 lines
66 KiB
C#
1270 lines
66 KiB
C#
using CRM.Core.DTO;
|
||
using CRM.Core.DTO.Ord;
|
||
using Newtonsoft.Json;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using WX.CRM.BLL.Base;
|
||
using WX.CRM.BLL.Util;
|
||
using WX.CRM.Common;
|
||
using WX.CRM.IBLL.Util;
|
||
using WX.CRM.IBLL.Wx;
|
||
using WX.CRM.Model.Entity;
|
||
|
||
namespace WX.CRM.BLL.Wx
|
||
{
|
||
public class WX_SZZYORDERDEPOSIT_BL : DbContextRepository<WX_SZZYORDERDEPOSIT>, IWX_SZZYORDERDEPOSIT
|
||
{
|
||
|
||
public ICACHE_Q _chache = new CACHE_BL();
|
||
|
||
public ISecurityHelper _sHelper = new SecurityHelper();
|
||
|
||
public void Add(OrderDepositDto dto)
|
||
{
|
||
var model = new WX_SZZYORDERDEPOSIT()
|
||
{
|
||
ID = dto.id,
|
||
RESID = dto.resid,
|
||
PAYTYPE = dto.paytype,
|
||
PAYTYPENAME = dto.paytypename,
|
||
PAYDATE = dto.paydate,
|
||
PAYPRICE = dto.payprice,
|
||
PAYNAME = dto.payname,
|
||
REMARK = dto.remark,
|
||
AUDITSTATUS = 0,
|
||
CTIME = DateTime.Now,
|
||
PAYNO = string.IsNullOrEmpty(dto.payno) ? string.Empty : dto.payno.Trim(),
|
||
TRADENO = dto.tradeno
|
||
};
|
||
|
||
using (var db = new crmContext())
|
||
{
|
||
using (var trans = db.Database.BeginTransaction())
|
||
{
|
||
try
|
||
{
|
||
if (!string.IsNullOrEmpty(dto.orderid))
|
||
{
|
||
var idsArr = dto.orderid.Split(',');
|
||
foreach (var arr in idsArr)
|
||
{
|
||
var orderid = Convert.ToInt32(arr[0]);
|
||
var order = db.WX_SZZYORDER.FirstOrDefault(p => p.ORDERID == orderid);
|
||
var pay = new WX_SZZYORDERPAY
|
||
{
|
||
ID = new SEQUENCES_BL().Seq_base_get(),
|
||
ORDERID = orderid,
|
||
NEEDPAY = order != null ? order.NEEDPAY.Value : 0,
|
||
PAYTYPE = dto.paytype,
|
||
PAYTYPENAME = dto.paytypename,
|
||
PAYDATE = dto.paydate,
|
||
PAYPRICE = dto.payprice,
|
||
PAYNAME = dto.payname,
|
||
REMARK = dto.remark,
|
||
PAYNO = dto.payno,
|
||
TRADENO = dto.tradeno
|
||
};
|
||
if (dto.creator.HasValue)
|
||
{
|
||
pay.CREATOR = dto.creator.Value;
|
||
}
|
||
if (!string.IsNullOrEmpty(dto.creatorname))
|
||
{
|
||
pay.CREATORNAME = dto.creatorname;
|
||
}
|
||
|
||
pay.DEPOSITID = model.ID;
|
||
|
||
db.WX_SZZYORDERPAY.Add(pay);
|
||
}
|
||
}
|
||
|
||
db.WX_SZZYORDERDEPOSIT.Add(model);
|
||
|
||
db.SaveChanges();
|
||
trans.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex);
|
||
trans.Rollback();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//public retMsg Pay(PayDto dto)
|
||
//{
|
||
// //int? channel = 0;
|
||
// decimal usepriceall = 0;
|
||
// decimal lastpriceall = 0;
|
||
// var msg1 = new retMsg();
|
||
// LogHelper.Info("dto:" + dto.ToJson());
|
||
// var url = _chache.GetValue_Parameter("Core_PayService_OrderPay");
|
||
// var para = _sHelper.createSignEncodingStr(dto.ToJson(), SecurityHelper.OrderClientIdKey);
|
||
// LogHelper.Info("url:" + url + "?" + para);
|
||
// var rep = Utility.PostData(url + "?" + para, Encoding.UTF8);
|
||
// var retmsg = JsonConvert.DeserializeObject<retMsg>(rep);
|
||
// LogHelper.Info("retmsg:" + retmsg.ToJson());
|
||
// if (retmsg.result)
|
||
// {
|
||
// if (dto.depprice.HasValue && dto.depprice.Value > 0)
|
||
// {
|
||
// //如果有使用已经确认的金额,直接使用
|
||
// msg1 = Use(new PayUseDto() { resid = dto.resid, depprice = dto.depprice.Value, orderuselist = dto.orderuselist });
|
||
// }
|
||
// if (!string.IsNullOrEmpty(dto.payno))
|
||
// {
|
||
// //使用了流水号的场景
|
||
// using (var db = new crmContext())
|
||
// {
|
||
// using (var trans = db.Database.BeginTransaction())
|
||
// {
|
||
// try
|
||
// {
|
||
// //查看是否已经有确认到账记录
|
||
// var depost = db.WX_SZZYORDERDEPOSIT.FirstOrDefault(p => p.PAYNO == dto.payno && p.AUDITSTATUS == 1);
|
||
// var depositId = 0;
|
||
// if (depost == null)
|
||
// {
|
||
// depositId = Convert.ToInt32(retmsg.retmsg);
|
||
|
||
// lastpriceall = dto.payprice;
|
||
// }
|
||
// else
|
||
// {
|
||
// depositId = Convert.ToInt32(depost.ID);
|
||
// //如果已经存在说明已经使用过了,那要重新计算使用金额跟剩余金额
|
||
// usepriceall = depost.USEPRICE ?? 0;
|
||
// lastpriceall = depost.LASTPRICE ?? 0;
|
||
// }
|
||
|
||
// foreach (var item in dto.orderuselist)
|
||
// {
|
||
// if (lastpriceall <= 0)
|
||
// {
|
||
// //如果剩余金额小于等于0,说明已经没钱支付了,不执行下面的操作
|
||
// continue;
|
||
// }
|
||
|
||
// var order = db.WX_SZZYORDER.FirstOrDefault(p => p.ORDERID == item.orderid);
|
||
// if (order == null)
|
||
// throw new Exception("参数错误,未能找到订单!");
|
||
// else
|
||
// {
|
||
// if (order.ORDERSTATUS == "180" || order.ORDERSTATUS == "190" || order.ORDERSTATUS == "195")
|
||
// {
|
||
// order.ORDERSTATUS = "190";
|
||
// order.ORDERSTATUSNAME = "已提交支付";
|
||
|
||
// //channel = order.CHANNEL;
|
||
// }
|
||
// else
|
||
// {
|
||
// //已经是支付状态,说明已经给够钱了,不需要再支付了
|
||
// LogHelper.Info(order.ORDERID.ToString() + "支付金额已经够了,不需要再支付了!");
|
||
// continue;
|
||
// //return new retMsg { result = false, retcode = 100, retmsg = order.ORDERID.ToString() + "支付金额已经够了,不需要再支付了!" };
|
||
// }
|
||
// }
|
||
|
||
// //订单剩余使用金额=订单金额-已支付金额
|
||
// //如果第一笔支付,那已支付金额为0
|
||
// //当前需要付款的金额
|
||
// var curPay = order.NEEDPAY.Value - (order.ARRIVALPAY ?? 0);
|
||
|
||
// decimal usePrice = 0;
|
||
|
||
// if (lastpriceall >= curPay)
|
||
// {
|
||
// //剩余金额大于等于当前需要付款的金额,剩余金额足够支付
|
||
// usePrice = curPay;
|
||
// }
|
||
// else
|
||
// {
|
||
// //剩余金额不够支付,剩余金额全部支付
|
||
// usePrice = lastpriceall;
|
||
// }
|
||
|
||
// //使用金额加上当前支付的金额
|
||
// usepriceall += usePrice;
|
||
// //剩余金额降掉当前支付的金额
|
||
// lastpriceall -= usePrice;
|
||
|
||
// var pay = new WX_SZZYORDERPAY
|
||
// {
|
||
// ID = new SEQUENCES_BL().Seq_base_get(),
|
||
// ORDERID = item.orderid,
|
||
// NEEDPAY = item.needpay,
|
||
// PAYTYPE = dto.paytype,
|
||
// PAYTYPENAME = dto.paytypename,
|
||
// PAYDATE = dto.paydate,
|
||
// PAYPRICE = usePrice,
|
||
// PAYNAME = dto.payname,
|
||
// REMARK = dto.remark,
|
||
// CTIME = DateTime.Now,
|
||
// PAYNO = dto.payno,
|
||
// SID = null,
|
||
// TRADENO = dto.tradeno,
|
||
// ISDELETE = 0,
|
||
// CREATOR = dto.creator,
|
||
// CREATORNAME = dto.creatorname,
|
||
// DEPOSITID = depositId
|
||
// };
|
||
|
||
// db.WX_SZZYORDERPAY.Add(pay);
|
||
// }
|
||
|
||
// if (depost == null)
|
||
// {
|
||
// depost = new WX_SZZYORDERDEPOSIT
|
||
// {
|
||
// ID = depositId,
|
||
// RESID = dto.resid,
|
||
// PAYTYPE = dto.paytype,
|
||
// PAYTYPENAME = dto.paytypename,
|
||
// PAYDATE = dto.paydate,
|
||
// PAYPRICE = dto.payprice,
|
||
// PAYNAME = dto.payname,
|
||
// REMARK = dto.remark,
|
||
// PAYNO = dto.payno,
|
||
// ISUSE = dto.isuse,
|
||
// COMPANYCODE = dto.companycode,
|
||
// TRADENO = dto.tradeno,
|
||
// CREATOR = dto.creator,
|
||
// CREATORNAME = dto.creatorname,
|
||
|
||
// USEPRICE = usepriceall,
|
||
// LASTPRICE = lastpriceall
|
||
// };
|
||
|
||
// db.WX_SZZYORDERDEPOSIT.Add(depost);
|
||
// }
|
||
// else
|
||
// {
|
||
// depost.USEPRICE = usepriceall;
|
||
// depost.LASTPRICE = lastpriceall;
|
||
// }
|
||
|
||
// db.SaveChanges();
|
||
|
||
// trans.Commit();
|
||
|
||
// if (dto.depprice.HasValue && dto.depprice.Value > 0)
|
||
// {
|
||
// if (msg1.result)
|
||
// {
|
||
// return new retMsg { result = true, retcode = 200 };
|
||
// }
|
||
// else if (!msg1.result)
|
||
// {
|
||
// return new retMsg { result = false, retcode = 300 };
|
||
// }
|
||
// }
|
||
// return new retMsg { result = true, retcode = 200 };
|
||
// }
|
||
// catch (Exception ex)
|
||
// {
|
||
// LogHelper.Error(ex);
|
||
// trans.Rollback();
|
||
// if (dto.depprice.HasValue && dto.depprice.Value > 0 && msg1.result)
|
||
// {
|
||
// return new retMsg { result = false, retcode = 400 };
|
||
// }
|
||
// return new retMsg { result = false, retcode = 500 };
|
||
// }
|
||
// }
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// return msg1;
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// return new retMsg { result = false, retcode = 500 };
|
||
// }
|
||
//}
|
||
|
||
|
||
/// <summary>
|
||
/// 本地不在计算
|
||
/// </summary>
|
||
/// <param name="dto"></param>
|
||
/// <returns></returns>
|
||
public retMsg<List<DepositInfoDto>> Pay2(PayDto2 dto)
|
||
{
|
||
//int? channel = 0;
|
||
//var msg1 = new retMsg<List<DepositInfoDto>>();
|
||
LogHelper.Info("PayDto2:" + dto.ToJson());
|
||
var url = _chache.GetValue_Parameter("Core_PayService_OrderPay");
|
||
var para = _sHelper.createSignEncodingStr(dto.ToJson(), SecurityHelper.OrderClientIdKey);
|
||
LogHelper.Info("url:" + url + "?" + para);
|
||
var rep = Utility.PostData(url + "?" + para, Encoding.UTF8);
|
||
var retmsg = JsonConvert.DeserializeObject<retMsg<List<DepositInfoDto>>>(rep);
|
||
LogHelper.Info("retmsg:" + retmsg.ToJson());
|
||
if (retmsg.result)
|
||
{
|
||
//if (dto.depprice.HasValue && dto.depprice.Value > 0)
|
||
//{
|
||
// //如果有使用已经确认的金额,直接使用
|
||
// msg1 = Use(new PayUseDto() { resid = dto.resid, depprice = dto.depprice.Value, orderuselist = dto.orderuselist });
|
||
//}
|
||
if (dto.paylist.Any())
|
||
{
|
||
//使用了流水号的场景
|
||
using (var db = new crmContext())
|
||
{
|
||
using (var trans = db.Database.BeginTransaction())
|
||
{
|
||
try
|
||
{
|
||
foreach (var payinfo in dto.paylist)
|
||
{
|
||
decimal usepriceall = 0;
|
||
decimal lastpriceall = 0;
|
||
//查看是否已经有确认到账记录
|
||
var depost = db.WX_SZZYORDERDEPOSIT.FirstOrDefault(p => p.PAYNO == payinfo.payno && p.AUDITSTATUS == 1 && p.PAYNO != null);
|
||
var depositId = 0;
|
||
if (depost == null)
|
||
{
|
||
var depositinfiList = retmsg.retmsg;
|
||
depositId = depositinfiList.Find(p => p.payno == payinfo.payno).id;
|
||
|
||
lastpriceall = payinfo.payprice;
|
||
}
|
||
else
|
||
{
|
||
depositId = Convert.ToInt32(depost.ID);
|
||
//如果已经存在说明已经使用过了,那要重新计算使用金额跟剩余金额
|
||
usepriceall = depost.USEPRICE ?? 0;
|
||
lastpriceall = depost.LASTPRICE ?? 0;
|
||
}
|
||
|
||
foreach (var item in dto.orderuselist)
|
||
{
|
||
if (lastpriceall <= 0)
|
||
{
|
||
//如果剩余金额小于等于0,说明已经没钱支付了,不执行下面的操作
|
||
continue;
|
||
}
|
||
|
||
var order = db.WX_SZZYORDER.FirstOrDefault(p => p.ORDERID == item.orderid);
|
||
if (order == null)
|
||
throw new Exception("参数错误,未能找到订单!");
|
||
else
|
||
{
|
||
//如果已经支付过,赋值到当前临时记录的到账金额
|
||
if (order.ARRIVALPAY.HasValue)
|
||
item.arrivalpay = order.ARRIVALPAY.Value;
|
||
if (order.ORDERSTATUS == "180" || order.ORDERSTATUS == "190" || order.ORDERSTATUS == "195")
|
||
{
|
||
order.ORDERSTATUS = "190";
|
||
order.ORDERSTATUSNAME = "已提交支付";
|
||
|
||
//channel = order.CHANNEL;
|
||
}
|
||
else
|
||
{
|
||
//已经是支付状态,说明已经给够钱了,不需要再支付了
|
||
LogHelper.Info(order.ORDERID.ToString() + "支付金额已经够了,不需要再支付了!");
|
||
continue;
|
||
//return new retMsg { result = false, retcode = 100, retmsg = order.ORDERID.ToString() + "支付金额已经够了,不需要再支付了!" };
|
||
}
|
||
}
|
||
|
||
#region 弃用,不在座席端计算金额
|
||
////如果订单金额跟到账金额相等,说明这个订单已经付够钱了
|
||
//if (item.arrivalpay == item.needpay)
|
||
//{
|
||
// continue;
|
||
//}
|
||
|
||
////订单剩余使用金额=订单金额-已支付金额
|
||
////如果第一笔支付,那已支付金额为0
|
||
////当前需要付款的金额
|
||
//var curPay = order.NEEDPAY.Value - (order.ARRIVALPAY ?? 0);
|
||
|
||
//decimal usePrice = 0;
|
||
|
||
//if (lastpriceall >= curPay)
|
||
//{
|
||
// //剩余金额大于等于当前需要付款的金额,剩余金额足够支付
|
||
// usePrice = curPay;
|
||
//}
|
||
//else
|
||
//{
|
||
// //剩余金额不够支付,剩余金额全部支付
|
||
// usePrice = lastpriceall;
|
||
//}
|
||
|
||
//if (depost != null)
|
||
//{
|
||
// //使用金额加上当前支付的金额
|
||
// usepriceall += usePrice;
|
||
// //剩余金额降掉当前支付的金额
|
||
// lastpriceall -= usePrice;
|
||
//}
|
||
|
||
//var pay = new WX_SZZYORDERPAY
|
||
//{
|
||
// ID = new SEQUENCES_BL().Seq_base_get(),
|
||
// ORDERID = item.orderid,
|
||
// NEEDPAY = item.needpay,
|
||
// PAYTYPE = payinfo.paytype,
|
||
// PAYTYPENAME = payinfo.paytypename,
|
||
// PAYDATE = payinfo.paydate,
|
||
// PAYPRICE = usePrice,
|
||
// PAYNAME = payinfo.payname,
|
||
// REMARK = payinfo.remark,
|
||
// CTIME = DateTime.Now,
|
||
// PAYNO = payinfo.payno,
|
||
// SID = null,
|
||
// TRADENO = payinfo.tradeno,
|
||
// ISDELETE = 0,
|
||
// CREATOR = payinfo.creator,
|
||
// CREATORNAME = payinfo.creatorname,
|
||
// DEPOSITID = depositId
|
||
//};
|
||
//db.WX_SZZYORDERPAY.Add(pay);
|
||
//item.arrivalpay += usePrice;
|
||
#endregion
|
||
}
|
||
|
||
if (depost == null)
|
||
{
|
||
depost = new WX_SZZYORDERDEPOSIT
|
||
{
|
||
ID = depositId,
|
||
RESID = payinfo.resid,
|
||
PAYTYPE = payinfo.paytype,
|
||
PAYTYPENAME = payinfo.paytypename,
|
||
PAYDATE = payinfo.paydate,
|
||
PAYPRICE = payinfo.payprice,
|
||
PAYNAME = payinfo.payname,
|
||
REMARK = payinfo.remark,
|
||
PAYNO = payinfo.payno,
|
||
ISUSE = payinfo.isuse,
|
||
COMPANYCODE = payinfo.companycode,
|
||
TRADENO = payinfo.tradeno,
|
||
CREATOR = payinfo.creator,
|
||
CREATORNAME = payinfo.creatorname,
|
||
USEPRICE = usepriceall,
|
||
LASTPRICE = lastpriceall,
|
||
DEPTCODE = dto.deptcode,
|
||
CTIME = DateTime.Now
|
||
};
|
||
|
||
db.WX_SZZYORDERDEPOSIT.Add(depost);
|
||
}
|
||
else
|
||
{
|
||
depost.USEPRICE = usepriceall;
|
||
depost.LASTPRICE = lastpriceall;
|
||
}
|
||
}
|
||
|
||
db.SaveChanges();
|
||
|
||
trans.Commit();
|
||
|
||
//if (dto.depprice.HasValue && dto.depprice.Value > 0)
|
||
//{
|
||
// if (msg1.result)
|
||
// {
|
||
// return new retMsg<List<DepositInfoDto>> { result = true, retcode = 200 };
|
||
// }
|
||
// else if (!msg1.result)
|
||
// {
|
||
// return new retMsg<List<DepositInfoDto>> { result = false, retcode = 300 };
|
||
// }
|
||
//}
|
||
return retmsg;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex);
|
||
trans.Rollback();
|
||
//if (dto.depprice.HasValue && dto.depprice.Value > 0 && msg1.result)
|
||
//{
|
||
// return new retMsg<List<DepositInfoDto>> { result = false, retcode = 400 };
|
||
//}
|
||
return new retMsg<List<DepositInfoDto>> { result = false, retcode = 500 };
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//return msg1;
|
||
return new retMsg<List<DepositInfoDto>> { result = false, retcode = 100 };
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return new retMsg<List<DepositInfoDto>> { result = false, retcode = 500, retmsg = null };
|
||
}
|
||
}
|
||
|
||
public retMsg<List<DepositInfoDto>> Use(PayUseDto dto)
|
||
{
|
||
//int? channel = 0;
|
||
var url = _chache.GetValue_Parameter("Core_PayService_OrderPayUse");
|
||
var para = _sHelper.createSignEncodingStr(dto.ToJson(), SecurityHelper.OrderClientIdKey);
|
||
LogHelper.Info("payuseurl:" + url + "?" + para);
|
||
var rep = Utility.PostData(url + "?" + para, Encoding.UTF8);
|
||
LogHelper.Info("payuse:" + rep);
|
||
var retmsg = JsonConvert.DeserializeObject<retMsg<List<DepositInfoDto>>>(rep);
|
||
return retmsg;
|
||
|
||
#region 废弃代码,坐席端不在计算金额
|
||
//if (retmsg.result)
|
||
//{
|
||
// using (var db = new crmContext())
|
||
// {
|
||
// //找到客户可用的流水列表
|
||
// var deposits = db.WX_SZZYORDERDEPOSIT.Where(p => p.AUDITSTATUS == 1 && p.RESID == dto.resid && p.LASTPRICE > 0).ToList();
|
||
|
||
// if (!deposits.Any())
|
||
// throw new Exception("找不到可用的流水!");
|
||
|
||
// using (var trans = db.Database.BeginTransaction())
|
||
// {
|
||
// try
|
||
// {
|
||
// var ddeppriceLJ = dto.depprice;//需要使用的金额
|
||
// foreach (var item in dto.orderuselist)
|
||
// {
|
||
// var order = db.WX_SZZYORDER.FirstOrDefault(p => p.ORDERID == item.orderid);
|
||
// if (order == null)
|
||
// throw new Exception("参数错误,未能找到订单!");
|
||
// else
|
||
// {
|
||
// if (order.ORDERSTATUS == "180" || order.ORDERSTATUS == "190" || order.ORDERSTATUS == "195")
|
||
// {
|
||
// //订单剩余使用金额=订单金额-已支付金额
|
||
// //如果第一笔支付,那已支付金额为0
|
||
// //当前需要付款的金额
|
||
// var curPay = order.NEEDPAY.Value - (order.ARRIVALPAY ?? 0);
|
||
|
||
// if (ddeppriceLJ >= curPay)
|
||
// {
|
||
// order.ORDERSTATUS = "200";
|
||
// order.ORDERSTATUSNAME = "已支付";
|
||
// }
|
||
// else
|
||
// {
|
||
// curPay = ddeppriceLJ.Value;//剩余的使用金额还没有需要支付的多,那么需要取使用的钱来计算
|
||
// order.ORDERSTATUS = "190";
|
||
// order.ORDERSTATUSNAME = "已提交支付";
|
||
// }
|
||
// //channel = order.CHANNEL;
|
||
// var xdDeposits = deposits.Where(p => p.LASTPRICE == curPay);
|
||
// if (xdDeposits.Any())
|
||
// {
|
||
// //找到刚好支付的金额,就使用该流水号,多个取第一个
|
||
// var xx = xdDeposits.OrderBy(p => p.CTIME).First();
|
||
// var xdDeposit = db.WX_SZZYORDERDEPOSIT.FirstOrDefault(m => m.ID == xx.ID);
|
||
|
||
// var pay = new WX_SZZYORDERPAY
|
||
// {
|
||
// ID = new SEQUENCES_BL().Seq_base_get(),
|
||
// ORDERID = item.orderid,
|
||
// NEEDPAY = item.needpay,
|
||
// PAYTYPE = xdDeposit.PAYTYPE,
|
||
// PAYTYPENAME = xdDeposit.PAYTYPENAME,
|
||
// PAYDATE = xdDeposit.PAYDATE,
|
||
// PAYPRICE = curPay,
|
||
// PAYNAME = xdDeposit.PAYNAME,
|
||
// REMARK = xdDeposit.REMARK,
|
||
// CTIME = DateTime.Now,
|
||
// PAYNO = xdDeposit.PAYNO,
|
||
// SID = null,
|
||
// TRADENO = xdDeposit.TRADENO,
|
||
// ISDELETE = 0,
|
||
// CREATOR = xdDeposit.CREATOR,
|
||
// CREATORNAME = xdDeposit.CREATORNAME,
|
||
// DEPOSITID = xdDeposit.ID,
|
||
// AUDITSTATUS = 1,
|
||
// AUDITOR = xdDeposit.AUDITOR,
|
||
// AUDITORNAME = xdDeposit.AUDITORNAME,
|
||
// AUDITTIME = DateTime.Now
|
||
// };
|
||
|
||
// db.WX_SZZYORDERPAY.Add(pay);
|
||
// if (xdDeposit.USEPRICE.HasValue)
|
||
// xdDeposit.USEPRICE += curPay;
|
||
// else
|
||
// xdDeposit.USEPRICE = curPay;
|
||
// xdDeposit.LASTPRICE -= curPay;
|
||
|
||
// if (order.ARRIVALPAY.HasValue)
|
||
// {
|
||
// order.ARRIVALPAY += curPay;
|
||
// }
|
||
// else
|
||
// {
|
||
// order.ARRIVALPAY = curPay;
|
||
// }
|
||
// order.ARRIVALTIME = xdDeposit.PAYDATE;
|
||
|
||
// }
|
||
// else
|
||
// {
|
||
// //没找到刚好够支付的金额,并且剩余金额大于需要付款金额,使用第一个能用的流水号
|
||
// var dyDeposits = deposits.Where(p => p.LASTPRICE > curPay);
|
||
|
||
// if (dyDeposits.Any())
|
||
// {
|
||
// var xx = dyDeposits.OrderBy(p => p.CTIME).First();
|
||
// var dyDeposit = db.WX_SZZYORDERDEPOSIT.FirstOrDefault(m => m.ID == xx.ID);
|
||
// var pay = new WX_SZZYORDERPAY
|
||
// {
|
||
// ID = new SEQUENCES_BL().Seq_base_get(),
|
||
// ORDERID = item.orderid,
|
||
// NEEDPAY = item.needpay,
|
||
// PAYTYPE = dyDeposit.PAYTYPE,
|
||
// PAYTYPENAME = dyDeposit.PAYTYPENAME,
|
||
// PAYDATE = dyDeposit.PAYDATE,
|
||
// PAYPRICE = curPay,
|
||
// PAYNAME = dyDeposit.PAYNAME,
|
||
// REMARK = dyDeposit.REMARK,
|
||
// CTIME = DateTime.Now,
|
||
// PAYNO = dyDeposit.PAYNO,
|
||
// SID = null,
|
||
// TRADENO = dyDeposit.TRADENO,
|
||
// ISDELETE = 0,
|
||
// CREATOR = dyDeposit.CREATOR,
|
||
// CREATORNAME = dyDeposit.CREATORNAME,
|
||
// DEPOSITID = dyDeposit.ID,
|
||
// AUDITSTATUS = 1,
|
||
// AUDITOR = dyDeposit.AUDITOR,
|
||
// AUDITORNAME = dyDeposit.AUDITORNAME,
|
||
// AUDITTIME = DateTime.Now
|
||
// };
|
||
|
||
// db.WX_SZZYORDERPAY.Add(pay);
|
||
// if (dyDeposit.USEPRICE.HasValue)
|
||
// dyDeposit.USEPRICE += curPay;
|
||
// else
|
||
// dyDeposit.USEPRICE = curPay;
|
||
// dyDeposit.LASTPRICE -= curPay;
|
||
|
||
// if (order.ARRIVALPAY.HasValue)
|
||
// {
|
||
// order.ARRIVALPAY += curPay;
|
||
// }
|
||
// else
|
||
// {
|
||
// order.ARRIVALPAY = curPay;
|
||
// }
|
||
// order.ARRIVALTIME = dyDeposit.PAYDATE;
|
||
// }
|
||
// else
|
||
// {
|
||
// //var sPirce = price;
|
||
// //没收到能一笔支付的,那就按提交时间使用流水号
|
||
// foreach (var xx in deposits.OrderBy(p => p.CTIME))
|
||
// {
|
||
// var dep = db.WX_SZZYORDERDEPOSIT.FirstOrDefault(m => m.ID == xx.ID);
|
||
// if (dep.LASTPRICE <= 0)
|
||
// {
|
||
// continue;
|
||
// }
|
||
|
||
// if (order.ARRIVALPAY == order.NEEDPAY)
|
||
// {
|
||
// break;
|
||
// }
|
||
|
||
// decimal usePrice = 0;
|
||
|
||
// if (curPay >= dep.LASTPRICE.Value)
|
||
// {
|
||
// //使用金额大于等于当前需要付款的金额,使用金额足够支付
|
||
|
||
// if (ddeppriceLJ < dep.LASTPRICE.Value)
|
||
// {
|
||
// usePrice = ddeppriceLJ.Value;
|
||
// }
|
||
// else
|
||
// {
|
||
// usePrice = dep.LASTPRICE.Value;
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// //使用金额不够支付,使用金额全部支付
|
||
// usePrice = curPay;
|
||
// }
|
||
// if (usePrice <= 0)
|
||
// {
|
||
// continue;//没有可用金额,不需要进行下一步
|
||
// }
|
||
// var pay = new WX_SZZYORDERPAY
|
||
// {
|
||
// ID = new SEQUENCES_BL().Seq_base_get(),
|
||
// ORDERID = item.orderid,
|
||
// NEEDPAY = item.needpay,
|
||
// PAYTYPE = dep.PAYTYPE,
|
||
// PAYTYPENAME = dep.PAYTYPENAME,
|
||
// PAYDATE = dep.PAYDATE,
|
||
// PAYPRICE = usePrice,
|
||
// PAYNAME = dep.PAYNAME,
|
||
// REMARK = dep.REMARK,
|
||
// CTIME = DateTime.Now,
|
||
// PAYNO = dep.PAYNO,
|
||
// SID = null,
|
||
// TRADENO = dep.TRADENO,
|
||
// ISDELETE = 0,
|
||
// CREATOR = dep.CREATOR,
|
||
// CREATORNAME = dep.CREATORNAME,
|
||
// DEPOSITID = dep.ID,
|
||
// AUDITSTATUS = 1,
|
||
// AUDITOR = dep.AUDITOR,
|
||
// AUDITORNAME = dep.AUDITORNAME,
|
||
// AUDITTIME = DateTime.Now
|
||
// };
|
||
|
||
// db.WX_SZZYORDERPAY.Add(pay);
|
||
|
||
// if (dep.USEPRICE.HasValue)
|
||
// dep.USEPRICE += usePrice;
|
||
// else
|
||
// dep.USEPRICE = usePrice;
|
||
// dep.LASTPRICE -= usePrice;
|
||
|
||
// dto.depprice -= usePrice;//要使用掉的金额-已使用金额
|
||
|
||
// if (order.ARRIVALPAY.HasValue)
|
||
// {
|
||
// order.ARRIVALPAY += usePrice;
|
||
// }
|
||
// else
|
||
// {
|
||
// order.ARRIVALPAY = usePrice;
|
||
// }
|
||
// order.ARRIVALTIME = dep.PAYDATE;
|
||
// }
|
||
|
||
// }
|
||
// }
|
||
// ddeppriceLJ -= curPay;
|
||
// }
|
||
// else
|
||
// {
|
||
// //已经是支付状态,说明已经给够钱了,不需要再支付了
|
||
// LogHelper.Info(order.ORDERID.ToString() + "支付金额已经够了,不需要再支付了!");
|
||
// continue;
|
||
// //return new retMsg { result = false, retcode = 100, retmsg = order.ORDERID.ToString() + "支付金额已经够了,不需要再支付了!" };
|
||
// }
|
||
// }
|
||
// db.SaveChanges();
|
||
// }
|
||
// db.SaveChanges();
|
||
|
||
// trans.Commit();
|
||
|
||
// return new retMsg<List<DepositInfoDto>> { result = true, retcode = 200, retmsg = null };
|
||
// }
|
||
// catch (Exception ex)
|
||
// {
|
||
// LogHelper.Error(ex);
|
||
// trans.Rollback();
|
||
// return new retMsg<List<DepositInfoDto>> { result = false, retcode = 500, retmsg = null };
|
||
// }
|
||
// }
|
||
// }
|
||
//}
|
||
|
||
//return new retMsg<List<DepositInfoDto>> { result = false, retcode = 500, retmsg = null };
|
||
#endregion
|
||
}
|
||
/// <summary>
|
||
/// 应该弃用
|
||
/// </summary>
|
||
/// <param name="deposit"></param>
|
||
/// <returns></returns>
|
||
public retMsg Audit(WX_SZZYORDERDEPOSIT deposit)
|
||
{
|
||
using (var db = new crmContext())
|
||
{
|
||
using (var trans = db.Database.BeginTransaction())
|
||
{
|
||
try
|
||
{
|
||
var orderpays = db.WX_SZZYORDERPAY.Where(p => p.DEPOSITID == deposit.ID && p.ISDELETE == 0);
|
||
if (orderpays != null && orderpays.Any())
|
||
{
|
||
foreach (var item in orderpays)
|
||
{
|
||
item.AUDITSTATUS = 1;
|
||
item.AUDITOR = deposit.AUDITOR;
|
||
item.AUDITORNAME = deposit.AUDITORNAME;
|
||
item.AUDITTIME = deposit.AUDITTIME;
|
||
db.SaveChanges();
|
||
}
|
||
}
|
||
|
||
|
||
decimal useprice = 0;
|
||
if (orderpays != null && orderpays.Any())
|
||
useprice = orderpays.Sum(p => p.PAYPRICE);
|
||
|
||
if (!deposit.AUDITTIME.HasValue)
|
||
{
|
||
deposit.AUDITTIME = DateTime.Now;
|
||
}
|
||
deposit.USEPRICE += useprice;
|
||
deposit.LASTPRICE -= useprice;
|
||
|
||
var entry = db.Entry(deposit);
|
||
db.Set<WX_SZZYORDERDEPOSIT>().Attach(deposit);
|
||
entry.State = System.Data.Entity.EntityState.Modified;
|
||
|
||
|
||
if (orderpays != null && orderpays.Any())
|
||
{
|
||
var orderids = orderpays.Select(p => p.ORDERID).Distinct().ToList();
|
||
foreach (var orderid in orderids)
|
||
{
|
||
//单个订单的支付信息
|
||
var orderpayList = db.WX_SZZYORDERPAY.Where(p => p.ORDERID == orderid && p.ISDELETE == 0 && p.AUDITSTATUS == 1);
|
||
var arrivalPay = orderpayList.Sum(p => p.PAYPRICE);
|
||
var payDate = orderpayList.OrderByDescending(p => p.PAYDATE).First().PAYDATE;
|
||
|
||
var oid = Convert.ToDecimal(orderid);
|
||
var order = db.WX_SZZYORDER.FirstOrDefault(p => p.ORDERID == oid);
|
||
if (order != null)
|
||
{
|
||
if (arrivalPay >= order.NEEDPAY)
|
||
{
|
||
order.ORDERSTATUS = "200";
|
||
order.ORDERSTATUSNAME = "已支付";
|
||
}
|
||
else
|
||
{
|
||
order.ORDERSTATUS = "190";
|
||
order.ORDERSTATUSNAME = "已提交支付";
|
||
}
|
||
|
||
order.ARRIVALPAY = arrivalPay;
|
||
order.ARRIVALTIME = payDate;
|
||
}
|
||
}
|
||
}
|
||
|
||
db.SaveChanges();
|
||
|
||
trans.Commit();
|
||
|
||
return new retMsg { result = true, retcode = 200 };
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex);
|
||
trans.Rollback();
|
||
return new retMsg { result = false, retcode = 500 };
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 应该弃用
|
||
/// </summary>
|
||
/// <param name="deposit"></param>
|
||
/// <returns></returns>
|
||
public retMsg Reject(WX_SZZYORDERDEPOSIT deposit)
|
||
{
|
||
using (var db = new crmContext())
|
||
{
|
||
using (var trans = db.Database.BeginTransaction())
|
||
{
|
||
try
|
||
{
|
||
//重置使用金额,剩余金额
|
||
deposit.USEPRICE = 0;
|
||
deposit.LASTPRICE = deposit.PAYPRICE;
|
||
|
||
var entry = db.Entry(deposit);
|
||
db.Set<WX_SZZYORDERDEPOSIT>().Attach(deposit);
|
||
entry.State = System.Data.Entity.EntityState.Modified;
|
||
|
||
var orderids = new List<decimal>();
|
||
//驳回的时候,所有使用的金额都要删除
|
||
var orderpays = db.WX_SZZYORDERPAY.Where(p => p.DEPOSITID == deposit.ID && p.ISDELETE == 0 && p.AUDITSTATUS == 1);
|
||
foreach (var item in orderpays)
|
||
{
|
||
item.AUDITSTATUS = 0;
|
||
item.ISDELETE = 1;
|
||
|
||
orderids.Add(item.ORDERID);
|
||
}
|
||
|
||
//旧的方式的订金也要删除
|
||
var oldorderpays = db.WX_SZZYORDERPAY.Where(p => p.ORDERID == deposit.ID && p.ISDELETE == 0 && p.AUDITSTATUS == 1);
|
||
foreach (var item in oldorderpays)
|
||
{
|
||
item.AUDITSTATUS = 0;
|
||
item.ISDELETE = 1;
|
||
if (!item.DEPOSITID.HasValue)
|
||
{
|
||
//旧数据如果订金ID为空,更新数据
|
||
item.DEPOSITID = deposit.ID;
|
||
}
|
||
|
||
orderids.Add(item.ORDERID);
|
||
}
|
||
|
||
db.SaveChanges();
|
||
|
||
var ids = orderids.Distinct();
|
||
if (ids.Any())
|
||
{
|
||
foreach (var orderid in ids)
|
||
{
|
||
//重新获取订单使用的金额数据
|
||
var orderpayList = db.WX_SZZYORDERPAY.Where(p => p.ORDERID == orderid && p.ISDELETE == 0 && p.AUDITSTATUS == 1);
|
||
decimal arrivalPay = 0;
|
||
if (orderpayList != null && orderpayList.Count() > 0)
|
||
arrivalPay = orderpayList.Sum(p => p.PAYPRICE);
|
||
|
||
|
||
var oid = Convert.ToDecimal(orderid);
|
||
var order = db.WX_SZZYORDER.FirstOrDefault(p => p.ORDERID == oid);
|
||
if (order != null)
|
||
{
|
||
if (arrivalPay >= order.NEEDPAY)
|
||
{
|
||
order.ORDERSTATUS = "200";
|
||
order.ORDERSTATUSNAME = "已支付";
|
||
}
|
||
else if (arrivalPay > 0)
|
||
{
|
||
order.ORDERSTATUS = "190";
|
||
order.ORDERSTATUSNAME = "已提交支付";
|
||
}
|
||
else
|
||
{
|
||
order.ORDERSTATUS = "180";
|
||
order.ORDERSTATUSNAME = "新订单";
|
||
}
|
||
if (arrivalPay > 0)
|
||
{
|
||
var payDate = orderpayList.OrderByDescending(p => p.PAYDATE).First().PAYDATE;
|
||
order.ARRIVALPAY = arrivalPay;
|
||
order.ARRIVALTIME = payDate;
|
||
}
|
||
else
|
||
{
|
||
order.ARRIVALPAY = null;
|
||
order.ARRIVALTIME = null;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
db.SaveChanges();
|
||
|
||
trans.Commit();
|
||
|
||
return new retMsg { result = true, retcode = 200 };
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex);
|
||
trans.Rollback();
|
||
return new retMsg { result = false, retcode = 500 };
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 订单列表=》取消到账(订单改成新订单,订金取消使用)
|
||
/// </summary>
|
||
/// <param name="orderId"></param>
|
||
/// <returns></returns>
|
||
public retMsg OrderCancel(decimal orderId)
|
||
{
|
||
using (var db = new crmContext())
|
||
{
|
||
using (var trans = db.Database.BeginTransaction())
|
||
{
|
||
try
|
||
{
|
||
var order = db.WX_SZZYORDER.FirstOrDefault(m => m.ORDERID == orderId);
|
||
//如果已经开通过,提示不能操作
|
||
//if (order.ORDERSTATUS == "220")
|
||
//{
|
||
// return new retMsg { result = false, retcode = 220 };
|
||
//}
|
||
LogHelper.Info("订单取消到账:" + orderId);
|
||
var Alloldorderpays = db.WX_SZZYORDERPAY.Where(p => p.ORDERID == orderId && p.ISDELETE == 0 && p.AUDITSTATUS == 1);
|
||
foreach (var pay in Alloldorderpays)
|
||
{
|
||
if (pay.DEPOSITID.HasValue)//pay表有订金字段,那么需要退定金操作
|
||
{
|
||
var orderDeposit = db.WX_SZZYORDERDEPOSIT.FirstOrDefault(p => p.ID == pay.DEPOSITID);
|
||
if (orderDeposit != null)
|
||
{
|
||
//已经驳回,不需要在进行处理
|
||
if (orderDeposit.AUDITSTATUS == -1)
|
||
{
|
||
return new retMsg() { result = false, retcode = 300, retmsg = "exists" };
|
||
}
|
||
orderDeposit.USEPRICE = orderDeposit.USEPRICE - pay.PAYPRICE;//使用金额计算
|
||
orderDeposit.LASTPRICE = orderDeposit.LASTPRICE + pay.PAYPRICE;//加回之前的金额
|
||
|
||
pay.AUDITSTATUS = 0;//pay表需要将数据删除
|
||
pay.ISDELETE = 1;//pay表需要将数据删除
|
||
|
||
var orderids = new List<int>();
|
||
//需要将使用了的订金金额加回去
|
||
//var log = new Wx_SzzyOrderPayUseLog(orderDeposit.resid, orderDeposit.orderid, orderDeposit.id, orderDeposit.paytype, orderDeposit.paytypename, orderDeposit.payno, pay.payprice, DateTime.Now, pay.channel.Value, 3);
|
||
//db.Wx_SzzyOrderPayUseLog.Add(log);
|
||
|
||
//推送订金状态到坐席
|
||
//Common.EventBus.EventBus.Instance.Publish(new DepositRejectEvent(orderDeposit.id, orderDeposit.auditstatus, "", userId, userName, orderDeposit.channel.Value));
|
||
|
||
//return new retMsg() { result = true, retcode = 200, retmsg = "success" };
|
||
}
|
||
}
|
||
else
|
||
{ //如果找不到订金,那么可能是老订单,需要直接改变支付的状态
|
||
pay.AUDITSTATUS = 0;
|
||
pay.ISDELETE = 1;
|
||
}
|
||
}
|
||
order.ORDERSTATUS = "180";
|
||
order.ORDERSTATUSNAME = "新订单";
|
||
order.ARRIVALPAY = null;
|
||
order.ARRIVALTIME = null;
|
||
db.SaveChanges();
|
||
trans.Commit();
|
||
//Common.EventBus.EventBus.Instance.Publish(new ReSetOrderEvent(orderId, order.CHANNEL));//推送取消订单
|
||
return new retMsg() { result = true, retcode = 200, retmsg = "success" };
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex);
|
||
trans.Rollback();
|
||
return new retMsg { result = false, retcode = 500 };
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
public retMsg Delete(decimal id)
|
||
{
|
||
using (var db = new crmContext())
|
||
{
|
||
using (var trans = db.Database.BeginTransaction())
|
||
{
|
||
try
|
||
{
|
||
var deposit = db.WX_SZZYORDERDEPOSIT.FirstOrDefault(p => p.ID == id);
|
||
if (deposit != null)
|
||
{
|
||
deposit.AUDITSTATUS = 0;
|
||
deposit.ISDELETE = 1;
|
||
deposit.USEPRICE = 0;
|
||
deposit.LASTPRICE = deposit.PAYPRICE;//将金额返回
|
||
var orderids = new List<decimal>();
|
||
//驳回的时候,所有使用的金额都要删除
|
||
var orderpays = db.WX_SZZYORDERPAY.Where(p => p.DEPOSITID == deposit.ID && p.ISDELETE == 0 && p.AUDITSTATUS == 1);
|
||
foreach (var item in orderpays)
|
||
{
|
||
item.AUDITSTATUS = 0;
|
||
item.ISDELETE = 1;
|
||
|
||
orderids.Add(item.ORDERID);
|
||
}
|
||
|
||
//旧的方式的订金也要删除
|
||
var oldorderpays = db.WX_SZZYORDERPAY.Where(p => p.ORDERID == deposit.ID && p.ISDELETE == 0 && p.AUDITSTATUS == 1);
|
||
foreach (var item in oldorderpays)
|
||
{
|
||
item.AUDITSTATUS = 0;
|
||
item.ISDELETE = 1;
|
||
|
||
orderids.Add(item.ORDERID);
|
||
}
|
||
|
||
db.SaveChanges();
|
||
|
||
var ids = orderids.Distinct();
|
||
if (ids.Any())
|
||
{
|
||
foreach (var orderid in ids)
|
||
{
|
||
//重新获取订单使用的金额数据
|
||
var orderpayList = db.WX_SZZYORDERPAY.Where(p => p.ORDERID == orderid && p.ISDELETE == 0 && p.AUDITSTATUS == 1);
|
||
//var arrivalPay = orderpayList.Sum(p => p.PAYPRICE);
|
||
decimal arrivalPay = 0;
|
||
if (orderpayList != null && orderpayList.Count() > 0)
|
||
arrivalPay = orderpayList.Sum(p => p.PAYPRICE);
|
||
|
||
|
||
|
||
var oid = Convert.ToDecimal(orderid);
|
||
var order = db.WX_SZZYORDER.FirstOrDefault(p => p.ORDERID == oid);
|
||
if (order != null)
|
||
{
|
||
if (arrivalPay >= order.NEEDPAY)
|
||
{
|
||
order.ORDERSTATUS = "200";
|
||
order.ORDERSTATUSNAME = "已支付";
|
||
}
|
||
else if (arrivalPay > 0)
|
||
{
|
||
order.ORDERSTATUS = "190";
|
||
order.ORDERSTATUSNAME = "已提交支付";
|
||
}
|
||
else
|
||
{
|
||
order.ORDERSTATUS = "180";
|
||
order.ORDERSTATUSNAME = "新订单";
|
||
}
|
||
if (arrivalPay > 0)
|
||
{
|
||
var payDate = orderpayList.OrderByDescending(p => p.PAYDATE).First().PAYDATE;
|
||
order.ARRIVALPAY = arrivalPay;
|
||
order.ARRIVALTIME = payDate;
|
||
}
|
||
else
|
||
{
|
||
order.ARRIVALPAY = null;
|
||
order.ARRIVALTIME = null;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
db.SaveChanges();
|
||
|
||
trans.Commit();
|
||
}
|
||
|
||
return new retMsg { result = true, retcode = 200 };
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex);
|
||
trans.Rollback();
|
||
return new retMsg { result = false, retcode = 500 };
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 订金数据中心点获取
|
||
/// </summary>
|
||
/// <param name="pager"></param>
|
||
/// <param name="dto"></param>
|
||
/// <returns></returns>
|
||
public retMsg<OrderPayListRspDto, OrderPayListSumRspInfo> GetCoreDepositList(Pager pager, OrderPayListReqDto dto)
|
||
{
|
||
try
|
||
{
|
||
dto.laypage = new LaypageDto()
|
||
{
|
||
count = pager.totalRows,
|
||
limit = pager.rows,
|
||
order = pager.order,
|
||
page = pager.page,
|
||
sort = pager.sort
|
||
};
|
||
var ch = string.Empty;
|
||
var businessChannel = _chache.GetList_BusinessChannels();
|
||
if(dto.businessId.HasValue)
|
||
{
|
||
businessChannel = businessChannel.Where(p => p.BUSINESSID == dto.businessId).ToList();
|
||
}
|
||
foreach (var item in businessChannel)
|
||
{
|
||
ch += item.MINCHANNEL.ToString() + "," + item.MAXCHANNEL.ToString() + "|";
|
||
}
|
||
if (ch.Length > 0)
|
||
ch = ch.Remove(ch.Length - 1);
|
||
dto.channel = ch;
|
||
var url = _chache.GetValue_Parameter("Core_PayService_OrderPayListGet");//获取订金列表
|
||
LogHelper.Info("DepositGetPara:" + dto.ToJson());
|
||
var para = _sHelper.createSignEncodingStr(dto.ToJson(), SecurityHelper.OrderClientIdKey);
|
||
LogHelper.Info("DepositGet:" + url + "?" + para);
|
||
var rep = Utility.PostData(url + "?" + para, Encoding.UTF8);
|
||
LogHelper.Info("DepositGetRsp:" + rep);
|
||
var retmsg = JsonConvert.DeserializeObject<retMsg<OrderPayListRspDto, OrderPayListSumRspInfo>>(rep);
|
||
return retmsg;
|
||
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
LogHelper.Error(e.ToString());
|
||
return new retMsg<OrderPayListRspDto, OrderPayListSumRspInfo>() { result = false, retcode = 500, retmsg = null };
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 订单流水使用数据 中心点获取
|
||
/// </summary>
|
||
/// <param name="pager"></param>
|
||
/// <param name="dto"></param>
|
||
/// <returns></returns>
|
||
public retMsg<OrderPayUseListRspDto, OrderPayUseListSumRspInfo> GetCorePayList(Pager pager, OrderPayUseListReqDto dto)
|
||
{
|
||
try
|
||
{
|
||
dto.laypage = new LaypageDto()
|
||
{
|
||
count = pager.totalRows,
|
||
limit = pager.rows,
|
||
order = pager.order,
|
||
page = pager.page,
|
||
sort = pager.sort
|
||
};
|
||
var url = _chache.GetValue_Parameter("Core_PayService_OrderPayUseListGet");//获取订金列表
|
||
var para = _sHelper.createSignEncodingStr(dto.ToJson(), SecurityHelper.OrderClientIdKey);
|
||
LogHelper.Info("PayListGet:" + url + "?" + para);
|
||
var rep = Utility.PostData(url + "?" + para, Encoding.UTF8);
|
||
//LogHelper.Info("DepositGetRsp:" + rep);
|
||
var retmsg = JsonConvert.DeserializeObject<retMsg<OrderPayUseListRspDto, OrderPayUseListSumRspInfo>>(rep);
|
||
return retmsg;
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
LogHelper.Error(e.ToString());
|
||
return new retMsg<OrderPayUseListRspDto, OrderPayUseListSumRspInfo>() { result = false, retcode = 500, retmsg = null };
|
||
}
|
||
}
|
||
|
||
|
||
public retMsg<LastPriceRspDto> GetCoreDepositLastPay(LastPriceReqDto dto)
|
||
{
|
||
try
|
||
{
|
||
var url = _chache.GetValue_Parameter("Core_PayService_OrderPayLastpriceGet");//获取订金列表
|
||
var para = _sHelper.createSignEncodingStr(dto.ToJson(), SecurityHelper.OrderClientIdKey);
|
||
LogHelper.Info("DepositLastPay:" + url + "?" + para);
|
||
var rep = Utility.PostData(url + "?" + para, Encoding.UTF8);
|
||
LogHelper.Info("DepositLastPayRsp:" + rep);
|
||
var retmsg = JsonConvert.DeserializeObject<retMsg<LastPriceRspDto>>(rep);
|
||
return retmsg;
|
||
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
LogHelper.Error(e.ToString());
|
||
return new retMsg<LastPriceRspDto>() { result = false, retcode = 500, retmsg = null };
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|