增加了前端灾害数据的主页数据页面展示

This commit is contained in:
zxh 2023-04-05 22:37:56 +08:00
parent ff04cc156a
commit c534592f95
14 changed files with 145 additions and 38 deletions

View File

@ -99,6 +99,7 @@ public class DisasterInfo implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String name; private String name;
@TableField(exist = false) @TableField(exist = false)
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@ -0,0 +1,25 @@
package com.kening.vordm.vo;
import com.kening.vordm.entity.DisasterInfo;
public class DisasterMangerInfo extends DisasterInfo {
/**
* 用户名
*/
private String username;
/**
* 密码
*/
private String password;
/**
* 邮箱
*/
private String email;
/**
* 组织机构
*/
private String organization;
}

View File

@ -4,12 +4,10 @@ import lombok.Data;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import javax.swing.*;
@Data @Data
@Getter @Getter
@Setter @Setter
public class groupByUse { public class GroupByUse {
/** /**
* 名称 * 名称
*/ */
@ -18,5 +16,10 @@ public class groupByUse {
/** /**
* 数量 * 数量
*/ */
private String count; private Integer cnt;
/**
* 图标
*/
private String icon;
} }

View File

@ -1,25 +0,0 @@
package com.kening.vordm.vo;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
@Data
@Getter
@Setter
public class GroupByUse {
/**
* 名称
*/
private String name;
/**
* 数量
*/
private String count;
/**
* 图标
*/
private String icon;
}

View File

@ -1,6 +1,9 @@
package com.kening.vordm.controller; package com.kening.vordm.controller;
import com.kening.vordm.vo.DisasterMangerInfo;
import com.kening.vordm.vo.GroupByUse; import com.kening.vordm.vo.GroupByUse;
import com.sun.org.apache.bcel.internal.generic.NEW;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@ -16,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
import java.util.Queue;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping @RequestMapping
@ -54,8 +59,25 @@ public class DisasterInfoController {
return R.data(newsService.page(Condition.getPage(query),new QueryWrapper<News>().in("disaster_id",disasterIds))); return R.data(newsService.page(Condition.getPage(query),new QueryWrapper<News>().in("disaster_id",disasterIds)));
} }
/**
* 灾害信息统计 国家/灾害类型
* @param name
* @return
*/
@GetMapping("/disasterStatistics") @GetMapping("/disasterStatistics")
public R<List<GroupByUse>> getDisasterStatistics(String name){ public R<List<GroupByUse>> getDisasterStatistics(String name){
return R.data(disasterInfoService.getDisasterStatistics(name)); return R.data(disasterInfoService.getDisasterStatistics(name));
} }
/**
* 首页数据展示包括响应中和未响应
* @param query
* @param respondStatus
* @return
*/
@GetMapping("/homeDisasterInfo")
public R<BladePage<DisasterMangerInfo>> gethomeDisasterInfo(Query query,Integer respondStatus){
IPage<DisasterMangerInfo> pages=disasterInfoService.getHomeDisaster(Condition.getPage(query),respondStatus);
return R.data(BladePage.of(pages));
}
} }

View File

@ -0,0 +1,23 @@
package com.kening.vordm.controller;
import com.kening.vordm.service.ManagerInfoService;
import com.kening.vordm.vo.GroupByUse;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@AllArgsConstructor
@RequestMapping
public class ManageInforController {
private final ManagerInfoService managerInfoService;
@GetMapping("manageStatistics")
public R<List<GroupByUse>> manageStatistics(String name){
return R.data(managerInfoService.getMangerStatistics(name));
}
}

View File

