diff --git a/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs b/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs
index e1dd9d43..4eafb816 100644
--- a/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs
+++ b/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,
diff --git a/BBWY.Server.Model/Db/EvaluationAssistant/GiftTemplate.cs b/BBWY.Server.Model/Db/EvaluationAssistant/GiftTemplate.cs
index 1b111725..8b177fea 100644
--- a/BBWY.Server.Model/Db/EvaluationAssistant/GiftTemplate.cs
+++ b/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; }
-
 	}
 
 }
diff --git a/BBWY.Server.Model/Db/EvaluationAssistant/GiftTemplateSku.cs b/BBWY.Server.Model/Db/EvaluationAssistant/GiftTemplateSku.cs
new file mode 100644
index 00000000..274be4dd
--- /dev/null
+++ b/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; }
+
+	}
+
+}
diff --git a/BBWY.Server.Model/Dto/Request/GiftTemplate/AddOrEditGiftTemplateRequest.cs b/BBWY.Server.Model/Dto/Request/GiftTemplate/AddOrEditGiftTemplateRequest.cs
index 74052ccb..3e9a494e 100644
--- a/BBWY.Server.Model/Dto/Request/GiftTemplate/AddOrEditGiftTemplateRequest.cs
+++ b/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; }
     }
 }
+
+
diff --git a/BBWY.Server.Model/Dto/Request/PromotionTask/StartPromotionTaskRequest.cs b/BBWY.Server.Model/Dto/Request/PromotionTask/StartPromotionTaskRequest.cs
index 3c84baac..3647ccad 100644
--- a/BBWY.Server.Model/Dto/Request/PromotionTask/StartPromotionTaskRequest.cs
+++ b/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
diff --git a/BBWY.Server.Model/Dto/Response/GiftTemplate/GiftTemplateResponse.cs b/BBWY.Server.Model/Dto/Response/GiftTemplate/GiftTemplateResponse.cs
index d45f0b63..4e64860a 100644
--- a/BBWY.Server.Model/Dto/Response/GiftTemplate/GiftTemplateResponse.cs
+++ b/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
+    {
+
     }
 }
diff --git a/BBWY.Test/JDProductAPITest.cs b/BBWY.Test/JDProductAPITest.cs
index 56be17a0..165ee97b 100644
--- a/BBWY.Test/JDProductAPITest.cs
+++ b/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;