Merge branch 'feature/bug-596' into develop

This commit is contained in:
曹鹏飞 2025-08-26 10:59:39 +08:00
commit c407f62199
7 changed files with 44 additions and 47 deletions

View File

@ -1,33 +0,0 @@
package com.nflg.mobilebroken.admin.task;
import com.nflg.mobilebroken.repository.entity.ProductModel;
import com.nflg.mobilebroken.repository.service.IProductModelService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDateTime;
@Slf4j
@Component
public class ProductScheduledTasks {
@Resource
private IProductModelService productModelService;
/**
* 机型是否新版本设置
* 每天午夜12点执行一次
*/
@Scheduled(cron = "0 0 0 * * ?")
public void resetRecommend() {
log.info("【产品中心-机型-新品】开始执行");
productModelService.lambdaUpdate()
.set(ProductModel::getRecommend, false)
.eq(ProductModel::getRecommend, true)
.gt(ProductModel::getRecommendTime, LocalDateTime.now().minusYears(2))
.update();
log.info("【产品中心-机型-新品】执行完毕");
}
}

View File

@ -4,6 +4,7 @@ import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
@Data
public class ProductModelAddRequest {
@ -48,6 +49,11 @@ public class ProductModelAddRequest {
*/
private Boolean recommend;
/**
* 新品过期时间
*/
private LocalDateTime recommendExpireTime;
/**
* 是否发布
*/

View File

@ -3,7 +3,9 @@ package com.nflg.mobilebroken.common.pojo.vo;
import lombok.Data;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
@Data
@Accessors
@ -56,6 +58,15 @@ public class FrontendProductModelSearchVO {
*/
private Boolean recommend;
public Boolean getRecommend() {
return recommend && (Objects.nonNull(recommendExpireTime) && LocalDateTime.now().isBefore(recommendExpireTime));
}
/**
* 新品过期时间
*/
private LocalDateTime recommendExpireTime;
/**
* 机型介绍
*/

View File

@ -3,6 +3,7 @@ package com.nflg.mobilebroken.common.pojo.vo;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Objects;
@Data
public class ProductModelSearchVO {
@ -54,6 +55,15 @@ public class ProductModelSearchVO {
*/
private Boolean recommend;
public Boolean getRecommend() {
return recommend && (Objects.nonNull(recommendExpireTime) && LocalDateTime.now().isBefore(recommendExpireTime));
}
/**
* 新品过期时间
*/
private LocalDateTime recommendExpireTime;
/**
* 是否启用
*/

View File

@ -3,7 +3,9 @@ package com.nflg.mobilebroken.common.pojo.vo;
import lombok.Data;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
@Data
@Accessors(chain = true)
@ -26,6 +28,15 @@ public class ProductModelVO {
*/
private Boolean recommend;
public Boolean getRecommend() {
return recommend && (Objects.nonNull(recommendExpireTime) && LocalDateTime.now().isBefore(recommendExpireTime));
}
/**
* 新品过期时间
*/
private LocalDateTime recommendExpireTime;
/**
* 主要参数列表
*/

View File

@ -65,9 +65,9 @@ public class ProductModel implements Serializable {
private Boolean recommend;
/**
* 设置为新品的时间
* 新品过期时间
*/
private LocalDateTime recommendTime;
private LocalDateTime recommendExpireTime;
/**
* 排序

View File

@ -67,13 +67,11 @@ public class ProductModelServiceImpl extends ServiceImpl<ProductModelMapper, Pro
// .setBatchNumber(request.getBatchNumber())
.setNo(request.getNo())
.setRecommend(request.getRecommend())
.setRecommendExpireTime(request.getRecommendExpireTime())
.setSort(RandomUtil.randomInt(0,10000))
.setImage(request.getImage())
.setCreateBy(AdminUserUtil.getUserName())
.setCreateTime(LocalDateTime.now());
if (request.getRecommend()){
productModel.setRecommendTime(LocalDateTime.now());
}
save(productModel);
if (request.getPublish()) {
publish(new ProductPublishRequest()
@ -95,15 +93,8 @@ public class ProductModelServiceImpl extends ServiceImpl<ProductModelMapper, Pro
} else {
info.setNo(request.getNo());
// info.setSort(request.getSort());
if (request.getRecommend()) {
if (!info.getRecommend()) {
info.setRecommend(true);
info.setRecommendTime(LocalDateTime.now());
}
} else {
info.setRecommend(false);
info.setRecommendTime(null);
}
info.setRecommend(request.getRecommend());
info.setRecommendExpireTime(request.getRecommendExpireTime());
info.setModuleId(request.getModuleId());
info.setSeriesNumber(request.getSeriesNumber());
info.setTypeNumber(request.getTypeNumber());
@ -205,6 +196,7 @@ public class ProductModelServiceImpl extends ServiceImpl<ProductModelMapper, Pro
.setId(item.getId())
.setNo(item.getNo())
.setRecommend(item.getRecommend())
.setRecommendExpireTime(item.getRecommendExpireTime())
.setImage(item.getImage())
.setParams(productPartParamsService.getMainListByLanguage(item.getId(), language))
.setFile(productModelFileService.getDefaultByLanguage(item.getId(), language)))