zoujiajian 2 år sedan
förälder
incheckning
269253661e

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GoodsDonSkuSubsidy.java

@@ -1,5 +1,7 @@
 package com.cyksj.model.entity;
 
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -29,6 +31,17 @@ public class GoodsDonSkuSubsidy extends BaseEntity {
 	@Min(value = 0, message = "补贴价格不能小于0")
 	private BigDecimal price;
 
+	/**
+	 * 图片
+	 */
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private String picture;
+
+	/**
+	 * true 上架
+	 */
+	private Boolean status;
+
 	/**
 	 * true 存在
 	 */

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonSkuSubsidyFrontView.java

@@ -16,7 +16,7 @@ import java.math.BigDecimal;
 @Getter
 @Setter
 @SearchBean(tables = "goods_don_sku_subsidy gs inner join goods_don_sku sku on gs.sku_id = sku.id inner join goods_don g on sku.goods_id = g.id",
-		where = "gs.deleted is true and sku.status is true and g.deleted is true"
+		where = "gs.status is true and gs.deleted is true and sku.status is true and g.deleted is true"
 		, groupBy = "g.id,g.title,g.tags,g.virtual_sold",
 		orderBy = "g.sort_by asc, g.id")
 public class GoodsDonSkuSubsidyFrontView {

+ 6 - 0
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonSkuSubsidyView.java

@@ -38,6 +38,12 @@ public class GoodsDonSkuSubsidyView {
 	@DbField("gs.price")
 	private BigDecimal price;
 
+	@DbField("gs.picture")
+	private String picture;
+
+	@DbField("gs.status")
+	private Boolean status;
+
 	@DbField("gs.created_time")
 	private Date createdTime;
 }

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonSubsidyDetailView.java

@@ -19,7 +19,7 @@ import java.util.List;
 @Getter
 @Setter
 @SearchBean(tables = "goods_don_sku_subsidy gs inner join goods_don_sku sku on gs.sku_id = sku.id inner join goods_don g on sku.goods_id = g.id",
-		where = "gs.deleted is true and sku.status is true and g.deleted is true"
+		where = "gs.status is true and gs.deleted is true and sku.status is true and g.deleted is true"
 		, groupBy = "g.id,g.title,g.tags,g.virtual_sold,g.sort_by",
 		orderBy = "g.sort_by asc, g.id")
 public class GoodsDonSubsidyDetailView {

+ 6 - 1
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -3029,7 +3029,12 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				.eq(GoodsDonSkuSubsidy::getId, subsidyId)
 				.eq(GoodsDonSkuSubsidy::getDeleted, 1)
 				.last("limit 1"));
-		Assert.notNull(goodsDonSkuSubsidy, "商品不存在");
+		if (goodsDonSkuSubsidy == null || !goodsDonSkuSubsidy.getDeleted()) {
+			throw BusinessRuntimeException.getInstance("商品不存在");
+		}
+		if (!goodsDonSkuSubsidy.getStatus()) {
+			throw BusinessRuntimeException.getInstance("规格已下架");
+		}
 		Long skuId = goodsDonSkuSubsidy.getSkuId();
 		Long paySkuId = orderDon.getSkuId();
 		if (ObjectUtil.equal(skuId, paySkuId)) {

+ 14 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/GoodsDonSkuSubsidyController.java

@@ -58,7 +58,20 @@ public class GoodsDonSkuSubsidyController {
 		GoodsDonSkuSubsidy byId = goodsDonSkuSubsidyService.getById(id);
 		if (byId != null && byId.getDeleted()) {
 			byId.setDeleted(false);
-			goodsDonSkuSubsidyService.removeById(id);
+			goodsDonSkuSubsidyService.updateById(byId);
+		}
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+	/**
+	 * 上下架补贴规格
+	 */
+	@PutMapping("/status/{id}")
+	public Result<String> updateStatusById(@PathVariable Long id) {
+		GoodsDonSkuSubsidy byId = goodsDonSkuSubsidyService.getById(id);
+		if (byId != null) {
+			byId.setStatus(!byId.getStatus());
+			goodsDonSkuSubsidyService.updateById(byId);
 		}
 		return GatewayResponse.SUCCESS.newBuilder().toResult();
 	}