Commit 6fad7cd2 authored by liudong1993's avatar liudong1993
parents 0e9dc217 e80a4e12
......@@ -19,6 +19,7 @@ using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Web;
using Microsoft.Extensions.Hosting;
namespace Mall.Common
{
......@@ -37,9 +38,16 @@ namespace Mall.Common
public readonly static IConfiguration Configuration;
static Config()
{
Configuration= new ConfigurationBuilder()
.Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true })
.Build();
try
{
Configuration = new ConfigurationBuilder()
.Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true })
.Build();
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "Config");
}
}
/// <summary>
......
......@@ -454,5 +454,10 @@ namespace Mall.Model.Entity.Product
/// 自动下架时间
/// </summary>
public DateTime? DownDate { get; set; }
/// <summary>
/// 发货地
/// </summary>
public string SendArea { get; set; }
}
}
......@@ -6477,6 +6477,91 @@ namespace Mall.Module.Product
return oclist;
}
/// <summary>
/// 获取用户分销订单
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Goods_OrderCommission_Extend> GetDistributionOrdersPageListModule(int pageIndex, int pageSize, out long count, RB_Goods_OrderCommission_Extend demodel)
{
var oclist = goods_OrderCommissionRepository.GetListGroupByUserRepository(pageIndex, pageSize, out count, demodel);
if (oclist.Any())
{
//获取用户
var ulist = member_UserRepository.GetList(new RB_Member_User_Extend() { TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId, UserIds = string.Join(",", oclist.Select(x => x.UserId).Distinct()) });
string orderIds = string.Join(",", oclist.Select(x => x.OrderId).Distinct());
//查询订单明细
var dlist = goods_OrderDetailRepository.GetOrderDetailList(new RB_Goods_OrderDetail_Extend() { TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId, OrderIds = orderIds });
//查询图片
List<RB_Material_Info_Extend> Mlist = new List<RB_Material_Info_Extend>();
if (dlist.Any())
{
foreach (var item in dlist)
{
item.CoverImagePath = item.CoverImage;
}
}
var HpgradeList = new List<RB_Distributor_HPGradeInfo_Extend>();
if (oclist.Where(x => x.Type == 2).Any())
{
string gradeIds = string.Join(",", oclist.Where(x => x.Type == 2).Select(x => x.Grade).Distinct());
HpgradeList = distributor_HPGradeInfoRepository.GetList(new RB_Distributor_HPGradeInfo_Extend() { GradeIds = gradeIds, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId }, true);
}
var FXGradeList = new List<RB_Distributor_FXGrade_Extend>();
if (oclist.Where(x => x.Type == 3).Any())
{
string gradeIds = string.Join(",", oclist.Where(x => x.Type == 3).Select(x => x.Grade).Distinct());
FXGradeList = distributor_FXGradeRepository.GetList(new RB_Distributor_FXGrade_Extend() { GradeIds = gradeIds, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
}
foreach (var item in oclist)
{
var umodel = ulist.Where(x => x.Id == item.UserId).FirstOrDefault();
item.UserName = umodel?.Name ?? "";
item.Mobile = umodel?.Moblie ?? "";
item.Photo = umodel?.Photo ?? "";
item.OrderDetailList = dlist.Where(x => x.OrderId == item.OrderId).ToList();
if (item.Type == 1)
{
if (item.Grade == 0)
{
item.GradeDescription = "自购返利";
}
else if (item.Grade == 1)
{
item.GradeDescription = "一级佣金";
}
else if (item.Grade == 2)
{
item.GradeDescription = "二级佣金";
}
else if (item.Grade == 3)
{
item.GradeDescription = "三级佣金";
}
}
else if (item.Type == 2)
{
var hpGModel = HpgradeList.Where(x => x.Id == item.Grade).FirstOrDefault();
item.GradeDescription = hpGModel?.GradeName ?? "暂无等级";
}
else if (item.Type == 3)
{
var fxGModel = FXGradeList.Where(x => x.Id == item.Grade).FirstOrDefault();
item.GradeDescription = fxGModel?.GradeName ?? "暂无等级";
item.GradeDescription += "佣金";
}
}
}
return oclist;
}
/// <summary>
/// 获取用户分销订单
/// </summary>
......
......@@ -2297,6 +2297,7 @@ namespace Mall.Module.Product
isAllowShare = IsAllowShare,//是否可以分享
advertising = model.Advertising,//广告词
price = model.SellingPrice,
sendArea = model.SendArea,
use_attr = model.IsCustomSpecification,
attr_groups = model.SpecificationList.Select(x => new
{
......@@ -4309,6 +4310,8 @@ namespace Mall.Module.Product
{ nameof(RB_Goods.IsLiveGoods),demodel.IsLiveGoods},
{ nameof(RB_Goods.ShelvesDate),demodel.ShelvesDate },
{ nameof(RB_Goods.DownDate),demodel.DownDate },
{ nameof(RB_Goods.SendArea),demodel.SendArea },
};
if (goodsModel.IsProcurement == 1)
{
......@@ -4346,7 +4349,8 @@ namespace Mall.Module.Product
{ nameof(RB_Goods.EnjoyMember),demodel.EnjoyMember},
{ nameof(RB_Goods.SeparateSetMember),demodel.SeparateSetMember},
{ nameof(RB_Goods.IsQuickBuy),demodel.IsQuickBuy},
{ nameof(RB_Goods.SupplierId),demodel.SupplierId}
{ nameof(RB_Goods.SupplierId),demodel.SupplierId},
};
}
List<WhereHelper> wheres = new List<WhereHelper>() {
......@@ -4469,13 +4473,13 @@ namespace Mall.Module.Product
foreach (var item in slist)
{
var supmodel = demodel.SpecificationList.Where(x => x.Id == item.Id).FirstOrDefault();
Dictionary<string, object> keyValues1 = new Dictionary<string, object>()
Dictionary<string, object> keyValues1 = new Dictionary<string, object>()
{
{ nameof(RB_Goods_Specification.EnabledImage),supmodel.EnabledImage},
{ nameof(RB_Goods_Specification.Name),supmodel.Name},
{ nameof(RB_Goods_Specification.Sort),supmodel.Sort}
};
List<WhereHelper> wheres1 = new List<WhereHelper>()
List<WhereHelper> wheres1 = new List<WhereHelper>()
{
new WhereHelper()
{
......@@ -4990,12 +4994,12 @@ namespace Mall.Module.Product
}
}
}
return true;
}
catch (Exception ex)
{
LogHelper.Write(ex, "SetProductGoodsInfo:"+Common.Plugin.JsonHelper.Serialize(demodel));
LogHelper.Write(ex, "SetProductGoodsInfo:" + Common.Plugin.JsonHelper.Serialize(demodel));
return false;
}
}
......
......@@ -231,6 +231,59 @@ where {where} group by oc.OrderId,o.OrderNo,oc.UserId,oc.Type,oc.Grade order by
return GetPage<RB_Goods_OrderCommission_Extend>(pageIndex, pageSize, out count, sql).ToList();
}
/// <summary>
/// 获取用户返佣
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Goods_OrderCommission_Extend> GetListGroupByUserRepository(int pageIndex, int pageSize, out long count, RB_Goods_OrderCommission_Extend dmodel)
{
string where = $" 1=1 and o.Recycled=2 and oa.ReOrderId is null";
if (dmodel.TenantId > 0)
{
where += $@" and oc.{nameof(RB_Goods_OrderCommission.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and oc.{nameof(RB_Goods_OrderCommission.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.OrderId > 0)
{
where += $@" and o.{nameof(RB_Goods_OrderCommission.OrderId)}={dmodel.OrderId}";
}
if (dmodel.UserId > 0)
{
where += string.Format(@" and (oc.UserId={0} OR o.UserId={0}) ", dmodel.UserId);
}
if (!string.IsNullOrEmpty(dmodel.OrderIds))
{
where += $@" and oc.{nameof(RB_Goods_OrderCommission.OrderId)} in({dmodel.OrderIds})";
}
if (dmodel.DistrbutionOrderSelectStatus > 0)
{
switch (dmodel.DistrbutionOrderSelectStatus)
{
case 1: where += $@" and o.{nameof(RB_Goods_Order.OrderStatus)}={(int)OrderStatusEnum.NonPayment}"; break;
case 2: where += $@" and o.{nameof(RB_Goods_Order.OrderStatus)} in(2,3,4,6)"; break;
case 3: where += $@" and o.{nameof(RB_Goods_Order.OrderStatus)}={(int)OrderStatusEnum.Completed}"; break;
}
}
else
{
where += $@" and o.{nameof(RB_Goods_Order.OrderStatus)} in(1,2,3,4,5,6)";
}
string sql = $@"
SELECT oc.OrderId,o.OrderNo,o.UserId,oc.Type,oc.Grade,oc.CommissionState,o.OrderStatus as DistrbutionOrderSelectStatus,SUM(oc.Commission) as Commission
FROM rb_goods_order o LEFT JOIN RB_Goods_OrderCommission oc on oc.OrderId = o.OrderId
left join rb_goods_orderaftersale oa on oc.OrderDetailId= oa.OrderDetialId and oa.Type=1 and oa.Status=0 and oa.ReOrderStatus in (2,3,4,5)
where {where} group by oc.OrderId,o.OrderNo,oc.UserId,oc.Type,oc.Grade order by oc.OrderId desc";
return GetPage<RB_Goods_OrderCommission_Extend>(pageIndex, pageSize, out count, sql).ToList();
}
/// <summary>
/// 获取用户返佣
/// </summary>
......
......@@ -40,6 +40,7 @@ namespace Mall.WebApi.Controllers.MallBase
private readonly OrderModule orderModule = new OrderModule();
private readonly Module.User.MiniProgramModule programModule = new Module.User.MiniProgramModule();
private readonly UserModule userModule = new UserModule();
#region 购物车
/// <summary>
......@@ -285,11 +286,15 @@ namespace Mall.WebApi.Controllers.MallBase
var userInfo = AppletUserInfo;
JObject parms = JObject.Parse(req.msg.ToString());
int OrderId = parms.GetInt("OrderId", 0);
//HK2020-08-08新增
if (parms.GetInt("NewUserId") > 0)
{
userInfo.UserId = parms.GetInt("NewUserId");
}
if (OrderId <= 0)
{
return ApiResult.ParamIsNull();
}
return orderModule.GetAppletMyOrderInfo(OrderId, userInfo.UserId, userInfo.TenantId, userInfo.MallBaseId);
}
......@@ -986,11 +991,33 @@ namespace Mall.WebApi.Controllers.MallBase
var userInfo = AppletUserInfo;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString());
RB_Goods_OrderCommission_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_OrderCommission_Extend>(req.msg.ToString());
//HK 2020-08-27新增
JObject parms = JObject.Parse(req.msg.ToString());
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.UserId = userInfo.UserId;
var list = orderModule.GetDistributionOrdersPageList_V2(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
List<RB_Goods_OrderCommission_Extend> list = new List<RB_Goods_OrderCommission_Extend>();
long count = 0;
if (parms.GetInt("NewUserId") > 0)
{
demodel.UserId = parms.GetInt("NewUserId");
list = orderModule.GetDistributionOrdersPageListModule(pagelist.pageIndex, pagelist.pageSize, out count, demodel);
}
else
{
list = orderModule.GetDistributionOrdersPageList_V2(pagelist.pageIndex, pagelist.pageSize, out count, demodel);
}
List<RB_Member_User_Extend> memberList = new List<RB_Member_User_Extend>();
if (list != null && list.Count > 0)
{
var userIds = string.Join(",", list.Select(qitem => qitem.UserId));
if (!string.IsNullOrWhiteSpace(userIds))
{
memberList = userModule.GetUserListExtModule(new RB_Member_User_Extend() { UserIds = userIds });
}
}
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
......@@ -1010,6 +1037,7 @@ namespace Mall.WebApi.Controllers.MallBase
y.Final_Price,
y.Number
}),
Icon = memberList?.Where(qitem => qitem.Id == x.UserId)?.FirstOrDefault()?.Icon ?? "",
x.UserId,
x.UserName,
x.Photo,
......
......@@ -1182,6 +1182,7 @@ namespace Mall.WebApi.Controllers.MallBase
x.GoodsStatus,
x.TenantId,
x.MallBaseId,
x.SendArea,
CreateDate = x.CreateDate.HasValue ? x.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
});
return ApiResult.Success("", pagelist);
......@@ -1425,6 +1426,7 @@ namespace Mall.WebApi.Controllers.MallBase
x.GoodsService,
x.SpecificationList,
x.SpecificationPriceList,
x.SendArea,
});
return ApiResult.Success("", pagelist);
}
......@@ -1498,6 +1500,7 @@ namespace Mall.WebApi.Controllers.MallBase
model?.IsProcurement,
model?.Commission,
model?.IsLiveGoods,
model.SendArea,
CategoryList = model?.CategoryList.Select(x => new
{
x.Id,
......@@ -2052,6 +2055,7 @@ namespace Mall.WebApi.Controllers.MallBase
demodel.Advertising ??= "";//广告词
demodel.SubName ??= "";//副标题
demodel.IsLiveGoods ??= 2;//是否直播商品 1是 2否
demodel.SendArea ??= "";//发货地
if (demodel.IsProxy == 1 && demodel.CostPrice > 0)
{
decimal ProxyMoney = 0;
......
......@@ -1707,22 +1707,9 @@ namespace Mall.WebApi.Controllers.User
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.UserId = userInfo.UserId;
//HK 2020-08-27新增
JObject parms = JObject.Parse(req.msg.ToString());
if (parms.GetInt("NewUserId") > 0)
{
demodel.UserId = parms.GetInt("NewUserId");
}
List<RB_Member_User_Extend> memberList = new List<RB_Member_User_Extend>();
var list = userModule.GetOrderIntroductionPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
if (list != null && list.Count > 0)
{
var userIds = string.Join(",",list.Select(qitem => qitem.UserId));
if (!string.IsNullOrWhiteSpace(userIds))
{
memberList= userModule.GetUserListExtModule(new RB_Member_User_Extend() { UserIds = userIds });
}
}
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
......@@ -1741,7 +1728,7 @@ namespace Mall.WebApi.Controllers.User
y.Number
}),
x.UserId,
Icon= memberList?.Where(qitem=>qitem.Id==x.UserId)?.FirstOrDefault()?.Icon??"",
x.UserName,
x.Photo,
x.Mobile,
......
......@@ -114,10 +114,18 @@ namespace Mall.WindowsService.Helper
{
if (Interlocked.Exchange(ref inTimer4, 1) == 0)
{
LogHelper.Write("GoodsShelves=====Start");
Module.GoodsShelvesModule.ShelvesGoodsModule();
Module.GoodsShelvesModule.DownGoodsModule();
LogHelper.Write("GoodsShelves=====End");
try
{
string str= Common.Config.GetConnectionString("DefaultConnection");
LogHelper.Write("GoodsShelves=====Start"+ str);
Module.GoodsShelvesModule.ShelvesGoodsModule();
Module.GoodsShelvesModule.DownGoodsModule();
LogHelper.Write("GoodsShelves=====End");
}
catch (Exception ex)
{
LogHelper.Write("GoodsShelves=====ex" + ex.Message);
}
Interlocked.Exchange(ref inTimer4, 0);
}
}
......
......@@ -70,7 +70,7 @@ namespace Mall.WindowsService
timer5 = new System.Timers.Timer();
timer5 = new System.Timers.Timer
{
Interval = 1000 * (60 * 10) //10分钟调用一次
Interval = 1000 * (60 * 2) //10分钟调用一次
};
timer5.Elapsed += new System.Timers.ElapsedEventHandler(helper.GoodsShelves);
timer5.Enabled = true;
......
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