Commit 5df070c0 authored by 吴春's avatar 吴春

提交

parent 5ece639f
......@@ -46,6 +46,11 @@ namespace Mall.Model.Entity.BaseSetUp
set;
}
/// <summary>
/// 包邮规则名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 是否启用全局包邮
/// </summary>
......
......@@ -17,5 +17,20 @@ namespace Mall.Model.Extend.BaseSetUp
/// 分类列表
/// </summary>
public List<RB_FreeShippingCategory_Extend> CategoryList { get; set; }
/// <summary>
/// 商品分类包邮规则
/// </summary>
public string CategoryIds { get; set; }
/// <summary>
/// 是否启用包邮总规则0-否,1-是
/// </summary>
public int IsFreeShipping { get; set; }
/// <summary>
/// 商品分类ID
/// </summary>
public int CategoryId { get; set; }
}
}
......@@ -3,6 +3,7 @@ using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.Product;
using Mall.Model.Entity.BaseSetUp;
namespace Mall.Model.Extend.Product
{
......@@ -113,6 +114,8 @@ namespace Mall.Model.Extend.Product
/// 商品分类
/// </summary>
public List<RB_Goods_Category_Extend> CategoryList { get; set; }
/// <summary>
/// 区域列表
/// </summary>
......@@ -183,5 +186,10 @@ namespace Mall.Model.Extend.Product
/// </summary>
public string SupplierIds { get; set; }
/// <summary>
/// 商品分类包邮规则
/// </summary>
public List<RB_FreeShipping> FreeShippingList { get; set; }
}
}
......@@ -78,5 +78,11 @@ namespace Mall.Model.Extend.Product
/// ids
/// </summary>
public string OrderDetailIds { get; set; }
/// <summary>
/// 返佣提现id
/// </summary>
public int BillId { get; set; }
}
}
......@@ -1190,6 +1190,31 @@ namespace Mall.Module.BaseSetUp
return freeShippingCategoryRepository.GetFreeShippingCategoryList(query);
}
/// <summary>
/// 验证重复
/// </summary>
/// <param name="ID"></param>
/// <param name="Name"></param>
/// <param name="RB_Group_Id"></param>
/// <param name="RB_Branch_Id"></param>
/// <returns></returns>
public bool ExistsName(int ID, string Name, int TenantId, int MallBaseId)
{
IList<WhereHelper> where = new List<WhereHelper>()
{
new WhereHelper() { FiledName = nameof(RB_FreeShipping.Status), FiledValue = 0, OperatorEnum = OperatorEnum.Equal },
new WhereHelper() { FiledName = nameof(RB_FreeShipping.Name), FiledValue = Name.Trim(), OperatorEnum = OperatorEnum.Equal },
new WhereHelper() { FiledName = nameof(RB_FreeShipping.TenantId), FiledValue = TenantId, OperatorEnum = OperatorEnum.Equal },
new WhereHelper() { FiledName = nameof(RB_FreeShipping.MallBaseId), FiledValue = MallBaseId, OperatorEnum = OperatorEnum.Equal },
};
if (ID > 0)
{
where.Add(new WhereHelper() { FiledName = nameof(RB_FreeShipping.ID), FiledValue = ID.ToString(), OperatorEnum = OperatorEnum.NotEqual });
}
return freeShippingRepository.Exists(where);
}
#endregion
}
......
......@@ -985,7 +985,7 @@ namespace Mall.Module.MarketingCenter
}
}
}
return true;
return false;
}
#endregion
......
This diff is collapsed.
......@@ -2418,7 +2418,7 @@ namespace Mall.Module.User
}
return flag;
}
}
/// <summary>
/// 推荐生成提现单据
......@@ -5668,10 +5668,12 @@ namespace Mall.Module.User
};
bool flag = distributor_BillRepository.Update(keyValues, wheres);
if (flag) {
if (flag)
{
//回滚 订单返佣状态
var dlist = distributor_BillDetailRepository.GetList(new RB_Distributor_BillDetail_Extend() { TenantId = tenantId, MallBaseId = mallBaseId, BillId = billId });
if (dlist.Any()) {
if (dlist.Any())
{
//查询所有返佣列表
string introductionIds = string.Join(",", dlist.Select(x => x.CommissionId ?? 0));
var iList = goods_OrderIntroductionRepository.GetList(new RB_Goods_OrderIntroduction_Extend() { TenantId = tenantId, MallBaseId = mallBaseId, IntroductionIds = introductionIds });
......@@ -5762,6 +5764,62 @@ namespace Mall.Module.User
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_OrderIntroduction_Extend> GetOrderBilldetailPageList(int pageIndex, int pageSize, out long count, RB_Goods_OrderIntroduction_Extend demodel)
{
var oclist = goods_OrderIntroductionRepository.GetOrderBilldetailPageList(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;
}
}
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 = new List<RB_Goods_OrderDetail_Extend>();
if (!string.IsNullOrWhiteSpace(item.OrderDetailIds))
{
var orderDetailIds = item.OrderDetailIds.Split(",");
foreach (var itemOrderDetailId in orderDetailIds)
{
if (!string.IsNullOrWhiteSpace(itemOrderDetailId))
{
item.OrderDetailList.AddRange(dlist.Where(x => x.OrderId == item.OrderId && x.Id == Convert.ToInt32(itemOrderDetailId)));
}
}
}
}
}
return oclist;
}
/// <summary>
/// 获取推荐供应商返佣账单列表
/// </summary>
......@@ -5783,7 +5841,7 @@ namespace Mall.Module.User
public bool SetRecommendOrdersBillRemark(int billId, string remark, int tenantId, int mallBaseId, int empId)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Distributor_Bill.Remark),remark},
{ nameof(RB_Distributor_Bill.Remark),remark},
{ nameof(RB_Distributor_Bill.UpdateDate),DateTime.Now}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
......@@ -5802,7 +5860,8 @@ namespace Mall.Module.User
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_Distributor_Bill GetBillModel(int Id) {
public RB_Distributor_Bill GetBillModel(int Id)
{
var model = distributor_BillRepository.GetEntity(Id);
return model;
}
......@@ -5837,7 +5896,8 @@ namespace Mall.Module.User
{
return "";
}
else {
else
{
return "保存失败";
}
}
......
......@@ -73,5 +73,41 @@ namespace Mall.Repository.BaseSetUp
}
return Get<RB_FreeShipping_Extend>(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> GetFreeShippingListByCategoryIds(RB_FreeShipping_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append(@$" SELECT a.*,b.CategoryId,c.IsFreeShipping from rb_freeshipping as a LEFT JOIN rb_freeshippingcategory as b on a.ID=b.FreeShippingId
INNER JOIN rb_mallbase as c on a.MallBaseId = c.ID and a.TenantId = c.TenantId WHERE a.{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}");
}
if (!string.IsNullOrWhiteSpace(query.CategoryIds))
{
builder.Append($" AND {nameof(RB_FreeShippingCategory_Extend.CategoryId)} in({query.CategoryIds})");
}
}
return Get<RB_FreeShipping_Extend>(builder.ToString()).ToList();
}
}
}
......@@ -197,15 +197,15 @@ where go.OrderStatus in(1,2,3,4,5,6) and go.`Status`=0 {where}";
}
if (!string.IsNullOrEmpty(dmodel.GoodsName))
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.GoodsName)}='{dmodel.GoodsName}'";
where += $@" and od.{nameof(RB_Goods_OrderDetail.GoodsName)} like'%{dmodel.GoodsName}%'";
}
if (dmodel.CommissionState > 0)
{
switch (dmodel.CommissionState)
{
case 2: where += $@" and o.{nameof(RB_Goods_Order.OrderStatus)}={(int)OrderStatusEnum.Completed}"; break;
case 1: where += $@" and o.{nameof(RB_Goods_Order.OrderStatus)} in(2,3,4,6)"; break;
case 3: where += $@" and o.{nameof(RB_Goods_Order.OrderStatus)}=1 "; break;
case 3: where += $@" and o.{nameof(RB_Goods_Order.OrderStatus)}={(int)OrderStatusEnum.Completed}"; break;
case 2: where += $@" and o.{nameof(RB_Goods_Order.OrderStatus)} in(2,3,4,6)"; break;
case 1: where += $@" and o.{nameof(RB_Goods_Order.OrderStatus)}=1 "; break;
}
}
else
......@@ -223,5 +223,76 @@ where {where} group by oc.OrderId,o.OrderNo order by oc.OrderId desc";
}
/// <summary>
/// 获取用户返佣
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Goods_OrderIntroduction_Extend> GetOrderBilldetailPageList(int pageIndex, int pageSize, out long count, RB_Goods_OrderIntroduction_Extend dmodel)
{
string where = $" 1=1 ";
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 oc.{nameof(RB_Goods_OrderCommission.OrderId)}={dmodel.OrderId}";
}
if (dmodel.Type > 0)
{
where += $@" and oc.{nameof(RB_Goods_OrderCommission.Type)}={dmodel.Type}";
}
if (dmodel.UserId > 0)
{
where += $@" and oc.{nameof(RB_Goods_OrderCommission.UserId)}={dmodel.UserId}";
}
if (dmodel.BillId > 0)
{
where += $@" and a.{nameof(RB_Distributor_BillDetail.BillId)}={dmodel.BillId}";
}
if (!string.IsNullOrEmpty(dmodel.OrderIds))
{
where += $@" and oc.{nameof(RB_Goods_OrderCommission.OrderId)} in({dmodel.OrderIds})";
}
if (!string.IsNullOrEmpty(dmodel.OrderNo))
{
where += $@" and o.{nameof(RB_Goods_Order.OrderNo)}='{dmodel.OrderNo}'";
}
if (dmodel.SupplierId.HasValue && dmodel.SupplierId.Value > 0)
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.SupplierId)}={dmodel.SupplierId}";
}
if (!string.IsNullOrEmpty(dmodel.StartTime))
{
where += $@" and o.{nameof(RB_Goods.CreateDate)} >='{dmodel.StartTime}'";
}
if (!string.IsNullOrEmpty(dmodel.EndTime))
{
where += $@" and o.{nameof(RB_Goods.CreateDate)} <='{dmodel.EndTime + " 23:59:59"}'";
}
if (!string.IsNullOrEmpty(dmodel.GoodsName))
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.GoodsName)}='{dmodel.GoodsName}'";
}
string sql = $@"SELECT GROUP_CONCAT(oc.OrderDetailId) as OrderDetailIds,oc.OrderId,oc.OrderDetailId,o.OrderNo,o.UserId,oc.CommissionRatio,oc.Type,oc.CommissionState,o.OrderStatus as DistrbutionOrderSelectStatus,SUM(oc.Commission) as Commission
from rb_distributor_billdetail as a
LEFT JOIN rb_goods_orderintroduction as oc on a.CommissionId=oc.Id
LEFT JOIN rb_goods_orderdetail as od on od.Id=a.OrderDetailId
LEFT JOIN rb_goods_order as o on o.OrderId=od.OrderId
where {where} group by oc.OrderId,o.OrderNo order by oc.OrderId desc";
return GetPage<RB_Goods_OrderIntroduction_Extend>(pageIndex, pageSize, out count, sql).ToList();
}
}
}
......@@ -1058,7 +1058,12 @@ namespace Mall.WebApi.Controllers.MallBase
}
else
{
if (((query.FullMoneyPinkage ?? 0)+ (query.FullNumPinkage ?? 0)) <= 0)
if (mallBaseModule.ExistsName(query.ID, query.Name, query.TenantId, query.MallBaseId))
{
return ApiResult.Failed("分类包邮规则名称重复!");
}
if (((query.FullMoneyPinkage ?? 0) + (query.FullNumPinkage ?? 0)) <= 0)
{
return ApiResult.Failed("满减/满额不能同时为零");
}
......@@ -1076,7 +1081,7 @@ namespace Mall.WebApi.Controllers.MallBase
}
foreach (var item in query.CategoryList)
{
if (categoryList.Any(x => x.CategoryId == item.CategoryId&&x.FreeShippingId!=query.ID))
if (categoryList.Any(x => x.CategoryId == item.CategoryId && x.FreeShippingId != query.ID))
{
return ApiResult.Failed(item.CategoryName + "已添加包邮规则");
}
......@@ -1151,7 +1156,7 @@ namespace Mall.WebApi.Controllers.MallBase
}
}
#endregion
}
}
\ No newline at end of file
......@@ -1559,55 +1559,101 @@ namespace Mall.WebApi.Controllers.User
}
/// <summary>
/// 供应商-我的订单
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetUserDistributionOrdersPageList()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString());
RB_Goods_OrderIntroduction_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_OrderIntroduction_Extend>(req.msg.ToString());
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.UserId = userInfo.UserId;
var list = userModule.GetOrderIntroductionPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.OrderId,
x.OrderNo,
DetailList = x.OrderDetailList.Select(y => new
{
y.Id,
y.CoverImagePath,
y.OrderType,
OrderTypeName = y.OrderType.GetEnumName(),
y.GoodsName,
SpecificationList = JsonConvert.DeserializeObject<List<string>>(y.Specification),
y.ProductCode,
y.Final_Price,
y.Number
}),
x.UserId,
x.UserName,
x.Photo,
x.Mobile,
x.Remark,
x.Commission,
x.CommissionState,
StatusName = x.DistrbutionOrderSelectStatus == 1 ? "待付款" : x.DistrbutionOrderSelectStatus == 5 ? "已完成" : "已付款",
x.TenantId,
x.MallBaseId,
CreateDate = x.CreateDate.HasValue ? x.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 我的账单详情
/// </summary>
/// <returns></returns>
//[HttpPost]
//public ApiResult GetUserDistributionOrdersPageList()
//{
// var req = RequestParm;
// 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());
// 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);
// pagelist.count = Convert.ToInt32(count);
// pagelist.pageData = list.Select(x => new
// {
// x.OrderId,
// x.OrderNo,
// x.Grade,
// x.GradeDescription,
// DetailList = x.OrderDetailList.Select(y => new
// {
// y.Id,
// y.CoverImagePath,
// y.OrderType,
// OrderTypeName = y.OrderType.GetEnumName(),
// y.GoodsName,
// SpecificationList = JsonConvert.DeserializeObject<List<string>>(y.Specification),
// y.ProductCode,
// y.Final_Price,
// y.Number
// }),
// x.UserId,
// x.UserName,
// x.Photo,
// x.Mobile,
// x.Remark,
// x.Commission,
// x.CommissionState,
// StatusName = x.DistrbutionOrderSelectStatus == 1 ? "待付款" : x.DistrbutionOrderSelectStatus == 5 ? "已完成" : "已付款",
// x.TenantId,
// x.MallBaseId,
// CreateDate = x.CreateDate.HasValue ? x.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
// });
// return ApiResult.Success("", pagelist);
//}
[HttpPost]
public ApiResult GetOrderBilldetailPageList()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString());
RB_Goods_OrderIntroduction_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_OrderIntroduction_Extend>(req.msg.ToString());
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
var list = userModule.GetOrderBilldetailPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.OrderId,
x.OrderNo,
DetailList = x.OrderDetailList.Select(y => new
{
y.Id,
y.CoverImagePath,
y.OrderType,
OrderTypeName = y.OrderType.GetEnumName(),
y.GoodsName,
SpecificationList = JsonConvert.DeserializeObject<List<string>>(y.Specification),
y.ProductCode,
y.Final_Price,
y.Number
}),
x.UserId,
x.UserName,
x.Photo,
x.Mobile,
x.Remark,
x.Commission,
x.CommissionState,
StatusName = x.DistrbutionOrderSelectStatus == 1 ? "待付款" : x.DistrbutionOrderSelectStatus == 5 ? "已完成" : "已付款",
x.TenantId,
x.MallBaseId,
CreateDate = x.CreateDate.HasValue ? x.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
});
return ApiResult.Success("", pagelist);
}
#endregion
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment