Commit 8073f650 authored by liudong1993's avatar liudong1993

解决冲突

parents b890eb68 becbf729
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.BaseSetUp
{
/// <summary>
/// 分类包邮规则
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_FreeShipping
{
public int ID { get; set; }
/// <summary>
/// 商户id
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId { get; set; }
public int Status { get; set; }
public DateTime CreateDate { get; set; }
public DateTime UpdateDate { get; set; }
/// <summary>
/// 单品满件包邮
/// </summary>
public int? FullNumPinkage
{
get;
set;
}
/// <summary>
/// 单品满额包邮
/// </summary>
public decimal? FullMoneyPinkage
{
get;
set;
}
/// <summary>
/// 是否启用全局包邮
/// </summary>
public int IsEnable { get; set; }
}
}
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.BaseSetUp
{
/// <summary>
/// 分类包邮分类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_FreeShippingCategory
{
public int ID { get; set; }
/// <summary>
/// 商户id
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId { get; set; }
public int Status { get; set; }
public DateTime CreateDate { get; set; }
public DateTime UpdateDate { get; set; }
/// <summary>
/// 分类id
/// </summary>
public int CategoryId { get; set; }
/// <summary>
/// 包邮规则id
/// </summary>
public int FreeShippingId { get; set; }
}
}
......@@ -355,5 +355,9 @@ namespace Mall.Model.Entity.BaseSetUp
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 是否开启全局分类包邮规则
/// </summary>
public int IsFreeShipping { get; set; }
}
}
......@@ -130,5 +130,11 @@ namespace Mall.Model.Entity.Finance
{
get; set;
}
///// <summary>
///// 供应商id
///// </summary>
//public int SupplierId { get; set; }
}
}
......@@ -87,9 +87,6 @@ namespace Mall.Model.Entity.User
public int Introducer { get; set; }
/// <summary>
/// 供应商关联人返佣比例
/// </summary>
public decimal CommissionRate { get; set; }
}
}
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.User
{
/// <summary>
/// 供应商
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_SupplierCommission
{
public int ID { get; set; }
/// <summary>
/// 供应商id
/// </summary>
public int SupplierId { 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;
}
/// <summary>
/// 返佣类型1-10
/// </summary>
public int CommissionType { get; set; }
/// <summary>
/// 返佣比例
/// </summary>
public decimal CommissionRate { get; set; }
}
}
using Mall.Common.AOP;
using Mall.Model.Entity.BaseSetUp;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Extend.BaseSetUp
{
/// <summary>
/// 分类包邮扩展表
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_FreeShippingCategory_Extend : RB_FreeShippingCategory
{
/// <summary>
/// 分类名称
/// </summary>
public string CategoryName { get; set; }
public string FreeShippingIds { get; set; }
/// <summary>
/// 分类id
/// </summary>
public string CategoryIds { get; set; }
}
}
using Mall.Common.AOP;
using Mall.Model.Entity.BaseSetUp;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Extend.BaseSetUp
{
/// <summary>
/// 分类包邮规则
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_FreeShipping_Extend : RB_FreeShipping
{
/// <summary>
/// 分类列表
/// </summary>
public List<RB_FreeShippingCategory_Extend> CategoryList { get; set; }
}
}
......@@ -32,6 +32,11 @@ namespace Mall.Model.Extend.MarketingCenter
/// 发放数量
/// </summary>
public int GrantNum { get; set; }
/// <summary>
/// 触发事件,1-分享,2-购买并付款,3-新人领券
/// </summary>
public int TriggerType { get; set; }
/// <summary>
/// 优惠卷ids
/// </summary>
......
......@@ -260,6 +260,21 @@ namespace Mall.Model.Extend.MarketingCenter
/// 轮播图
/// </summary>
public List<bannerDetailItem> banners { get; set; }
/// <summary>
/// 圆角
/// </summary>
public string radius { get; set; }
/// <summary>
/// 上下边距
/// </summary>
public string topAndBottom { get; set; }
/// <summary>
/// 左右边距
/// </summary>
public string leftAndRight { get; set; }
}
/// <summary>
......
......@@ -25,5 +25,15 @@ namespace Mall.Model.Extend.Product
/// 是否可以分享
/// </summary>
public int? IsForeignShare { get; set; }
/// <summary>
/// 父级分类编号
/// </summary>
public int ParentId { get; set; }
/// <summary>
/// 商品层级
/// </summary>
public int Tier { get; set; }
}
}
......@@ -69,6 +69,12 @@ namespace Mall.Model.Extend.Product
/// 分类ids
/// </summary>
public string CategoryIds { get; set; }
/// <summary>
/// 商品分类Id【HK0803新增】
/// </summary>
public int CategoryId { get; set; }
/// <summary>
/// 商品ids
/// </summary>
......
......@@ -21,5 +21,7 @@ namespace Mall.Model.Extend.User
/// 介绍人名称
/// </summary>
public string IntroducerName { get; set; }
}
public List<RB_SupplierCommission> SupplierCommissionList { get; set; }
}
}
This diff is collapsed.
......@@ -6,7 +6,9 @@ using Mall.Model.Extend.User;
using Mall.Model.Query;
using Mall.Repository;
using Mall.Repository.MarketingCenter;
using Mall.Repository.User;
using MySqlX.XDevAPI.Relational;
using NPOI.SS.Formula.Functions;
using Org.BouncyCastle.Crypto.Tls;
using System;
using System.Collections.Generic;
......@@ -27,7 +29,10 @@ namespace Mall.Module.MarketingCenter
private RB_Coupon_SelfMotionRepository selfMotionRepository = new RB_Coupon_SelfMotionRepository();
/// <summary>
/// 会员信息
/// </summary>
private readonly RB_Member_UserRepository member_UserRepository = new RB_Member_UserRepository();
......@@ -872,5 +877,117 @@ namespace Mall.Module.MarketingCenter
}
#endregion
#region 自动发放给会员优惠券
/// <summary>
/// 自动给会员发放优惠券
/// </summary>
/// <param name="userId"></param>
/// <param name="getType">1-分享,2-购买并付款,3-新人领券</param>
/// <returns></returns>
public bool AutoCoupon(RB_DiscountCoupon_Extend model)
{
//先查找会员是否存在
var memberUserModel = member_UserRepository.GetEntity(model.UserId);
if (memberUserModel == null)
{
return false;
}
//根据发放类型获取对应的优惠券信息
var couponList = discountCouponRepository.GetSelfmotionCouponList(model);
if (couponList != null && couponList.Any(x => x.TotalNum == -1 || ((x.TotalNum - x.ReceiveNum) > 0)))//存在满足条件的优惠券可以发放
{
bool isReceive = false;
//查询已发放的优惠券信息
var memberCouponList = memberCouponRepository.GetAutoMemberCouponPageList(new RB_Member_DiscountCoupon_Extend { UserId = model.UserId, GetType = model.TriggerType, TenantId = model.TenantId, MallBaseId = model.MallBaseId });
foreach (var item in couponList.Where(x => x.TotalNum == -1 || ((x.TotalNum - x.ReceiveNum) > 0)))//判断当前优惠券是否已超过领取数
{
int membercouponCoun = memberCouponList.Where(x => x.CouponId == item.ID).Count();
if (!isReceive && membercouponCoun < item.GrantNum)//此次没有领取,并且当前优惠券没有超过领取数量
{
var trans = memberCouponRepository.DbTransaction;
try
{
RB_Member_DiscountCoupon nowMemberCoupon = new RB_Member_DiscountCoupon
{
Id = 0,
TenantId = item.TenantId,
MallBaseId = item.MallBaseId,
Status = 0,
CreateDate = System.DateTime.Now,
UserId = item.UserId,
Description = item.TriggerType == 1 ? "分享自动发放优惠券" : (item.TriggerType == 2 ? "购买并付款自动发放优惠券" : "新人领劵自动发放优惠券"),
Remarks = item.TriggerType == 1 ? "分享" : (item.TriggerType == 2 ? "购买并付款" : "新人领劵"),
UseState = 0,
CouponId = item.ID,
StartDate = item.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon ? System.DateTime.Now : item.StartDate,
EndDate = item.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon ? System.DateTime.Now.AddDays(item.IndateDay) : item.EndDate,
GetType = item.TriggerType,
UseType = item.UseType,
MinConsumePrice = item.MinConsumePrice,
DiscountsPrice = item.DiscountsPrice,
MaxDiscountsPrice = item.MaxDiscountsPrice,
CouponType = item.CouponType,
Name = item.Name
};
isReceive = memberCouponRepository.Insert(nowMemberCoupon, trans) > 0;
if (isReceive)//更新当前优惠券的领取数量
{
Dictionary<string, object> cols1;
if (item.TotalNum != -1)
{
cols1 = new Dictionary<string, object>()
{
{ nameof(RB_DiscountCoupon.ReceiveNum),item.ReceiveNum+1},
{ nameof(RB_DiscountCoupon.TotalNum),item.TotalNum - 1},
{ nameof(RB_DiscountCoupon.UpdateDate),DateTime.Now},
};
}
else
{
cols1 = new Dictionary<string, object>()
{
{ nameof(RB_DiscountCoupon.ReceiveNum),item.ReceiveNum+1},
{ nameof(RB_DiscountCoupon.UpdateDate),DateTime.Now},
};
}
List<WhereHelper> wheres1 = new List<WhereHelper>()
{
new WhereHelper(){
FiledName=nameof(RB_DiscountCoupon.ID),
FiledValue=item.ID,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_DiscountCoupon.TenantId),
FiledValue=item.TenantId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_DiscountCoupon.MallBaseId),
FiledValue=item.MallBaseId,
OperatorEnum=OperatorEnum.Equal
}
};
discountCouponRepository.Update(cols1, wheres1, trans);
}
memberCouponRepository.DBSession.Commit();
return true;
}
catch (Exception ex)
{
LogHelper.Write(ex, "AutoCoupon");
memberCouponRepository.DBSession.Rollback("AutoCoupon");
return false;
}
}
}
}
return true;
}
#endregion
}
}
......@@ -3336,6 +3336,118 @@ namespace Mall.Module.Product
return list;
}
/// <summary>
/// 获取分类=>商品列表
/// </summary>
/// <param name="demodel">查询条件</param>
/// <returns></returns>
public List<object> GetGoodsListModule(RB_Goods_Extend demodel)
{
List<object> resultList = new List<object>();
List<RB_Product_Category_Extend> categoryList = product_CategoryRepository.GetList(new RB_Product_Category_Extend() { MallBaseId = demodel.MallBaseId, TenantId = demodel.TenantId });
var goodsList = goodsRepository.GetList(demodel);
if (categoryList!=null&& categoryList.Count>0)
{
var firstCategoryList = categoryList.Where(qitem=>qitem.Tier==1).ToList();
foreach (var firstItem in firstCategoryList)
{
var rootGoodsList = goodsList.Where(qitem => qitem.CategoryId == firstItem.Id).ToList();
var secondCategoryList = categoryList.Where(qitem => qitem.Tier == 2 && qitem.ParentId == firstItem.Id).ToList();
List<object> secondResultList = new List<object>();
foreach (var secondItem in secondCategoryList)
{
var secondGoodList = goodsList.Where(qitem => qitem.CategoryId == secondItem.Id).ToList();
List<object> thirdResultList = new List<object>();
var thirdCategoryList = categoryList.Where(qitem => qitem.Tier == 3 && qitem.ParentId == secondItem.Id).ToList();
foreach (var thirdItem in thirdCategoryList)
{
var thirdGoodList = goodsList.Where(qitem => qitem.CategoryId == thirdItem.Id).ToList();
thirdResultList.Add(new
{
PageId = thirdItem.Id + 100000,
PageName = thirdItem.Name,
PageUrl = "/pages/cats/cats?cat_id=" + thirdItem.Id,
PageType = Common.Enum.MallBase.PageTypeEnum.DiyPage,
IsParameter = 0,
TipText = "",
SelfPageName = thirdItem.Name,
ParameterValue = "",
SubMenuList = thirdGoodList.Select(qitem => new
{
PageId = qitem.Id + 100000,
PageName = qitem.Name,
PageUrl = "/pages/goods/goods?id=" + qitem.Id,
PageType = Common.Enum.MallBase.PageTypeEnum.DiyPage,
IsParameter = 0,
TipText = "",
SelfPageName = qitem.Name,
ParameterValue = "",
})
});
}
if (secondGoodList != null && secondGoodList.Count > 0)
{
thirdResultList.AddRange(secondGoodList.Select(qitem => new
{
PageId = qitem.Id + 100000,
PageName = qitem.Name,
PageUrl = "/pages/goods/goods?id=" + qitem.Id,
PageType = Common.Enum.MallBase.PageTypeEnum.DiyPage,
IsParameter = 0,
TipText = "",
SelfPageName = qitem.Name,
ParameterValue = "",
}));
}
secondResultList.Add(new
{
PageId = secondItem.Id + 100000,
PageName = secondItem.Name,
PageUrl = "/pages/cats/cats?cat_id=" + secondItem.Id,
PageType = Common.Enum.MallBase.PageTypeEnum.DiyPage,
IsParameter = 0,
TipText = "",
SelfPageName = secondItem.Name,
ParameterValue = "",
SubMenuList = thirdResultList,
});
}
if (rootGoodsList != null && rootGoodsList.Count > 0)
{
secondResultList.AddRange(rootGoodsList.Select(qitem => new
{
PageId = qitem.Id + 100000,
PageName = qitem.Name,
PageUrl = "/pages/goods/goods?id=" + qitem.Id,
PageType = Common.Enum.MallBase.PageTypeEnum.DiyPage,
IsParameter = 0,
TipText = "",
SelfPageName = qitem.Name,
ParameterValue = "",
}));
}
resultList.Add(new
{
PageId = firstItem.Id + 100000,
PageName = firstItem.Name,
PageUrl = "/pages/cats/cats?cat_id=" + firstItem.Id,
PageType = Common.Enum.MallBase.PageTypeEnum.DiyPage,
IsParameter = 0,
TipText = "",
SelfPageName = firstItem.Name,
ParameterValue = "",
SubMenuList = secondResultList,
});
}
}
return resultList;
}
/// <summary>
/// 首页查询使用
/// </summary>
......
......@@ -16,7 +16,7 @@ namespace Mall.Module.User
public class SupplierModule
{
private RB_SupplierRepository supplierRepository = new RB_SupplierRepository();
private RB_SupplierCommissionRepository supplierCommissionRepository = new RB_SupplierCommissionRepository();
private RB_ClientBankAccountRepository clientBankAccountRepository = new RB_ClientBankAccountRepository();
/// <summary>
......@@ -34,10 +34,15 @@ namespace Mall.Module.User
{
string ids = string.Join(",", list.Select(x => x.BankAccountId));
var backList = clientBankAccountRepository.GetList(new RB_ClientBankAccount(), "", ids);
ids = string.Join(",", list.Select(x => x.ID));
var supplierCommissionList = supplierCommissionRepository.GetListBySupplierIds(ids);
foreach (var item in list)
{
item.ClientBankAccount = new RB_ClientBankAccount();
item.ClientBankAccount = backList.Where(x => x.ID == item.BankAccountId).FirstOrDefault();
item.SupplierCommissionList = new List<RB_SupplierCommission>();
item.SupplierCommissionList = supplierCommissionList.Where(x => x.SupplierId == item.ID).ToList();
}
}
return list;
......@@ -56,10 +61,14 @@ namespace Mall.Module.User
{
string ids = string.Join(",", list.Select(x => x.BankAccountId));
var backList = clientBankAccountRepository.GetList(new RB_ClientBankAccount(), "", ids);
ids = string.Join(",", list.Select(x => x.ID));
var supplierCommissionList = supplierCommissionRepository.GetListBySupplierIds(ids);
foreach (var item in list)
{
item.ClientBankAccount = new RB_ClientBankAccount();
item.ClientBankAccount = backList.Where(x => x.ID == item.BankAccountId).FirstOrDefault();
item.SupplierCommissionList = new List<RB_SupplierCommission>();
item.SupplierCommissionList = supplierCommissionList.Where(x => x.SupplierId == item.ID).ToList();
}
}
return list;
......@@ -120,7 +129,8 @@ namespace Mall.Module.User
{ nameof(RB_Supplier.Name),model.Name},
{ nameof(RB_Supplier.Mobile),model.Mobile},
{ nameof(RB_Supplier.Address),model.Address},
{ nameof(RB_Supplier.UpdateDate),model.UpdateDate}
{ nameof(RB_Supplier.UpdateDate),model.UpdateDate},
{ nameof(RB_Supplier.Introducer),model.Introducer}
};
IList<WhereHelper> whereHelpersSupplier = new List<WhereHelper>()
{
......@@ -128,6 +138,50 @@ namespace Mall.Module.User
};
flag = supplierRepository.Update(filedsSupplier, whereHelpersSupplier);
}
var supplierCommissionList = supplierCommissionRepository.GetSupplierCommissionList(new RB_SupplierCommission { SupplierId = model.ID });
if (model.SupplierCommissionList != null && model.SupplierCommissionList.Any())
{
foreach (var item in model.SupplierCommissionList)
{
var commissionModel = supplierCommissionList.Where(x => x.CommissionType == item.CommissionType).FirstOrDefault();
if (commissionModel != null)
{
commissionModel.CommissionRate = item.CommissionRate;
supplierCommissionRepository.Update(commissionModel);
}
else
{
item.CreateDate = System.DateTime.Now;
item.UpdateDate = System.DateTime.Now;
item.MallBaseId = model.MallBaseId;
item.TenantId = model.TenantId;
item.SupplierId = model.ID;
item.Status = model.Status;
supplierCommissionRepository.Insert(item);
}
}
}
else
{
if (supplierCommissionList != null && supplierCommissionList.Any())
{
foreach (var item in supplierCommissionList)
{
IDictionary<string, object> filedsSupplierCommission = new Dictionary<string, object>()
{
{ nameof(RB_SupplierCommission.Status),1},
{ nameof(RB_SupplierCommission.UpdateDate),model.UpdateDate}
};
IList<WhereHelper> whereHelpersSupplierCommission = new List<WhereHelper>()
{
new WhereHelper (){ FiledName=nameof(RB_SupplierCommission.ID),FiledValue=item.ID,OperatorEnum=OperatorEnum.Equal}
};
supplierCommissionRepository.Update(filedsSupplierCommission, whereHelpersSupplierCommission);
}
}
}
}
else
{
......@@ -138,6 +192,17 @@ namespace Mall.Module.User
{
model.BankAccountId = id;
int supplierId = supplierRepository.Insert(model);
if (model.SupplierCommissionList != null && model.SupplierCommissionList.Any())
{
model.SupplierCommissionList.ForEach(x => x.CreateDate = model.CreateDate);
model.SupplierCommissionList.ForEach(x => x.UpdateDate = model.UpdateDate);
model.SupplierCommissionList.ForEach(x => x.MallBaseId = model.MallBaseId);
model.SupplierCommissionList.ForEach(x => x.TenantId = model.TenantId);
model.SupplierCommissionList.ForEach(x => x.SupplierId = supplierId);
model.SupplierCommissionList.ForEach(x => x.Status = 0);
supplierCommissionRepository.InsertBatch(model.SupplierCommissionList);
}
flag = supplierId > 0;
//IDictionary<string, object> fileds = new Dictionary<string, object>()
//{
......@@ -195,6 +260,16 @@ namespace Mall.Module.User
new WhereHelper (){ FiledName=nameof(RB_Supplier.ID),FiledValue=ID,OperatorEnum=OperatorEnum.Equal}
};
flag = supplierRepository.Update(filedsSupplier, whereHelpersSupplier);
IDictionary<string, object> filedsSupplierCommission = new Dictionary<string, object>()
{
{ nameof(RB_SupplierCommission.Status),(int) Common.Enum.DateStateEnum.Delete}
};
IList<WhereHelper> whereHelpersSupplierCommission = new List<WhereHelper>()
{
new WhereHelper (){ FiledName=nameof(RB_SupplierCommission.SupplierId),FiledValue=ID,OperatorEnum=OperatorEnum.Equal}
};
supplierCommissionRepository.Update(filedsSupplierCommission, whereHelpersSupplierCommission);
}
}
catch (Exception ex)
......
......@@ -12,6 +12,7 @@ using Mall.Repository.Product;
using Mall.Model.Extend.Product;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.Json;
using Mall.Model.Entity.MarketingCenter;
namespace Mall.Module.User
{
......@@ -81,6 +82,11 @@ namespace Mall.Module.User
/// vip购买仓储层
/// </summary>
private readonly RB_Vip_BuyRepository vipBuyRepository = new RB_Vip_BuyRepository();
private Repository.MarketingCenter.RB_DiscountCouponRepository discountCouponRepository = new Repository.MarketingCenter.RB_DiscountCouponRepository();
private Repository.User.RB_Member_CouponRepository memberCouponRepository = new Repository.User.RB_Member_CouponRepository();
/// <summary>
/// 初始化分销基础配置
/// </summary>
......@@ -349,6 +355,99 @@ namespace Mall.Module.User
member_UserRepository.Update(keyValues1, wheres1);
}
//2020-08-04 add by:W 购买并支付自动发放优惠券
var couponList = discountCouponRepository.GetSelfmotionCouponList(new Model.Extend.MarketingCenter.RB_DiscountCoupon_Extend { TenantId = oldOrder.TenantId, MallBaseId = oldOrder.MallBaseId, UserId = oldOrder.UserId ?? 0, TriggerType = 2 });
if (couponList != null && couponList.Any(x => x.TotalNum == -1 || ((x.TotalNum - x.ReceiveNum) > 0)))//存在满足条件的优惠券可以发放
{
bool isReceive = false;
//查询已发放的优惠券信息
var memberCouponList = memberCouponRepository.GetAutoMemberCouponPageList(new RB_Member_DiscountCoupon_Extend { UserId = oldOrder.UserId, GetType =2, TenantId = oldOrder.TenantId, MallBaseId = oldOrder.MallBaseId });
foreach (var item in couponList.Where(x => x.TotalNum == -1 || ((x.TotalNum - x.ReceiveNum) > 0)))//判断当前优惠券是否已超过领取数
{
int membercouponCoun = memberCouponList.Where(x => x.CouponId == item.ID).Count();
if (!isReceive && membercouponCoun < item.GrantNum)//此次没有领取,并且当前优惠券没有超过领取数量
{
var trans = memberCouponRepository.DbTransaction;
try
{
RB_Member_DiscountCoupon nowMemberCoupon = new RB_Member_DiscountCoupon
{
Id = 0,
TenantId = oldOrder.TenantId,
MallBaseId = oldOrder.MallBaseId,
Status = 0,
CreateDate = System.DateTime.Now,
UserId = oldOrder.UserId,
Description = item.TriggerType == 1 ? "分享自动发放优惠券" : (item.TriggerType == 2 ? "购买并付款自动发放优惠券" : "新人领劵自动发放优惠券"),
Remarks = item.TriggerType == 1 ? "分享" : (item.TriggerType == 2 ? "购买并付款" : "新人领劵"),
UseState = 0,
CouponId = item.ID,
StartDate = item.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon ? System.DateTime.Now : item.StartDate,
EndDate = item.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon ? System.DateTime.Now.AddDays(item.IndateDay) : item.EndDate,
GetType = item.TriggerType,
UseType = item.UseType,
MinConsumePrice = item.MinConsumePrice,
DiscountsPrice = item.DiscountsPrice,
MaxDiscountsPrice = item.MaxDiscountsPrice,
CouponType = item.CouponType,
Name = item.Name
};
isReceive = memberCouponRepository.Insert(nowMemberCoupon, trans) > 0;
if (isReceive)//更新当前优惠券的领取数量
{
Dictionary<string, object> cols1;
if (item.TotalNum != -1)
{
cols1 = new Dictionary<string, object>()
{
{ nameof(RB_DiscountCoupon.ReceiveNum),item.ReceiveNum+1},
{ nameof(RB_DiscountCoupon.TotalNum),item.TotalNum - 1},
{ nameof(RB_DiscountCoupon.UpdateDate),DateTime.Now},
};
}
else
{
cols1 = new Dictionary<string, object>()
{
{ nameof(RB_DiscountCoupon.ReceiveNum),item.ReceiveNum+1},
{ nameof(RB_DiscountCoupon.UpdateDate),DateTime.Now},
};
}
List<WhereHelper> wheres1 = new List<WhereHelper>()
{
new WhereHelper(){
FiledName=nameof(RB_DiscountCoupon.ID),
FiledValue=item.ID,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_DiscountCoupon.TenantId),
FiledValue=item.TenantId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_DiscountCoupon.MallBaseId),
FiledValue=item.MallBaseId,
OperatorEnum=OperatorEnum.Equal
}
};
discountCouponRepository.Update(cols1, wheres1, trans);
}
memberCouponRepository.DBSession.Commit();
return true;
}
catch (Exception ex)
{
LogHelper.Write(ex, "AutoCoupon");
memberCouponRepository.DBSession.Rollback("AutoCoupon");
return false;
}
}
}
}
//赠送粉象等级(+VIP返佣) ld 2020-08-03
var FXCOrder = oldOrder.RefMapperTo<RB_Goods_Order_Extend>();
FXCOrder.DetailList = orderGoodsList;
......@@ -998,7 +1097,7 @@ namespace Mall.Module.User
flag = vipBuyRepository.Update(keyValuesVip, wheresVip, trans);//更新会员购买记录 2020-07-17 Add By: W End
//2020-07-20 Add By:W
Dictionary<string, object> keyValuesDistributor = new Dictionary<string, object>() {
{ nameof(RB_Distributor_Info.VipExpiryDate),distributorModel.VipExpiryDate},
......
using Mall.Model.Entity.BaseSetUp;
using Mall.Model.Extend.BaseSetUp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.BaseSetUp
{
/// <summary>
/// 分类包邮规则分类仓储层
/// </summary>
public class RB_FreeShippingCategoryRepository : RepositoryBase<RB_FreeShippingCategory>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_FreeShippingCategory); } }
/// <summary>
/// 分类包邮规则分类信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_FreeShippingCategory_Extend> GetFreeShippingCategoryPage(int pageIndex, int pageSize, out long rowCount, RB_FreeShippingCategory_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT a.*,b.`Name` as CategoryName FROM {TableName} as a LEFT JOIN rb_product_category as b on a.CategoryId=b.Id WHERE a.`Status`=0 and b.`Status`=0");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND a.{nameof(RB_FreeShippingCategory_Extend.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_FreeShippingCategory_Extend.TenantId)}={query.TenantId}");
}
if (query.MallBaseId > 0)
{
builder.Append($" AND a.{nameof(RB_FreeShippingCategory_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.FreeShippingId > 0)
{
builder.Append($" AND a.{nameof(RB_FreeShippingCategory_Extend.FreeShippingId)}={query.FreeShippingId}");
}
if (!string.IsNullOrWhiteSpace(query.FreeShippingIds))
{
builder.Append($" AND a.{nameof(RB_FreeShippingCategory_Extend.FreeShippingId)} in ({query.FreeShippingIds})");
}
if (!string.IsNullOrWhiteSpace(query.CategoryIds))
{
builder.Append($" AND a.{nameof(RB_FreeShippingCategory_Extend.CategoryId)} in ({query.CategoryIds})");
}
}
return GetPage<RB_FreeShippingCategory_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 分类包邮规则分类信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_FreeShippingCategory_Extend> GetFreeShippingCategoryList(RB_FreeShippingCategory_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT a.*,b.`Name` as CategoryName FROM {TableName} as a LEFT JOIN rb_product_category as b on a.CategoryId=b.Id WHERE a.`Status`=0 and b.`Status`=0");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND a.{nameof(RB_FreeShippingCategory_Extend.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_FreeShippingCategory_Extend.TenantId)}={query.TenantId}");
}
if (query.MallBaseId > 0)
{
builder.Append($" AND a.{nameof(RB_FreeShippingCategory_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.FreeShippingId > 0)
{
builder.Append($" AND a.{nameof(RB_FreeShippingCategory_Extend.FreeShippingId)}={query.FreeShippingId}");
}
if (!string.IsNullOrWhiteSpace(query.FreeShippingIds))
{
builder.Append($" AND a.{nameof(RB_FreeShippingCategory_Extend.FreeShippingId)} in ({query.FreeShippingIds})");
}
if (!string.IsNullOrWhiteSpace(query.CategoryIds))
{
builder.Append($" AND a.{nameof(RB_FreeShippingCategory_Extend.CategoryId)} in ({query.CategoryIds})");
}
}
return Get<RB_FreeShippingCategory_Extend>(builder.ToString()).ToList();
}
}
}
using Mall.Model.Entity.BaseSetUp;
using Mall.Model.Extend.BaseSetUp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.BaseSetUp
{
/// <summary>
/// 分类包邮规则仓储层
/// </summary>
public class RB_FreeShippingRepository : RepositoryBase<RB_FreeShipping>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_FreeShipping); } }
/// <summary>
/// 物料规则列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_FreeShipping_Extend> GetPageListRepository(int pageIndex, int pageSize, out long rowCount, RB_FreeShipping_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_FreeShipping_Extend.Status)}=0");
if (query != null)
{
// where += $@" and {nameof(RB_Customer_InfoCreate.CustomerId)}={dmodel.CustomerId}";
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_FreeShipping_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_FreeShipping_Extend.MallBaseId)}={query.MallBaseId}");
}
}
return GetPage<RB_FreeShipping_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 物流规则列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_FreeShipping_Extend> GetFreeShippingList(RB_FreeShipping_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_FreeShipping_Extend.Status)}=0 ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND {nameof(RB_FreeShipping_Extend.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_FreeShipping_Extend.TenantId)}={query.TenantId}");
}
if (query.MallBaseId > 0)
{
builder.Append($" AND {nameof(RB_FreeShipping_Extend.MallBaseId)}={query.MallBaseId}");
}
}
return Get<RB_FreeShipping_Extend>(builder.ToString()).ToList();
}
}
}
......@@ -48,6 +48,7 @@ LEFT JOIN {UserTableName} as b on a.UserId = b.ID WHERE a.{nameof(RB_Coupon_Se
{
builder.Append($" AND a.{nameof(RB_Coupon_SelfMotionMember_Extend.UserId)}={query.UserId}");
}
//if (!string.IsNullOrWhiteSpace(query.PriceIds))
//{
// builder.Append($" AND a.{nameof(RB_Coupon_SelfMotionMember_Extend.RulesPriceId)} in ({query.PriceIds})");
......
......@@ -281,7 +281,7 @@ as t LEFT JOIN (SELECT CouponId,COUNT(*) as MemberNum from rb_member_discountc
where += $" AND a.{nameof(RB_Member_DiscountCoupon_Extend.EndDate)}<NOW() AND a.{nameof(RB_Member_DiscountCoupon_Extend.UseState)}=0";
}
}
string sql = @$" SELECT a.ID as MemberCouponId,a.UseState,a.StartDate,a.EndDate,b.ID,b.`Name`,b.`Describe`,b.CouponType,b.UseType,a.GetType,
string sql = @$" SELECT a.ID as MemberCouponId,a.UseState,a.StartDate,a.EndDate,b.ID,b.`Name`,b.`Describe`,b.CouponType,b.UseType,a.GetType,a.CreateDate,
b.MinConsumePrice,b.MaxDiscountsPrice,b.DiscountsPrice,b.IndateDay,b.IndateType from rb_member_discountcoupon as a LEFT JOIN rb_discountcoupon as b
on a.CouponId=b.ID {where} ";
return GetPage<RB_DiscountCoupon_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
......@@ -290,6 +290,50 @@ on a.CouponId=b.ID {where} ";
#endregion
#region 自动发放优惠券信息
/// <summary>
/// 获取自动发放优惠券信息
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_DiscountCoupon_Extend> GetSelfmotionCouponList(RB_DiscountCoupon_Extend query)
{
StringBuilder builder = new StringBuilder();
string userWhere = "";
// builder.Append(@$" SELECT a.*,b.TriggerType,b.GrantNum from rb_coupon_selfmotion as b LEFT JOIN {TableName} as a on a.ID=b.DiscountCouponId WHERE a.{nameof(RB_DiscountCoupon_Extend.Status)}=0 and b.`Status`=0 and (a.IndateType=1 or (a.IndateType=2 and a.StartDate<NOW() and a.EndDate>NOW()))");
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_DiscountCoupon_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_DiscountCoupon_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.TriggerType > 0)
{
builder.Append($" AND b.{nameof(RB_DiscountCoupon_Extend.TriggerType)}={query.TriggerType}");
}
if (query.UserId > 0)
{
userWhere += $"and c.UserId={query.UserId}";
}
}
string sql = @$"SELECT a.*,b.TriggerType,b.GrantNum from rb_coupon_selfmotion as b LEFT JOIN {TableName} as a on a.ID=b.DiscountCouponId
where (a.IndateType=1 or (a.IndateType=2 and a.StartDate<NOW() and a.EndDate>NOW()))
and a.`Status`=0 and b.`Status`=0 and IsAll=0 {builder.ToString()}
UNION ALL
SELECT a.*,b.TriggerType,b.GrantNum from rb_coupon_selfmotion as b LEFT JOIN rb_discountcoupon as a on a.ID=b.DiscountCouponId
LEFT JOIN rb_coupon_selfmotionmember as c on c.SelfMotionId=b.ID
where (a.IndateType=1 or (a.IndateType=2 and a.StartDate<NOW() and a.EndDate>NOW())) {builder.ToString()}
and a.`Status`=0 and b.`Status`=0 and IsAll=1 {userWhere} ";
return Get<RB_DiscountCoupon_Extend> (sql).ToList();
}
#endregion
}
}
......@@ -164,9 +164,10 @@ where {where} group by g.Id order by {orderBy}";
where += $@" and g.{nameof(RB_Goods_Extend.CreateDate)} <='{dmodel.EndTime + " 23:59:59"}'";
}
string sql = $@"select g.* from RB_Goods g
inner join rb_goods_category c on g.Id=c.GoodsId
where {where} group by g.Id order by g.CreateDate desc";
string sql = $@"
SELECT g.*,C.CategoryId
FROM RB_Goods g INNER JOIN rb_goods_category c on g.Id=c.GoodsId
WHERE {where} group by g.Id order by g.CreateDate desc";
return Get<RB_Goods_Extend>(sql).ToList();
}
......
......@@ -37,9 +37,10 @@ namespace Mall.Repository.Product
where += $@" and gc.{nameof(RB_Goods_Category.GoodsId)} in({dmodel.GoodsIds})";
}
string sql = $@"select gc.*,pc.Name as CategoryName,pc.IsForeignShare from RB_Goods_Category gc
inner join rb_product_category pc on gc.CategoryId=pc.Id
where {where} order by gc.Id desc";
string sql = $@"
SELECT gc.*,pc.Name as CategoryName,pc.IsForeignShare,pc.ParentId,pc.Tier
FROM RB_Goods_Category gc inner join rb_product_category pc on gc.CategoryId=pc.Id
WHERE {where} ORDER BY gc.Id DESC ";
return Get<RB_Goods_Category_Extend>(sql).ToList();
}
}
......
......@@ -998,7 +998,7 @@ public List<OrderStatistics_Query> GetOrderProfitLossList(int pageIndex, int pag
}
if (!string.IsNullOrWhiteSpace(dmodel.EndDate))
{
where += $" and DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )< DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' ) ";
where += $" and DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )< DATE_FORMAT('{dmodel.EndDate}','%Y-%m-%d' ) ";
}
}
......
......@@ -63,7 +63,8 @@ namespace Mall.Repository.User
{
builder.Append($" AND a.{nameof(RB_Member_DiscountCoupon_Extend.CouponId)} in ({query.CouponIds})");
}
if (!string.IsNullOrEmpty(query.Ids)) {
if (!string.IsNullOrEmpty(query.Ids))
{
builder.Append($" AND a.{nameof(RB_Member_DiscountCoupon_Extend.Id)} in ({query.Ids})");
}
if (query.UseState >= 0)
......@@ -391,7 +392,7 @@ LEFT JOIN rb_member_user as d on d.AliasName=a.UserId where a.UseState=1 {buil
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Member_DiscountCoupon_Extend> GetAllMemberCouponPageList( RB_Member_DiscountCoupon_Extend query)
public List<RB_Member_DiscountCoupon_Extend> GetAllMemberCouponPageList(RB_Member_DiscountCoupon_Extend query)
{
string where = " where a.`Status`=0 ";
if (query != null)
......@@ -424,7 +425,41 @@ LEFT JOIN rb_member_user as d on d.AliasName=a.UserId where a.UseState=1 {buil
}
}
string sql = @$" SELECT a.* from rb_member_discountcoupon as a {where} ";
return Get<RB_Member_DiscountCoupon_Extend>( sql).ToList();
return Get<RB_Member_DiscountCoupon_Extend>(sql).ToList();
}
/// <summary>
/// 自动发放优惠券信息
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Member_DiscountCoupon_Extend> GetAutoMemberCouponPageList(RB_Member_DiscountCoupon_Extend query)
{
string where = " where a.`Status`=0 ";
if (query != null)
{
if (query.TenantId > 0)
{
where += $" AND a.{nameof(RB_Member_DiscountCoupon_Extend.TenantId)}={query.TenantId}";
}
if (query.MallBaseId > 0)
{
where += $" AND a.{nameof(RB_Member_DiscountCoupon_Extend.MallBaseId)}={query.MallBaseId}";
}
if (query.UserId > 0)
{
where += $" AND a.{nameof(RB_Member_DiscountCoupon_Extend.UserId)}={query.UserId}";
}
if (query.GetType > 0)
{
where += $" AND a.{nameof(RB_Member_DiscountCoupon_Extend.GetType)}={query.GetType}";
}
}
string sql = @$" SELECT a.* from rb_member_discountcoupon as a {where} ";
return Get<RB_Member_DiscountCoupon_Extend>(sql).ToList();
}
}
}
using Mall.Model.Entity.User;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.User
{
public class RB_SupplierCommissionRepository:RepositoryBase<RB_SupplierCommission>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_SupplierCommission); } }
/// <summary>
/// 供应商返佣规则
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_SupplierCommission> GetSupplierCommissionPage(int pageIndex, int pageSize, out long rowCount, RB_SupplierCommission query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_SupplierCommission.Status)}=0");
if (query != null)
{
// where += $@" and {nameof(RB_Customer_InfoCreate.CustomerId)}={dmodel.CustomerId}";
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_SupplierCommission.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_SupplierCommission.MallBaseId)}={query.MallBaseId}");
}
if (query.CommissionType > 0)
{
builder.Append($" AND {nameof(RB_SupplierCommission.CommissionType)}={query.CommissionType}");
}
if (query.SupplierId > 0)
{
builder.Append($" AND {nameof(RB_SupplierCommission.SupplierId)}={query.SupplierId}");
}
}
return GetPage<RB_SupplierCommission>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 供应商返佣规则
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_SupplierCommission> GetSupplierCommissionList(RB_SupplierCommission query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_SupplierCommission.Status)}=0 ");
if (query != null)
{
// where += $@" and {nameof(RB_Customer_InfoCreate.CustomerId)}={dmodel.CustomerId}";
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_SupplierCommission.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_SupplierCommission.MallBaseId)}={query.MallBaseId}");
}
if (query.CommissionType > 0)
{
builder.Append($" AND {nameof(RB_SupplierCommission.CommissionType)}={query.CommissionType}");
}
if (query.SupplierId > 0)
{
builder.Append($" AND {nameof(RB_SupplierCommission.SupplierId)}={query.SupplierId}");
}
}
return Get<RB_SupplierCommission>(builder.ToString()).ToList();
}
/// <summary>
/// 供应商返佣规则
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_SupplierCommission> GetListBySupplierIds(string ids)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_SupplierCommission.Status)}=0 ");
if (!string.IsNullOrWhiteSpace(ids))
{
builder.Append($" AND {nameof(RB_SupplierCommission.SupplierId)} in ({ids})");
}
return Get<RB_SupplierCommission>(builder.ToString()).ToList();
}
}
}
......@@ -24,7 +24,7 @@ namespace Mall.Repository.User
/// <returns></returns>
public List<RB_Supplier_Extend> GetPageList(int pageIndex, int pageSize, out long rowCount, RB_Supplier_Extend dmodel)
{
string where = " 1=1 AND Status=0 ";
string where = " where 1=1 AND a.Status=0 ";
if (dmodel.TenantId > 0)
{
where += $@" and a.{nameof(RB_Supplier.TenantId)}={dmodel.TenantId}";
......@@ -37,7 +37,7 @@ namespace Mall.Repository.User
{
where += $@" and a.{nameof(RB_Supplier.Name)} like '%{dmodel.Name}%'";
}
string sql = $@"select a.*,b.`Name` as IntroducerName from rb_distributor_info as a LEFT JOIN rb_member_user as b on a.Introducer=b.UserId {where} order by Id desc";
string sql = $@"select a.*,b.`Name` as IntroducerName from {TableName} as a LEFT JOIN rb_distributor_info as b on a.Introducer=b.UserId {where} order by a.Id desc";
return GetPage<RB_Supplier_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
}
......@@ -48,7 +48,7 @@ namespace Mall.Repository.User
/// <returns></returns>
public List<RB_Supplier_Extend> GetList(RB_Supplier_Extend dmodel)
{
string where = " 1=1 AND Status=0 ";
string where = " where 1=1 AND a.Status=0 ";
if (dmodel.TenantId > 0)
{
where += $@" and a.{nameof(RB_Supplier.TenantId)}={dmodel.TenantId}";
......@@ -65,7 +65,7 @@ namespace Mall.Repository.User
{
where += $@" and a.{nameof(RB_Supplier.ID)} in({dmodel.SupplierIds})";
}
string sql = $@"select a.*,b.`Name` as IntroducerName from {TableName} as a LEFT JOIN rb_distributor_info as b on a.Introducer=b.UserId {where} order by Id desc";
string sql = $@"select a.*,b.`Name` as IntroducerName from {TableName} as a LEFT JOIN rb_distributor_info as b on a.Introducer=b.UserId {where} order by a.Id desc";
return Get<RB_Supplier_Extend>(sql).ToList();
}
}
......
......@@ -971,5 +971,159 @@ namespace Mall.WebApi.Controllers.MallBase
}
#endregion
#region 包邮规则
/// <summary>
/// 列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetFreeShippingList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
RB_FreeShipping_Extend demodel = JsonConvert.DeserializeObject<RB_FreeShipping_Extend>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = mallBaseModule.GetFreeShippingList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.ID,
x.FullMoneyPinkage,
x.FullNumPinkage,
x.CategoryList
});
return ApiResult.Success("", pagelist);
}
public ApiResult DelFreeShipping()
{
var parms = RequestParm;
JObject parmsJob = JObject.Parse(RequestParm.msg.ToString());
int Id = parmsJob.GetInt("Id", 0);
if (Id <= 0)
{
return ApiResult.Failed("请传递参数");
}
bool flag = mallBaseModule.DelFreeShipping(Id, UserInfo.TenantId, parms.MallBaseId);
if (flag)
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed();
}
}
/// <summary>
/// 获取详情
/// </summary>
/// <returns></returns>
public ApiResult GetFreeShippingModel()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_FreeShipping_Extend>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var oldLogisticsModel = mallBaseModule.GetFreeShippingModel(query);
if (oldLogisticsModel == null)
{
oldLogisticsModel = new RB_FreeShipping_Extend();
}
return ApiResult.Success("", oldLogisticsModel);
}
/// <summary>
/// 保存分类包邮规则
/// </summary>
/// <returns></returns>
public ApiResult AddOrUpdateFreeShipping()
{
var parms = RequestParm;
var query = JsonConvert.DeserializeObject<RB_FreeShipping_Extend>(RequestParm.msg.ToString());
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
if (query == null)
{
return ApiResult.Failed("请传入包邮规则信息");
}
else
{
if ((query.FullMoneyPinkage ?? 0) <= 0 || (query.FullNumPinkage ?? 0) <= 0)
{
return ApiResult.Failed("满减/满额不能同时为零");
}
if (query.CategoryList == null || !query.CategoryList.Any())
{
return ApiResult.Failed("请选择需要包邮的分类");
}
//判断当前的分类是否有被其他包邮规则添加,
var categoryList = mallBaseModule.GetFreeShippingCategoryList(new RB_FreeShippingCategory_Extend { TenantId = UserInfo.TenantId, MallBaseId = parms.MallBaseId, CategoryIds = string.Join(",", query.CategoryList.Select(x => x.CategoryId)) });
if (categoryList.Any(x => x.CategoryId == 0))
{
return ApiResult.Failed("已添加全局包邮规则");
}
foreach (var item in query.CategoryList)
{
if (categoryList.Any(x => x.CategoryId == item.CategoryId&&x.FreeShippingId!=query.ID))
{
return ApiResult.Failed(item.CategoryName + "已添加包邮规则");
}
}
if (query.ID == 0)
{
query.CreateDate = System.DateTime.Now;
}
query.UpdateDate = System.DateTime.Now;
bool result = mallBaseModule.AddOrUpdateFreeShipping(query);
if (result)
{
return ApiResult.Success("分类包邮规则信息保存成功");
}
else
{
return ApiResult.Failed("分类包邮规则信息保存失败");
}
}
}
/// <summary>
/// 保存全局分类包邮规则
/// </summary>
/// <returns></returns>
public ApiResult AddOrUpdateIsFreeShipping()
{
var parms = RequestParm;
JObject parmsJob = JObject.Parse(RequestParm.msg.ToString());
int Id = parmsJob.GetInt("Id", 0);
int IsFreeShipping = parmsJob.GetInt("IsFreeShipping", 0);
if (Id <= 0)
{
return ApiResult.Failed("请传递参数");
}
bool flag = mallBaseModule.AddOrUpdateIsFreeShipping(Id, IsFreeShipping);
if (flag)
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed();
}
}
#endregion
}
}
\ No newline at end of file
......@@ -20,6 +20,7 @@ using JWT.Serializers;
using Mall.Common.Enum;
using Mall.CacheKey;
using Mall.Common.Pay.WeChatPat;
using Mall.Module.MarketingCenter;
namespace Mall.WebApi.Controllers.User
{
......@@ -31,7 +32,7 @@ namespace Mall.WebApi.Controllers.User
{
private readonly UserModule userModule = new UserModule();
private readonly CouponModule couponModule = new CouponModule();
/// <summary>
/// 商户小程序处理类
/// </summary>
......@@ -44,19 +45,24 @@ namespace Mall.WebApi.Controllers.User
/// <param name="requestMsg"></param>
/// <returns></returns>
[HttpPost]
public ApiResult Login(object requestMsg) {
public ApiResult Login(object requestMsg)
{
var requestParm = JsonConvert.DeserializeObject<RequestParm>(requestMsg.ToString());
RB_Member_User_Extend demodel = JsonConvert.DeserializeObject<RB_Member_User_Extend>(requestParm.msg.ToString());
if (requestParm.TenantId <= 0) {
if (requestParm.TenantId <= 0)
{
return ApiResult.ParamIsNull("请传递商户号");
}
if (requestParm.MallBaseId <= 0) {
if (requestParm.MallBaseId <= 0)
{
return ApiResult.ParamIsNull("请传递小程序id");
}
if (!demodel.Source.HasValue) {
if (!demodel.Source.HasValue)
{
return ApiResult.ParamIsNull("请传递来源平台");
}
if (string.IsNullOrEmpty(demodel.OpenId)) {
if (string.IsNullOrEmpty(demodel.OpenId))
{
return ApiResult.ParamIsNull("请传递唯一码");
}
//验证是否新用户
......@@ -64,10 +70,12 @@ namespace Mall.WebApi.Controllers.User
{
LogHelper.Write(demodel.OpenId + ",SuperiorId:" + (demodel.SuperiorId ?? 0));
//注册新用户
if (string.IsNullOrEmpty(demodel.Name)) {
if (string.IsNullOrEmpty(demodel.Name))
{
return ApiResult.ParamIsNull("请传递用户名称");
}
if (string.IsNullOrEmpty(demodel.Photo)) {
if (string.IsNullOrEmpty(demodel.Photo))
{
return ApiResult.ParamIsNull("请传递用户头像");
}
#region 赋默认值
......@@ -93,7 +101,8 @@ namespace Mall.WebApi.Controllers.User
demodel.WaitSuperiorId = 0;
demodel.BeDownlineDate = DateTime.Now;
}
else {
else
{
demodel.DownlineCondition = basicsModel?.ReferralsCondition ?? DistrbutorReferralsEnum.SCDJ;
demodel.IsBeDownline = 2;
demodel.WaitSuperiorId = demodel.SuperiorId;
......@@ -107,9 +116,19 @@ namespace Mall.WebApi.Controllers.User
demodel.SecretKey = Guid.NewGuid().ToString();
int UserId = userModule.AddMemberUserInfo(demodel);
bool flag = UserId > 0;
if (flag) {
if (flag)
{
//自动发放新人优惠券 2020-08-04 Add By:W
bool couponResult = couponModule.AutoCoupon(new Model.Extend.MarketingCenter.RB_DiscountCoupon_Extend { UserId = UserId, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId, TriggerType = 3 });
if (!couponResult)
{
LogHelper.WriteInfo("新人优惠券领取失败,用户id"+ UserId);
}
#region 粉象返佣 自动注册分销商 普通会员等级
if ((basicsModel?.IsEnableFXGrade ?? 2) == 1) {
if ((basicsModel?.IsEnableFXGrade ?? 2) == 1)
{
try
{
var FXPModel = userModule.GetFXDistributorGradeList(new RB_Distributor_FXGrade_Extend() { IsGuest = 1, MallBaseId = requestParm.MallBaseId, TenantId = requestParm.TenantId }).FirstOrDefault();
......@@ -141,7 +160,7 @@ namespace Mall.WebApi.Controllers.User
string secret = Config.JwtSecretKey;
string token = encoder.Encode(payload, secret);
#endregion
var mmodel = programModule.GetMiniProgramModule(new RB_MiniProgram_Extend() { MallBaseId= demodel.MallBaseId });
var mmodel = programModule.GetMiniProgramModule(new RB_MiniProgram_Extend() { MallBaseId = demodel.MallBaseId });
AppletUserInfo appletUserInfo = new AppletUserInfo()
{
MallBaseId = demodel.MallBaseId,
......@@ -162,10 +181,12 @@ namespace Mall.WebApi.Controllers.User
}
return ApiResult.Failed("注册失败,请联系管理员");
}
else {
else
{
//查询用户信息
var umodel = userModule.GetMemberUserEntityModule(new RB_Member_User_Extend() { TenantId = requestParm.TenantId, MallBaseId = requestParm.MallBaseId, Source = demodel.Source, OpenId = demodel.OpenId });
if (umodel == null) {
if (umodel == null)
{
return ApiResult.Failed("未能查询到用户信息");
}
TokenUserInfo userInfo = new TokenUserInfo { uid = umodel.Id.ToString(), requestFrom = ApiRequestFromEnum.MiniProgram };
......@@ -187,7 +208,7 @@ namespace Mall.WebApi.Controllers.User
string secret = Config.JwtSecretKey;
string token = encoder.Encode(payload, secret);
#endregion
var mmodel = programModule.GetMiniProgramModule(new RB_MiniProgram_Extend() {MallBaseId= umodel.MallBaseId });
var mmodel = programModule.GetMiniProgramModule(new RB_MiniProgram_Extend() { MallBaseId = umodel.MallBaseId });
AppletUserInfo appletUserInfo = new AppletUserInfo()
{
MallBaseId = umodel.MallBaseId,
......@@ -205,7 +226,7 @@ namespace Mall.WebApi.Controllers.User
};
UserReidsCache.AppletUserInfoSet(UserModuleCacheKeyConfig.Applet_Login_Info + umodel.Id, appletUserInfo, Config.JwtExpirTime);
return ApiResult.Success("", appletUserInfo);
}
}
}
/// <summary>
......@@ -214,7 +235,8 @@ namespace Mall.WebApi.Controllers.User
/// <param name="requestMsg"></param>
/// <returns></returns>
[HttpPost]
public ApiResult GetMallToken(object requestMsg) {
public ApiResult GetMallToken(object requestMsg)
{
var requestParm = JsonConvert.DeserializeObject<RequestParm>(requestMsg.ToString());
if (requestParm.TenantId <= 0)
{
......@@ -226,10 +248,12 @@ namespace Mall.WebApi.Controllers.User
}
var appletWeChatModel = programModule.GetMiniProgramModule(new RB_MiniProgram_Extend() { MallBaseId = requestParm.MallBaseId });
if (appletWeChatModel == null) {
if (appletWeChatModel == null)
{
return ApiResult.ParamIsNull("小程序不存在");
}
if (appletWeChatModel.TenantId != requestParm.TenantId) {
if (appletWeChatModel.TenantId != requestParm.TenantId)
{
return ApiResult.ParamIsNull("商户号错误");
}
string token = CacheManager.AppletWeChat.WeiXinReidsCache.Get(appletWeChatModel.MiniAppId);
......@@ -242,7 +266,8 @@ namespace Mall.WebApi.Controllers.User
{
return ApiResult.Success("", token);
}
else {
else
{
return ApiResult.Failed();
}
......
......@@ -18,6 +18,7 @@ using Mall.Model.Extend.Product;
using Mall.Model.Extend.MarketingCenter;
using Mall.Model.Entity.User;
using NPOI.SS.Formula.Functions;
using Google.Protobuf.WellKnownTypes;
namespace Mall.WebApi.Controllers.User
{
......@@ -1100,6 +1101,33 @@ namespace Mall.WebApi.Controllers.User
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 分享领取优惠券
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult ShareCoupon()
{
var parms = RequestParm;
var userInfo = AppletUserInfo;
var query = JsonConvert.DeserializeObject<RB_DiscountCoupon_Extend>(RequestParm.msg.ToString());
query.TenantId = userInfo.TenantId;
query.MallBaseId = userInfo.MallBaseId;
query.UserId = userInfo.UserId;
query.TriggerType = 1;
bool result = couponModule.AutoCoupon(query);
if (result)
{
return ApiResult.Success("优惠券领取成功");
}
else
{
return ApiResult.Failed("优惠券领取失败");
}
}
#endregion
#region 个人中心- 积分明细
......@@ -1305,7 +1333,7 @@ namespace Mall.WebApi.Controllers.User
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.UserId = userInfo.UserId;
demodel.PayState =1;
demodel.PayState = 1;
var list = userVipModule.GetVipBuyPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
......
......@@ -59,13 +59,14 @@ namespace Mall.WebApi.Controllers.User
x.Mobile,
x.Address,
x.IntroducerName,
x.CommissionRate,
CardNum = x.ClientBankAccount != null ? x.ClientBankAccount.CardNum : "",
OpenBankName = x.ClientBankAccount != null ? x.ClientBankAccount.OpenBankName : "",
AccountAlias = x.ClientBankAccount != null ? x.ClientBankAccount.AccountAlias : "",
AccountHolder = x.ClientBankAccount != null ? x.ClientBankAccount.AccountHolder : "",
BackId = x.ClientBankAccount != null ? x.ClientBankAccount.ID : 0,
x.SupplierCommissionList,
AccountClassifyStr = x.ClientBankAccount != null ? (x.ClientBankAccount?.AccountClassify == 2 ? "银行" : (x.ClientBankAccount?.AccountClassify == 3 ? "虚拟账户" : (x.ClientBankAccount?.AccountClassify == 4 ? "微信支付宝" : (x.ClientBankAccount?.AccountClassify == 1 ? "平台" : "")))) : "",
});
return ApiResult.Success("", pagelist);
}
......@@ -92,7 +93,13 @@ namespace Mall.WebApi.Controllers.User
{
return ApiResult.Failed("请填写联系电话");
}
if (demodel.Introducer > 0)
{
if (demodel.SupplierCommissionList == null || !demodel.SupplierCommissionList.Any())
{
return ApiResult.Failed("请输入供应商返佣比例");
}
}
//if (string.IsNullOrEmpty(demodel.ClientBankAccount.OpenBankName))
//{
// return ApiResult.Failed("请填写开户行!");
......@@ -148,6 +155,7 @@ namespace Mall.WebApi.Controllers.User
if (oldLogisticsModel == null)
{
oldLogisticsModel = new RB_Supplier_Extend();
}
return ApiResult.Success("", oldLogisticsModel);
}
......@@ -203,7 +211,7 @@ namespace Mall.WebApi.Controllers.User
}
/// <summary>
/// 获取供应商下拉列表
/// 获取分销商下拉列表
/// </summary>
/// <returns></returns>
[HttpPost]
......
......@@ -1242,6 +1242,9 @@ namespace Mall.WebApi.Controllers.User
/// <returns></returns>
public ApiResult GetMiniprogramPageListExt()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
//是否隐藏商品【1-隐藏】
int IsHiddenGoods = parms.GetInt("IsHiddenGoods");
List<object> resultList = new List<object>();
var pageList = programPageModule.GetMiniprogram_Page_ListExtModule(new RB_MiniProgram_Page_Extend() { MallBaseId = RequestParm.MallBaseId });
var pageTypeList = Common.Plugin.EnumHelper.EnumToList(typeof(PageTypeEnum));
......@@ -1266,6 +1269,34 @@ namespace Mall.WebApi.Controllers.User
.ToList()
});
}
int MallBaseId = -1;
if (UserInfo.MallBaseId > 0)
{
MallBaseId = UserInfo.MallBaseId;
}
if (MallBaseId == -1)
{
if (RequestParm.MallBaseId > 0)
{
MallBaseId = RequestParm.MallBaseId;
}
}
if (IsHiddenGoods == 0)
{
var categoryList = productModule.GetGoodsListModule(new Model.Extend.Product.RB_Goods_Extend()
{
TenantId = RequestParm.TenantId,
MallBaseId = MallBaseId,
GoodsStatus = 1,
});
//新增商品选项卡
resultList.Add(new
{
PageTypeName = "商品",
PageTypeId = 6,
SubMenuList = categoryList
});
}
return ApiResult.Success(data: resultList);
}
......
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