Commit 7136a547 authored by liudong1993's avatar liudong1993

商品导出

parent d9d3e1e5
......@@ -10,5 +10,9 @@ namespace Mall.Model.Extend.GuideCar
public List<string> PicList { get; set; }
public string CardIds { get; set; }
/// <summary>
/// 颜色ids
/// </summary>
public string CarColorIds { get; set; }
}
}
......@@ -19,5 +19,9 @@ namespace Mall.Model.Extend.GuideCar
/// 商品数
/// </summary>
public int GoodsNum { get; set; }
/// <summary>
/// ids
/// </summary>
public string GuideCarIds { get; set; }
}
}
......@@ -15,6 +15,10 @@ namespace Mall.Model.Extend.GuideCar
[DB(ConnectionName = "DefaultConnection")]
public class RB_GuideCar_Guide_Extend : RB_GuideCar_Guide
{
/// <summary>
/// 导游ids
/// </summary>
public string GuideIds { get; set; }
/// <summary>
/// 站点名称
/// </summary>
......
......@@ -23,6 +23,27 @@ namespace Mall.Model.Extend.Product
/// 线路描述list
/// </summary>
public List<string> LineDescriptionList { get; set; }
#region 司导信息
/// <summary>
/// 站点名称
/// </summary>
public string SiteName { get; set; }
/// <summary>
/// 导游名称
/// </summary>
public string GuideName { get; set; }
/// <summary>
/// 车辆名称
/// </summary>
public string CarName { get; set; }
/// <summary>
/// 车辆颜色
/// </summary>
public string CarColorName { get; set; }
#endregion
/// <summary>
/// 微店id
/// </summary>
......
......@@ -303,6 +303,67 @@ namespace Mall.Module.Product
return list;
}
/// <summary>
/// 获取后台商品分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Goods_Extend> GetProductGoodsPageListToExcel(int pageIndex, int pageSize, out long count, RB_Goods_Extend demodel)
{
var list = goodsRepository.GetPageListForCar(pageIndex, pageSize, out count, demodel);
if (list.Any())
{
//查询分类
string ids = string.Join(",", list.Select(x => x.Id));
var clist = goods_CategoryRepository.GetList(new RB_Goods_Category_Extend() { GoodsIds = ids, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
var olist = goods_OrderRepository.GetGoodsOrderNum(ids);
#region 查询司导信息
string siteIds = string.Join(",", list.Select(x => x.SiteId));
var sitelist = SiteRepository.GetList(new RB_GuideCar_Site_Extend() { SiteIds = siteIds });
string guideIds = string.Join(",", list.Select(x => x.GuideId));
var guidelist = GuideRepository.GetLogisticsRulesList(new RB_GuideCar_Guide_Extend() { GuideIds = guideIds });
string carids = string.Join(",", list.Select(x => x.CarId));
var carlist = GuideCarRepository.GetGuideCarCarList(new RB_GuideCar_Car_Extend() { GuideCarIds = carids });
string colorIds = string.Join(",", list.Select(x => x.CarColorId));
var carcolorlist = CarColorRepository.GetCarColorList(new RB_GuideCar_CarColor_Extend() { CarColorIds = colorIds });
#endregion
foreach (var item in list)
{
item.CategoryList = clist.Where(x => x.GoodsId == item.Id).ToList();
//轮播图
item.CoverImage = "";
item.CarouselImageList = new List<RB_ImageCommonModel>();
if (!string.IsNullOrEmpty(item.CarouselImage) && item.CarouselImage != "[]")
{
List<string> CarouselIdList = JsonConvert.DeserializeObject<List<string>>(item.CarouselImage);
//封面图
item.CoverImage = CarouselIdList[0];
//轮播图
foreach (var qitem in CarouselIdList)
{
item.CarouselImageList.Add(new RB_ImageCommonModel()
{
Id = 0,
Name = "",
Path = qitem
});
}
}
item.GoodsBuyNum = olist.Where(x => x.GoodsId == item.Id).FirstOrDefault()?.OrderNum ?? 0;
item.SiteName = sitelist.Where(x => x.ID == item.SiteId).FirstOrDefault()?.SiteName ?? "";
item.GuideName = guidelist.Where(x => x.ID == item.GuideId).FirstOrDefault()?.Name ?? "";
item.CarName = carlist.Where(x => x.ID == item.CarId).FirstOrDefault()?.Name ?? "";
item.CarColorName = carcolorlist.Where(x => x.ID == item.CarColorId).FirstOrDefault()?.ColorName ?? "";
}
}
return list;
}
/// <summary>
/// 获取商品详情
/// </summary>
......
......@@ -73,6 +73,10 @@ namespace Mall.Repository.GuideCar
{
builder.Append($" AND {nameof(RB_GuideCar_Car_Extend.ID)}={query.ID}");
}
if (!string.IsNullOrEmpty(query.GuideCarIds))
{
builder.Append($" AND {nameof(RB_GuideCar_Car_Extend.ID)} in({query.GuideCarIds})");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_GuideCar_Car_Extend.TenantId)}={query.TenantId}");
......
......@@ -119,6 +119,10 @@ namespace Mall.Repository.GuideCar
{
builder.Append($" AND a.{nameof(RB_GuideCar_Guide_Extend.ID)}={query.ID}");
}
if (!string.IsNullOrEmpty(query.GuideIds))
{
builder.Append($" AND a.{nameof(RB_GuideCar_Guide_Extend.ID)} in({query.GuideIds})");
}
if (query.IsEnable > -1)
{
builder.Append($" AND a.{nameof(RB_GuideCar_Guide_Extend.IsEnable)}={query.IsEnable}");
......
......@@ -57,7 +57,7 @@ namespace Mall.Repository.GuideCar
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_GuideCar_Site_Extend> GetLogisticsRulesList(RB_GuideCar_Site_Extend query)
public List<RB_GuideCar_Site_Extend> GetList(RB_GuideCar_Site_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_GuideCar_Site_Extend.Status)}=0 ");
......
......@@ -146,15 +146,7 @@ namespace Mall.WebApi.Controllers.MallBase
new ExcelColumn(value: "商品缩略图") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "商品轮播图") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "商品视频") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "单位") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "售价") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "是否使用规格") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "规格组") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "商品库存") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "虚拟销量") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "购物数量限制") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "单品满件包邮") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "单品满额包邮") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "赠送积分") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "赠送积分类型") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "可抵扣积分") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
......@@ -163,13 +155,16 @@ namespace Mall.WebApi.Controllers.MallBase
new ExcelColumn(value: "自定义分享图片") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "自定义分享标题") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "排序") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "限购订单") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "是否单独区域购买") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "区域限购详情") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "规格详情") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "是否快速购买") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "是否热销") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "是否面议") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER }
new ExcelColumn(value: "站点") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "导游") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "车辆") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "车辆颜色") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "车牌号") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "是否拼座") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "乘坐人数") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "提前预定时间") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER }
}
};
......@@ -179,82 +174,12 @@ namespace Mall.WebApi.Controllers.MallBase
{
demodel.TenantId = parms.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = guideCarModule.GetProductGoodsPageList(1, 10000, out long count, demodel);
var list = guideCarModule.GetProductGoodsPageListToExcel(1, 10000, out long count, demodel);
#region 组装数据
int Num = 0;
foreach (var item in list)
{
Num++;
string GGZ = "";
string GGMX = "";
if (item.IsCustomSpecification == 1)
{
var obj = item.SpecificationList.Select(x => new
{
x.Id,
x.GoodsId,
x.Name,
x.Sort,
x.EnabledImage,
SpecificationValueList = x.SpecificationValueList.Select(z => new
{
z.Id,
z.GoodsId,
z.SpecificationId,
z.Name,
z.Image,
z.Sort
})
});
GGZ = JsonConvert.SerializeObject(obj);//序列化
GGMX = JsonConvert.SerializeObject(item.SpecificationPriceList.Select(x => new
{
x.Id,
x.GoodsId,
x.SpecificationSort,
x.SellingPrice,
x.InventoryNum,
x.GoodsWeight,
x.GoodsNumbers
}));
}
else
{
List<object> objList = new List<object>();
List<object> SpecificationValueList = new List<object>();
SpecificationValueList.Add(new
{
Id = 0,
GoodsId = item.Id,
SpecificationId = 0,
Name = item.DefaultSpecificationName,
Image = "",
Sort = 0
});
objList.Add(new
{
Id = 0,
GoodsId = item.Id,
Name = "规格",
Sort = 0,
EnabledImage = 2,
SpecificationValueList
});
GGZ = JsonConvert.SerializeObject(objList);//序列化
List<object> SpecificationPriceList = new List<object>();
SpecificationPriceList.Add(new
{
Id = 0,
GoodsId = item.Id,
SpecificationSort = "",
item.SellingPrice,
item.InventoryNum,
item.GoodsWeight,
item.GoodsNumbers
});
GGMX = JsonConvert.SerializeObject(SpecificationPriceList);//序列化
}
string AreaList = "";
if (item.IsAreaBuy == 1)
{
......@@ -279,17 +204,7 @@ namespace Mall.WebApi.Controllers.MallBase
new ExcelColumn(value:item.CoverImage){ },
new ExcelColumn(value:item.CarouselImage){ },
new ExcelColumn(value:item.VideoAddress){ },
new ExcelColumn(value:item.Unit){ },
new ExcelColumn(value:(item.SellingPrice??0).ToString()){ },
new ExcelColumn(value:(item.IsCustomSpecification??2).ToString()){ },
new ExcelColumn(value:GGZ.ToString()){ },
new ExcelColumn(value:(item.InventoryNum??0).ToString()){ },
new ExcelColumn(value:(item.SalesNum??0).ToString()){ },
new ExcelColumn(value:(item.LimitBuyGoodsNum??0).ToString()){ },
new ExcelColumn(value:(item.FullNumPinkage??0).ToString()){ },
new ExcelColumn(value:(item.FullMoneyPinkage??0).ToString()){ },
new ExcelColumn(value:(item.IntegralPresent??0).ToString()){ },
new ExcelColumn(value:(item.IntegralPresentType??0).ToString()){ },
new ExcelColumn(value:(item.PointsDeduction??0).ToString()){ },
......@@ -298,15 +213,16 @@ namespace Mall.WebApi.Controllers.MallBase
new ExcelColumn(value:item.CustomShareImage ??""){ },
new ExcelColumn(value:item.CustomShareTitles ??""){ },
new ExcelColumn(value:(item.Sort??0).ToString()){ },
new ExcelColumn(value:(item.LimitBuyOrderNum??0).ToString()){ },
new ExcelColumn(value:(item.IsAreaBuy??0).ToString()){ },
new ExcelColumn(value:AreaList.ToString()){ },
new ExcelColumn(value:GGMX.ToString()){ },
new ExcelColumn(value:(item.IsQuickBuy??0).ToString()){ },
new ExcelColumn(value:(item.IsSellWell??0).ToString()){ },
new ExcelColumn(value:(item.IsGoodsNegotiable??0).ToString()){ },
new ExcelColumn(value:item.SiteName){ },
new ExcelColumn(value:item.GuideName){ },
new ExcelColumn(value:item.CarName){ },
new ExcelColumn(value:item.CarColorName){ },
new ExcelColumn(value:item.CarNumber){ },
new ExcelColumn(value:item.IsSpell==1?"是":"否"){ },
new ExcelColumn(value:(item.RideNum??0).ToString()){ },
new ExcelColumn(value:(item.AdvanceDay??0).ToString()+"天"){ },
}
,
ColumnHight = 30
......
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