zoujiajian %!s(int64=2) %!d(string=hai) anos
pai
achega
3c7e06b8de

+ 29 - 0
netflix-dao/src/main/java/com/cyksj/model/request/GiftCardGoodsSkuReq.java

@@ -0,0 +1,29 @@
+package com.cyksj.model.request;
+
+import com.cyksj.model.entity.GiftCardGoodsSku;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/*
+ *项目名: yhlxj
+ *文件名: GiftCardGoodsSkuReq
+ *创建者: JavaZou
+ *创建时间:2023/9/13 17:16
+ */
+@Getter
+@Setter
+public class GiftCardGoodsSkuReq {
+	/**
+	 * 礼品卡平台
+	 */
+	private Long goodsId;
+
+	/**
+	 * 礼品卡类型 1现金卡、2虚拟卡
+	 */
+	private Integer gcType;
+
+	private List<GiftCardGoodsSku> configs;
+}

+ 3 - 0
netflix-service/src/main/java/com/cyksj/service/giftcard/GiftCardGoodsSkuService.java

@@ -2,6 +2,7 @@ package com.cyksj.service.giftcard;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.cyksj.model.entity.GiftCardGoodsSku;
+import com.cyksj.model.request.GiftCardGoodsSkuReq;
 
 /*
  *项目名: netflix
@@ -11,4 +12,6 @@ import com.cyksj.model.entity.GiftCardGoodsSku;
  */
 public interface GiftCardGoodsSkuService extends IService<GiftCardGoodsSku> {
 	void setOrUpdateGiftCardSku(GiftCardGoodsSku giftCardSku);
+
+	void setGiftCardSku(GiftCardGoodsSkuReq req);
 }

+ 20 - 1
netflix-service/src/main/java/com/cyksj/service/giftcard/impl/GiftCardGoodsSkuServiceImpl.java

@@ -1,5 +1,6 @@
 package com.cyksj.service.giftcard.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.mapper.GiftCardGoodsSkuMapper;
@@ -8,12 +9,14 @@ import com.cyksj.mapper.GoodsDonSkuMapper;
 import com.cyksj.model.entity.GiftCardGoodsSku;
 import com.cyksj.model.entity.GoodsDon;
 import com.cyksj.model.entity.GoodsDonSku;
+import com.cyksj.model.request.GiftCardGoodsSkuReq;
 import com.cyksj.service.giftcard.GiftCardGoodsSkuService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /*
  *项目名: netflix
@@ -47,9 +50,13 @@ public class GiftCardGoodsSkuServiceImpl extends ServiceImpl<GiftCardGoodsSkuMap
 			throw BusinessRuntimeException.getInstance("请输入正确的礼品卡配置价格");
 		}
 		Long gcSkuId = data.getGcSkuId();
-		if (gcSkuId != null && cash != null) {
+		if (gcSkuId == null && cash == null) {
 			throw BusinessRuntimeException.getInstance("请选择对应的礼品卡类型");
 		}
+
+		if (gcSkuId != null && cash != null) {
+			throw BusinessRuntimeException.getInstance("只能选择一种礼品卡类型");
+		}
 		//虚拟卡
 		if (cash != null) {
 			if (cash.compareTo(BigDecimal.ZERO) == 0) {
@@ -74,4 +81,16 @@ public class GiftCardGoodsSkuServiceImpl extends ServiceImpl<GiftCardGoodsSkuMap
 		} catch (DuplicateKeyException e) {
 		}
 	}
+
+	@Override
+	public void setGiftCardSku(GiftCardGoodsSkuReq req) {
+		List<GiftCardGoodsSku> giftCardGoodsSkus = req.getConfigs();
+		if (CollUtil.isEmpty(giftCardGoodsSkus)) {
+			throw BusinessRuntimeException.getInstance("请输入对应数据");
+		}
+		giftCardGoodsSkus.forEach(giftCardSku -> {
+			giftCardSku.setGoodsId(req.getGoodsId());
+			setOrUpdateGiftCardSku(giftCardSku);
+		});
+	}
 }

+ 3 - 2
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/GiftCardController.java

@@ -4,6 +4,7 @@ import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.model.entity.GiftCardGoodsSku;
+import com.cyksj.model.request.GiftCardGoodsSkuReq;
 import com.cyksj.model.views.GiftCardGoodsSkuView;
 import com.cyksj.model.views.GiftCardUserPayView;
 import com.cyksj.service.giftcard.GiftCardGoodsSkuService;
@@ -35,8 +36,8 @@ public class GiftCardController {
 	 * 设置礼品卡 规格
 	 */
 	@PostMapping("/set")
-	public Result<String> setGiftCardSku(@RequestBody GiftCardGoodsSku giftCardSku) {
-		giftCardGoodsSkuService.setOrUpdateGiftCardSku(giftCardSku);
+	public Result<String> setGiftCardSku(@RequestBody GiftCardGoodsSkuReq req) {
+		giftCardGoodsSkuService.setGiftCardSku(req);
 		return GatewayResponse.SUCCESS.newBuilder().toResult();
 	}