From 313d0952280bcb84d52dc27e52b1ca93a9b618f7 Mon Sep 17 00:00:00 2001 From: lzq Date: Thu, 21 Aug 2025 19:16:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=85=A7=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tsp/controller/TspPhotoController.java | 7 ++++ .../tsp/pojo/ObtainStatusParam.java | 21 ++++++++++++ .../tsp/pojo/ObtainStatusResult.java | 19 +++++++++++ .../supervisory/tsp/pojo/TspPhotoEntity.java | 5 +++ .../tsp/service/TspPhotoService.java | 34 +++++++++++++++++++ 5 files changed, 86 insertions(+) create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/pojo/ObtainStatusParam.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/pojo/ObtainStatusResult.java diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/controller/TspPhotoController.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/controller/TspPhotoController.java index 868488f..b1ecb9d 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/controller/TspPhotoController.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/controller/TspPhotoController.java @@ -3,6 +3,7 @@ package com.njzscloud.supervisory.tsp.controller; import com.njzscloud.common.core.utils.R; import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; +import com.njzscloud.supervisory.tsp.pojo.ObtainStatusParam; import com.njzscloud.supervisory.tsp.pojo.TspPhotoEntity; import com.njzscloud.supervisory.tsp.pojo.TspPhotoSaveParam; import com.njzscloud.supervisory.tsp.pojo.TspPhotoSearchParam; @@ -12,6 +13,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Map; /** * 临时收纳点图片 @@ -85,6 +87,11 @@ public class TspPhotoController { return R.success(tspPhotoService.listPhoto(tspPhotoSearchParam)); } + @GetMapping("/obtain_status") + public R> obtainStatus(ObtainStatusParam obtainStatusParam) { + return R.success(tspPhotoService.obtainStatus(obtainStatusParam)); + } + /** * 分页查询 * diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/pojo/ObtainStatusParam.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/pojo/ObtainStatusParam.java new file mode 100644 index 0000000..8dbb1bf --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/pojo/ObtainStatusParam.java @@ -0,0 +1,21 @@ +package com.njzscloud.supervisory.tsp.pojo; + +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.time.LocalDate; + +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class ObtainStatusParam { + /** + * 临时收纳点 Id + */ + private Long tspId; + + private LocalDate uploadDate; +} diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/pojo/ObtainStatusResult.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/pojo/ObtainStatusResult.java new file mode 100644 index 0000000..9839b59 --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/pojo/ObtainStatusResult.java @@ -0,0 +1,19 @@ +package com.njzscloud.supervisory.tsp.pojo; + +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.util.List; + +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class ObtainStatusResult { + + private Integer day; + + private List photos; +} diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/pojo/TspPhotoEntity.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/pojo/TspPhotoEntity.java index bb193bb..f1a0b73 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/pojo/TspPhotoEntity.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/pojo/TspPhotoEntity.java @@ -43,6 +43,11 @@ public class TspPhotoEntity { @TableField(typeHandler = JsonTypeHandler.class) private List photos; + /** + * 图片数量 + */ + private Integer photoCount; + /** * 创建人 Id; sys_user.id */ diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/service/TspPhotoService.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/service/TspPhotoService.java index b3c6e9f..9a6028a 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/service/TspPhotoService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/tsp/service/TspPhotoService.java @@ -1,12 +1,17 @@ package com.njzscloud.supervisory.tsp.service; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njzscloud.common.core.utils.GroupUtil; import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.supervisory.tsp.mapper.TspPhotoMapper; +import com.njzscloud.supervisory.tsp.pojo.ObtainStatusParam; import com.njzscloud.supervisory.tsp.pojo.TspPhotoEntity; import com.njzscloud.supervisory.tsp.pojo.TspPhotoSaveParam; import com.njzscloud.supervisory.tsp.pojo.TspPhotoSearchParam; @@ -15,7 +20,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 临时收纳点图片 @@ -93,4 +100,31 @@ public class TspPhotoService extends ServiceImpl .eq("upload_date", tspPhotoSearchParam.getUploadDate()) ); } + + public Map obtainStatus(ObtainStatusParam obtainStatusParam) { + Long tspId = obtainStatusParam.getTspId(); + LocalDate uploadDate = obtainStatusParam.getUploadDate(); + int year = uploadDate.getYear(); + int month = uploadDate.getMonthValue(); + + List list = this.list(Wrappers.query() + .eq("tsp_id", tspId) + .eq("YEAR(upload_date)", year) + .eq("MONTH(upload_date)", month) + ); + Map map = GroupUtil.k_o(list, it -> it.getUploadDate().getDayOfMonth(), TspPhotoEntity::getPhotoCount); + + HashMap res = new HashMap<>(); + DateTime now = DateTime.now(); + DateTime dateTime = DateUtil.date(uploadDate); + for (int i = 0; i < uploadDate.lengthOfMonth(); i++) { + if (dateTime.setField(DateField.DAY_OF_MONTH, i + 1).isAfter(now)) { + res.put(String.valueOf(i + 1), null); + } else { + res.put(String.valueOf(i + 1), map.getOrDefault(i + 1, 0)); + } + } + + return res; + } }