diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/largescreen/screendisasterdata/ScreenDisasterDataController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/largescreen/screendisasterdata/ScreenDisasterDataController.java index abc2970d..4e6ef7a6 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/largescreen/screendisasterdata/ScreenDisasterDataController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/largescreen/screendisasterdata/ScreenDisasterDataController.java @@ -1,12 +1,9 @@ package cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata; -import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.ScreenDisasterDataPageReqVO; -import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.ScreenDisasterDataRespVO; -import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.ScreenDisasterDataSaveReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.*; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; @@ -89,6 +86,14 @@ public class ScreenDisasterDataController { return success(BeanUtils.toBean(pageResult, ScreenDisasterDataRespVO.class)); } + + @GetMapping("/statistics") + @Operation(summary = "获得大屏数据-灾害数据统计") + public CommonResult> getScreenDisasterDataStatisticsInfo() { + List res = screenDisasterDataService.getScreenDisasterDataStatisticsInfo(); + return success(res); + } + @GetMapping("/export-excel") @Operation(summary = "导出大屏数据-灾害数据 Excel") // @PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:export')") diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/largescreen/screendisasterdata/vo/DisasterDataStatisticsInfoRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/largescreen/screendisasterdata/vo/DisasterDataStatisticsInfoRespVO.java new file mode 100644 index 00000000..6c63cdb7 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/largescreen/screendisasterdata/vo/DisasterDataStatisticsInfoRespVO.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: TODO + * @author: binda + * @date: 2025/11/21 00:37 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class DisasterDataStatisticsInfoRespVO { + private String category; // 灾害类型 + private String disasterTime; // 发生月份 + private Integer totalCount; // 总发生次数 + private Integer year; // 年份 +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/largescreen/screendisasterdata/vo/DisasterDataStatisticsInfoV2RespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/largescreen/screendisasterdata/vo/DisasterDataStatisticsInfoV2RespVO.java new file mode 100644 index 00000000..d0fe826a --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/largescreen/screendisasterdata/vo/DisasterDataStatisticsInfoV2RespVO.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @description: TODO + * @author: binda + * @date: 2025/11/21 01:03 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class DisasterDataStatisticsInfoV2RespVO { + + private String category; + private List data; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/screendisasterdata/ScreenDisasterDataMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/screendisasterdata/ScreenDisasterDataMapper.java index 75a70e85..0bbb2d72 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/screendisasterdata/ScreenDisasterDataMapper.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/screendisasterdata/ScreenDisasterDataMapper.java @@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DisasterAnalysisReqVO; import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DisasterAnalysisRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.DisasterDataStatisticsInfoRespVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.ScreenDisasterDataPageReqVO; import cn.iocoder.yudao.module.farm.dal.dataobject.screendisasterdata.ScreenDisasterDataDO; import org.apache.ibatis.annotations.Mapper; @@ -34,4 +35,6 @@ public interface ScreenDisasterDataMapper extends BaseMapperX countDisasterAnalysis(DisasterAnalysisReqVO req); + + List getScreenDisasterDataStatisticsInfo(); } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/screendisasterdata/ScreenDisasterDataService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/screendisasterdata/ScreenDisasterDataService.java index f0749a3d..77aaf231 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/screendisasterdata/ScreenDisasterDataService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/screendisasterdata/ScreenDisasterDataService.java @@ -5,6 +5,7 @@ import java.util.*; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DisasterAnalysisReqVO; import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DisasterAnalysisRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.DisasterDataStatisticsInfoV2RespVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.ScreenDisasterDataPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.ScreenDisasterDataSaveReqVO; import jakarta.validation.*; @@ -71,4 +72,6 @@ public interface ScreenDisasterDataService { */ CommonResult> getDisasterStatisticsChart(DisasterAnalysisReqVO req); + List getScreenDisasterDataStatisticsInfo(); + } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/screendisasterdata/ScreenDisasterDataServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/screendisasterdata/ScreenDisasterDataServiceImpl.java index 2626d11e..e8d90e60 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/screendisasterdata/ScreenDisasterDataServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/screendisasterdata/ScreenDisasterDataServiceImpl.java @@ -6,6 +6,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DisasterAnalysisReqVO; import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DisasterAnalysisRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.DisasterDataStatisticsInfoRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.DisasterDataStatisticsInfoV2RespVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.ScreenDisasterDataPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.ScreenDisasterDataSaveReqVO; import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; @@ -105,4 +107,23 @@ public class ScreenDisasterDataServiceImpl implements ScreenDisasterDataService return CommonResult.success(res); } + @Override + public List getScreenDisasterDataStatisticsInfo() { + List sourceList = screenDisasterDataMapper.getScreenDisasterDataStatisticsInfo(); + List result = sourceList.stream() + .collect(Collectors.groupingBy( + DisasterDataStatisticsInfoRespVO::getCategory, + Collectors.toList() + )) + .entrySet() + .stream() + .map(entry -> new DisasterDataStatisticsInfoV2RespVO( + entry.getKey(), + entry.getValue() + )) + .collect(Collectors.toList()); + + return result; + } + } \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/screendisasterdata/ScreenDisasterDataMapper.xml b/yudao-module-farm/src/main/resources/mapper/screendisasterdata/ScreenDisasterDataMapper.xml index 7dd7dceb..f7ce626d 100644 --- a/yudao-module-farm/src/main/resources/mapper/screendisasterdata/ScreenDisasterDataMapper.xml +++ b/yudao-module-farm/src/main/resources/mapper/screendisasterdata/ScreenDisasterDataMapper.xml @@ -68,4 +68,43 @@ + + \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java index a265fe55..22c71ea0 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java @@ -23,7 +23,6 @@ import cn.iocoder.yudao.module.system.service.permission.PermissionService; import cn.iocoder.yudao.module.system.service.permission.RoleService; import cn.iocoder.yudao.module.system.service.social.SocialClientService; import cn.iocoder.yudao.module.system.service.user.AdminUserService; -import cn.iocoder.yudao.module.system.util.TokenExtractorUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; @@ -43,7 +42,6 @@ import java.util.Set; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.error; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; -import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @Tag(name = "管理后台 - 认证") @@ -171,11 +169,10 @@ public class AuthController { @Operation(summary = "登录 (切换租户之后调用)") public CommonResult getPhoneNumber4Login(@RequestBody @Valid TenantTokenReqVO reqVO) { // 强行清楚 本地线程 中的租户ID , 请设置为当前将要登录的租户ID - TenantContextHolder.clear(); - TenantContextHolder.setTenantId(Long.valueOf(reqVO.getTenantId())); +// TenantContextHolder.clear(); +// TenantContextHolder.setTenantId(Long.valueOf(reqVO.getTenantId())); AuthLoginRespVO login = authService.getPhoneNumber4Login(reqVO); if (login != null) { -// log.info("tenantId ===> {}", getLoginUser().getTenantId()); return success(login); } else { return error(405, "该手机号不是平台用户");