Commit 17852ea1 authored by liudong1993's avatar liudong1993
parents 56e8d801 e541bb23
...@@ -341,7 +341,16 @@ namespace Mall.Common ...@@ -341,7 +341,16 @@ namespace Mall.Common
return new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("sTenpayNotify").Value; return new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("sTenpayNotify").Value;
} }
} }
/// <summary>
/// 微信充值支付成功接口处理地址
/// </summary>
public static string sTenpayRechargeNotify
{
get
{
return new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("sTenpayRechargeNotify").Value;
}
}
/// <summary> /// <summary>
/// 网络主管的id,用于新建供应商账户的时候的创建人 /// 网络主管的id,用于新建供应商账户的时候的创建人
/// </summary> /// </summary>
......
using Mall.Common.AOP;
using Mall.Common.Enum.Goods;
using Mall.Common.Enum.MarketingCenter;
using Mall.Common.Enum.User;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.User
{
/// <summary>
/// 商户用户余额表实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Member_BalanceRecharge
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// 用户id
/// </summary>
public int? UserId { get; set; }
/// <summary>
/// 充值金额
/// </summary>
public decimal? Balance
{
get;
set;
}
/// <summary>
/// 赠送金额
/// </summary>
public int GiveMoney { get; set; }
/// <summary>
/// 赠送积分
/// </summary>
public int GiveIntegral { get; set; }
/// <summary>
/// 充值规则id,0-则是默认,>0查找规则信息判断是否满足条件
/// </summary>
public int RechargeRulesId { get; set; }
/// <summary>
/// 充值订单生成时间
/// </summary>
public DateTime RechargeTime { get; set; }
/// <summary>
/// 状态 0-未支付 1-已支付
/// </summary>
public int State { get; set; }
/// <summary>
/// 充值方式(1-在线充值,2-手动充值3-系统返利)
/// </summary>
public int RechargeType { get; set; }
/// <summary>
/// 订单来源(平台) 枚举
/// </summary>
public UserSourceEnum? OrderSource
{
get;
set;
}
/// <summary>
/// 支付类型 枚举 1微信 2支付宝 3银行卡
/// </summary>
public Common.Enum.Goods.OrderPayTypeEnum? PayWay
{
get;
set;
}
/// <summary>
/// CreateDate
/// </summary>
public DateTime? CreateDate
{
get;
set;
}
/// <summary>
/// 商户号id
/// </summary>
public int TenantId
{
get;
set;
}
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId
{
get;
set;
}
/// <summary>
/// 备注
/// </summary>
public string Remarks { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string Out_Trade_No
{
get;
set;
}
/// <summary>
/// 微信支付订单号
/// </summary>
public string Transaction_Id
{
get;
set;
}
}
}
using Mall.Common.Plugin; using Mall.Common.Plugin;
using Mall.Model.Entity.MarketingCenter; using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Entity.User;
using Mall.Model.Extend.MarketingCenter; using Mall.Model.Extend.MarketingCenter;
using Mall.Model.Extend.User; using Mall.Model.Extend.User;
using Mall.Repository; using Mall.Repository;
using Mall.Repository.MarketingCenter; using Mall.Repository.MarketingCenter;
using Mall.Repository.User; using Mall.Repository.User;
using NPOI.SS.Formula.Functions;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
...@@ -17,9 +19,16 @@ namespace Mall.Module.MarketingCenter ...@@ -17,9 +19,16 @@ namespace Mall.Module.MarketingCenter
private RB_Member_BalanceRepository balanceRepository = new RB_Member_BalanceRepository(); private RB_Member_BalanceRepository balanceRepository = new RB_Member_BalanceRepository();
private RB_Member_IntegralRepository integralRepository = new RB_Member_IntegralRepository();
private RB_Recharge_SettingsRepository settingsRepository = new RB_Recharge_SettingsRepository(); private RB_Recharge_SettingsRepository settingsRepository = new RB_Recharge_SettingsRepository();
private RB_Recharge_CustomRepository customRepository = new RB_Recharge_CustomRepository(); private RB_Recharge_CustomRepository customRepository = new RB_Recharge_CustomRepository();
private RB_Member_BalanceRechargeRepository balanceRechargeRepository = new RB_Member_BalanceRechargeRepository();
/// <summary>
/// 会员信息
/// </summary>
private readonly RB_Member_UserRepository member_UserRepository = new RB_Member_UserRepository();
#region 充值规则信息 #region 充值规则信息
/// <summary> /// <summary>
/// 充值信息列表 /// 充值信息列表
...@@ -203,6 +212,140 @@ namespace Mall.Module.MarketingCenter ...@@ -203,6 +212,140 @@ namespace Mall.Module.MarketingCenter
return customRepository.Update(fileds, whereHelpers); return customRepository.Update(fileds, whereHelpers);
} }
} }
#endregion
#region 充值
/// <summary>
/// 卡券信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Member_BalanceRecharge> GetBalanceRechargePageList(int pageIndex, int pageSize, out long rowCount, RB_Member_BalanceRecharge query)
{
return balanceRechargeRepository.GetBalanceRechargePageList(pageIndex, pageSize, out rowCount, query);
}
/// <summary>
/// 充值信息
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Member_BalanceRecharge> GetBalanceRechargeList(RB_Member_BalanceRecharge query)
{
return balanceRechargeRepository.GetBalanceRechargeList(query);
}
/// <summary>
/// 新增充值金额
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int AddBalanceRecharge(RB_Member_BalanceRecharge model)
{
if (model.Id == 0)
{
int Id = balanceRechargeRepository.Insert(model);
return Id;
}
return 0;
}
/// <summary>
/// 新增充值金额
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool UpdateBalanceRecharge(int UserId, int OrderId, string Out_Trade_No, string Transaction_Id, Common.Enum.Goods.OrderPayTypeEnum PayWay, string PayType, decimal Money, DateTime Time_End)
{
bool flag = false;
var umodel = member_UserRepository.GetEntity(UserId);
if (umodel == null)
{
return false;
}
//判断订单状态是否是待支付 2020-06-16 Add By:W
var model = balanceRechargeRepository.GetEntity(OrderId);
if (model == null)
{
return false;
}
if (model.State != 1)
{
return false;
}
if (model.Balance!= Money)
{
return false;
}
var trans = balanceRechargeRepository.DbTransaction;
try
{
//更新订单信息
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Member_BalanceRecharge.State),1},
{ nameof(RB_Member_BalanceRecharge.Out_Trade_No),Out_Trade_No},
{ nameof(RB_Member_BalanceRecharge.RechargeTime),Time_End},
{ nameof(RB_Member_BalanceRecharge.Transaction_Id),Transaction_Id}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Member_BalanceRecharge.Id),
FiledValue=model.Id,
OperatorEnum=OperatorEnum.Equal
}
};
flag = balanceRechargeRepository.Update(keyValues, wheres, trans);//更新充值记录
//新增余额
RB_Member_Balance memberBalanceModel = new RB_Member_Balance();
memberBalanceModel.UserId = model.UserId;
memberBalanceModel.Type = Common.Enum.MarketingCenter.RecordTypeEnum.Income;
memberBalanceModel.Balance = model.Balance + Convert.ToDecimal(model.GiveMoney);
memberBalanceModel.Description = "在线充值" + model.Balance + "元余额" + (model.GiveMoney > 0 ? ("赠送" + Convert.ToDecimal(model.GiveMoney)) : "");
memberBalanceModel.CreateDate = model.RechargeTime;
memberBalanceModel.TenantId = model.TenantId;
memberBalanceModel.MallBaseId = model.MallBaseId;
memberBalanceModel.Remarks = "订单号:" + model.OrderNo + "在线充值" + model.Balance + "元余额" + (model.GiveMoney > 0 ? ("赠送" + Convert.ToDecimal(model.GiveMoney)) : "");
memberBalanceModel.PlatformType = model.OrderSource;
balanceRepository.Insert(memberBalanceModel, trans);
//判断是否赠送积分
if (model.GiveIntegral > 0)//有赠送的积分
{
RB_Member_Integral memberIntegralModel = new RB_Member_Integral();
memberIntegralModel.UserId = model.UserId;
memberIntegralModel.Type = Common.Enum.MarketingCenter.RecordTypeEnum.Income;
memberIntegralModel.PlatformType = model.OrderSource;
memberIntegralModel.Integral = model.GiveIntegral;
memberIntegralModel.Description = "在线充值" + model.Balance + "元余额" + (model.GiveMoney > 0 ? ("赠送" + model.GiveIntegral + "积分") : "");
memberIntegralModel.TenantId = model.TenantId;
memberIntegralModel.MallBaseId = model.MallBaseId;
memberIntegralModel.Remarks = "订单号:" + model.OrderNo + "在线充值" + model.Balance + "元余额" + (model.GiveMoney > 0 ? ("赠送" + model.GiveIntegral + "积分") : "");
memberIntegralModel.CreateDate = model.RechargeTime;
memberIntegralModel.OrderId = 0;
integralRepository.Insert(memberIntegralModel, trans);
}
balanceRechargeRepository.DBSession.Commit();
}
catch (Exception ex)
{
LogHelper.Write(ex, "UpdateBalanceRecharge");
balanceRechargeRepository.DBSession.Rollback("UpdateBalanceRecharge");
return false;
}
return flag;
}
#endregion #endregion
} }
} }
...@@ -566,8 +566,27 @@ namespace Mall.Module.Product ...@@ -566,8 +566,27 @@ namespace Mall.Module.Product
// } // }
//} //}
//获取订阅消息
var miniModel = miniProgramRepository.GetListRepository(new RB_MiniProgram_Extend { TenantId = model.TenantId, MallBaseId = model.MallBaseId }).FirstOrDefault();
List<string> template_message_list = new List<string>();
if (miniModel != null)
{
if (!string.IsNullOrWhiteSpace(miniModel.RefundTpl))
{
template_message_list.Add(miniModel.RefundTpl);
}
if (!string.IsNullOrWhiteSpace(miniModel.AuditResultTpl))
{
template_message_list.Add(miniModel.AuditResultTpl);
}
}
return ApiResult.Success("", new return ApiResult.Success("", new
{ {
template_message_list,
model.OrderId, model.OrderId,
model.OrderNo, model.OrderNo,
model.OrderStatus, model.OrderStatus,
...@@ -681,8 +700,26 @@ namespace Mall.Module.Product ...@@ -681,8 +700,26 @@ namespace Mall.Module.Product
if (omodel.Income < dModel.Final_Price) { if (omodel.Income < dModel.Final_Price) {
Final_Price = omodel.Income ?? 0; Final_Price = omodel.Income ?? 0;
} }
//获取订阅消息
var miniModel = miniProgramRepository.GetListRepository(new RB_MiniProgram_Extend { TenantId = omodel.TenantId, MallBaseId = omodel.MallBaseId }).FirstOrDefault();
List<string> template_message_list = new List<string>();
if (miniModel != null)
{
if (!string.IsNullOrWhiteSpace(miniModel.RefundTpl))
{
template_message_list.Add(miniModel.RefundTpl);
}
if (!string.IsNullOrWhiteSpace(miniModel.AuditResultTpl))
{
template_message_list.Add(miniModel.AuditResultTpl);
}
}
return ApiResult.Success("", new return ApiResult.Success("", new
{ {
template_message_list,
DetailId = dModel.Id, DetailId = dModel.Id,
dModel.CoverImagePath, dModel.CoverImagePath,
dModel.GoodsId, dModel.GoodsId,
...@@ -4023,8 +4060,27 @@ namespace Mall.Module.Product ...@@ -4023,8 +4060,27 @@ namespace Mall.Module.Product
} }
} }
} }
//获取订阅消息
var miniModel = miniProgramRepository.GetListRepository(new RB_MiniProgram_Extend { TenantId = gModel.TenantId, MallBaseId = gModel.MallBaseId }).FirstOrDefault();
List<string> template_message_list = new List<string>();
if (miniModel != null)
{
if (!string.IsNullOrWhiteSpace(miniModel.RefundTpl))
{
template_message_list.Add(miniModel.RefundTpl);
}
if (!string.IsNullOrWhiteSpace(miniModel.AuditResultTpl))
{
template_message_list.Add(miniModel.AuditResultTpl);
}
}
return ApiResult.Success("", new return ApiResult.Success("", new
{ {
template_message_list,
model.ReOrderId, model.ReOrderId,
model.ReOrderNo, model.ReOrderNo,
model.Type, model.Type,
......
...@@ -255,6 +255,10 @@ namespace Mall.Module.User ...@@ -255,6 +255,10 @@ namespace Mall.Module.User
{ {
return false; return false;
} }
if (oldOrder.Income != Money)
{
return false;
}
//获取订单商品 //获取订单商品
var orderGoodsList = goodsOrderDetailRepository.GetOrderDetailList(new RB_Goods_OrderDetail_Extend { TenantId = oldOrder.TenantId, MallBaseId = oldOrder.MallBaseId, OrderId = oldOrder.OrderId }); var orderGoodsList = goodsOrderDetailRepository.GetOrderDetailList(new RB_Goods_OrderDetail_Extend { TenantId = oldOrder.TenantId, MallBaseId = oldOrder.MallBaseId, OrderId = oldOrder.OrderId });
......
...@@ -2935,8 +2935,31 @@ namespace Mall.Module.User ...@@ -2935,8 +2935,31 @@ namespace Mall.Module.User
var list = EnumHelper.GetEnumList(typeof(DistrbutorWithdrawWayEnum)); var list = EnumHelper.GetEnumList(typeof(DistrbutorWithdrawWayEnum));
var WayList = list.Where(x => WithdrawWayids.Contains(Convert.ToInt32(x.Value))); var WayList = list.Where(x => WithdrawWayids.Contains(Convert.ToInt32(x.Value)));
//获取订阅消息
var miniModel = miniProgramRepository.GetListRepository(new RB_MiniProgram_Extend { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }).FirstOrDefault();
List<string> template_message_list = new List<string>();
if (miniModel != null)
{
if (!string.IsNullOrWhiteSpace(miniModel.ReflectSuccessTpl))
{
template_message_list.Add(miniModel.ReflectSuccessTpl);
}
if (!string.IsNullOrWhiteSpace(miniModel.ReflectFailTpl))
{
template_message_list.Add(miniModel.ReflectFailTpl);
}
if (!string.IsNullOrWhiteSpace(miniModel.AuditResultTpl))
{
template_message_list.Add(miniModel.AuditResultTpl);
}
}
return new return new
{ {
template_message_list,
disModel.CommissionWithdrawal, disModel.CommissionWithdrawal,
CanRemitMoney, CanRemitMoney,
basicsModel.MinimumWithdrawalLimit, basicsModel.MinimumWithdrawalLimit,
......
using Mall.Model.Entity.User;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.User
{
/// <summary>
/// 余额充值仓储层
/// </summary>
public class RB_Member_BalanceRechargeRepository : RepositoryBase<RB_Member_BalanceRecharge>
{
/// <summary>
/// 余额充值
/// </summary>
public string TableName { get { return nameof(RB_Member_BalanceRecharge); } }
/// <summary>
/// 充值列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Member_BalanceRecharge> GetBalanceRechargePageList(int pageIndex, int pageSize, out long rowCount, RB_Member_BalanceRecharge query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE 1=1");
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Member_BalanceRecharge.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Member_BalanceRecharge.MallBaseId)}={query.MallBaseId}");
}
if (query.UserId > 0)
{
builder.Append($" AND {nameof(RB_Member_BalanceRecharge.UserId)}={query.UserId}");
}
}
return GetPage<RB_Member_BalanceRecharge>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 充值信息
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Member_BalanceRecharge> GetBalanceRechargeList(RB_Member_BalanceRecharge query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE 1=1 ");
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Member_BalanceRecharge.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Member_BalanceRecharge.MallBaseId)}={query.MallBaseId}");
}
if (query.UserId > 0)
{
builder.Append($" AND {nameof(RB_Member_BalanceRecharge.UserId)}={query.UserId}");
}
}
return Get<RB_Member_BalanceRecharge>(builder.ToString()).ToList();
}
}
}
...@@ -158,13 +158,6 @@ namespace Mall.WebApi.App_Code ...@@ -158,13 +158,6 @@ namespace Mall.WebApi.App_Code
//支付成功 //支付成功
if (!outTradeNo.Equals("") && returnCode.Equals("SUCCESS") && resultCode.Equals("SUCCESS")) if (!outTradeNo.Equals("") && returnCode.Equals("SUCCESS") && resultCode.Equals("SUCCESS"))
{ {
//LogHelper.WriteLog("支付回调:", sbResult.ToString() + "notify > success \r\n",EnumService.LogType.Debug);
//在外面回写订单
//var returnUrl = "";
//if (tradeType.Equals("JSAPI"))
// returnUrl = res.GetParameter("code_url");
//if (tradeType.Equals("MWEB"))
// returnUrl = res.GetParameter("mweb_url");
return new BaseResult() return new BaseResult()
{ {
IsSuccess = true, IsSuccess = true,
......
...@@ -27,7 +27,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -27,7 +27,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
UserCommonModule userCommonModule = new UserCommonModule(); UserCommonModule userCommonModule = new UserCommonModule();
Module.MarketingCenter.RechargeModule rechargeModule = new Module.MarketingCenter.RechargeModule();
private IHttpContextAccessor _accessor; private IHttpContextAccessor _accessor;
/// <summary> /// <summary>
...@@ -70,6 +70,59 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -70,6 +70,59 @@ namespace Mall.WebApi.Controllers.AppletWeChat
userCommonModule.InsertOrderPayInfo(UserId, OrderId, sOrderNo, TransactionId, Common.Enum.Goods.OrderPayTypeEnum.WeChatPay, PayType, dPaid, PayDate, 0); userCommonModule.InsertOrderPayInfo(UserId, OrderId, sOrderNo, TransactionId, Common.Enum.Goods.OrderPayTypeEnum.WeChatPay, PayType, dPaid, PayDate, 0);
#endregion
}
//告诉微信我们已经处理成功,不需要再调用我们的接口了
req.SetParameter("return_code", "SUCCESS");
req.SetParameter("return_msg", "OK");
var reqXml = req.ParseXml();
return reqXml;
// return ApiResult.Success("", reqXml);
}
else
{
req.SetParameter("return_code", "FAIL");
req.SetParameter("return_msg", "订单失败");
var reqXmlFAIL = req.ParseXml();
LogHelper.Write(null, "Notify返回信息:" + reqXmlFAIL);
return reqXmlFAIL;
// return ApiResult.Failed("", reqXmlFAIL);
}
}
/// <summary>
/// 订单支付回调
/// </summary>
/// <returns></returns>
[HttpGet]
[HttpPost]
public string RechargeNotify()
{
var req = new RequestHandler();
App_Code.PayUtil PayUtil = new App_Code.PayUtil();
var result = PayUtil.Notify(_accessor);
if (result.IsSuccess)
{
var dic = ((Dictionary<string, string>)result.Data);
//开始回写订单状态
lock (_lock)
{
string sOrderNo = dic["sOrderNo"];//订单号 时间挫+OrderId
int OrderId = Convert.ToInt32(sOrderNo[17..]);
decimal dPaid = Convert.ToDecimal(dic["dPrice"]) / 100;
string sPayerOpenID = dic["sPayerOpenID"];
int UserId = Convert.ToInt32(dic["bIsRecharge"]);
string TransactionId = dic["sTradeNo"];
string PayType = dic["OrderPayType"];
DateTime PayDate = DateTime.ParseExact(dic["PayDate"], "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);//转换时间
#region 新增订单支付信息
rechargeModule.UpdateBalanceRecharge(UserId, OrderId, sOrderNo, TransactionId, Common.Enum.Goods.OrderPayTypeEnum.WeChatPay, PayType, dPaid, PayDate);
#endregion #endregion
} }
//告诉微信我们已经处理成功,不需要再调用我们的接口了 //告诉微信我们已经处理成功,不需要再调用我们的接口了
......
...@@ -8,8 +8,10 @@ using Mall.Common.API; ...@@ -8,8 +8,10 @@ using Mall.Common.API;
using Mall.Common.Pay.WeChatPat; using Mall.Common.Pay.WeChatPat;
using Mall.Common.Pay.WeChatPat.Model; using Mall.Common.Pay.WeChatPat.Model;
using Mall.Common.Plugin; using Mall.Common.Plugin;
using Mall.Model.Entity.User;
using Mall.Model.Extend.Product; using Mall.Model.Extend.Product;
using Mall.Model.Extend.User; using Mall.Model.Extend.User;
using Mall.Module.MarketingCenter;
using Mall.Module.User; using Mall.Module.User;
using Mall.WebApi.Filter; using Mall.WebApi.Filter;
using Mall.WeChat.Helper; using Mall.WeChat.Helper;
...@@ -44,6 +46,9 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -44,6 +46,9 @@ namespace Mall.WebApi.Controllers.AppletWeChat
/// </summary> /// </summary>
private Module.User.MiniProgramModule programModule = new Module.User.MiniProgramModule(); private Module.User.MiniProgramModule programModule = new Module.User.MiniProgramModule();
private readonly UserModule userModule = new UserModule(); private readonly UserModule userModule = new UserModule();
private readonly RechargeModule rechargeModule = new RechargeModule();
#region 商品支付
/// <summary> /// <summary>
/// 微信支付 /// 微信支付
/// </summary> /// </summary>
...@@ -52,21 +57,11 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -52,21 +57,11 @@ namespace Mall.WebApi.Controllers.AppletWeChat
public ApiResult GetPayInfo() public ApiResult GetPayInfo()
{ {
var request = RequestParm; var request = RequestParm;
var userInfo = AppletUserInfo; // new AppletUserInfo(); var userInfo = AppletUserInfo;
if (userInfo == null) if (userInfo == null)
{ {
return ApiResult.Failed("请登录"); return ApiResult.Failed("请登录");
} }
//var userModel = userModule.GetMemberUserInfo(21233);
//if (userInfo != null)
//{
// userInfo = new Common.AppletUserInfo();
// userInfo.TenantId = userModel.TenantId;
// userInfo.MallBaseId = userModel.MallBaseId;
// userInfo.UserId = userModel.Id;
//}
RB_Goods_Order_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Order_Extend>(request.msg.ToString()); RB_Goods_Order_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Order_Extend>(request.msg.ToString());
string sPayInfo = string.Empty; string sPayInfo = string.Empty;
if (!demodel.OrderPayType.HasValue) if (!demodel.OrderPayType.HasValue)
...@@ -103,11 +98,104 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -103,11 +98,104 @@ namespace Mall.WebApi.Controllers.AppletWeChat
} }
return ApiResult.Success("", sPayInfo); return ApiResult.Success("", sPayInfo);
} }
#endregion
#region 余额充值
/// <summary>
/// 微信支付
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public ApiResult GetRechargePayInfo()
{
var request = RequestParm;
var userInfo = AppletUserInfo;
if (userInfo == null)
{
return ApiResult.Failed("请登录");
}
RB_Member_BalanceRecharge demodel = JsonConvert.DeserializeObject<RB_Member_BalanceRecharge>(request.msg.ToString());
string sPayInfo = string.Empty;
if (!demodel.PayWay.HasValue)
{
return ApiResult.Failed("请选择支付方式");
}
//查询充值信息
if (!demodel.Balance.HasValue)
{
return ApiResult.Failed("请输入充值金额");
}
//查询用户的openId
var userModel = userModule.GetMemberUserEntityModule(new RB_Member_User_Extend { MallBaseId = userInfo.MallBaseId, TenantId = userInfo.TenantId, Id = userInfo.UserId });
if (userModel == null)
{
return ApiResult.Failed("用户不存在");
}
string payGoodsName = "余额充值";
var rechargeRulesModel = rechargeModule.GetRechargeRulesList(new Model.Extend.MarketingCenter.RB_Recharge_Rules_Extend { MallBaseId = userInfo.MallBaseId, TenantId = userInfo.TenantId, ID = demodel.RechargeRulesId }).FirstOrDefault();
if (rechargeRulesModel == null)
{
return ApiResult.Failed("选择的充值规则不存在");
}
if (demodel.RechargeRulesId > 0)
{
if (demodel.Balance.Value != Convert.ToDecimal(rechargeRulesModel.Money))
{
return ApiResult.Failed("充值金额与设定的金额不符");
}
demodel.GiveIntegral = rechargeRulesModel.GiveIntegral;
demodel.GiveMoney = rechargeRulesModel.GiveMoney;
demodel.RechargeRulesId = rechargeRulesModel.ID;
}
else
{ //自定义
var rechareSettings = rechargeModule.GetRechargeSettingsList(new Model.Entity.MarketingCenter.RB_Recharge_Settings { MallBaseId = userInfo.MallBaseId, TenantId = userInfo.TenantId }).FirstOrDefault();
if (rechareSettings.IsExploitMoney == 0)
{
return ApiResult.Failed("暂未开启自定义金额");
}
}
Random R = new Random();
int Rstr = R.Next(111, 999);
demodel.OrderNo = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Rstr;
demodel.RechargeType = 1;
demodel.UserId = userInfo.UserId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.TenantId = userInfo.TenantId;
//新增充值记录
int rechargeId = rechargeModule.AddBalanceRecharge(demodel);
if (rechargeId == 0)
{
return ApiResult.Failed("在线充值失败");
}
string sOrderNo = (System.DateTime.Now.ToString("yyyyMMddHHmmssfff")) + rechargeId;
//根据订单号获取微信支付配置信息
RB_MiniProgram_Extend miniProgram = new RB_MiniProgram_Extend(); //2020年5月26号新增
miniProgram = programModule.GetMiniProgramModule(new RB_MiniProgram_Extend { MallBaseId = userInfo.MallBaseId, TenantId = userInfo.TenantId });
App_Code.PayUtil payUtil = new App_Code.PayUtil();
switch ((int)demodel.PayWay)
{
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());
break;
default:
break;
}
return ApiResult.Success("", sPayInfo);
}
#endregion
#region 测试接口
public ApiResult TestReturn() public ApiResult TestReturn()
{ {
RB_MiniProgram_Extend miniProgram = new RB_MiniProgram_Extend(); //2020年5月26号新增 RB_MiniProgram_Extend miniProgram = new RB_MiniProgram_Extend(); //2020年5月26号新增
...@@ -145,5 +233,9 @@ namespace Mall.WebApi.Controllers.AppletWeChat ...@@ -145,5 +233,9 @@ namespace Mall.WebApi.Controllers.AppletWeChat
var Robj = App_Code.PayUtil.GetNativeOrder(RefundOrderNo, Convert.ToDecimal("0.01"), "测试商品", "21233", miniProgram, System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString(), _accessor); ; var Robj = App_Code.PayUtil.GetNativeOrder(RefundOrderNo, Convert.ToDecimal("0.01"), "测试商品", "21233", miniProgram, System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString(), _accessor); ;
return ApiResult.Success("", Robj); return ApiResult.Success("", Robj);
} }
#endregion
} }
} }
\ No newline at end of file
...@@ -7,6 +7,7 @@ using Mall.Common.Plugin; ...@@ -7,6 +7,7 @@ using Mall.Common.Plugin;
using Mall.Model.Entity.BaseSetUp; using Mall.Model.Entity.BaseSetUp;
using Mall.Model.Extend.BaseSetUp; using Mall.Model.Extend.BaseSetUp;
using Mall.Module.BaseSetUp; using Mall.Module.BaseSetUp;
using Mall.Module.User;
using Mall.WebApi.Filter; using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
...@@ -23,8 +24,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -23,8 +24,8 @@ namespace Mall.WebApi.Controllers.MallBase
{ {
private MallBaseModule mallBaseModule = new MallBaseModule(); private MallBaseModule mallBaseModule = new MallBaseModule();
private Module.User.TenantModule TenantModule = new Module.User.TenantModule(); private TenantModule TenantModule = new TenantModule();
private MiniProgramModule miniProgramModule = new MiniProgramModule();
#region 基础设置 #region 基础设置
[HttpPost] [HttpPost]
public ApiResult AddOrUpdateMallBase() public ApiResult AddOrUpdateMallBase()
...@@ -92,10 +93,13 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -92,10 +93,13 @@ namespace Mall.WebApi.Controllers.MallBase
query.TenantId = UserInfo.TenantId; query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId; query.MallBaseId = parms.MallBaseId;
var model = mallBaseModule.GetListRepository(query).FirstOrDefault(); var model = mallBaseModule.GetListRepository(query).FirstOrDefault();
//获取小程序的商城名称
var miniProgramModel = miniProgramModule.GetMiniProgramModule(new Model.Extend.User.RB_MiniProgram_Extend { TenantId = query.TenantId, MallBaseId = query.MallBaseId });
if (model == null) if (model == null)
{ {
model = new RB_MallBase_Extend(); model = new RB_MallBase_Extend();
} }
model.MallName = miniProgramModel?.MallName;
return ApiResult.Success("获取成功", model); return ApiResult.Success("获取成功", model);
} }
......
...@@ -30,6 +30,7 @@ namespace Mall.WebApi.Controllers.User ...@@ -30,6 +30,7 @@ namespace Mall.WebApi.Controllers.User
private readonly UserModule userModule = new UserModule(); private readonly UserModule userModule = new UserModule();
private readonly Module.MarketingCenter.CouponModule couponModule = new Module.MarketingCenter.CouponModule(); private readonly Module.MarketingCenter.CouponModule couponModule = new Module.MarketingCenter.CouponModule();
private readonly Module.MarketingCenter.RechargeModule rechargeModule = new Module.MarketingCenter.RechargeModule();
#region 收货地址 #region 收货地址
/// <summary> /// <summary>
...@@ -451,12 +452,14 @@ namespace Mall.WebApi.Controllers.User ...@@ -451,12 +452,14 @@ namespace Mall.WebApi.Controllers.User
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SetUserDistrbutorUpgrade() { public ApiResult SetUserDistrbutorUpgrade()
{
var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
var req = RequestParm; var req = RequestParm;
JObject prams = JObject.Parse(req.msg.ToString()); JObject prams = JObject.Parse(req.msg.ToString());
int GradeId = prams.GetInt("Id", 0); int GradeId = prams.GetInt("Id", 0);
if (GradeId <= 0) { if (GradeId <= 0)
{
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
} }
...@@ -650,12 +653,14 @@ namespace Mall.WebApi.Controllers.User ...@@ -650,12 +653,14 @@ namespace Mall.WebApi.Controllers.User
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SetUserUpGradeMemberInfo() { public ApiResult SetUserUpGradeMemberInfo()
{
var req = RequestParm; var req = RequestParm;
var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
JObject parms = JObject.Parse(req.msg.ToString()); JObject parms = JObject.Parse(req.msg.ToString());
int GradeId = parms.GetInt("GradeId", 0); int GradeId = parms.GetInt("GradeId", 0);
if (GradeId <= 0) { if (GradeId <= 0)
{
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
} }
...@@ -664,7 +669,8 @@ namespace Mall.WebApi.Controllers.User ...@@ -664,7 +669,8 @@ namespace Mall.WebApi.Controllers.User
{ {
return ApiResult.Success(); return ApiResult.Success();
} }
else { else
{
return ApiResult.Failed(msg); return ApiResult.Failed(msg);
} }
} }
...@@ -853,7 +859,7 @@ namespace Mall.WebApi.Controllers.User ...@@ -853,7 +859,7 @@ namespace Mall.WebApi.Controllers.User
return ApiResult.Failed("您已领取优惠券"); return ApiResult.Failed("您已领取优惠券");
} }
if (oldLogisticsModel.IndateType==Common.Enum.MarketingCenter.IndateTypeEnum.TimeHorizon) if (oldLogisticsModel.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.TimeHorizon)
{ {
if (oldLogisticsModel.EndDate.Value < System.DateTime.Now) if (oldLogisticsModel.EndDate.Value < System.DateTime.Now)
{ {
...@@ -1084,5 +1090,29 @@ namespace Mall.WebApi.Controllers.User ...@@ -1084,5 +1090,29 @@ namespace Mall.WebApi.Controllers.User
return ApiResult.Success(""); return ApiResult.Success("");
} }
#endregion #endregion
#region 充值
/// <summary>
/// 个人中心- 用户充值设置与规则
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetUserRechargeSettings()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
RB_Member_User_Extend demodel = JsonConvert.DeserializeObject<RB_Member_User_Extend>(req.msg.ToString());
demodel.Id = userInfo.UserId;
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
//获取充值规则
var rechargeRules = rechargeModule.GetRechargeRulesList(new RB_Recharge_Rules_Extend { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId });
//获取充值规则
var rechargeSettings = rechargeModule.GetRechargeSettingsList(new Model.Entity.MarketingCenter.RB_Recharge_Settings { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId });
return ApiResult.Success("",new { rechargeRules , rechargeSettings });
}
#endregion
} }
} }
\ No newline at end of file
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