Commit 10114c2f authored by 吴春's avatar 吴春

提交代码

parent ed60c2a7
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Common.Enum.MarketingCenter;
using Mall.Common.Enum.User;
using VT.FW.DB;
......@@ -11,7 +12,7 @@ namespace Mall.Model.Entity.User
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Member_DepositMerge
public class RB_Member_DepositBalance
{
/// <summary>
/// Id
......@@ -36,11 +37,7 @@ namespace Mall.Model.Entity.User
/// 用户id
/// </summary>
public int? UserId { get; set; }
/// <summary>
/// 储值卡id
/// </summary>
public int DepositId { get; set; }
/// <summary>
/// 储值卡名称
......@@ -61,10 +58,35 @@ namespace Mall.Model.Entity.User
/// </summary>
public decimal DepositPrice { get; set; }
/// <summary>
/// 类型 1增加 2减少
/// </summary>
public RecordTypeEnum? Type
{
get;
set;
}
/// <summary>
/// 使用之前金额
/// </summary>
public decimal? Balance
{
get;
set;
}
/// <summary>
/// 使用之后金额
/// </summary>
public decimal? Surplus
{
get;
set;
}
/// <summary>
/// 1-合并记录,2-赠送记录
/// 1-合并记录,2-赠送记录,3-消费
/// </summary>
public int MergeType { get; set; }
......@@ -77,6 +99,12 @@ namespace Mall.Model.Entity.User
get;
set;
}
/// <summary>
/// 状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 商户号id
/// </summary>
......@@ -98,6 +126,6 @@ namespace Mall.Model.Entity.User
/// 备注
/// </summary>
public string Remarks { get; set; }
}
}
......@@ -18,7 +18,22 @@ namespace Mall.Model.Entity.User
get;
set;
}
/// <summary>
/// 商户号id
/// </summary>
public int TenantId
{
get;
set;
}
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId
{
get;
set;
}
/// <summary>
/// 订单号
/// </summary>
......@@ -51,6 +66,12 @@ namespace Mall.Model.Entity.User
/// </summary>
public decimal DepositPrice { get; set; }
/// <summary>
/// 储值卡剩余金额
/// </summary>
public decimal SurplusPrice { get; set; }
/// <summary>
/// 有效天数
/// </summary>
......@@ -59,7 +80,7 @@ namespace Mall.Model.Entity.User
/// <summary>
/// 储值卡过期时间
/// </summary>
public DateTime EndTime { get; set; }
public DateTime? EndTime { get; set; }
/// <summary>
/// 状态 0-未支付 1-已支付
/// </summary>
......@@ -96,22 +117,8 @@ namespace Mall.Model.Entity.User
get;
set;
}
/// <summary>
/// 商户号id
/// </summary>
public int TenantId
{
get;
set;
}
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId
{
get;
set;
}
/// <summary>
/// 备注
......
......@@ -101,5 +101,7 @@ namespace Mall.Model.Extend.MarketingCenter
/// 针对口令红包,口令关键字
/// </summary>
public string KeyWord { get; set; }
}
}
......@@ -5,7 +5,7 @@ using Mall.Model.Entity.User;
namespace Mall.Model.Extend.User
{
public class RB_Member_DepositMerge_Extend: RB_Member_DepositMerge
public class RB_Member_DepositBalance_Extend: RB_Member_DepositBalance
{
}
......
......@@ -7,6 +7,14 @@ namespace Mall.Model.Extend.User
{
public class RB_Member_DepositBuy_Extend : RB_Member_DepositBuy
{
/// <summary>
/// /编号ids
/// </summary>
public string Ids { get; set; }
/// <summary>
/// 是否过期 >0 查询没过期的
/// </summary>
public int IsOver { get; set; }
}
}
......@@ -38,6 +38,8 @@ namespace Mall.Module.MarketingCenter
private readonly RB_Member_DepositBuyRepository member_DepositBuyRepository = new RB_Member_DepositBuyRepository();
private readonly RB_Member_DepositBalanceRepository memberDepositMergeRepository = new RB_Member_DepositBalanceRepository();
#region 卡券列表
/// <summary>
/// 卡券信息列表
......@@ -1148,8 +1150,72 @@ namespace Mall.Module.MarketingCenter
}
/// <summary>
/// 更新储值卡领取状态
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool UpdateSendStatus(RB_Member_DepositBuy model)
{
//更新订单信息
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Member_DepositBuy.SendStatus),2},
{ nameof(RB_Member_DepositBuy.SendTime),System.DateTime.Now.AddDays(3)}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Member_DepositBuy.Id),
FiledValue=model.Id,
OperatorEnum=OperatorEnum.Equal
}
};
return member_DepositBuyRepository.Update(keyValues, wheres);//更新储值卡赠送记录
}
/// <summary>
/// 领取储值卡
/// </summary>
/// <param name="oldModel"></param>
/// <param name="newModel"></param>
/// <returns></returns>
public bool ReceiveDeposit(RB_Member_DepositBuy oldModel, RB_Member_DepositBuy newModel, List<RB_Member_DepositBalance> mergeList)
{
bool flag = false;
var trans = member_DepositBuyRepository.DbTransaction;
try
{
//更新订单信息
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Member_DepositBuy.SendStatus),1},
{ nameof(RB_Member_DepositBuy.SurplusPrice),0}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Member_DepositBuy.Id),
FiledValue=oldModel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
flag = member_DepositBuyRepository.Update(keyValues, wheres, trans);//更新储值卡赠送记录
//新增一条储值卡信息
int newId = member_DepositBuyRepository.Insert(newModel, trans);
mergeList.ForEach(x => x.NewDepositBuyId = newId);
//储值卡流水记录
memberDepositMergeRepository.InsertBatch(mergeList, trans);
member_DepositBuyRepository.DBSession.Commit();
return flag;
}
catch (Exception ex)
{
LogHelper.Write(ex, "ReceiveDeposit");
member_DepositBuyRepository.DBSession.Rollback("ReceiveDeposit");
return false;
}
}
/// <summary>
/// 新增充值金额
......@@ -1188,6 +1254,7 @@ namespace Mall.Module.MarketingCenter
{ nameof(RB_Member_DepositBuy.Status),1},
{ nameof(RB_Member_DepositBuy.Out_Trade_No),Out_Trade_No},
{ nameof(RB_Member_DepositBuy.PayTime),Time_End},
{ nameof(RB_Member_DepositBuy.EndTime),System.DateTime.Now.AddDays(model.IndateDay)},
{ nameof(RB_Member_DepositBuy.Transaction_Id),Transaction_Id}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
......@@ -1198,6 +1265,30 @@ namespace Mall.Module.MarketingCenter
}
};
flag = member_DepositBuyRepository.Update(keyValues, wheres);//更新储值卡购买记录
if (flag)
{
Model.Entity.User.RB_Member_DepositBalance mergeIncomeModel = new Model.Entity.User.RB_Member_DepositBalance()
{
Id = 0,
OldDepositBuyId = model.Id,
NewDepositBuyId = 0,
UserId = model.UserId,
Name = model.Name,
CouponIco = model.CouponIco,
SalePrice = model.SalePrice,
DepositPrice = model.DepositPrice,
MergeType = 3,
CreateDate = System.DateTime.Now,
Status = 0,
TenantId = model.TenantId,
MallBaseId = model.MallBaseId,
Surplus = model.DepositPrice,
Balance = model.DepositPrice,
Type = Common.Enum.MarketingCenter.RecordTypeEnum.Income,
Remarks = "购买储值卡"
};
memberDepositMergeRepository.Insert(mergeIncomeModel);
}
}
catch (Exception ex)
{
......@@ -1210,7 +1301,73 @@ namespace Mall.Module.MarketingCenter
#endregion
/// <summary>
/// 合并储值卡
/// </summary>
/// <param name="oldModel"></param>
/// <param name="newModel"></param>
/// <returns></returns>
public bool MergeDeposit(List<RB_Member_DepositBuy_Extend> depositBuyList, List<RB_Member_DepositBalance> mergeList)
{
bool flag = false;
var trans = member_DepositBuyRepository.DbTransaction;
try
{
foreach (var item in depositBuyList)
{
//更新订单信息
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Member_DepositBuy.SurplusPrice),item.SurplusPrice},
{ nameof(RB_Member_DepositBuy.Remarks),item.Remarks}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Member_DepositBuy.Id),
FiledValue=item.Id,
OperatorEnum=OperatorEnum.Equal
}
};
flag = member_DepositBuyRepository.Update(keyValues, wheres, trans);//更新储值卡赠送记录
}
memberDepositMergeRepository.InsertBatch(mergeList, trans);
member_DepositBuyRepository.DBSession.Commit();
return flag;
}
catch (Exception ex)
{
LogHelper.Write(ex, "MergeDeposit");
member_DepositBuyRepository.DBSession.Rollback("MergeDeposit");
return false;
}
}
}
/// <summary>
/// 储值卡余额信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Member_DepositBalance_Extend> GetDepositBalancePageList(int pageIndex, int pageSize, out long rowCount, RB_Member_DepositBalance_Extend query)
{
return memberDepositMergeRepository.GetDepositBalancePageList(pageIndex, pageSize, out rowCount, query);
}
/// <summary>
/// 储值卡余额信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Member_DepositBalance_Extend> GetDepositBalanceList(RB_Member_DepositBalance_Extend query)
{
return memberDepositMergeRepository.GetDepositBalanceList(query);
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mall.Model.Entity.User;
using Mall.Model.Extend.User;
namespace Mall.Repository.MarketingCenter
{
/// <summary>
/// 储值卡合并/赠送仓储层
/// </summary>
public class RB_Member_DepositBalanceRepository : BaseRepository<RB_Member_DepositBalance>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_Member_DepositBalance); } }
/// <summary>
/// 储值卡余额信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Member_DepositBalance_Extend> GetDepositBalancePageList(int pageIndex, int pageSize, out long rowCount, RB_Member_DepositBalance_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Member_DepositBalance_Extend.Status)}=0");
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.TenantId)}={query.TenantId}");
}
if (query.MergeType > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.MergeType)}={query.MergeType}");
}
if (query.MallBaseId > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.Name))
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.Name)} like '%{query.Name}%'");
}
if (query.Type > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.Type)}={query.Type}");
}
if (query.OldDepositBuyId > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.OldDepositBuyId)}={query.OldDepositBuyId}");
}
if (query.UserId > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.UserId)}={query.UserId}");
}
}
return GetPage<RB_Member_DepositBalance_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 储值卡余额信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Member_DepositBalance_Extend> GetDepositBalanceList(RB_Member_DepositBalance_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Member_DepositBalance_Extend.Status)}=0 ");
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.TenantId)}={query.TenantId}");
}
if (query.Id > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.Id)}={query.Id}");
}
if (query.MergeType > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.MergeType)}={query.MergeType}");
}
if (query.Type > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.Type)}={query.Type}");
}
if (query.MallBaseId > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.Name))
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.Name)} like '%{query.Name}%'");
}
if (query.OldDepositBuyId > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBalance_Extend.OldDepositBuyId)}={query.OldDepositBuyId}");
}
}
return Get<RB_Member_DepositBalance_Extend>(builder.ToString()).ToList();
}
}
}
......@@ -79,11 +79,23 @@ namespace Mall.Repository.User
{
builder.Append($" AND {nameof(RB_Member_DepositBuy.Status)}={query.Status}");
}
if (!string.IsNullOrWhiteSpace(query.Ids))
{
builder.Append($" AND {nameof(RB_Member_DepositBuy.Id)} in({query.Ids})");
}
if (query.UserId > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBuy.UserId)}={query.UserId}");
}
if (query.Id > 0)
{
builder.Append($" AND {nameof(RB_Member_DepositBuy.Id)}={query.Id}");
}
if (query.IsOver > 0)
{
builder.Append($" AND a.{nameof(RB_Member_DepositBuy.EndTime)}> NOW()");
}
// where += $" AND a.{nameof(RB_Member_DiscountCoupon_Extend.EndDate)}<NOW() AND a.{nameof(RB_Member_DiscountCoupon_Extend.UseState)}=0";
}
return Get<RB_Member_DepositBuy_Extend>(builder.ToString()).ToList();
}
......
......@@ -590,6 +590,17 @@ namespace Mall.WebApi.Controllers.AppletWeChat
pointModule.UpdatePointOrder(demodel);
return ApiResult.Success("");
}
public ApiResult UpdateDepositBuy()
{
var request = RequestParm;
RB_Member_DepositBuy demodel = JsonConvert.DeserializeObject<RB_Member_DepositBuy>(request.msg.ToString());
couponModule.UpdateDepositBuy(demodel.UserId ?? 0, demodel.Id, demodel.OrderNo, demodel.Out_Trade_No, Common.Enum.Goods.OrderPayTypeEnum.WeChatPay, "", demodel.SalePrice, System.DateTime.Now);
// couponModule.UpdateDepositBuy(UserId, OrderId, sOrderNo, TransactionId, Common.Enum.Goods.OrderPayTypeEnum.WeChatPay, PayType, dPaid, PayDate);
return ApiResult.Success("");
}
#endregion
......@@ -709,7 +720,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
//查询充值信息
if (demodel.SalePrice <= 0)
{
return ApiResult.Failed("请输入充值金额");
return ApiResult.Failed("请输入购买金额");
}
//查询用户的openId
var userModel = userModule.GetMemberUserEntityModule(new RB_Member_User_Extend { MallBaseId = userInfo.MallBaseId, TenantId = userInfo.TenantId, Id = userInfo.UserId });
......@@ -718,11 +729,11 @@ namespace Mall.WebApi.Controllers.AppletWeChat
{
return ApiResult.Failed("用户不存在");
}
string payGoodsName = "余额充值";
string payGoodsName = "储值卡购买";
if (demodel.DepositId > 0)
{
var rechargeRulesModel = couponModule.GetDepositList(new Model.Extend.MarketingCenter.RB_Deposit_Extend { MallBaseId = userInfo.MallBaseId, TenantId = userInfo.TenantId, ID = demodel.DepositId }).FirstOrDefault();
var rechargeRulesModel = couponModule.GetDepositList(new Model.Extend.MarketingCenter.RB_Deposit_Extend { MallBaseId = userInfo.MallBaseId, TenantId = userInfo.TenantId, ID = demodel.DepositId, PickupCenter = 1 }).FirstOrDefault();
if (rechargeRulesModel == null)
{
return ApiResult.Failed("选择的储值卡不存在");
......@@ -732,6 +743,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
return ApiResult.Failed("支付金额与设定的金额不符");
}
demodel.DepositPrice = rechargeRulesModel.DepositPrice;
demodel.SurplusPrice = rechargeRulesModel.DepositPrice;
demodel.Name = rechargeRulesModel.Name;
demodel.CouponIco = rechargeRulesModel.CouponIco;
demodel.IndateDay = rechargeRulesModel.IndateDay;
......@@ -765,7 +777,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
switch ((int)demodel.PayWay)
{
case 1://微信支付
sPayInfo = App_Code.PayUtil.GetMinUnifiedOrder(sOrderNo, payGoodsName, Convert.ToDecimal(demodel.SalePrice), 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());
sPayInfo = App_Code.PayUtil.GetMinUnifiedOrder(sOrderNo, payGoodsName, Convert.ToDecimal(demodel.SalePrice), userInfo.UserId.ToString(), userModel.OpenId, (Config.sTenpayDepositNotify + "/" + 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;
default:
break;
......
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