Commit 79e87eba authored by 吴春's avatar 吴春

提交代码,支付修改

parent 23e386af
...@@ -117,6 +117,32 @@ namespace Mall.Model.Entity.User ...@@ -117,6 +117,32 @@ namespace Mall.Model.Entity.User
get; get;
set; set;
} }
/// <summary>
/// 订单来源(平台) 枚举
/// </summary>
public UserSourceEnum? OrderSource
{
get;
set;
}
/// <summary>
/// 订单号
/// </summary>
public string Out_Trade_No
{
get;
set;
}
/// <summary>
/// 微信支付订单号
/// </summary>
public string Transaction_Id
{
get;
set;
}
} }
} }
...@@ -26,5 +26,11 @@ namespace Mall.Model.Extend.User ...@@ -26,5 +26,11 @@ namespace Mall.Model.Extend.User
/// 结束时间 /// 结束时间
/// </summary> /// </summary>
public string EndTime { get; set; } public string EndTime { get; set; }
/// <summary>
/// 导出选项
/// </summary>
public List<int> ExcelEnumIds { get; set; }
} }
} }
...@@ -132,7 +132,10 @@ namespace Mall.Module.User ...@@ -132,7 +132,10 @@ namespace Mall.Module.User
/// 不可开发票商品信息记录表 /// 不可开发票商品信息记录表
///</summary> ///</summary>
private readonly RB_Invoice_RecordDetailRepository invoiceRecordDetailRepository = new RB_Invoice_RecordDetailRepository(); private readonly RB_Invoice_RecordDetailRepository invoiceRecordDetailRepository = new RB_Invoice_RecordDetailRepository();
/// <summary>
/// 会员购买仓储层
/// </summary>
private readonly RB_Member_BuyRepository memberBuyRepository = new RB_Member_BuyRepository();
//private Repository.MarketingCenter.RB_DiscountCouponRepository discountCouponRepository = new Repository.MarketingCenter.RB_DiscountCouponRepository(); //private Repository.MarketingCenter.RB_DiscountCouponRepository discountCouponRepository = new Repository.MarketingCenter.RB_DiscountCouponRepository();
//private Repository.User.RB_Member_CouponRepository memberCouponRepository = new Repository.User.RB_Member_CouponRepository(); //private Repository.User.RB_Member_CouponRepository memberCouponRepository = new Repository.User.RB_Member_CouponRepository();
...@@ -1961,5 +1964,78 @@ namespace Mall.Module.User ...@@ -1961,5 +1964,78 @@ namespace Mall.Module.User
} }
} }
#endregion #endregion
#region 普通分销模式会员购买
/// <summary>
/// 修改会员购买
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool UpdateMemberBuy(int UserId, int OrderId, string Out_Trade_No, string Transaction_Id, Common.Enum.Goods.OrderPayTypeEnum PayWay, decimal Money, DateTime Time_End)
{
var umodel = member_UserRepository.GetEntity(UserId);
if (umodel == null)
{
return false;
}
//判断订单状态是否是待支付 2020-06-16 Add By:W
var model = memberBuyRepository.GetEntity(OrderId);
if (model == null)
{
return false;
}
if (model.PayState != 0)
{
return false;
}
if (model.Money != Money)
{
return false;
}
var trans = memberBuyRepository.DbTransaction;
bool flag;
try
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Member_Buy.PayTime),Time_End},
{ nameof(RB_Member_Buy.PayState),1},
{ nameof(RB_Member_Buy.Out_Trade_No),Out_Trade_No},
{ nameof(RB_Member_Buy.Transaction_Id),Transaction_Id}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper{
FiledName=nameof(RB_Member_Buy.Id),
FiledValue=OrderId,
OperatorEnum=OperatorEnum.Equal
}
};
flag = memberBuyRepository.Update(keyValues, wheres, trans);//更新会员购买记录
Dictionary<string, object> keyValuesMember = new Dictionary<string, object>() {
{ nameof(RB_Member_User.MemberGrade),model.GradeId}
};
List<WhereHelper> wheresMember = new List<WhereHelper>() {
new WhereHelper{
FiledName=nameof(RB_Member_User.Id),
FiledValue=model.UserId,
OperatorEnum=OperatorEnum.Equal
}
};
flag = member_UserRepository.Update(keyValuesMember, wheresMember, trans);//更新会员购买记录
memberBuyRepository.DBSession.Commit();
}
catch (Exception ex)
{
LogHelper.Write(ex, "UpdateMemberBuy");
memberBuyRepository.DBSession.Rollback("UpdateMemberBuy");
return false;
}
return flag;
}
#endregion
} }
} }
...@@ -797,7 +797,8 @@ namespace Mall.Module.User ...@@ -797,7 +797,8 @@ namespace Mall.Module.User
IsCanBuyVip = (umodel.MemberGrade ?? 0) > 0 ? 2 : 1, IsCanBuyVip = (umodel.MemberGrade ?? 0) > 0 ? 2 : 1,
gradeModel.MemberSpecification, gradeModel.MemberSpecification,
//获取权益列表 //获取权益列表
EquityList = qlist.Select(x=>new { EquityList = qlist.Select(x => new
{
x.Id, x.Id,
x.Title, x.Title,
x.ImagePath, x.ImagePath,
...@@ -6413,90 +6414,41 @@ namespace Mall.Module.User ...@@ -6413,90 +6414,41 @@ namespace Mall.Module.User
} }
/// <summary> /// <summary>
/// 新增会员购买记录 /// 分页列表
/// </summary> /// </summary>
/// <param name="model"></param> /// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="dmodel">查询条件</param>
/// <returns></returns> /// <returns></returns>
public int AddMemberBuy(RB_Member_Buy_Extend model) public List<RB_Member_Buy_Extend> GetMemberBuyList(RB_Member_Buy_Extend dmodel)
{ {
int id = 0; return memberBuyRepository.GetList(dmodel);
if (model.Id == 0)
{
id = memberBuyRepository.Insert(model);
}
return id;
} }
/// <summary> /// <summary>
/// 修改会员购买 /// 新增会员购买记录
/// </summary> /// </summary>
/// <param name="model"></param> /// <param name="model"></param>
/// <returns></returns> /// <returns></returns>
public bool UpdateMemberBuy(int UserId, int OrderId, string Out_Trade_No, string Transaction_Id, Common.Enum.Goods.OrderPayTypeEnum PayWay, decimal Money, DateTime Time_End) public int AddMemberBuy(RB_Member_Buy_Extend model)
{
var umodel = member_UserRepository.GetEntity(UserId);
if (umodel == null)
{
return false;
}
//判断订单状态是否是待支付 2020-06-16 Add By:W
var model = memberBuyRepository.GetEntity(OrderId);
if (model == null)
{ {
return false; int id = 0;
} if (model.Id == 0)
if (model.PayState != 0)
{ {
return false; id = memberBuyRepository.Insert(model);
} }
if (model.Money != Money) return id;
{
return false;
} }
var trans = memberBuyRepository.DbTransaction;
bool flag;
try
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Member_Buy.PayTime),Time_End},
{ nameof(RB_Member_Buy.PayState),1}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper{
FiledName=nameof(RB_Member_Footmark.Id),
FiledValue=OrderId,
OperatorEnum=OperatorEnum.Equal
}
};
flag = memberBuyRepository.Update(keyValues, wheres, trans);//更新会员购买记录
Dictionary<string, object> keyValuesMember = new Dictionary<string, object>() {
{ nameof(RB_Member_User.MemberGrade),model.GradeId}
};
List<WhereHelper> wheresMember = new List<WhereHelper>() {
new WhereHelper{
FiledName=nameof(RB_Member_User.Id),
FiledValue=model.UserId,
OperatorEnum=OperatorEnum.Equal
}
};
flag = member_UserRepository.Update(keyValuesMember, wheresMember, trans);//更新会员购买记录
memberBuyRepository.DBSession.Commit();
}
catch (Exception ex)
{
LogHelper.Write(ex, "UpdateMemberBuy");
memberBuyRepository.DBSession.Rollback("UpdateMemberBuy");
return false;
}
return flag;
}
#endregion #endregion
......
...@@ -47,6 +47,10 @@ namespace Mall.Repository.User ...@@ -47,6 +47,10 @@ namespace Mall.Repository.User
{ {
where += $@" and u.{nameof(RB_Member_User.Name)} like '%{dmodel.UserName}%'"; where += $@" and u.{nameof(RB_Member_User.Name)} like '%{dmodel.UserName}%'";
} }
if (!string.IsNullOrEmpty(dmodel.OrderNo))
{
where += $@" and b.{nameof(RB_Member_Buy_Extend.OrderNo)} like '%{dmodel.OrderNo}%'";
}
if (!string.IsNullOrEmpty(dmodel.StartTime)) if (!string.IsNullOrEmpty(dmodel.StartTime))
{ {
where += $@" and b.{nameof(RB_Member_Buy_Extend.PayTime)} >= '{dmodel.StartTime}'"; where += $@" and b.{nameof(RB_Member_Buy_Extend.PayTime)} >= '{dmodel.StartTime}'";
...@@ -62,5 +66,63 @@ where {where} order by b.Id desc"; ...@@ -62,5 +66,63 @@ where {where} order by b.Id desc";
return GetPage<RB_Member_Buy_Extend>(pageIndex, pageSize, out rowCount, sql).ToList(); return GetPage<RB_Member_Buy_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
} }
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="dmodel">查询条件</param>
/// <returns></returns>
public List<RB_Member_Buy_Extend> GetList(RB_Member_Buy_Extend dmodel)
{
string where = " 1=1 ";
if (dmodel.TenantId > 0)
{
where += $@" and b.{nameof(RB_Member_Buy_Extend.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and b.{nameof(RB_Member_Buy_Extend.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Id > 0)
{
where += $@" and b.{nameof(RB_Member_Buy_Extend.Id)}={dmodel.Id}";
}
if (dmodel.PayState > -1)
{
where += $@" and b.{nameof(RB_Member_Buy_Extend.PayState)}={dmodel.PayState}";
}
if (dmodel.UserId > 0)
{
where += $@" and b.{nameof(RB_Member_Buy_Extend.UserId)}={dmodel.UserId}";
}
if (!string.IsNullOrEmpty(dmodel.UserName))
{
where += $@" and u.{nameof(RB_Member_User.Name)} like '%{dmodel.UserName}%'";
}
if (!string.IsNullOrEmpty(dmodel.OrderNo))
{
where += $@" and b.{nameof(RB_Member_Buy_Extend.OrderNo)} like '%{dmodel.OrderNo}%'";
}
if (!string.IsNullOrEmpty(dmodel.StartTime))
{
where += $@" and b.{nameof(RB_Member_Buy_Extend.PayTime)} >= '{dmodel.StartTime}'";
}
if (!string.IsNullOrEmpty(dmodel.EndTime))
{
where += $@" and b.{nameof(RB_Member_Buy_Extend.PayTime)} <= '{dmodel.EndTime} 23:59:59'";
}
string sql = $@"select b.*,u.Name as UserName from RB_Member_Buy b
inner join rb_member_user u on b.UserId= u.Id
where {where} order by b.Id desc";
return Get<RB_Member_Buy_Extend>(sql).ToList();
}
} }
} }
...@@ -39,7 +39,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -39,7 +39,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
_accessor = accessor; _accessor = accessor;
} }
/// <summary> /// <summary>
/// 订单支付回调 /// 订单支付回调 作废
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
...@@ -159,11 +159,11 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -159,11 +159,11 @@ namespace Mall.WebApi.Controllers.AppletWeChat
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
[HttpPost] [HttpPost]
public string PointNotify() public string PointNotify(int MallBaseId, int TenantId)
{ {
var req = new RequestHandler(); var req = new RequestHandler();
App_Code.PayUtil PayUtil = new App_Code.PayUtil(); App_Code.PayUtil PayUtil = new App_Code.PayUtil();
var result = PayUtil.Notify(_accessor); var result = PayUtil.AllNotify(_accessor, MallBaseId, TenantId);
if (result.IsSuccess) if (result.IsSuccess)
{ {
var dic = ((Dictionary<string, string>)result.Data); var dic = ((Dictionary<string, string>)result.Data);
...@@ -208,7 +208,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -208,7 +208,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
/// <summary> /// <summary>
/// 订单支付回调 /// 订单支付回调 作废
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
...@@ -269,11 +269,11 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -269,11 +269,11 @@ namespace Mall.WebApi.Controllers.AppletWeChat
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
[HttpPost] [HttpPost]
public string RechargeNotify() public string RechargeNotify(int MallBaseId, int TenantId)
{ {
var req = new RequestHandler(); var req = new RequestHandler();
App_Code.PayUtil PayUtil = new App_Code.PayUtil(); App_Code.PayUtil PayUtil = new App_Code.PayUtil();
var result = PayUtil.Notify(_accessor); var result = PayUtil.AllNotify(_accessor, MallBaseId, TenantId);
if (result.IsSuccess) if (result.IsSuccess)
{ {
var dic = ((Dictionary<string, string>)result.Data); var dic = ((Dictionary<string, string>)result.Data);
...@@ -323,12 +323,12 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -323,12 +323,12 @@ namespace Mall.WebApi.Controllers.AppletWeChat
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
[HttpPost] [HttpPost]
public string VipBuyNotify() public string VipBuyNotify(int MallBaseId, int TenantId)
{ {
LogHelper.Write(null, "VipBuyNotify返回信息进来了"); LogHelper.Write(null, "VipBuyNotify返回信息进来了");
var req = new RequestHandler(); var req = new RequestHandler();
App_Code.PayUtil PayUtil = new App_Code.PayUtil(); App_Code.PayUtil PayUtil = new App_Code.PayUtil();
var result = PayUtil.Notify(_accessor); var result = PayUtil.AllNotify(_accessor, MallBaseId, TenantId);
if (result.IsSuccess) if (result.IsSuccess)
{ {
var dic = ((Dictionary<string, string>)result.Data); var dic = ((Dictionary<string, string>)result.Data);
...@@ -370,54 +370,53 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -370,54 +370,53 @@ namespace Mall.WebApi.Controllers.AppletWeChat
///// <summary> /// <summary>
///// 会员购买支付回调 /// 会员购买支付回调
///// </summary> /// </summary>
///// <returns></returns> /// <returns></returns>
//[HttpGet] [HttpGet]
//[HttpPost] [HttpPost]
//public string MemberBuyNotify() public string MemberBuyNotify(int MallBaseId, int TenantId)
//{ {
// var req = new RequestHandler(); var req = new RequestHandler();
// App_Code.PayUtil PayUtil = new App_Code.PayUtil(); App_Code.PayUtil PayUtil = new App_Code.PayUtil();
// var result = PayUtil.Notify(_accessor); var result = PayUtil.AllNotify(_accessor, MallBaseId, TenantId);
// if (result.IsSuccess) if (result.IsSuccess)
// { {
// var dic = ((Dictionary<string, string>)result.Data); var dic = ((Dictionary<string, string>)result.Data);
// //开始回写订单状态 //开始回写订单状态
// lock (_lock) lock (_lock)
// { {
// string sOrderNo = dic["sOrderNo"];//订单号 时间挫+OrderId string sOrderNo = dic["sOrderNo"];//订单号 时间挫+OrderId
// int OrderId = Convert.ToInt32(sOrderNo[17..]); int OrderId = Convert.ToInt32(sOrderNo[17..]);
// decimal dPaid = Convert.ToDecimal(dic["dPrice"]) / 100; decimal dPaid = Convert.ToDecimal(dic["dPrice"]) / 100;
// string sPayerOpenID = dic["sPayerOpenID"]; string sPayerOpenID = dic["sPayerOpenID"];
// int UserId = Convert.ToInt32(dic["bIsRecharge"]); int UserId = Convert.ToInt32(dic["bIsRecharge"]);
// string TransactionId = dic["sTradeNo"]; string TransactionId = dic["sTradeNo"];
// string PayType = dic["OrderPayType"]; string PayType = dic["OrderPayType"];
// DateTime PayDate = DateTime.ParseExact(dic["PayDate"], "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);//转换时间 DateTime PayDate = DateTime.ParseExact(dic["PayDate"], "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);//转换时间
// #region 修改会员购买支付信息 #region 修改会员购买支付信息
userCommonModule.UpdateMemberBuy(UserId, OrderId, sOrderNo, TransactionId, Common.Enum.Goods.OrderPayTypeEnum.WeChatPay, dPaid, PayDate);
// userModule.UpdateMemberBuy(UserId, OrderId, sOrderNo, TransactionId, Common.Enum.Goods.OrderPayTypeEnum.WeChatPay, dPaid, PayDate); #endregion
// #endregion }
// } //告诉微信我们已经处理成功,不需要再调用我们的接口了
// //告诉微信我们已经处理成功,不需要再调用我们的接口了 req.SetParameter("return_code", "SUCCESS");
// req.SetParameter("return_code", "SUCCESS"); req.SetParameter("return_msg", "OK");
// req.SetParameter("return_msg", "OK"); var reqXml = req.ParseXml();
// var reqXml = req.ParseXml(); return reqXml;
// return reqXml; // return ApiResult.Success("", reqXml);
// // return ApiResult.Success("", reqXml); }
// } else
// else {
// { req.SetParameter("return_code", "FAIL");
// req.SetParameter("return_code", "FAIL"); req.SetParameter("return_msg", "订单失败");
// req.SetParameter("return_msg", "订单失败"); var reqXmlFAIL = req.ParseXml();
// var reqXmlFAIL = req.ParseXml(); LogHelper.Write(null, "Notify返回信息:" + reqXmlFAIL);
// LogHelper.Write(null, "Notify返回信息:" + reqXmlFAIL); return reqXmlFAIL;
// return reqXmlFAIL; // return ApiResult.Failed("", reqXmlFAIL);
// // return ApiResult.Failed("", reqXmlFAIL); }
// } }
//}
} }
} }
\ No newline at end of file
...@@ -189,7 +189,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -189,7 +189,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
switch ((int)demodel.PayWay) switch ((int)demodel.PayWay)
{ {
case 1://微信支付 case 1://微信支付
sPayInfo = App_Code.PayUtil.GetMinUnifiedOrder(sOrderNo, payGoodsName, Convert.ToDecimal(rechargeRulesModel.Money), userInfo.UserId.ToString(), userModel.OpenId, Config.sTenpayRechargeNotify, miniProgram, _accessor, System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString()); sPayInfo = App_Code.PayUtil.GetMinUnifiedOrder(sOrderNo, payGoodsName, Convert.ToDecimal(rechargeRulesModel.Money), userInfo.UserId.ToString(), userModel.OpenId, (Config.sTenpayRechargeNotify + "/" + demodel.MallBaseId + "/" + demodel.TenantId) , miniProgram, _accessor, System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString());
break; break;
default: default:
break; break;
...@@ -357,6 +357,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -357,6 +357,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
demodel.TenantId = userInfo.TenantId; demodel.TenantId = userInfo.TenantId;
demodel.PayState = 0; demodel.PayState = 0;
demodel.Status = 0; demodel.Status = 0;
demodel.OrderSource = Common.Enum.User.UserSourceEnum.WeiXin;
demodel.CreateDate = DateTime.Now; demodel.CreateDate = DateTime.Now;
//新增充值记录 //新增充值记录
int memberBuyId = userModule.AddMemberBuy(demodel); int memberBuyId = userModule.AddMemberBuy(demodel);
...@@ -372,7 +373,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -372,7 +373,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
switch ((int)demodel.PayWay) switch ((int)demodel.PayWay)
{ {
case 1://微信支付 case 1://微信支付
sPayInfo = App_Code.PayUtil.GetMinUnifiedOrder(sOrderNo, payGoodsName, Convert.ToDecimal(rechargeRulesModel.MemberBuyMoney), userInfo.UserId.ToString(), userModel.OpenId, Config.sTenpayMemberBuyNotify, miniProgram, _accessor, System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString()); sPayInfo = App_Code.PayUtil.GetMinUnifiedOrder(sOrderNo, payGoodsName, Convert.ToDecimal(rechargeRulesModel.MemberBuyMoney), userInfo.UserId.ToString(), userModel.OpenId, (Config.sTenpayMemberBuyNotify + "/" + demodel.MallBaseId + "/" + demodel.TenantId), miniProgram, _accessor, System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString());
break; break;
default: default:
break; break;
...@@ -485,7 +486,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -485,7 +486,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
switch ((int)demodel.PayWay) switch ((int)demodel.PayWay)
{ {
case 1://微信支付 case 1://微信支付
sPayInfo = App_Code.PayUtil.GetMinUnifiedOrder(sOrderNo, payGoodsName, Convert.ToDecimal(rechargeRulesModel.BuyMoney), userInfo.UserId.ToString(), userModel.OpenId, Config.sTenpayVipBuyNotify, miniProgram, _accessor, System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString()); sPayInfo = App_Code.PayUtil.GetMinUnifiedOrder(sOrderNo, payGoodsName, Convert.ToDecimal(rechargeRulesModel.BuyMoney), userInfo.UserId.ToString(), userModel.OpenId, (Config.sTenpayVipBuyNotify + "/" + demodel.MallBaseId + "/" + demodel.TenantId) , miniProgram, _accessor, System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString());
break; break;
default: default:
break; break;
......
...@@ -771,6 +771,107 @@ namespace Mall.WebApi.Controllers.User ...@@ -771,6 +771,107 @@ namespace Mall.WebApi.Controllers.User
}); });
return ApiResult.Success("", pagelist); return ApiResult.Success("", pagelist);
} }
/// <summary>
/// 获取会员购买导出选项列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMembersToBuyExportEnumList()
{
var list = EnumHelper.GetEnumList(typeof(Common.Enum.Goods.MembersToBuyExportEnum));
return ApiResult.Success("", list.Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
/// <summary>
/// 会员购买Excel下载
/// </summary>
[HttpPost]
public FileContentResult GetMembersToBuyToExcel()
{
var parms = RequestParm;
RB_Member_Buy_Extend demodel = JsonConvert.DeserializeObject<RB_Member_Buy_Extend>(parms.msg.ToString());
string ExcelName = "会员购买" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
List<ExcelDataSource> slist = new List<ExcelDataSource>();
if (demodel.ExcelEnumIds == null || !demodel.ExcelEnumIds.Any())
{
var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData1, "application/octet-stream", ExcelName);
}
var Enumlist = EnumHelper.GetEnumList(typeof(Common.Enum.Goods.MembersToBuyExportEnum));
ExcelDataSource header = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value: "序号") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER }
}
};
foreach (var item in demodel.ExcelEnumIds)
{
var Name = Enumlist.Where(x => x.Value == item.ToString()).FirstOrDefault().Key ?? "";
header.ExcelRows.Add(new ExcelColumn(value: Name) { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER });
}
slist.Add(header);
try
{
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
demodel.PayState = 1;
var list = userModule.GetMemberBuyList(demodel);
#region 组装数据
int Num = 0;
foreach (var item in list)
{
Num++;
ExcelDataSource datarow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value:Num.ToString()){ },
}
};
foreach (var qitem in demodel.ExcelEnumIds)
{
switch (qitem)
{
case 1:
datarow.ExcelRows.Add(new ExcelColumn(value: item.OrderSource.GetEnumName()) { }); break;
case 2:
datarow.ExcelRows.Add(new ExcelColumn(value: item.OrderNo) { }); break;
case 3:
datarow.ExcelRows.Add(new ExcelColumn(value: item.UserName) { }); break;
case 4:
datarow.ExcelRows.Add(new ExcelColumn(value: (item.Money ?? 0).ToString()) { }); break;
case 5:
datarow.ExcelRows.Add(new ExcelColumn(value: item.PayTime.Value.ToString("yyyy-MM-dd HH:mm:ss")) { }); break;
case 6:
datarow.ExcelRows.Add(new ExcelColumn(value: item.PayState == 0 ? "未支付" : "已支付") { }); break;
}
}
slist.Add(datarow);
}
#endregion
var byteData = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData, "application/octet-stream", ExcelName);
}
catch (Exception ex)
{
LogHelper.Write(ex, string.Format("GetFileFromWebApi_requestData: {0}", JsonHelper.Serialize(RequestParm)));
var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData1, "application/octet-stream", ExcelName);
}
}
#endregion #endregion
#region 分销商基础 #region 分销商基础
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment