Просмотр исходного кода

修改删除作品时,redis删除数据

silent 4 лет назад
Родитель
Сommit
dde246b637

+ 10 - 3
src/main/java/org/springblade/gateway/active_gateway/util/ActiveProductUtil.java

@@ -20,15 +20,22 @@ public class ActiveProductUtil {
 	 * @return
 	 */
 	public static boolean addProductRank(ActiveProductRecord activeProductRecord){
-		//先移除
-		bladeRedis.zRem(new StringBuilder(ActiveProductConstant.PRODUCT_SORT_CACHE_KEY).append(":").append(activeProductRecord.getActiveId().toString()).toString(),
-			activeProductRecord.getId());
+		delProductRank(activeProductRecord);
 		//后添加
 		return bladeRedis.zAdd(new StringBuilder(ActiveProductConstant.PRODUCT_SORT_CACHE_KEY).append(":").append(activeProductRecord.getActiveId().toString()).toString(),
 			activeProductRecord.getId(),
 			activeProductRecord.getHeatValue().doubleValue());
 	}
 
+	/**
+	 * 删除作品排行
+	 */
+	public static Long delProductRank(ActiveProductRecord activeProductRecord){
+		//先移除
+		return bladeRedis.zRem(new StringBuilder(ActiveProductConstant.PRODUCT_SORT_CACHE_KEY).append(":").append(activeProductRecord.getActiveId().toString()).toString(),
+			activeProductRecord.getId());
+	}
+
 	/**
 	 * 添加累计加热力值
 	 * @param activeId 活动id

+ 7 - 1
src/main/java/org/springblade/sing/active/controller/ActiveProductRecordController.java

@@ -42,6 +42,7 @@ import org.springblade.sing.active.wrapper.ActiveProductRecordWrapper;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -147,7 +148,12 @@ public class ActiveProductRecordController extends BladeController {
 	@ApiOperationSupport(order = 7)
 	@ApiOperation(value = "逻辑删除", notes = "传入ids")
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-		return R.status(activeProductRecordService.deleteLogic(Func.toLongList(ids)));
+		List<Long> longs = Func.toLongList(ids);
+		List<ActiveProductRecord> activeProductRecords = activeProductRecordService.listByIds(longs);
+		for (ActiveProductRecord activeProductRecord : activeProductRecords) {
+			ActiveProductUtil.delProductRank(activeProductRecord);
+		}
+		return R.status(activeProductRecordService.deleteLogic(longs));
 	}