@ -2,11 +2,14 @@ package com.kening.vordm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kening.vordm.entity.DisasterInfo; import com.kening.vordm.entity.DisasterInfo;
import com.kening.vordm.vo.DisasterMangerInfo;
import com.kening.vordm.vo.GroupByUse; import com.kening.vordm.vo.GroupByUse;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Queue;
/** /**
* @author G1393 * @author G1393
@ -20,8 +23,8 @@ public interface DisasterInfoMapper extends BaseMapper<DisasterInfo> {
@Param("disaster_country") String disaster_country, @Param("disaster_country") String disaster_country,
@Param("disaster_time") String disaster_time, @Param("disaster_time") String disaster_time,
@Param("name") String name); @Param("name") String name);
List<DisasterInfo> getHomeDisasterInfo();
List<DisasterMangerInfo> getHomeDisaster(IPage<DisasterMangerInfo> page, Integer respondStatus);
List<GroupByUse> getDisasterStatistics(@Param("name" ) String name ); List<GroupByUse> getDisasterStatistics(@Param("name" ) String name );
} }

View File

@ -31,7 +31,10 @@
temp_start_time,create_time,vordm_id, temp_start_time,create_time,vordm_id,
respond_time respond_time
</sql> </sql>
<sql id="Home_Disaster_Info">
d.disaster_type,d.disaster_time,d.disaster_country,
m.organization
</sql>
<select id="getHomeDisasterInfo" parameterType="com.kening.vordm.entity.DisasterInfo"> <select id="getHomeDisasterInfo" parameterType="com.kening.vordm.entity.DisasterInfo">
select * select *
from new_vordm.disaster_info from new_vordm.disaster_info
@ -47,7 +50,6 @@
<if test="disaster_time!=null and disaster_country!=null and disaster_time!=null"> and </if> <if test="disaster_time!=null and disaster_country!=null and disaster_time!=null"> and </if>
<if test="disaster_time!=null"> disaster_time like concat('%',#{disaster_time},'%')</if> <if test="disaster_time!=null"> disaster_time like concat('%',#{disaster_time},'%')</if>
</select> </select>
<select id="getDisasterStatistics" resultType="com.kening.vordm.vo.GroupByUse"> <select id="getDisasterStatistics" resultType="com.kening.vordm.vo.GroupByUse">
select ${name} as name,count(*) as cnt select ${name} as name,count(*) as cnt
from disaster_info from disaster_info
@ -55,4 +57,13 @@
order by cnt desc order by cnt desc
limit 0,7 limit 0,7
</select> </select>
<select id="getHomeDisaster" resultType="com.kening.vordm.vo.DisasterMangerInfo">
select <include refid="Home_Disaster_Info"></include>
from (select distinct manager_id,disaster_id from guest_manage_disaster_ref ) g join manager_info m
join disaster_info d
on g.manager_id=m.id and g.disaster_id=d.id
where d.respond_status=#{respondStatus}
order by d.disaster_time desc
</select>
</mapper> </mapper>

View File

@ -3,6 +3,9 @@ package com.kening.vordm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kening.vordm.entity.ManagerInfo; import com.kening.vordm.entity.ManagerInfo;
import com.kening.vordm.vo.GroupByUse;
import java.util.List;
/** /**
* @author G1393 * @author G1393
@ -12,5 +15,6 @@ import com.kening.vordm.entity.ManagerInfo;
*/ */
public interface ManagerInfoMapper extends BaseMapper<ManagerInfo> { public interface ManagerInfoMapper extends BaseMapper<ManagerInfo> {
public List<GroupByUse> manageStatistics(String name);
} }

View File

@ -17,4 +17,13 @@
id,username,password, id,username,password,
email,organization,create_time email,organization,create_time
</sql> </sql>
<select id="manageStatistics" resultType="com.kening.vordm.vo.GroupByUse">
select m.${name} as name,count(*) as cnt
from (select distinct manager_id,disaster_id from guest_manage_disaster_ref ) g join manager_info m
on g.manager_id=m.id
group by m.${name}
order by cnt desc
limit 0,3
</select>
</mapper> </mapper>

View File

