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);
} }
......
...@@ -28,7 +28,7 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -28,7 +28,7 @@ namespace Mall.WebApi.Controllers.MallBase
{ {
private readonly OrderModule orderModule = new OrderModule(); private readonly OrderModule orderModule = new OrderModule();
private readonly Module.User.MiniProgramModule programModule = new Module.User.MiniProgramModule();
#region 购物车 #region 购物车
/// <summary> /// <summary>
...@@ -36,7 +36,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -36,7 +36,8 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetGoodsShoppingCartPageList() { public ApiResult GetGoodsShoppingCartPageList()
{
var parms = RequestParm; var parms = RequestParm;
var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString()); ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString());
...@@ -80,14 +81,17 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -80,14 +81,17 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SetGoodsShoppingCartInfo() { public ApiResult SetGoodsShoppingCartInfo()
{
var req = RequestParm; var req = RequestParm;
var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
RB_Goods_ShoppingCart_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_ShoppingCart_Extend>(req.msg.ToString()); RB_Goods_ShoppingCart_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_ShoppingCart_Extend>(req.msg.ToString());
if ((demodel.GoodsId??0) <= 0) { if ((demodel.GoodsId ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递商品id"); return ApiResult.ParamIsNull("请传递商品id");
} }
if ((demodel.Number ?? 0) <= 0) { if ((demodel.Number ?? 0) <= 0)
{
return ApiResult.ParamIsNull("数量必须大于0"); return ApiResult.ParamIsNull("数量必须大于0");
} }
demodel.TenantId = userInfo.TenantId; demodel.TenantId = userInfo.TenantId;
...@@ -102,13 +106,15 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -102,13 +106,15 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SetGoodsShoppingCartNumGetInfo() { public ApiResult SetGoodsShoppingCartNumGetInfo()
{
var req = RequestParm; var req = RequestParm;
var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
JObject prams = JObject.Parse(req.msg.ToString()); JObject prams = JObject.Parse(req.msg.ToString());
int ShoppingCartId = prams.GetInt("ShoppingCartId", 0); int ShoppingCartId = prams.GetInt("ShoppingCartId", 0);
int Number = prams.GetInt("Number", 0); int Number = prams.GetInt("Number", 0);
if (ShoppingCartId <= 0 || Number <= 0) { if (ShoppingCartId <= 0 || Number <= 0)
{
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
} }
...@@ -117,7 +123,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -117,7 +123,8 @@ namespace Mall.WebApi.Controllers.MallBase
{ {
return ApiResult.Success(); return ApiResult.Success();
} }
else { else
{
return ApiResult.Failed(); return ApiResult.Failed();
} }
} }
...@@ -127,11 +134,12 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -127,11 +134,12 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult DelGoodsShoppingCartInfo() { public ApiResult DelGoodsShoppingCartInfo()
{
var req = RequestParm; var req = RequestParm;
var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
JObject prams = JObject.Parse(req.msg.ToString()); JObject prams = JObject.Parse(req.msg.ToString());
string ShoppingCartIds = prams.GetStringValue("ShoppingCartIdList"); string ShoppingCartIds = prams.GetStringValue("ShoppingCartIdList");
if (string.IsNullOrEmpty(ShoppingCartIds)) if (string.IsNullOrEmpty(ShoppingCartIds))
{ {
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
...@@ -177,14 +185,32 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -177,14 +185,32 @@ namespace Mall.WebApi.Controllers.MallBase
demodel.MallBaseId = userInfo.MallBaseId; demodel.MallBaseId = userInfo.MallBaseId;
demodel.UserId = userInfo.UserId; demodel.UserId = userInfo.UserId;
demodel.Recycled = 2; demodel.Recycled = 2;
if (demodel.OrderStatus == Common.Enum.Goods.OrderStatusEnum.WaitSendGoods) { if (demodel.OrderStatus == Common.Enum.Goods.OrderStatusEnum.WaitSendGoods)
{
demodel.OrderStatusIds = "2,6";//待处理也是待发货状态才有的 demodel.OrderStatusIds = "2,6";//待处理也是待发货状态才有的
demodel.OrderStatus = 0; demodel.OrderStatus = 0;
} }
var list = orderModule.GetAppletGoodsMyOrderPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel); var list = orderModule.GetAppletGoodsMyOrderPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
//获取订阅消息
var miniModel = programModule.GetMiniProgramModule(new RB_MiniProgram_Extend { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId });
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);
}
}
pagelist.count = Convert.ToInt32(count); pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new pagelist.pageData = list.Select(x => new
{ {
template_message_list,
x.OrderId, x.OrderId,
x.OrderNo, x.OrderNo,
x.DeliveryMethod, x.DeliveryMethod,
...@@ -194,7 +220,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -194,7 +220,8 @@ namespace Mall.WebApi.Controllers.MallBase
x.CouponMoney, x.CouponMoney,
x.PaymentWay, x.PaymentWay,
PaymentWayName = x.PaymentWay.GetEnumName(), PaymentWayName = x.PaymentWay.GetEnumName(),
DetailList = x.DetailList.Select(y => new { DetailList = x.DetailList.Select(y => new
{
y.Id, y.Id,
y.GoodsId, y.GoodsId,
y.CoverImagePath, y.CoverImagePath,
...@@ -222,7 +249,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -222,7 +249,8 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetAppletGoodsOrderNumStatistics() { public ApiResult GetAppletGoodsOrderNumStatistics()
{
var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
return orderModule.GetAppletGoodsOrderNumStatistics(userInfo.UserId, userInfo.TenantId, userInfo.MallBaseId); return orderModule.GetAppletGoodsOrderNumStatistics(userInfo.UserId, userInfo.TenantId, userInfo.MallBaseId);
} }
...@@ -232,7 +260,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -232,7 +260,8 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetAppletMyOrderInfo() { public ApiResult GetAppletMyOrderInfo()
{
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());
...@@ -243,14 +272,15 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -243,14 +272,15 @@ namespace Mall.WebApi.Controllers.MallBase
} }
return orderModule.GetAppletMyOrderInfo(OrderId, userInfo.UserId, userInfo.TenantId, userInfo.MallBaseId); return orderModule.GetAppletMyOrderInfo(OrderId, userInfo.UserId, userInfo.TenantId, userInfo.MallBaseId);
} }
/// <summary> /// <summary>
/// 获取我的订单快递信息 /// 获取我的订单快递信息
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetAppletMyOrderExpressInfo() { public ApiResult GetAppletMyOrderExpressInfo()
{
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());
...@@ -269,7 +299,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -269,7 +299,8 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetAppletGoodsSettlementInfo() { public ApiResult GetAppletGoodsSettlementInfo()
{
var req = RequestParm; var req = RequestParm;
var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
RB_Goods_Order_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Order_Extend>(req.msg.ToString()); RB_Goods_Order_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Order_Extend>(req.msg.ToString());
...@@ -337,7 +368,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -337,7 +368,8 @@ namespace Mall.WebApi.Controllers.MallBase
var req = RequestParm; var req = RequestParm;
var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
RB_Goods_Order_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Order_Extend>(req.msg.ToString()); RB_Goods_Order_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Order_Extend>(req.msg.ToString());
if ((demodel.ShoppingAddressId ?? 0) <= 0) { if ((demodel.ShoppingAddressId ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递收货地址id"); return ApiResult.ParamIsNull("请传递收货地址id");
} }
if (demodel.DetailList == null || !demodel.DetailList.Any()) if (demodel.DetailList == null || !demodel.DetailList.Any())
...@@ -366,19 +398,24 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -366,19 +398,24 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SetAppletGoodsOrderInfo() { public ApiResult SetAppletGoodsOrderInfo()
{
var req = RequestParm; var req = RequestParm;
var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
RB_Goods_Order_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Order_Extend>(req.msg.ToString()); RB_Goods_Order_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Order_Extend>(req.msg.ToString());
if (demodel.IsFormShoppingCart == 1) { if (demodel.IsFormShoppingCart == 1)
if (demodel.ShoppingCartIdList == null || !demodel.ShoppingCartIdList.Any()) { {
if (demodel.ShoppingCartIdList == null || !demodel.ShoppingCartIdList.Any())
{
return ApiResult.ParamIsNull("请传递购物车id"); return ApiResult.ParamIsNull("请传递购物车id");
} }
} }
if (string.IsNullOrEmpty(demodel.Consignee)) { if (string.IsNullOrEmpty(demodel.Consignee))
{
return ApiResult.ParamIsNull("请传递收件人"); return ApiResult.ParamIsNull("请传递收件人");
} }
if (string.IsNullOrEmpty(demodel.Mobile)) { if (string.IsNullOrEmpty(demodel.Mobile))
{
return ApiResult.ParamIsNull("请传递收件人手机号码"); return ApiResult.ParamIsNull("请传递收件人手机号码");
} }
if (demodel.DeliveryMethod != Common.Enum.Goods.OrderDeliveryMethodEnum.VerificationShop) if (demodel.DeliveryMethod != Common.Enum.Goods.OrderDeliveryMethodEnum.VerificationShop)
...@@ -387,32 +424,38 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -387,32 +424,38 @@ namespace Mall.WebApi.Controllers.MallBase
{ {
return ApiResult.ParamIsNull("收货地址有误"); return ApiResult.ParamIsNull("收货地址有误");
} }
if (string.IsNullOrEmpty(demodel.ShoppingAddress)) { if (string.IsNullOrEmpty(demodel.ShoppingAddress))
{
return ApiResult.ParamIsNull("收货详细地址不能为空"); return ApiResult.ParamIsNull("收货详细地址不能为空");
} }
} }
if (demodel.DetailList == null || !demodel.DetailList.Any()) { if (demodel.DetailList == null || !demodel.DetailList.Any())
{
return ApiResult.ParamIsNull("请传递商品信息"); return ApiResult.ParamIsNull("请传递商品信息");
} }
foreach (var item in demodel.DetailList) { foreach (var item in demodel.DetailList)
if ((item.GoodsId ?? 0) <= 0) { {
if ((item.GoodsId ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递商品id"); return ApiResult.ParamIsNull("请传递商品id");
} }
if ((item.Number ?? 0) <= 0) { if ((item.Number ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递商品数量"); return ApiResult.ParamIsNull("请传递商品数量");
} }
if (item.SpecificationList == null || !item.SpecificationList.Any()) if (item.SpecificationList == null || !item.SpecificationList.Any())
{ {
return ApiResult.ParamIsNull("请传递规格名SpecificationList"); return ApiResult.ParamIsNull("请传递规格名SpecificationList");
} }
item.Specification = JsonConvert.SerializeObject(item.SpecificationList); item.Specification = JsonConvert.SerializeObject(item.SpecificationList);
} }
if ((demodel.Income ?? 0) <= 0) { if ((demodel.Income ?? 0) <= 0)
{
return ApiResult.ParamIsNull("订单金额不正确"); return ApiResult.ParamIsNull("订单金额不正确");
} }
demodel.BuyerMessage ??= "";//买家留言 demodel.BuyerMessage ??= "";//买家留言
demodel.OrderSource ??= UserSourceEnum.WeiXin; demodel.OrderSource ??= UserSourceEnum.WeiXin;
#region 赋默认值 #region 赋默认值
...@@ -429,12 +472,12 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -429,12 +472,12 @@ namespace Mall.WebApi.Controllers.MallBase
demodel.MerchantsNo ??= ""; demodel.MerchantsNo ??= "";
demodel.Recycled ??= 2; demodel.Recycled ??= 2;
demodel.Refund ??= 0; demodel.Refund ??= 0;
demodel.Status = 0; demodel.Status = 0;
demodel.UpdateDate = DateTime.Now; demodel.UpdateDate = DateTime.Now;
demodel.UserId = userInfo.UserId; demodel.UserId = userInfo.UserId;
#endregion #endregion
return orderModule.SetAppletGoodsOrderInfo(demodel); return orderModule.SetAppletGoodsOrderInfo(demodel);
} }
/// <summary> /// <summary>
...@@ -442,16 +485,19 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -442,16 +485,19 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SetAppletGoodsOrderOtherPay() { public ApiResult SetAppletGoodsOrderOtherPay()
{
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 OrderId = parms.GetInt("OrderId", 0); int OrderId = parms.GetInt("OrderId", 0);
int Type = parms.GetInt("Type", 1);//1 货到付款 2 余额付款 int Type = parms.GetInt("Type", 1);//1 货到付款 2 余额付款
if (OrderId <= 0) { if (OrderId <= 0)
{
return ApiResult.ParamIsNull("请传递订单id"); return ApiResult.ParamIsNull("请传递订单id");
} }
if (Type != 1 && Type != 2) { if (Type != 1 && Type != 2)
{
return ApiResult.ParamIsNull("类型不正确"); return ApiResult.ParamIsNull("类型不正确");
} }
...@@ -460,7 +506,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -460,7 +506,8 @@ namespace Mall.WebApi.Controllers.MallBase
{ {
return ApiResult.Success(); return ApiResult.Success();
} }
else { else
{
return ApiResult.Failed(msg); return ApiResult.Failed(msg);
} }
} }
...@@ -470,14 +517,16 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -470,14 +517,16 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult CancelAppletGoodsOrderInfo() { public ApiResult CancelAppletGoodsOrderInfo()
{
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 OrderId = parms.GetInt("OrderId", 0); int OrderId = parms.GetInt("OrderId", 0);
int Type = parms.GetInt("Type", 1);//1未付款取消 2已付款未发货申请取消 int Type = parms.GetInt("Type", 1);//1未付款取消 2已付款未发货申请取消
string Remark = parms.GetStringValue("Remark");//type=2 申请备注 string Remark = parms.GetStringValue("Remark");//type=2 申请备注
if (OrderId <= 0) { if (OrderId <= 0)
{
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
} }
//if (Type == 2) { //if (Type == 2) {
...@@ -498,12 +547,14 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -498,12 +547,14 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SetAppletOrderGoodsReceiving() { public ApiResult SetAppletOrderGoodsReceiving()
{
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 OrderId = parms.GetInt("OrderId", 0); int OrderId = parms.GetInt("OrderId", 0);
if (OrderId <= 0) { if (OrderId <= 0)
{
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
} }
...@@ -544,19 +595,23 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -544,19 +595,23 @@ namespace Mall.WebApi.Controllers.MallBase
var req = RequestParm; var req = RequestParm;
var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
RB_Goods_OrderAfterSale_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_OrderAfterSale_Extend>(req.msg.ToString()); RB_Goods_OrderAfterSale_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_OrderAfterSale_Extend>(req.msg.ToString());
if ((demodel.OrderDetialId??0) <= 0) if ((demodel.OrderDetialId ?? 0) <= 0)
{ {
return ApiResult.ParamIsNull("请传递订单明细id"); return ApiResult.ParamIsNull("请传递订单明细id");
} }
if (string.IsNullOrEmpty(demodel.Remark)) { if (string.IsNullOrEmpty(demodel.Remark))
{
return ApiResult.ParamIsNull("请输入退换货原因"); return ApiResult.ParamIsNull("请输入退换货原因");
} }
if (demodel.Type == 1) { if (demodel.Type == 1)
if ((demodel.Refund ?? 0) <= 0) { {
if ((demodel.Refund ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请输入退款金额"); return ApiResult.ParamIsNull("请输入退款金额");
} }
} }
if ((demodel.ReNumber ?? 0) <= 0) { if ((demodel.ReNumber ?? 0) <= 0)
{
return ApiResult.ParamIsNull("数量不正确"); return ApiResult.ParamIsNull("数量不正确");
} }
...@@ -581,7 +636,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -581,7 +636,8 @@ namespace Mall.WebApi.Controllers.MallBase
demodel.UserId = userInfo.UserId; demodel.UserId = userInfo.UserId;
demodel.Status = 0; demodel.Status = 0;
demodel.ReOrderStatus = Common.Enum.Goods.OrderAfterSaleStatusEnum.Auditing; demodel.ReOrderStatus = Common.Enum.Goods.OrderAfterSaleStatusEnum.Auditing;
if (demodel.VoucherList != null && demodel.VoucherList.Any()){ if (demodel.VoucherList != null && demodel.VoucherList.Any())
{
demodel.Voucher = JsonConvert.SerializeObject(demodel.VoucherList); demodel.Voucher = JsonConvert.SerializeObject(demodel.VoucherList);
} }
bool flag = orderModule.SetAppletMyOrderAfterSale(demodel); bool flag = orderModule.SetAppletMyOrderAfterSale(demodel);
...@@ -593,12 +649,14 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -593,12 +649,14 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetAppletOrderBuyerToDeliverInfo() { public ApiResult GetAppletOrderBuyerToDeliverInfo()
{
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 ReOrderId = parms.GetInt("ReOrderId", 0); int ReOrderId = parms.GetInt("ReOrderId", 0);
if (ReOrderId <= 0) { if (ReOrderId <= 0)
{
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
} }
...@@ -610,7 +668,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -610,7 +668,8 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SetAppletOrderSendGoods() { public ApiResult SetAppletOrderSendGoods()
{
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());
...@@ -621,10 +680,12 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -621,10 +680,12 @@ namespace Mall.WebApi.Controllers.MallBase
{ {
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
} }
if (ExpressId <= 0) { if (ExpressId <= 0)
{
return ApiResult.ParamIsNull("请选择快递"); return ApiResult.ParamIsNull("请选择快递");
} }
if (string.IsNullOrEmpty(ExpressNumber)) { if (string.IsNullOrEmpty(ExpressNumber))
{
return ApiResult.ParamIsNull("请输入快递单号"); return ApiResult.ParamIsNull("请输入快递单号");
} }
...@@ -637,7 +698,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -637,7 +698,8 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetAppletOrderAfterSaleInfo() { public ApiResult GetAppletOrderAfterSaleInfo()
{
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());
...@@ -739,8 +801,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -739,8 +801,8 @@ namespace Mall.WebApi.Controllers.MallBase
{ {
x.Id, x.Id,
x.UserId, x.UserId,
UserName =x.Is_Anonymity==1?"匿名用户": x.UserName, UserName = x.Is_Anonymity == 1 ? "匿名用户" : x.UserName,
UserPhotoPath = x.UserPhotoPath??"", UserPhotoPath = x.UserPhotoPath ?? "",
x.CommentGrade, x.CommentGrade,
CommentGradeName = x.CommentGrade.GetEnumName(), CommentGradeName = x.CommentGrade.GetEnumName(),
x.CommentImgList, x.CommentImgList,
...@@ -758,7 +820,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -758,7 +820,8 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetAppletGoodsCommentStatistics() { public ApiResult GetAppletGoodsCommentStatistics()
{
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());
...@@ -777,9 +840,9 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -777,9 +840,9 @@ namespace Mall.WebApi.Controllers.MallBase
var req = RequestParm; var req = RequestParm;
var userInfo = AppletUserInfo; var userInfo = AppletUserInfo;
RB_Goods_Comment_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Comment_Extend>(req.msg.ToString()); RB_Goods_Comment_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Comment_Extend>(req.msg.ToString());
if ((demodel.OrderDetailId ?? 0) <= 0) if ((demodel.OrderDetailId ?? 0) <= 0)
{ {
return ApiResult.ParamIsNull("请传递订单明细OrderDetailId"); return ApiResult.ParamIsNull("请传递订单明细OrderDetailId");
} }
if ((demodel.GoodsId ?? 0) <= 0) if ((demodel.GoodsId ?? 0) <= 0)
{ {
...@@ -844,8 +907,9 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -844,8 +907,9 @@ namespace Mall.WebApi.Controllers.MallBase
x.OrderNo, x.OrderNo,
x.Grade, x.Grade,
x.GradeDescription, x.GradeDescription,
DetailList = x.OrderDetailList.Select(y => new { DetailList = x.OrderDetailList.Select(y => new
y.Id, {
y.Id,
y.CoverImagePath, y.CoverImagePath,
y.OrderType, y.OrderType,
OrderTypeName = y.OrderType.GetEnumName(), OrderTypeName = y.OrderType.GetEnumName(),
...@@ -879,23 +943,27 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -879,23 +943,27 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult GetOrderExpressInfo() { public ApiResult GetOrderExpressInfo()
{
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 ExpressId = parms.GetInt("ExpressId", 0); int ExpressId = parms.GetInt("ExpressId", 0);
string ExpressNumber = parms.GetStringValue("ExpressNumber"); string ExpressNumber = parms.GetStringValue("ExpressNumber");
if (ExpressId <= 0) { if (ExpressId <= 0)
{
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
} }
if (string.IsNullOrEmpty(ExpressNumber)) { if (string.IsNullOrEmpty(ExpressNumber))
{
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
} }
try try
{ {
var model = orderModule.GerExpressModel(ExpressId); var model = orderModule.GerExpressModel(ExpressId);
if (model == null) { if (model == null)
{
return ApiResult.Failed("快递不存在"); return ApiResult.Failed("快递不存在");
} }
...@@ -906,7 +974,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -906,7 +974,8 @@ namespace Mall.WebApi.Controllers.MallBase
List<Model.Query.ExpressTraces> list = JsonConvert.DeserializeObject<List<Model.Query.ExpressTraces>>(Rparms.GetStringValue("Traces")); List<Model.Query.ExpressTraces> list = JsonConvert.DeserializeObject<List<Model.Query.ExpressTraces>>(Rparms.GetStringValue("Traces"));
return ApiResult.Success("", list); return ApiResult.Success("", list);
} }
else { else
{
return ApiResult.Failed("未能查询到该快递信息"); return ApiResult.Failed("未能查询到该快递信息");
} }
} }
......
...@@ -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