diff --git a/src/main/java/mjkf/xinke/main/controller/PricePublishController.java b/src/main/java/mjkf/xinke/main/controller/PricePublishController.java index 8f3400a..d41da1c 100644 --- a/src/main/java/mjkf/xinke/main/controller/PricePublishController.java +++ b/src/main/java/mjkf/xinke/main/controller/PricePublishController.java @@ -97,10 +97,15 @@ public class PricePublishController { @ApiParam("年份") @RequestParam("year") Integer year, @ApiParam("月份") @RequestParam(value = "month") Integer month ) throws Exception { - var data = new PricePublish(); - data.setCreateTime(LocalDateTime.of(year, month, 1, 0, 0)); - - var result = new PublicController.PublicUpdateInfo(data); + var query = pricePublishService.getQuery(year, month, null, null, null, null); + List items = pricePublishService.list(query); + PublicController.PublicUpdateInfo result; + if (items.size() == 0) { + result = new PublicController.PublicUpdateInfo(year, month); + } else { + var data = items.get(0); + result = new PublicController.PublicUpdateInfo(data); + } return FuHttpResponse.Builder().dataResponse(result).build(); } diff --git a/src/main/java/mjkf/xinke/main/controller/PublicController.java b/src/main/java/mjkf/xinke/main/controller/PublicController.java index 200e1e8..6cbf21c 100644 --- a/src/main/java/mjkf/xinke/main/controller/PublicController.java +++ b/src/main/java/mjkf/xinke/main/controller/PublicController.java @@ -11,6 +11,7 @@ import lombok.Data; import mjkf.xinke.dev.modular.file.entity.DevFile; import mjkf.xinke.dev.modular.file.service.DevFileService; import mjkf.xinke.main.common.http.FuHttpResponse; +import mjkf.xinke.main.constant.PricePublishStatus; import mjkf.xinke.main.constant.PricePublishType; import mjkf.xinke.main.model.db.PricePublish; import mjkf.xinke.main.model.vo.PublicResponse; @@ -114,24 +115,39 @@ public class PublicController { @ApiModelProperty("月份") private Integer month; + @ApiModelProperty("状态") + private Integer status; + public PublicUpdateInfo () {} - public PublicUpdateInfo (PricePublish lastData) { + public PublicUpdateInfo (Integer year, Integer month) { + this.date = LocalDate.of(year, month, 1); + this.period = getPeriod(this.date.getYear(), this.date.getMonth().getValue()); + this.year = date.getYear(); + this.month = date.getMonth().getValue(); + this.status = PricePublishStatus.WAITING; + } + + private Integer getPeriod(Integer year, Integer month) { Integer initialPeriod = 0; var initialDate = LocalDate.of(2000,1,1); - - this.date = lastData.getCreateTime().toLocalDate(); Integer months = 0; for (var i = 0; i < 1000;i++) { var date = initialDate.plusMonths(i); - if (date.getYear() == this.date.getYear() && date.getMonth() == this.date.getMonth()) { + if (date.getYear() == year && date.getMonth().getValue() == month) { months = i; break; } } - this.period = initialPeriod + months; + return initialPeriod + months; + } + + public PublicUpdateInfo (PricePublish lastData) { + this.date = lastData.getCreateTime().toLocalDate(); + this.period = getPeriod(this.date.getYear(), this.date.getMonth().getValue()); this.year = date.getYear(); this.month = date.getMonth().getValue(); + this.status = lastData.getStatus(); } }