Commit ebf8d841 authored by 吴春's avatar 吴春

Merge branch 'sdzq-ld' of http://gitlab.oytour.com/Kui2/mall.oytour.com into sdzq

parents 54bf9ceb d9d3e1e5
......@@ -17,6 +17,7 @@ using Mall.Common;
using Mall.Module.Product;
using Mall.AOP;
using Mall.Model.Extend.GuideCar;
using Mall.Common.Enum.Goods;
using DotNetCore.CAP.Infrastructure;
namespace Mall.WebApi.Controllers.MallBase
......@@ -124,6 +125,209 @@ namespace Mall.WebApi.Controllers.MallBase
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 商品导出
/// </summary>
[HttpPost]
public FileContentResult GetProductGoodsListToExcel()
{
var parms = RequestParm;
RB_Goods_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Extend>(parms.msg.ToString());
string ExcelName = "司导商品列表" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
List<ExcelDataSource> slist = new List<ExcelDataSource>();
ExcelDataSource header = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
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 },
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 }
}
};
slist.Add(header);
try
{
demodel.TenantId = parms.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = guideCarModule.GetProductGoodsPageList(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)
{
AreaList = JsonConvert.SerializeObject(item.AreaList.Select(x => new
{
x.Id,
x.GoodsId,
x.AreaId,
x.AreaName,
x.AreaType
}));
}
ExcelDataSource datarow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value:Num.ToString()){ },
new ExcelColumn(value:item.Name){ },
new ExcelColumn(value:(item.OriginalPrice??0).ToString()){ },
new ExcelColumn(value:(item.CostPrice??0).ToString()){ },
new ExcelColumn(value:item.GoodsDetails){ },
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()){ },
new ExcelColumn(value:(item.PointsDeductionType??0).ToString()){ },
new ExcelColumn(value:(item.IsMultipleDeduction??0).ToString()){ },
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()){ },
}
,
ColumnHight = 30
};
slist.Add(datarow);
}
#endregion
var byteData = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData, "application/octet-stream", ExcelName);
}
catch (Exception ex)
{
LogHelper.Write(ex, string.Format("GetFileFromWebApi_requestData: {0}", JsonHelper.Serialize(RequestParm)));
var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData1, "application/octet-stream", ExcelName);
}
}
/// <summary>
/// 获取商品详情
/// </summary>
......@@ -242,6 +446,21 @@ namespace Mall.WebApi.Controllers.MallBase
});
}
/// <summary>
/// 获取服务类型枚举
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetOrderListExportEnumList()
{
var list = EnumHelper.GetEnumList(typeof(GuideCarGoodsTypeEnum));
return ApiResult.Success("", list.Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
/// <summary>
/// 新增修改商品信息
/// </summary>
......@@ -329,6 +548,7 @@ namespace Mall.WebApi.Controllers.MallBase
#endregion
demodel.IsCustomSpecification ??= 2;
demodel.DefaultSpecificationName = "默认";
demodel.InventoryNum ??= 0;
List<Model.Extend.User.RB_Distributor_Grade_Extend> DGradeList = null;
List<Model.Extend.User.RB_Member_Grade_Extend> MGradeList = null;
......@@ -338,7 +558,6 @@ namespace Mall.WebApi.Controllers.MallBase
demodel.CustomShareTitles ??= "";
demodel.CustomShareImage ??= "";
demodel.GoodsStatus ??= 2;
demodel.DefaultSpecificationName ??= "";
demodel.Sort ??= 0;
demodel.CostPrice ??= 0;
demodel.IsGoodsNegotiable ??= 2;
......@@ -484,6 +703,7 @@ namespace Mall.WebApi.Controllers.MallBase
demodel.SubName ??= "";//副标题
demodel.IsLiveGoods ??= 2;//是否直播商品 1是 2否
demodel.SendArea ??= "";//发货地
demodel.GoodsClassify = 1;
bool flag = guideCarModule.SetProductGoodsInfo(demodel);
if (flag)
......
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