Commit c0adf10e authored by liudong1993's avatar liudong1993
parents c8ce44f1 e0dda873
...@@ -434,5 +434,11 @@ namespace Mall.Model.Entity.Product ...@@ -434,5 +434,11 @@ namespace Mall.Model.Entity.Product
/// 副标题 /// 副标题
/// </summary> /// </summary>
public string SubName { get; set; } public string SubName { get; set; }
/// <summary>
/// 营销标识(文字+文字颜色+文字背景/ 图标)
/// </summary>
public string MarketingLogo { get; set; }
} }
} }
...@@ -33,19 +33,46 @@ namespace Mall.Model.Entity.Product ...@@ -33,19 +33,46 @@ namespace Mall.Model.Entity.Product
public int GoodId { get; set; } public int GoodId { get; set; }
/// <summary> /// <summary>
/// 上架状态(1-未开始,2-进行中,3-已结束,4-下架中,5-删除) /// 上架状态(1-上架,2-下架中,3-删除)
/// </summary> /// </summary>
public int GoodsStatus { get; set; } public int GoodsStatus { get; set; }
/// <summary> /// <summary>
/// 排序 /// 售价
/// </summary> /// </summary>
public int Sort { get; set; } public decimal SellingPrice { get; set; }
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public decimal SellingPrice { get; set; } public decimal Original_Price { get; set; }
/// <summary>
/// 商品总库存
/// </summary>
public int Goods_Stock { get; set; }
/// <summary>
/// 商品默认规格
/// </summary>
public string Goods_unit { get; set; }
/// <summary>
/// 商品货号
/// </summary>
public string Goods_no { get; set; }
/// <summary>
/// 商品重量
/// </summary>
public string Goods_weight { get; set; }
/// <summary>
/// 排序
/// </summary>
public int Sort { get; set; }
/// <summary> /// <summary>
/// 是否开启虚拟成团(1-开启) /// 是否开启虚拟成团(1-开启)
......
...@@ -295,6 +295,11 @@ namespace Mall.Model.Extend.MarketingCenter ...@@ -295,6 +295,11 @@ namespace Mall.Model.Extend.MarketingCenter
/// 左右边距 /// 左右边距
/// </summary> /// </summary>
public string leftAndRight { get; set; } public string leftAndRight { get; set; }
/// <summary>
/// 背景颜色
/// </summary>
public string background { get; set; }
} }
/// <summary> /// <summary>
......
...@@ -94,5 +94,10 @@ namespace Mall.Model.Extend.Product ...@@ -94,5 +94,10 @@ namespace Mall.Model.Extend.Product
get; get;
set; set;
} }
/// <summary>
/// 营销标识
/// </summary>
public string MarketingLogo { get; set; }
} }
} }
...@@ -11,8 +11,105 @@ namespace Mall.Model.Extend.Product ...@@ -11,8 +11,105 @@ namespace Mall.Model.Extend.Product
/// </summary> /// </summary>
[Serializable] [Serializable]
[DB(ConnectionName = "DefaultConnection")] [DB(ConnectionName = "DefaultConnection")]
public class RB_Groupbuy_Activity_Extend: RB_Groupbuy_Activity public class RB_Groupbuy_Activity_Extend : RB_Groupbuy_Activity
{ {
/// <summary>
/// 开始日期
/// </summary>
public string QStartDate { get; set; }
/// <summary>
/// 结束日期
/// </summary>
public string QEndDate { get; set; }
/// <summary>
/// 商品名称
/// </summary>
public string QGoodName { get; set; }
/// <summary>
/// 商品封面图
/// </summary>
public string CarouselImage { get; set; }
/// <summary>
/// 封面图
/// </summary>
public string Cover_Img
{
get
{
string str = "";
if (!string.IsNullOrWhiteSpace(this.CarouselImage))
{
List<string> imgList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(this.CarouselImage);
if (imgList != null && imgList.Count > 0)
{
str = Common.Config.GetFileUrl(imgList[0]);
}
}
return str;
}
}
/// <summary>
/// 活动开始时间
/// </summary>
public string StartTimeStr
{
get
{
string str = "";
str = Convert.ToDateTime(this.StartTime).ToString("yyyy-MM-dd HH:mm:ss");
return str;
}
}
/// <summary>
/// 活动结束时间
/// </summary>
public string EndTimeStr
{
get
{
string str = "";
str = Convert.ToDateTime(this.EndTime).ToString("yyyy-MM-dd HH:mm:ss");
return str;
}
}
/// <summary>
/// 活动状态
/// </summary>
public string GoodsStatusStr
{
get
{
string str = "";
switch (this.GoodsStatus)
{
case 1:
str = "上架";
if (this.StartTime > DateTime.Now)
{
str = "未开始";
}
if (this.StartTime <= DateTime.Now && DateTime.Now <= this.EndTime)
{
str = "进行中";
}
if (DateTime.Now > this.EndTime)
{
str = "已结束";
}
break;
case 2: str = "下架"; break;
case 3: str = "删除"; break;
}
return str;
}
}
} }
} }
...@@ -161,6 +161,11 @@ namespace Mall.Module.MarketingCenter ...@@ -161,6 +161,11 @@ namespace Mall.Module.MarketingCenter
h = h_root, h = h_root,
hotspot = new List<hotspotItem>(), hotspot = new List<hotspotItem>(),
list = new List<rubikDetailItem>(), list = new List<rubikDetailItem>(),
left=jObj.ContainsKey("left")? jObj["left"].ToString():"0",
right = jObj.ContainsKey("right") ? jObj["right"].ToString():"0",
top = jObj.ContainsKey("top") ? jObj["top"].ToString():"0",
bottom = jObj.ContainsKey("bottom") ? jObj["bottom"].ToString():"0",
background= jObj.ContainsKey("background") ? jObj["background"].ToString():"",
}; };
if (!string.IsNullOrWhiteSpace(jObj["hotspot"].ToString())) if (!string.IsNullOrWhiteSpace(jObj["hotspot"].ToString()))
......
...@@ -67,8 +67,13 @@ namespace Mall.Module.Product ...@@ -67,8 +67,13 @@ namespace Mall.Module.Product
{ nameof(RB_Groupbuy_Activity_Extend.EndTime),extModel.EndTime}, { nameof(RB_Groupbuy_Activity_Extend.EndTime),extModel.EndTime},
{ nameof(RB_Groupbuy_Activity_Extend.GoodId),extModel.GoodId}, { nameof(RB_Groupbuy_Activity_Extend.GoodId),extModel.GoodId},
{ nameof(RB_Groupbuy_Activity_Extend.GoodsStatus),extModel.GoodsStatus}, { nameof(RB_Groupbuy_Activity_Extend.GoodsStatus),extModel.GoodsStatus},
{ nameof(RB_Groupbuy_Activity_Extend.Sort),extModel.Sort},
{ nameof(RB_Groupbuy_Activity_Extend.SellingPrice),extModel.SellingPrice}, { nameof(RB_Groupbuy_Activity_Extend.SellingPrice),extModel.SellingPrice},
{ nameof(RB_Groupbuy_Activity_Extend.Original_Price),extModel.Original_Price},
{ nameof(RB_Groupbuy_Activity_Extend.Goods_Stock),extModel.Goods_Stock},
{ nameof(RB_Groupbuy_Activity_Extend.Goods_unit),extModel.Goods_unit},
{ nameof(RB_Groupbuy_Activity_Extend.Goods_no),extModel.Goods_no},
{ nameof(RB_Groupbuy_Activity_Extend.Goods_weight),extModel.Goods_weight},
{ nameof(RB_Groupbuy_Activity_Extend.Sort),extModel.Sort},
{ nameof(RB_Groupbuy_Activity_Extend.Is_Auto_Add_Robot),extModel.Is_Auto_Add_Robot}, { nameof(RB_Groupbuy_Activity_Extend.Is_Auto_Add_Robot),extModel.Is_Auto_Add_Robot},
{ nameof(RB_Groupbuy_Activity_Extend.Virtual_Sales),extModel.Virtual_Sales}, { nameof(RB_Groupbuy_Activity_Extend.Virtual_Sales),extModel.Virtual_Sales},
{ nameof(RB_Groupbuy_Activity_Extend.Is_Alone_Buy),extModel.Is_Alone_Buy}, { nameof(RB_Groupbuy_Activity_Extend.Is_Alone_Buy),extModel.Is_Alone_Buy},
......
...@@ -1997,6 +1997,7 @@ namespace Mall.Module.Product ...@@ -1997,6 +1997,7 @@ namespace Mall.Module.Product
sign = "", sign = "",
confine_order_count = gmodel.LimitBuyOrderNum,//限制订单数量 confine_order_count = gmodel.LimitBuyOrderNum,//限制订单数量
form_id = gmodel.FormsId,//表单id form_id = gmodel.FormsId,//表单id
marketingLogo= gmodel.MarketingLogo
//goodsWarehouse = new //goodsWarehouse = new
//{ //{
// id = 19813, // id = 19813,
......
...@@ -2008,6 +2008,7 @@ namespace Mall.Module.Product ...@@ -2008,6 +2008,7 @@ namespace Mall.Module.Product
fullMoneyPinkage = model.FreeShippingModel.FullMoneyPinkage ?? 0, fullMoneyPinkage = model.FreeShippingModel.FullMoneyPinkage ?? 0,
fullNumPinkage = model.FreeShippingModel.FullNumPinkage ?? 0, fullNumPinkage = model.FreeShippingModel.FullNumPinkage ?? 0,
freeShippingUrl = model.FreeShippingModel.FreeShippingUrl, freeShippingUrl = model.FreeShippingModel.FreeShippingUrl,
marketingLogo= model.MarketingLogo,
cats = model.CategoryList.Select(x => new cats = model.CategoryList.Select(x => new
{ {
x.CategoryId, x.CategoryId,
...@@ -3404,8 +3405,9 @@ namespace Mall.Module.Product ...@@ -3404,8 +3405,9 @@ namespace Mall.Module.Product
/// <param name="pageSize"></param> /// <param name="pageSize"></param>
/// <param name="count"></param> /// <param name="count"></param>
/// <param name="demodel"></param> /// <param name="demodel"></param>
/// <param name="IsGetSpec">是否获取规格</param>
/// <returns></returns> /// <returns></returns>
public List<RB_Goods_Extend> GetProductGoodsPageList(int pageIndex, int pageSize, out long count, RB_Goods_Extend demodel) public List<RB_Goods_Extend> GetProductGoodsPageList(int pageIndex, int pageSize, out long count, RB_Goods_Extend demodel,int IsGetSpec=0)
{ {
var list = goodsRepository.GetPageList(pageIndex, pageSize, out count, demodel); var list = goodsRepository.GetPageList(pageIndex, pageSize, out count, demodel);
if (list.Any()) if (list.Any())
...@@ -3414,6 +3416,16 @@ namespace Mall.Module.Product ...@@ -3414,6 +3416,16 @@ namespace Mall.Module.Product
string ids = string.Join(",", list.Select(x => x.Id)); 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 clist = goods_CategoryRepository.GetList(new RB_Goods_Category_Extend() { GoodsIds = ids, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
var olist = goods_OrderRepository.GetGoodsOrderNum(ids); var olist = goods_OrderRepository.GetGoodsOrderNum(ids);
//规格列表
List<RB_Goods_Specification_Extend> SpecificationList = new List<RB_Goods_Specification_Extend>();
//规格值
List<RB_Goods_SpecificationValue_Extend> svlist = new List<RB_Goods_SpecificationValue_Extend>();
if (IsGetSpec == 1)
{
SpecificationList= goods_SpecificationRepository.GetList(new RB_Goods_Specification_Extend() { GoodsIds = ids, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
svlist = goods_SpecificationValueRepository.GetList(new RB_Goods_SpecificationValue_Extend() { GoodsIds = ids, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
}
foreach (var item in list) foreach (var item in list)
{ {
item.CategoryList = clist.Where(x => x.GoodsId == item.Id).ToList(); item.CategoryList = clist.Where(x => x.GoodsId == item.Id).ToList();
...@@ -3428,8 +3440,20 @@ namespace Mall.Module.Product ...@@ -3428,8 +3440,20 @@ namespace Mall.Module.Product
} }
item.GoodsBuyNum = olist.Where(x => x.GoodsId == item.Id).FirstOrDefault()?.OrderNum ?? 0; item.GoodsBuyNum = olist.Where(x => x.GoodsId == item.Id).FirstOrDefault()?.OrderNum ?? 0;
if (IsGetSpec==1)
{
item.SpecificationList = SpecificationList?.Where(qitem => qitem.GoodsId == item.Id)?.ToList()??new List<RB_Goods_Specification_Extend>();
if (item.SpecificationList != null && item.SpecificationList.Count > 0)
{
foreach (var subItem in item.SpecificationList)
{
subItem.SpecificationValueList = svlist.Where(x => x.SpecificationId == subItem.Id).ToList();
}
}
} }
} }
}
return list; return list;
} }
...@@ -3840,6 +3864,7 @@ namespace Mall.Module.Product ...@@ -3840,6 +3864,7 @@ namespace Mall.Module.Product
{ nameof(RB_Goods.PresentFXMonth),demodel.PresentFXMonth}, { nameof(RB_Goods.PresentFXMonth),demodel.PresentFXMonth},
{ nameof(RB_Goods.Advertising),demodel.Advertising}, { nameof(RB_Goods.Advertising),demodel.Advertising},
{ nameof(RB_Goods.SubName),demodel.SubName}, { nameof(RB_Goods.SubName),demodel.SubName},
{ nameof(RB_Goods.MarketingLogo),demodel.MarketingLogo},
}; };
if (goodsModel.IsProcurement == 1) if (goodsModel.IsProcurement == 1)
{ {
......
...@@ -45,7 +45,7 @@ namespace Mall.Repository.Product ...@@ -45,7 +45,7 @@ namespace Mall.Repository.Product
} }
string sql = $@"select sc.*,g.Name as GoodsName,g.GoodsStatus,g.CarouselImage,g.SellingPrice as Price,g.IsCustomSpecification,g.DefaultSpecificationName, string sql = $@"select sc.*,g.Name as GoodsName,g.GoodsStatus,g.CarouselImage,g.SellingPrice as Price,g.IsCustomSpecification,g.DefaultSpecificationName,
g.EnjoyMember,g.SeparateSetMember,g.InventoryNum,g.FullNumPinkage,g.FullMoneyPinkage from RB_Goods_ShoppingCart sc g.EnjoyMember,g.SeparateSetMember,g.InventoryNum,g.FullNumPinkage,g.FullMoneyPinkage,g.MarketingLogo from RB_Goods_ShoppingCart sc
inner join RB_Goods g on sc.GoodsId=g.Id inner join RB_Goods g on sc.GoodsId=g.Id
where {where} order by g.GoodsStatus asc,sc.CreateDate desc"; where {where} order by g.GoodsStatus asc,sc.CreateDate desc";
return GetPage<RB_Goods_ShoppingCart_Extend>(pageIndex, pageSize, out rowCount, sql).ToList(); return GetPage<RB_Goods_ShoppingCart_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
......
...@@ -24,10 +24,32 @@ namespace Mall.Repository.Product ...@@ -24,10 +24,32 @@ namespace Mall.Repository.Product
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT * SELECT A.*,B.Name AS QGoodName,B.CarouselImage AS CarouselImage
FROM RB_Groupbuy_Activity FROM RB_Groupbuy_Activity AS A LEFT JOIN rb_goods AS B ON A.GoodId=B.Id
WHERE 1=1 WHERE 1=1
"); ");
if (query != null)
{
//时间范围
if (!string.IsNullOrWhiteSpace(query.QStartDate) && !string.IsNullOrWhiteSpace(query.QEndDate))
{
builder.AppendFormat(@" AND
(
'{0}' BETWEEN StartTime AND EndTime OR
'{1}' BETWEEN StartTime AND EndTime OR
StartTime BETWEEN '{0}' AND '{1}' OR
EndTime BETWEEN '{0}' AND '{1}'
)",Convert.ToDateTime(query.QStartDate).ToString("yyyy-MM-dd HH:mm:ss"), Convert.ToDateTime(query.QEndDate).ToString("yyyy-MM-dd HH:mm:ss"));
}
if (!string.IsNullOrWhiteSpace(query.QGoodName))
{
builder.AppendFormat(@" AND B.Name LIKE '%{0}%' ", query.QGoodName);
}
if (query.GoodsStatus > 0)
{
builder.AppendFormat(@" AND A.GoodsStatus={0} ", query.GoodsStatus);
}
}
return GetPage<RB_Groupbuy_Activity_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList(); return GetPage<RB_Groupbuy_Activity_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
} }
......
...@@ -289,7 +289,7 @@ where {where} order by di.CreateDate desc"; ...@@ -289,7 +289,7 @@ where {where} order by di.CreateDate desc";
} }
if (dmodel.IsSelectOverTime > 0) if (dmodel.IsSelectOverTime > 0)
{ {
where += $@" and DATE_FORMAT( di.{nameof(RB_Distributor_Info.VipExpiryDate)},'%y-%m-%d')<=DATE_FORMAT( '{DateTime.Now.AddDays(-1)}','%y-%m-%d')"; where += $@" and DATE_FORMAT( di.{nameof(RB_Distributor_Info.VipExpiryDate)},'%y-%m-%d')<=DATE_FORMAT( '{DateTime.Now.AddDays(1)}','%y-%m-%d')";
} }
string sql = $@"select di.* from RB_Distributor_Info di where {where} order by di.CreateDate desc"; string sql = $@"select di.* from RB_Distributor_Info di where {where} order by di.CreateDate desc";
return Get<RB_Distributor_Info_Extend>(sql).ToList(); return Get<RB_Distributor_Info_Extend>(sql).ToList();
......
...@@ -343,7 +343,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -343,7 +343,8 @@ namespace Mall.WebApi.Controllers.MallBase
}), }),
attr = priceList, attr = priceList,
goods_stock = model.InventoryNum, goods_stock = model.InventoryNum,
goods_num = model.InventoryNum goods_num = model.InventoryNum,
marketingLogo= model.MarketingLogo
}); });
} }
} }
......
...@@ -68,6 +68,7 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -68,6 +68,7 @@ namespace Mall.WebApi.Controllers.MallBase
FreeShippingFullMoneyPinkage = x.FreeShippingModel.FullMoneyPinkage ?? 0, FreeShippingFullMoneyPinkage = x.FreeShippingModel.FullMoneyPinkage ?? 0,
FreeShippingFullNumPinkage = x.FreeShippingModel.FullNumPinkage ?? 0, FreeShippingFullNumPinkage = x.FreeShippingModel.FullNumPinkage ?? 0,
x.FreeShippingModel.FreeShippingUrl, x.FreeShippingModel.FreeShippingUrl,
x.MarketingLogo
}); });
List<object> robj = new List<object>() { List<object> robj = new List<object>() {
new { new {
......
...@@ -1376,10 +1376,11 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -1376,10 +1376,11 @@ namespace Mall.WebApi.Controllers.MallBase
var parms = RequestParm; var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString()); ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString());
RB_Goods_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Extend>(parms.msg.ToString()); RB_Goods_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Extend>(parms.msg.ToString());
JObject parameters = JObject.Parse(RequestParm.msg.ToString());
int IsGetSpec = parameters.GetInt("IsGetSpec", 0);
demodel.TenantId = parms.TenantId; demodel.TenantId = parms.TenantId;
demodel.MallBaseId = parms.MallBaseId; demodel.MallBaseId = parms.MallBaseId;
var list = productModule.GetProductGoodsPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel); var list = productModule.GetProductGoodsPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel, IsGetSpec: IsGetSpec);
pagelist.count = Convert.ToInt32(count); pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new pagelist.pageData = list.Select(x => new
{ {
...@@ -1388,7 +1389,16 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -1388,7 +1389,16 @@ namespace Mall.WebApi.Controllers.MallBase
x.CoverImage, x.CoverImage,
x.SellingPrice, x.SellingPrice,
x.SalesNum, x.SalesNum,
CategoryList = x.CategoryList.Select(y => new { y.Id, y.CategoryName }) CategoryList = x.CategoryList.Select(y => new { y.Id, y.CategoryName }),
x.InventoryNum,
x.Sort,
x.OriginalPrice,
x.DefaultSpecificationName,
x.GoodsNumbers,
x.GoodsWeight,
x.IsDefaultService,
x.GoodsService,
x.SpecificationList
}); });
return ApiResult.Success("", pagelist); return ApiResult.Success("", pagelist);
} }
...@@ -1546,7 +1556,8 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -1546,7 +1556,8 @@ namespace Mall.WebApi.Controllers.MallBase
model.PresentFXGrade, model.PresentFXGrade,
model.PresentFXMonth, model.PresentFXMonth,
model.Advertising, model.Advertising,
model.SubName model.SubName,
model.MarketingLogo
}); });
} }
......
...@@ -378,7 +378,7 @@ namespace Mall.WebApi.Controllers.User ...@@ -378,7 +378,7 @@ namespace Mall.WebApi.Controllers.User
Number = x.FinanceType == 1 ? x.Number : 1, Number = x.FinanceType == 1 ? x.Number : 1,
OriginalMoney = x.FinanceType == 1 ? ((x.CostMoney ?? 0) * (x.Number ?? 0)) : x.FreightCostMoney, OriginalMoney = x.FinanceType == 1 ? ((x.CostMoney ?? 0) * (x.Number ?? 0)) : x.FreightCostMoney,
UnitPrice = x.FinanceType == 1 ? ((x.CostMoney ?? 0)) : x.FreightCostMoney, UnitPrice = x.FinanceType == 1 ? ((x.CostMoney ?? 0)) : x.FreightCostMoney,
Remark = x.GoodsName + x.OrderNo Remark = x.GoodsName +x.Specification+ x.OrderNo
}); });
decimal totalMonry = 0; decimal totalMonry = 0;
...@@ -397,7 +397,7 @@ namespace Mall.WebApi.Controllers.User ...@@ -397,7 +397,7 @@ namespace Mall.WebApi.Controllers.User
} }
var financeObj = new var financeObj = new
{ {
CreateBy = Config.ExpendDirector, CreateBy = UserInfo.ERPEmpId==0? Config.ExpendDirector:UserInfo.ERPEmpId.ToString(),
IsPublic = demodel.IsPublic,// supplierModel.ClientBankAccount.AccountType, //financeConfigurineModel.AccountType, IsPublic = demodel.IsPublic,// supplierModel.ClientBankAccount.AccountType, //financeConfigurineModel.AccountType,
ClientType = supplierModel.ClientBankAccount.Type, ClientType = supplierModel.ClientBankAccount.Type,
ClientID = supplierModel.BankAccountId, ClientID = supplierModel.BankAccountId,
......
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