Jelajahi Sumber

fix 被删除的平台不展示比例

zoujiajian 3 tahun lalu
induk
melakukan
fd04c58b95

+ 0 - 3
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonSkuView.java

@@ -26,9 +26,6 @@ public class GoodsDonSkuView {
 	@DbField("gd.title")
 	private String goodsTitle;
 
-	@DbField("gd.type")
-	private Integer goodsDonType;
-
 	@DbField("gd.type")
 	private Integer type;
 

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

@@ -16,7 +16,8 @@ import javax.validation.constraints.NotNull;
 @Getter
 @Setter
 @SearchBean(tables = "user_distribute_business_rate ur left join goods_don g on g.id = ur.goods_id" +
-		" left join goods_don_sku gdk on gdk.id = ur.sku_id")
+		" left join goods_don_sku gdk on gdk.id = ur.sku_id",
+		where = "g.deleted is true")
 public class UserDistributeBusinessRateRecordView {
 	@DbField("ur.id")
 	private Long id;

+ 13 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/distribute/DistributeController.java

@@ -457,7 +457,19 @@ public class DistributeController {
 			Long rateId = userDistributeBusinessRate.getId();
 			UserDistributeBusinessRate businessRate = Optional.ofNullable(userDistributeBusinessRateMapper.selectById(rateId)).orElse(new UserDistributeBusinessRate());
 			BeanUtil.copyProperties(userDistributeBusinessRate, businessRate);
-			if (businessRate == null) {
+			Number number = beanSearcher.searchCount(GoodsDonSkuView.class, MapUtils.builder()
+					.field(GoodsDonSkuView::getGoodsId, userDistributeBusinessRate.getGoodsId())
+					.field(GoodsDonSkuView::getSkuId, userDistributeBusinessRate.getSkuId())
+					.field(GoodsDonSkuView::getGoodsDonDeleted, true)
+					.build());
+			if (number.intValue() == 0) {
+				userDistributeBusinessRateMapper.delete(Wrappers.lambdaQuery(UserDistributeBusinessRate.class)
+						.eq(UserDistributeBusinessRate::getBusinessId, userDistributeBusinessRate.getBusinessId())
+						.eq(UserDistributeBusinessRate::getGoodsId, userDistributeBusinessRate.getGoodsId())
+						.eq(UserDistributeBusinessRate::getSkuId, userDistributeBusinessRate.getSkuId()));
+				return;
+			}
+			if (businessRate.getId() == null) {
 				try {
 					userDistributeBusinessRateMapper.insert(businessRate);
 				} catch (DuplicateKeyException e) {