Browse Source

赠品模板调整

qianyi
shanji 2 years ago
parent
commit
9454be6bd1
  1. 82
      BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs
  2. 7
      BBWY.Server.Model/Db/EvaluationAssistant/GiftTemplate.cs
  3. 45
      BBWY.Server.Model/Db/EvaluationAssistant/GiftTemplateSku.cs
  4. 25
      BBWY.Server.Model/Dto/Request/GiftTemplate/AddOrEditGiftTemplateRequest.cs
  5. 7
      BBWY.Server.Model/Dto/Request/PromotionTask/StartPromotionTaskRequest.cs
  6. 6
      BBWY.Server.Model/Dto/Response/GiftTemplate/GiftTemplateResponse.cs
  7. 2
      BBWY.Test/JDProductAPITest.cs

82
BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs

@ -4,6 +4,7 @@ using BBWY.Common.Models;
using BBWY.Server.Model;
using BBWY.Server.Model.Db;
using BBWY.Server.Model.Dto;
using FreeSql;
using Microsoft.Extensions.Options;
using Newtonsoft.Json;
using System;
@ -31,47 +32,81 @@ namespace BBWY.Server.Business
{
if (string.IsNullOrEmpty(request.TemplateName))
throw new BusinessException("缺少模板名称");
if (string.IsNullOrEmpty(request.GiftSkus))
if (request.GiftSkuList == null || request.GiftSkuList.Count() == 0)
throw new BusinessException("缺少赠品SKU");
var giftCount = request.GiftSkus.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Count();
IInsert<GiftTemplate> insert = null;
IUpdate<GiftTemplate> update = null;
if (giftCount == 0)
throw new BusinessException("缺少赠品SKU");
IDelete<GiftTemplateSku> delete = null;
List<GiftTemplateSku> inserList = null;
if (request.Id == 0)
long giftTemplateId = request.Id;
if (giftTemplateId == 0)
{
giftTemplateId = idGenerator.NewLong();
var giftTemplate = new GiftTemplate()
{
Id = idGenerator.NewLong(),
Id = giftTemplateId,
CreateTime = DateTime.Now,
TemplateName = request.TemplateName,
Platform = Enums.Platform.,
ShopId = request.ShopId,
TemplateSpu = request.TemplateSpu,
GiftCount = giftCount,
GiftSkus = request.GiftSkus
GiftCount = request.GiftSkuList.Count()
};
fsql.Insert(giftTemplate).ExecuteAffrows();
insert = fsql.Insert(giftTemplate);
}
else
{
fsql.Update<GiftTemplate>(request.Id).Set(g => g.TemplateName, request.TemplateName)
.Set(g => g.TemplateSpu, request.TemplateSpu)
.Set(g => g.GiftSkus, request.GiftSkus)
.Set(g => g.GiftCount, giftCount)
.ExecuteAffrows();
update = fsql.Update<GiftTemplate>(giftTemplateId).Set(g => g.TemplateName, request.TemplateName)
.Set(g => g.TemplateSpu, request.TemplateSpu)
.Set(g => g.GiftCount, request.GiftSkuList.Count());
delete = fsql.Delete<GiftTemplateSku>().Where(gs => gs.GiftTemplateId == giftTemplateId);
}
inserList = request.GiftSkuList.Select(gs => new GiftTemplateSku()
{
Id = idGenerator.NewLong(),
CreateTime = DateTime.Now,
GiftTemplateId = giftTemplateId,
Logo = gs.Logo,
Price = gs.Price,
Title = gs.Title,
ShopId = request.ShopId,
SkuId = gs.SkuId,
SpuId = request.TemplateSpu
}).ToList();
fsql.Transaction(() =>
{
insert?.ExecuteAffrows();
update?.ExecuteAffrows();
delete?.ExecuteAffrows();
fsql.Insert(inserList).ExecuteAffrows();
});
}
public IList<GiftTemplateResponse> GetGiftTemplateList(long shopId)
{
return fsql.Select<GiftTemplate>().Where(g => g.ShopId == shopId).ToList<GiftTemplateResponse>();
var templateList = fsql.Select<GiftTemplate>().Where(g => g.ShopId == shopId).ToList<GiftTemplateResponse>();
var templateIdList = templateList.Select(g => g.Id).ToList();
var templateSkuList = fsql.Select<GiftTemplateSku>().Where(gs => templateIdList.Contains(gs.GiftTemplateId.Value)).ToList<GiftTemplateSkuResponse>();
foreach (var template in templateList)
{
template.GiftSkuList = templateSkuList.Where(gs => gs.GiftTemplateId == template.Id).ToList();
}
return templateList;
}
public void DeleteGiftTemplate(long giftTemplateId)
{
fsql.Delete<GiftTemplate>(giftTemplateId).ExecuteAffrows();
fsql.Transaction(() =>
{
fsql.Delete<GiftTemplate>(giftTemplateId).ExecuteAffrows();
fsql.Delete<GiftTemplateSku>().Where(gs => gs.GiftTemplateId == giftTemplateId).ExecuteAffrows();
});
}
#endregion
@ -255,15 +290,20 @@ namespace BBWY.Server.Business
throw new BusinessException("只能在任务处于等待状态时才能开始");
var giftTemplateSku = string.Empty; //赠品模板sku
IList<GiftTemplateSkuRequest> giftTemplateSkuList = null; //赠品模板sku
var motherTemplateSku = string.Empty; //奶妈模板的sku
if (dbPromotionTask.GiftTemplateId != null && dbPromotionTask.GiftTemplateId != 0)
{
var giftTemplate = fsql.Select<GiftTemplate>(dbPromotionTask.GiftTemplateId).ToOne();
if (giftTemplate == null)
giftTemplateSkuList = fsql.Select<GiftTemplateSku>(dbPromotionTask.GiftTemplateId).ToList(gs => new GiftTemplateSkuRequest()
{
Logo = gs.Logo,
Price = gs.Price,
SkuId = gs.SkuId,
Title = gs.Title
});
if (giftTemplateSkuList == null || giftTemplateSkuList.Count() == 0)
throw new BusinessException("赠品模板不存在");
giftTemplateSku = giftTemplate.GiftSkus;
}
var runingTaskList = fsql.Select<PromotionTask>().Where(pt => pt.ShopId == dbPromotionTask.ShopId && pt.Status == Enums.PromitionTaskStatus.).ToList();
@ -293,7 +333,7 @@ namespace BBWY.Server.Business
AppToken = request.AppToken,
SimpleTitle = dbPromotionTask.SimpleTitle,
FullTitle = dbPromotionTask.FullTitle,
GiftTemplateSku = giftTemplateSku,
GiftTemplateSkuList = giftTemplateSkuList,
MainProductGiftSku = dbPromotionTask.MainProductGiftSku,
MainProductSku = dbPromotionTask.MainProductSku,
MotherTemplateSku = motherTemplateSku,

