Commit 844387bc authored by 吴春's avatar 吴春

提交会员购买

parent 86fc535b
......@@ -362,6 +362,18 @@ namespace Mall.Common
return new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("sTenpayMemberBuyNotify").Value;
}
}
/// <summary>
/// VIP购买会员微信购买支付成功接口处理地址
/// </summary>
public static string sTenpayVipBuyNotify
{
get
{
return new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("sTenpayVipBuyNotify").Value;
}
}
/// <summary>
/// 网络主管的id,用于新建供应商账户的时候的创建人
......
using Mall.Common.AOP;
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_Distributor_FXGradeCustom
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 背景图片
/// </summary>
public string BackImage
{
get;
set;
}
/// <summary>
/// vip图标
/// </summary>
public string VipICO
{
get;
set;
}
/// <summary>
/// 背景颜色
/// </summary>
public string BackColor { get; set; }
/// <summary>
/// 规则
/// </summary>
public string BottomRule { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public int? Status
{
get;
set;
}
/// <summary>
/// 商户号
/// </summary>
public int TenantId
{
get;
set;
}
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId
{
get;
set;
}
/// <summary>
/// CreateDate
/// </summary>
public DateTime? CreateDate
{
get;
set;
}
/// <summary>
/// UpdateDate
/// </summary>
public DateTime? UpdateDate
{
get;
set;
}
}
}
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.User
{
/// <summary>
/// Vip购买表实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Vip_Buy
{
/// <summary>
/// 编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 单号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// 商户单号
/// </summary>
public string MerchantsNo { get; set; }
/// <summary>
/// 用户id
/// </summary>
public int UserId { get; set; }
/// <summary>
/// 购买等级id
/// </summary>
public int GradeId { get; set; }
/// <summary>
/// 等级名称
/// </summary>
public string GradeName { get; set; }
/// <summary>
/// 支付金额
/// </summary>
public decimal Money { get; set; }
/// <summary>
/// 支付状态 0-未支付,1-已支付
/// </summary>
public int PayState { get; set; }
/// <summary>
/// 支付时间
/// </summary>
public DateTime? PayTime { get; set; }
/// <summary>
/// 支付类型 枚举 1微信 2支付宝 3银行卡
/// </summary>
public int PayWay { get; set; }
/// <summary>
/// 到期时间(同步分销商vip到期时间)
/// </summary>
public DateTime? ExpiryDate { get; set; }
/// <summary>
/// 购买备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 商户号
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateDate { get; set; }
}
}
using Mall.Common.AOP;
using Mall.Model.Entity.User;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Extend.User
{
/// <summary>
/// 粉象返佣等级自定义页面扩展体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Distributor_FXGradeCustom_Extend: RB_Distributor_FXGradeCustom
{
}
}
using Mall.Common.AOP;
using Mall.Model.Entity.User;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Extend.User
{
/// <summary>
/// Vip购买扩展表
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Vip_Buy_Extend : RB_Vip_Buy
{
}
}
......@@ -73,7 +73,10 @@ namespace Mall.Module.User
private readonly MiniProgramMsgModule appletWeChatModule = new MiniProgramMsgModule();
/// <summary>
/// vip购买仓储层
/// </summary>
private readonly RB_Vip_BuyRepository vipBuyRepository = new RB_Vip_BuyRepository();
/// <summary>
/// 初始化分销基础配置
/// </summary>
......@@ -362,7 +365,7 @@ namespace Mall.Module.User
goodsName = goodsName.Substring(0, 10);
}
}
appletWeChatModule.SendOrderSucceedMsg(oldOrder.TenantId, oldOrder.MallBaseId, umodel.OpenId, oldOrder.OrderNo, oldOrder.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"), (oldOrder.Income ?? 0).ToString(), goodsName);
appletWeChatModule.SendOrderSucceedMsg(oldOrder.TenantId, oldOrder.MallBaseId, umodel.OpenId, oldOrder.OrderNo, oldOrder.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"), (oldOrder.Income ?? 0).ToString(), goodsName);
}
return flag;
}
......@@ -373,15 +376,47 @@ namespace Mall.Module.User
/// <param name="OrderId">vip购买单号id</param>
/// <param name="BuyUserId">购买人</param>
/// <returns></returns>
public bool InsertVipBuyCommission(int OrderId, int BuyUserId,int IsFristBuy,int TenantId,int MallBaseId) {
//public bool InsertVipBuyCommission(int OrderId, int BuyUserId,int IsFristBuy,int TenantId,int MallBaseId)
public bool InsertVipBuyCommission(int BuyUserId, int OrderId, string Out_Trade_No, string Transaction_Id, Common.Enum.Goods.OrderPayTypeEnum PayWay, decimal Money, DateTime Time_End)
{
bool flag = false;
try
{
{
int IsFristBuy = 0; int TenantId = 0; int MallBaseId = 0;
var uModel = member_UserRepository.GetEntity(BuyUserId);
if (uModel == null)
{
return false;
}
//判断订单状态是否是待支付
var buyList = vipBuyRepository.GetVipBuyList(new RB_Vip_Buy_Extend { UserId = BuyUserId });
if (buyList.Where(x => x.PayState == 1).Count() == 0)
{
IsFristBuy = 1;
}
var model = buyList.Where(x => x.Id == OrderId).FirstOrDefault();
if (model == null)
{
return false;
}
if (model.PayState != 0)
{
return false;
}
if (model.Money != Money)
{
return false;
}
TenantId = model.TenantId;
MallBaseId = model.MallBaseId;
//获取用户当前分销商
var basicModel = distributor_BasicsRepository.GetList(new RB_Distributor_Basics_Extend() { TenantId = TenantId, MallBaseId = MallBaseId }).FirstOrDefault();
if (basicModel.IsEnableFXGrade == 1)
{
var uModel = member_UserRepository.GetEntity(BuyUserId);
if (uModel == null) { return false; }
//粉象等级列表
var FXList = distributor_FXGradeRepository.GetList(new RB_Distributor_FXGrade_Extend() { TenantId = TenantId, MallBaseId = MallBaseId });
......@@ -392,18 +427,22 @@ namespace Mall.Module.User
//vip购买返佣金额列表
var FXCList = distributor_FXCommissionRepository.GetFXCommissionList(new RB_Distributor_FXCommission_Extend() { TenantId = TenantId, MallBaseId = MallBaseId });
var disModel = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { TenantId = TenantId, MallBaseId = MallBaseId, UserId = BuyUserId, AuditStatus = Common.Enum.User.DistributorAuditStatusEnum.Audited }).FirstOrDefault();
if (disModel != null) {
if (disModel.FXGradeId != VipModel.Id && disModel.FXGradeId != PTModel.Id) {
if (disModel != null)
{
if (disModel.FXGradeId != VipModel.Id && disModel.FXGradeId != PTModel.Id)
{
return false;
}
//求其上级
var pmodel = member_UserRepository.GetEntity(uModel.SuperiorId);
if (pmodel == null) { return false; }
var dispModel = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { TenantId = TenantId, MallBaseId = MallBaseId, UserId = pmodel.Id, AuditStatus = Common.Enum.User.DistributorAuditStatusEnum.Audited }).FirstOrDefault();
if (dispModel != null) {
if (dispModel != null)
{
var pfxModel = FXList.Where(x => x.Id == dispModel.FXGradeId).FirstOrDefault();
if (pfxModel == null) { return false; }
if (pfxModel.Grade < VipModel.Grade) {
if (pfxModel.Grade < VipModel.Grade)
{
return false;//其上级不是vip 直接后面的全部不提
}
//查询出当前用户的所有上级
......@@ -429,7 +468,7 @@ namespace Mall.Module.User
UserId = 0;
break;
}
var d2Model = dlist.Where(x => x.UserId == numodel.Id).FirstOrDefault();
if (d2Model == null)
{
......@@ -563,7 +602,7 @@ namespace Mall.Module.User
UserId = 0;
break;
}
if (FXG2Model.Grade < MaxGrade)
{
//后面的全部不返佣
......@@ -586,16 +625,33 @@ namespace Mall.Module.User
try
{
var trans = vipBuy_CommissionRepository.DbTransaction;
if (gocList.Any())
{
string FUserIds = string.Join(",", gocList.Select(x => x.UserId).Distinct());
//最后再次查询分销商 便于返佣金
var fdlist = distributor_InfoRepository.GetListForSingle(new RB_Distributor_Info_Extend() { UserIds = FUserIds, AuditStatus = Common.Enum.User.DistributorAuditStatusEnum.Audited, TenantId = TenantId, MallBaseId = MallBaseId });
//2020-07-17 Add By:W
Dictionary<string, object> keyValuesVip = new Dictionary<string, object>() {
{ nameof(RB_Vip_Buy.PayTime),Time_End},
{ nameof(RB_Vip_Buy.PayState),1},
{ nameof(RB_Vip_Buy.MerchantsNo),Out_Trade_No}
};
List<WhereHelper> wheresVip = new List<WhereHelper>() {
new WhereHelper{
FiledName=nameof(RB_Vip_Buy.Id),
FiledValue=OrderId,
OperatorEnum=OperatorEnum.Equal
}
};
flag = vipBuyRepository.Update(keyValuesVip, wheresVip, trans);//更新会员购买记录 2020-07-17 Add By: W End
foreach (var qitem in gocList)
{
if (qitem.Commission > 0)
{
bool flag = vipBuy_CommissionRepository.Insert(qitem, trans) > 0;
flag = vipBuy_CommissionRepository.Insert(qitem, trans) > 0;
if (flag)
{
//分销商增加相应的佣金
......
using Mall.Model.Entity.User;
using Mall.Model.Extend.User;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.User
{
/// <summary>
/// vip购买自定义页面页面仓储层
/// </summary>
public class RB_Distributor_FXGradeCustomRepository : RepositoryBase<RB_Distributor_FXGradeCustom>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_Distributor_FXGradeCustom); } }
/// <summary>
/// 自定义页面信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Distributor_FXGradeCustom_Extend> GetGradeCustomPageList(int pageIndex, int pageSize, out long rowCount, RB_Distributor_FXGradeCustom_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Distributor_FXGradeCustom_Extend.Status)}=0");
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Distributor_FXGradeCustom_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Distributor_FXGradeCustom_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.Id > 0)
{
builder.Append($" AND {nameof(RB_Distributor_FXGradeCustom_Extend.Id)}={query.Id}");
}
}
return GetPage<RB_Distributor_FXGradeCustom_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 自定义页面信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Distributor_FXGradeCustom_Extend> GetGradeCustomList(RB_Distributor_FXGradeCustom_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Distributor_FXGradeCustom_Extend.Status)}=0 ");
if (query != null)
{
if (query.Id > 0)
{
builder.Append($" AND {nameof(RB_Distributor_FXGradeCustom_Extend.Id)}={query.Id}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Distributor_FXGradeCustom_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Distributor_FXGradeCustom_Extend.MallBaseId)}={query.MallBaseId}");
}
}
return Get<RB_Distributor_FXGradeCustom_Extend>(builder.ToString()).ToList();
}
}
}
using Mall.Model.Entity.User;
using Mall.Model.Extend.User;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.User
{
public class RB_Vip_BuyRepository:RepositoryBase<RB_Vip_Buy>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_Vip_Buy); } }
/// <summary>
/// Vip购买信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Vip_Buy_Extend> GetVipBuyPageList(int pageIndex, int pageSize, out long rowCount, RB_Vip_Buy_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Vip_Buy_Extend.Status)}=0");
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Vip_Buy_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Vip_Buy_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.Id > 0)
{
builder.Append($" AND {nameof(RB_Vip_Buy_Extend.Id)}={query.Id}");
}
}
return GetPage<RB_Vip_Buy_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// Vip购买信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Vip_Buy_Extend> GetVipBuyList(RB_Vip_Buy_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Vip_Buy_Extend.Status)}=0 ");
if (query != null)
{
if (query.Id > 0)
{
builder.Append($" AND {nameof(RB_Vip_Buy_Extend.Id)}={query.Id}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Vip_Buy_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Vip_Buy_Extend.MallBaseId)}={query.MallBaseId}");
}
}
return Get<RB_Vip_Buy_Extend>(builder.ToString()).ToList();
}
}
}
......@@ -146,6 +146,58 @@ namespace Mall.WebApi.Controllers.AppletWeChat
/// <summary>
/// 会员购买支付回调
/// </summary>
/// <returns></returns>
[HttpGet]
[HttpPost]
public string VipBuyNotify()
{
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 修改会员购买支付信息
userCommonModule.InsertVipBuyCommission(UserId, OrderId, sOrderNo, TransactionId, Common.Enum.Goods.OrderPayTypeEnum.WeChatPay, dPaid, PayDate);
#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>
......
......@@ -47,14 +47,14 @@ namespace Mall.WebApi.Controllers.AppletWeChat
private Module.User.MiniProgramModule programModule = new Module.User.MiniProgramModule();
private readonly UserModule userModule = new UserModule();
private readonly RechargeModule rechargeModule = new RechargeModule();
private readonly UserVipModule userVipModule = new UserVipModule();
#region 商品支付
/// <summary>
/// 微信支付
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
[HttpPost]
public ApiResult GetPayInfo()
{
var request = RequestParm;
......@@ -286,6 +286,97 @@ namespace Mall.WebApi.Controllers.AppletWeChat
#region 会员vip购买
/// <summary>
/// 微信支付
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public ApiResult GetVIPBuyPayInfo()
{
var request = RequestParm;
var userInfo = AppletUserInfo;
if (userInfo == null)
{
return ApiResult.Failed("请登录");
}
RB_Vip_Buy_Extend demodel = JsonConvert.DeserializeObject<RB_Vip_Buy_Extend>(request.msg.ToString());
string sPayInfo = string.Empty;
if (demodel.PayWay == 0)
{
return ApiResult.Failed("请选择支付方式");
}
//查询充值信息
if (demodel.GradeId == 0)
{
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 = "VIP会员购买";
var rechargeRulesModel = userModule.GetFXDistributorGradeList(new RB_Distributor_FXGrade_Extend { MallBaseId = userInfo.MallBaseId, TenantId = userInfo.TenantId, Id = demodel.GradeId }).FirstOrDefault();
if (rechargeRulesModel == null)
{
return ApiResult.Failed("您选择的VIP等级不存在");
}
if (userModel.MemberGrade >= rechargeRulesModel.Grade)
{
return ApiResult.Failed("购买会员等级低于您当前会员等级");
}
if (rechargeRulesModel.IsCanBuy == 1)
{
if (rechargeRulesModel.BuyMoney != demodel.Money)
{
return ApiResult.Failed("VIP购买支付金额有误,请稍后重试");
}
demodel.GradeName = rechargeRulesModel.GradeName;
}
else
{
return ApiResult.Failed("当前会员等级不能购买");
}
Random R = new Random();
int Rstr = R.Next(111, 999);
demodel.OrderNo = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Rstr;
demodel.UserId = userInfo.UserId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.TenantId = userInfo.TenantId;
demodel.PayState = 0;
demodel.Status = 0;
demodel.CreateDate = DateTime.Now;
//新增充值记录
int memberBuyId = userVipModule.AddVipBuy(demodel);
if (memberBuyId == 0)
{
return ApiResult.Failed("购买VIP会员失败");
}
string sOrderNo = (System.DateTime.Now.ToString("yyyyMMddHHmmssfff")) + memberBuyId;
//根据订单号获取微信支付配置信息
RB_MiniProgram_Extend miniProgram = new RB_MiniProgram_Extend();
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.BuyMoney), userInfo.UserId.ToString(), userModel.OpenId, Config.sTenpayVipBuyNotify, miniProgram, _accessor, System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString());
break;
default:
break;
}
return ApiResult.Success("", sPayInfo);
}
#endregion
#region 测试接口
......@@ -319,7 +410,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
RefundNumber = RefundOrderNo
};
string sOrderNo = (System.DateTime.Now.ToString("yyyyMMddHHmmssfff")) + "1001";
App_Code.PayUtil.GetMinUnifiedOrder(sOrderNo, "测试",Convert.ToDecimal(0.05), "1","", Config.sTenpayNotify, miniProgram, _accessor, System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString());
App_Code.PayUtil.GetMinUnifiedOrder(sOrderNo, "测试", Convert.ToDecimal(0.05), "1", "", Config.sTenpayNotify, miniProgram, _accessor, System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString());
return ApiResult.Success("");
}
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Mall.Common.API;
using Mall.Model.Extend.User;
using Mall.Module.User;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
namespace Mall.WebApi.Controllers.User
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class UserVipController : BaseController
{
private readonly IHttpContextAccessor _accessor;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="accessor"></param>
public UserVipController(IHttpContextAccessor accessor)
{
_accessor = accessor;
}
private readonly UserVipModule userVipModule = new UserVipModule();
#region VIP购买自定义页面设置
/// <summary>
/// 获取购买vip自定义页面设置
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetFXGradeCustom()
{
var parms = RequestParm;
RB_Distributor_FXGradeCustom_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_FXGradeCustom_Extend>(parms.msg.ToString());
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
var model = userVipModule.GetGradeCustomList(demodel).FirstOrDefault();
if (model == null)
{
model = new RB_Distributor_FXGradeCustom_Extend();
}
return ApiResult.Success("", model);
}
/// <summary>
/// 新增修改购买vip自定义页面设置
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetFXGradeCustom()
{
var req = RequestParm;
RB_Distributor_FXGradeCustom_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_FXGradeCustom_Extend>(req.msg.ToString());
if (string.IsNullOrWhiteSpace(demodel.BottomRule))
{
return ApiResult.Failed("活动规则不能为空");
}
if (string.IsNullOrWhiteSpace(demodel.BackImage))
{
return ApiResult.Failed("背景图片不能为空");
}
if (string.IsNullOrWhiteSpace(demodel.VipICO))
{
return ApiResult.Failed("VIP图标不能为空");
}
if (string.IsNullOrWhiteSpace(demodel.BackColor))
{
return ApiResult.Failed("背景颜色不能为空");
}
if (demodel.Id == 0)
{
demodel.TenantId = Convert.ToInt32(req.uid);
demodel.MallBaseId = req.MallBaseId;
demodel.CreateDate = System.DateTime.Now;
}
demodel.Status = 0;
demodel.UpdateDate = System.DateTime.Now;
bool flag = userVipModule.AddOrUpdateFXGradeCustom(demodel);
if (flag)
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed();
}
}
#endregion
}
}
\ No newline at end of file
......@@ -35,6 +35,7 @@
"sTenpayNotify": "http://mallapi.oytour.com/api/WeChatNotify/Notify", //微信商品回调地址
"sTenpayRechargeNotify": "http://mallapi.oytour.com/api/WeChatNotify/RechargeNotify", //微信充值回调地址
"sTenpayMemberBuyNotify": "http://mallapi.oytour.com/api/WeChatNotify/MemberBuyNotify", //微信充值回调地址
"sTenpayVipBuyNotify": "http://mallapi.oytour.com/api/WeChatNotify/VipBuyNotify", //微信购买VIP回调地址
"NetworkDirector": 1756, //网络主管的id,用于新建供应商账户的时候的创建人
"RB_Branch_Id": 49, //所属公司id
"IncomeDirector": 1756, //财务收入创建人
......
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