Browse Source

赠品模板调整

qianyi
shanji 2 years ago
parent
commit
9454be6bd1
  1. 78
      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

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

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

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

@ -25,13 +25,6 @@ namespace BBWY.Server.Model.Db
[Column(StringLength = 50)] [Column(StringLength = 50)]
public string TemplateSpu { get; set; } 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> /// </summary>
public string TemplateSpu { get; set; } public string TemplateSpu { get; set; }
/// <summary>
/// 选中的赠品Sku 逗号间隔 public IList<GiftTemplateSkuRequest> GiftSkuList { get; set; }
/// </summary> }
public string GiftSkus { 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> /// </summary>
public string MainProductSpu { get; set; } public string MainProductSpu { get; set; }
///// <summary>
///// 赠品模板的Sku
///// </summary>
//public string GiftTemplateSku { get; set; }
/// <summary> /// <summary>
/// 赠品模板的Sku /// 赠品模板的Sku
/// </summary> /// </summary>
public string GiftTemplateSku { get; set; } public IList<GiftTemplateSkuRequest> GiftTemplateSkuList { get; set; }
/// <summary> /// <summary>
/// 主商品的赠品sku /// 主商品的赠品sku

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

@ -7,5 +7,11 @@ namespace BBWY.Server.Model.Dto
{ {
public class GiftTemplateResponse : GiftTemplate 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 pageSize = 50,//50
field = "logo,saleAttrs,status,created,barCode,categoryId,multiCateProps" 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>(); var skuList = new List<ProductSkuResponse>();
IList<string> skuIdList = null; IList<string> skuIdList = null;
var pageIndex = 1; var pageIndex = 1;

Loading…
Cancel
Save