7
BBWY.Server.Model/Db/EvaluationAssistant/GiftTemplate.cs

@ -25,13 +25,6 @@ namespace BBWY.Server.Model.Db
[Column(StringLength = 50)]
public string TemplateSpu { get; set; }
/// <summary>
/// 逗号间隔的赠品sku
/// </summary>
[Column(StringLength = 255)]
public string GiftSkus { get; set; }
}
}

45
BBWY.Server.Model/Db/EvaluationAssistant/GiftTemplateSku.cs

@ -0,0 +1,45 @@
using FreeSql.DatabaseModel;using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using Newtonsoft.Json;
using FreeSql.DataAnnotations;
namespace BBWY.Server.Model.Db {
[Table(Name = "gifttemplatesku", DisableSyncStructure = true)]
public partial class GiftTemplateSku
{
[Column(IsPrimary = true)]
public long Id { get; set; }
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
public long? GiftTemplateId { get; set; }
public string Logo { get; set; }
[Column(DbType = "decimal(18,2)")]
public decimal? Price { get; set; }
public long? ShopId { get; set; }
[Column(StringLength = 50)]
public string SkuId { get; set; }
public string SpuId { get; set; }
public string Title { get; set; }
}
}

25
BBWY.Server.Model/Dto/Request/GiftTemplate/AddOrEditGiftTemplateRequest.cs

@ -24,9 +24,26 @@ namespace BBWY.Server.Model.Dto
/// </summary>
public string TemplateSpu { get; set; }
/// <summary>
/// 选中的赠品Sku 逗号间隔
/// </summary>
public string GiftSkus { get; set; }
public IList<GiftTemplateSkuRequest> GiftSkuList { get; set; }
}
public class GiftTemplateSkuRequest
{
//public long Id { get; set; }
public string Logo { get; set; }
public decimal? Price { get; set; }
public string SkuId { get; set; }
public string Title { get; set; }
}
}

7
BBWY.Server.Model/Dto/Request/PromotionTask/StartPromotionTaskRequest.cs

@ -26,10 +26,15 @@ namespace BBWY.Server.Model.Dto
/// </summary>
public string MainProductSpu { get; set; }
///// <summary>
///// 赠品模板的Sku
///// </summary>
//public string GiftTemplateSku { get; set; }
/// <summary>
/// 赠品模板的Sku
/// </summary>
public string GiftTemplateSku { get; set; }
public IList<GiftTemplateSkuRequest> GiftTemplateSkuList { get; set; }
/// <summary>
/// 主商品的赠品sku

6
BBWY.Server.Model/Dto/Response/GiftTemplate/GiftTemplateResponse.cs

@ -7,5 +7,11 @@ namespace BBWY.Server.Model.Dto
{
public class GiftTemplateResponse : GiftTemplate
{
public IList<GiftTemplateSkuResponse> GiftSkuList { get; set; }
}
public class GiftTemplateSkuResponse : GiftTemplateSku
{
}
}

2
BBWY.Test/JDProductAPITest.cs

@ -20,7 +20,7 @@ namespace BBWY.Test
pageSize = 50,//50
field = "logo,saleAttrs,status,created,barCode,categoryId,multiCateProps"
};
string sku = "10066603568725,10066603568724,10066603568728,10066603568727,10066603568726,10066603568722,10066603568729,10066603568723";
string sku = "10023500913672,10066767386123";
var skuList = new List<ProductSkuResponse>();
IList<string> skuIdList = null;
var pageIndex = 1;

Loading…
Cancel
Save