@ -1,9 +1,12 @@
package com.kening.vordm.service; package com.kening.vordm.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.kening.vordm.entity.DisasterInfo; import com.kening.vordm.entity.DisasterInfo;
import com.kening.vordm.vo.DisasterMangerInfo;
import com.kening.vordm.vo.GroupByUse; import com.kening.vordm.vo.GroupByUse;
import io.swagger.models.auth.In;
import java.util.List; import java.util.List;
@ -13,7 +16,6 @@ import java.util.List;
* @createDate 2023-04-04 15:54:30 * @createDate 2023-04-04 15:54:30
*/ */
public interface DisasterInfoService extends IService<DisasterInfo> { public interface DisasterInfoService extends IService<DisasterInfo> {
List<DisasterInfo> getAllData();
List<GroupByUse> getConditionData(String type, String country, String time, String name); List<GroupByUse> getConditionData(String type, String country, String time, String name);
// Long getDisasterId(DisasterInfo disasterInfo); // Long getDisasterId(DisasterInfo disasterInfo);
@ -26,4 +28,6 @@ public interface DisasterInfoService extends IService<DisasterInfo> {
List<Long> getDisasterId(DisasterInfo disasterInfo); List<Long> getDisasterId(DisasterInfo disasterInfo);
List<GroupByUse> getDisasterStatistics( String name); List<GroupByUse> getDisasterStatistics( String name);
IPage<DisasterMangerInfo> getHomeDisaster(IPage<DisasterMangerInfo> page, Integer respondStatus);
} }

View File

@ -3,6 +3,9 @@ package com.kening.vordm.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.kening.vordm.entity.ManagerInfo; import com.kening.vordm.entity.ManagerInfo;
import com.kening.vordm.vo.GroupByUse;
import java.util.List;
/** /**
* @author G1393 * @author G1393
@ -10,5 +13,5 @@ import com.kening.vordm.entity.ManagerInfo;
* @createDate 2023-04-04 15:54:30 * @createDate 2023-04-04 15:54:30
*/ */
public interface ManagerInfoService extends IService<ManagerInfo> { public interface ManagerInfoService extends IService<ManagerInfo> {
public List<GroupByUse> getMangerStatistics(String name);
} }

View File

@ -1,12 +1,15 @@
package com.kening.vordm.service.impl; package com.kening.vordm.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kening.vordm.entity.DisasterInfo; import com.kening.vordm.entity.DisasterInfo;
import com.kening.vordm.mapper.DisasterInfoMapper; import com.kening.vordm.mapper.DisasterInfoMapper;
import com.kening.vordm.service.DisasterInfoService; import com.kening.vordm.service.DisasterInfoService;
import com.kening.vordm.vo.DisasterMangerInfo;
import com.kening.vordm.vo.GroupByUse; import com.kening.vordm.vo.GroupByUse;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.data.redis.connection.RedisServer;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
@ -26,9 +29,15 @@ implements DisasterInfoService {
// this.disasterInfoService = disasterInfoService; // this.disasterInfoService = disasterInfoService;
// } // }
public List<DisasterInfo> getAllData(){
return this.baseMapper.getHomeDisasterInfo(); /**
} * 返回指定的灾害条目
* @param type
* @param country
* @param time
* @param name
* @return
*/
public List<GroupByUse> getConditionData(String type, String country, String time, String name){ public List<GroupByUse> getConditionData(String type, String country, String time, String name){
List<GroupByUse> disasterInfos=this.baseMapper.getSelectCondition(type,country,time,name); List<GroupByUse> disasterInfos=this.baseMapper.getSelectCondition(type,country,time,name);
return disasterInfos; return disasterInfos;
@ -62,7 +71,17 @@ implements DisasterInfoService {
return null; return null;
} }
/**
* 进行灾害信息的统计国家类型
* @param name
* @return
*/
public List<GroupByUse> getDisasterStatistics(String name){ public List<GroupByUse> getDisasterStatistics(String name){
return this.baseMapper.getDisasterStatistics(name); return this.baseMapper.getDisasterStatistics(name);
} }
public IPage<DisasterMangerInfo> getHomeDisaster(IPage<DisasterMangerInfo> page, Integer respondStatus){
List<DisasterMangerInfo> disasterMangerInfos = this.baseMapper.getHomeDisaster(page, respondStatus);
return page.setRecords(disasterMangerInfos);
}
} }

View File

@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kening.vordm.entity.ManagerInfo; import com.kening.vordm.entity.ManagerInfo;
import com.kening.vordm.mapper.ManagerInfoMapper; import com.kening.vordm.mapper.ManagerInfoMapper;
import com.kening.vordm.service.ManagerInfoService; import com.kening.vordm.service.ManagerInfoService;
import com.kening.vordm.vo.GroupByUse;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @author G1393 * @author G1393
* @description 针对表manager_info(管理员用户信息表)的数据库操作Service实现 * @description 针对表manager_info(管理员用户信息表)的数据库操作Service实现
@ -14,5 +17,7 @@ import org.springframework.stereotype.Service;
@Service @Service
public class ManagerInfoServiceImpl extends ServiceImpl<ManagerInfoMapper, ManagerInfo> public class ManagerInfoServiceImpl extends ServiceImpl<ManagerInfoMapper, ManagerInfo>
implements ManagerInfoService { implements ManagerInfoService {
public List<GroupByUse> getMangerStatistics(String name){
return this.baseMapper.manageStatistics(name);
}
} }