代码提交
This commit is contained in:
parent
233bdbf480
commit
4805f36b22
|
@ -7,6 +7,7 @@ import lombok.Data;
|
|||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 灾害信息表,存储灾害信息
|
||||
|
@ -99,6 +100,36 @@ public class DisasterInfo implements Serializable {
|
|||
@TableField(exist = false)
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 发起用户
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String sponsorName;
|
||||
|
||||
/**
|
||||
* 发起机构
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String sponsorOrganization;
|
||||
|
||||
/**
|
||||
* 管理用户
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String managerName;
|
||||
|
||||
/**
|
||||
* 管理机构
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String managerOrganization;
|
||||
|
||||
/**
|
||||
* 减灾网站
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private List<Websites> websitesList;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
package com.kening.vordm.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 管理员用户信息表
|
||||
* @TableName manager_info
|
||||
*/
|
||||
@TableName(value ="manager_info")
|
||||
@Data
|
||||
public class ManagerInfo implements Serializable {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 组织机构
|
||||
*/
|
||||
private String organization;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.kening.vordm.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UserTenantVo {
|
||||
|
||||
/**
|
||||
* 机构id
|
||||
*/
|
||||
private String organizationId;
|
||||
|
||||
/**
|
||||
* 机构名称
|
||||
*/
|
||||
private String organizationName;
|
||||
}
|
|
@ -1,25 +1,27 @@
|
|||
package com.kening.vordm.controller;
|
||||
|
||||
import com.kening.vordm.vo.DisasterMangerInfo;
|
||||
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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.kening.vordm.entity.DisasterInfo;
|
||||
import com.kening.vordm.entity.DownloadRecord;
|
||||
import com.kening.vordm.entity.News;
|
||||
import com.kening.vordm.entity.Websites;
|
||||
import com.kening.vordm.service.DisasterInfoService;
|
||||
import com.kening.vordm.service.DownloadRecordService;
|
||||
import com.kening.vordm.service.NewsService;
|
||||
import com.kening.vordm.service.WebsitesService;
|
||||
import com.kening.vordm.vo.DisasterMangerInfo;
|
||||
import com.kening.vordm.vo.GroupByUse;
|
||||
import com.kening.vordm.vo.UserTenantVo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springblade.core.mp.support.BladePage;
|
||||
import org.springblade.core.mp.support.Condition;
|
||||
import org.springblade.core.mp.support.Query;
|
||||
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 org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Queue;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
|
@ -27,68 +29,114 @@ import java.util.Queue;
|
|||
public class DisasterInfoController {
|
||||
|
||||
private final DisasterInfoService disasterInfoService;
|
||||
|
||||
private final WebsitesService websitesService;
|
||||
|
||||
private final NewsService newsService;
|
||||
|
||||
//下载次数记录
|
||||
private final DownloadRecordService downloadRecordService;
|
||||
|
||||
|
||||
/**
|
||||
* 灾害查询条件,时间,类型,灾害联动
|
||||
*
|
||||
* @param disasterInfo
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/select-condition")
|
||||
public R<List<GroupByUse>> getSelectCondition(DisasterInfo disasterInfo){
|
||||
String disaster_time=null;
|
||||
if (disasterInfo.getDisasterTime()!=null){
|
||||
disaster_time=disasterInfo.getDisasterTime().toString();
|
||||
public R<List<GroupByUse>> getSelectCondition(DisasterInfo disasterInfo) {
|
||||
String disaster_time = null;
|
||||
if (disasterInfo.getDisasterTime() != null) {
|
||||
disaster_time = disasterInfo.getDisasterTime().toString();
|
||||
}
|
||||
return R.data(disasterInfoService.getConditionData(disasterInfo.getDisasterType(),disasterInfo.getDisasterCountry(),disaster_time,disasterInfo.getName()
|
||||
return R.data(disasterInfoService.getConditionData(disasterInfo.getDisasterType(), disasterInfo.getDisasterCountry(), disaster_time, disasterInfo.getName()
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 指定条件返回数据
|
||||
*
|
||||
* @param query
|
||||
* @param disasterInfo
|
||||
* @return
|
||||
*/
|
||||
|
||||
@GetMapping("/test")
|
||||
public R<IPage<News>> getdata(Query query, DisasterInfo disasterInfo){
|
||||
public R<IPage<News>> getdata(Query query, DisasterInfo disasterInfo) {
|
||||
List<Long> disasterIds = disasterInfoService.getDisasterId(disasterInfo);
|
||||
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")
|
||||
public R<List<GroupByUse>> getDisasterStatistics(String name){
|
||||
public R<List<GroupByUse>> getDisasterStatistics(String 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);
|
||||
public R<BladePage<DisasterMangerInfo>> gethomeDisasterInfo(Query query, Integer respondStatus) {
|
||||
IPage<DisasterMangerInfo> pages = disasterInfoService.getHomeDisaster(Condition.getPage(query), respondStatus);
|
||||
return R.data(BladePage.of(pages));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取债害详情信息
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getDisasterInfoDetail")
|
||||
public R<DisasterInfo> getDisasterInfoDetail(Long id){
|
||||
return R.data(disasterInfoService.getDisasterInfoDetail(id));
|
||||
public R<DisasterInfo> getDisasterInfoDetail(Long id) {
|
||||
DisasterInfo disasterInfoDetail = disasterInfoService.getDisasterInfoDetail(id);
|
||||
LambdaQueryWrapper<Websites> qw = new LambdaQueryWrapper<>();
|
||||
qw.eq(Websites::getDisasterId, disasterInfoDetail.getId());
|
||||
List<Websites> list = websitesService.list(qw);
|
||||
disasterInfoDetail.setWebsitesList(list);
|
||||
return R.data(disasterInfoDetail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户下载记录
|
||||
*
|
||||
* @param downloadRecord
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/saveDownloadRecord")
|
||||
public R saveDownloadRecord(@RequestBody DownloadRecord downloadRecord) {
|
||||
LambdaQueryWrapper<DownloadRecord> qw = new LambdaQueryWrapper<>();
|
||||
qw.eq(DownloadRecord::getBigType, downloadRecord.getBigType());
|
||||
qw.eq(DownloadRecord::getSmallType, downloadRecord.getSmallType());
|
||||
qw.eq(DownloadRecord::getDiasterId, downloadRecord.getDiasterId());
|
||||
DownloadRecord one = downloadRecordService.getOne(qw);
|
||||
if (one != null) {
|
||||
one.setCount(one.getCount() + 1);
|
||||
downloadRecordService.updateById(one);
|
||||
} else {
|
||||
downloadRecordService.save(downloadRecord);
|
||||
}
|
||||
return R.status(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户所以得机构
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getUserTenant")
|
||||
public R<List<UserTenantVo>> getUserTenant() {
|
||||
return R.data(disasterInfoService.getAllUser());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
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));
|
||||
}
|
||||
}
|
|
@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||
import com.kening.vordm.entity.DisasterInfo;
|
||||
import com.kening.vordm.vo.DisasterMangerInfo;
|
||||
import com.kening.vordm.vo.GroupByUse;
|
||||
import com.kening.vordm.vo.UserTenantVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -34,4 +35,6 @@ public interface DisasterInfoMapper extends BaseMapper<DisasterInfo> {
|
|||
|
||||
List<GroupByUse> getDisasterStatistics(@Param("name" ) String name );
|
||||
|
||||
List<UserTenantVo> getAllUser();
|
||||
|
||||
}
|
||||
|
|
|
@ -38,8 +38,16 @@
|
|||
|
||||
<select id="getDisasterInfoDetail" resultType="com.kening.vordm.entity.DisasterInfo">
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
<include refid="Base_Column_List"/>,
|
||||
gi.username AS sponsorName,
|
||||
gi.organization AS sponsorOrganization,
|
||||
bu.name AS managerName,
|
||||
bt.tenant_name AS managerOrganization
|
||||
from disaster_info di
|
||||
left join guest_manage_disaster_ref gmdr on gmdr.disaster_id = di.id
|
||||
left join guest_info gi on gi.id = gmdr.sponsor_id
|
||||
left join blade_user bu on bu.id = gmdr.manager_id
|
||||
left join blade_tenant bt on bt.id = bu.organization
|
||||
<where>
|
||||
<if test="id != null and id != ''">
|
||||
di.id = #{id}
|
||||
|
@ -76,4 +84,14 @@
|
|||
order by d.disaster_time desc
|
||||
</select>
|
||||
|
||||
<select id="getAllUser" resultType="com.kening.vordm.vo.UserTenantVo">
|
||||
SELECT
|
||||
bu.organization AS organizationId,
|
||||
bt.tenant_name AS organizationName
|
||||
FROM
|
||||
blade_user bu
|
||||
LEFT JOIN blade_tenant bt ON bt.id = bu.organization
|
||||
GROUP BY bu.organization
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
package com.kening.vordm.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.kening.vordm.entity.ManagerInfo;
|
||||
import com.kening.vordm.vo.GroupByUse;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author G1393
|
||||
* @description 针对表【manager_info(管理员用户信息表)】的数据库操作Mapper
|
||||
* @createDate 2023-04-04 15:54:30
|
||||
* @Entity new.domain.ManagerInfo
|
||||
*/
|
||||
public interface ManagerInfoMapper extends BaseMapper<ManagerInfo> {
|
||||
|
||||
public List<GroupByUse> manageStatistics(String name);
|
||||
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.kening.vordm.mapper.ManagerInfoMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.kening.vordm.entity.ManagerInfo">
|
||||
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||
<result property="username" column="username" jdbcType="VARCHAR"/>
|
||||
<result property="password" column="password" jdbcType="VARCHAR"/>
|
||||
<result property="email" column="email" jdbcType="VARCHAR"/>
|
||||
<result property="organization" column="organization" jdbcType="VARCHAR"/>
|
||||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,username,password,
|
||||
email,organization,create_time
|
||||
</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>
|
|
@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
import com.kening.vordm.entity.DisasterInfo;
|
||||
import com.kening.vordm.vo.DisasterMangerInfo;
|
||||
import com.kening.vordm.vo.GroupByUse;
|
||||
import com.kening.vordm.vo.UserTenantVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -37,4 +38,7 @@ public interface DisasterInfoService extends IService<DisasterInfo> {
|
|||
|
||||
|
||||
IPage<DisasterMangerInfo> getHomeDisaster(IPage<DisasterMangerInfo> page, Integer respondStatus);
|
||||
|
||||
List<UserTenantVo> getAllUser();
|
||||
|
||||
}
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
package com.kening.vordm.service;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.kening.vordm.entity.ManagerInfo;
|
||||
import com.kening.vordm.vo.GroupByUse;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author G1393
|
||||
* @description 针对表【manager_info(管理员用户信息表)】的数据库操作Service
|
||||
* @createDate 2023-04-04 15:54:30
|
||||
*/
|
||||
public interface ManagerInfoService extends IService<ManagerInfo> {
|
||||
public List<GroupByUse> getMangerStatistics(String name);
|
||||
}
|
|
@ -8,6 +8,7 @@ import com.kening.vordm.mapper.DisasterInfoMapper;
|
|||
import com.kening.vordm.service.DisasterInfoService;
|
||||
import com.kening.vordm.vo.DisasterMangerInfo;
|
||||
import com.kening.vordm.vo.GroupByUse;
|
||||
import com.kening.vordm.vo.UserTenantVo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
@ -88,4 +89,9 @@ implements DisasterInfoService {
|
|||
return page.setRecords(disasterMangerInfos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserTenantVo> getAllUser() {
|
||||
return this.baseMapper.getAllUser();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
package com.kening.vordm.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.kening.vordm.entity.ManagerInfo;
|
||||
import com.kening.vordm.mapper.ManagerInfoMapper;
|
||||
import com.kening.vordm.service.ManagerInfoService;
|
||||
import com.kening.vordm.vo.GroupByUse;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author G1393
|
||||
* @description 针对表【manager_info(管理员用户信息表)】的数据库操作Service实现
|
||||
* @createDate 2023-04-04 15:54:30
|
||||
*/
|
||||
@Service
|
||||
public class ManagerInfoServiceImpl extends ServiceImpl<ManagerInfoMapper, ManagerInfo>
|
||||
implements ManagerInfoService {
|
||||
public List<GroupByUse> getMangerStatistics(String name){
|
||||
return this.baseMapper.manageStatistics(name);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue