|
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.xynet.marketing.entity.Promotion;
|
|
import com.xynet.marketing.entity.Promotion;
|
|
|
|
+import com.xynet.marketing.enums.PromotionStatusEnum;
|
|
import com.xynet.marketing.mapper.PromotionMapper;
|
|
import com.xynet.marketing.mapper.PromotionMapper;
|
|
import com.xynet.marketing.service.MercProjectDeviceService;
|
|
import com.xynet.marketing.service.MercProjectDeviceService;
|
|
import com.xynet.marketing.service.MercProjectGoodsService;
|
|
import com.xynet.marketing.service.MercProjectGoodsService;
|
|
@@ -18,6 +19,7 @@ import lombok.AllArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
@@ -38,6 +40,8 @@ public class PromotionServiceImpl extends ServiceImpl<PromotionMapper, Promotion
|
|
private static String ACT_TYPE = "promotion";
|
|
private static String ACT_TYPE = "promotion";
|
|
|
|
|
|
private LambdaQueryWrapper<Promotion> commonQueryWrapper(JMap<String, Object> param) {
|
|
private LambdaQueryWrapper<Promotion> commonQueryWrapper(JMap<String, Object> param) {
|
|
|
|
+ //先更新状态
|
|
|
|
+ autoUpdateStatus(param.getInt("mercId"));
|
|
LambdaQueryWrapper<Promotion> lqw = new LambdaQueryWrapper<Promotion>()
|
|
LambdaQueryWrapper<Promotion> lqw = new LambdaQueryWrapper<Promotion>()
|
|
.eq(Emptys.check(param.getInt("id")), Promotion::getId, param.getInt("id"))
|
|
.eq(Emptys.check(param.getInt("id")), Promotion::getId, param.getInt("id"))
|
|
.eq(Emptys.check(param.getInt("mercId")), Promotion::getMercId, param.getInt("mercId"))
|
|
.eq(Emptys.check(param.getInt("mercId")), Promotion::getMercId, param.getInt("mercId"))
|
|
@@ -102,4 +106,32 @@ public class PromotionServiceImpl extends ServiceImpl<PromotionMapper, Promotion
|
|
return promotionFactory.goodsListPrice(param);
|
|
return promotionFactory.goodsListPrice(param);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 自动更新状态
|
|
|
|
+ *
|
|
|
|
+ * @param mercId
|
|
|
|
+ */
|
|
|
|
+ private void autoUpdateStatus(Integer mercId) {
|
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
|
+ // 未开始
|
|
|
|
+ LambdaUpdateWrapper<Promotion> notStartLqw = new LambdaUpdateWrapper<Promotion>()
|
|
|
|
+ .set(Promotion::getStatus, PromotionStatusEnum.NOT_START.getCode())
|
|
|
|
+ .eq(Promotion::getMercId, mercId)
|
|
|
|
+ .gt(Promotion::getStartTime, now);
|
|
|
|
+ update(notStartLqw);
|
|
|
|
+ // 进行中
|
|
|
|
+ LambdaUpdateWrapper<Promotion> underwayLqw = new LambdaUpdateWrapper<Promotion>()
|
|
|
|
+ .set(Promotion::getStatus, PromotionStatusEnum.UNDERWAY.getCode())
|
|
|
|
+ .eq(Promotion::getMercId, mercId)
|
|
|
|
+ .le(Promotion::getStartTime, now)
|
|
|
|
+ .ge(Promotion::getEndTime, now);
|
|
|
|
+ update(underwayLqw);
|
|
|
|
+ // 已结束
|
|
|
|
+ LambdaUpdateWrapper<Promotion> finishedLqw = new LambdaUpdateWrapper<Promotion>()
|
|
|
|
+ .set(Promotion::getStatus, PromotionStatusEnum.FINISHED.getCode())
|
|
|
|
+ .eq(Promotion::getMercId, mercId)
|
|
|
|
+ .le(Promotion::getEndTime, now);
|
|
|
|
+ update(finishedLqw);
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|