代码提交

This commit is contained in:
glj 2023-04-06 17:25:23 +08:00
parent 233bdbf480
commit 4805f36b22
13 changed files with 149 additions and 186 deletions

View File

@ -7,6 +7,7 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 灾害信息表存储灾害信息 * 灾害信息表存储灾害信息
@ -99,6 +100,36 @@ public class DisasterInfo implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String name; 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) @TableField(exist = false)
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@ -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;
}

View File

@ -0,0 +1,17 @@
package com.kening.vordm.vo;
import lombok.Data;
@Data
public class UserTenantVo {
/**
* 机构id
*/
private String organizationId;
/**
* 机构名称
*/
private String organizationName;
}

View File

@ -1,25 +1,27 @@
package com.kening.vordm.controller; package com.kening.vordm.controller;
import com.kening.vordm.vo.DisasterMangerInfo; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kening.vordm.entity.DisasterInfo; import com.kening.vordm.entity.DisasterInfo;
import com.kening.vordm.entity.DownloadRecord;
import com.kening.vordm.entity.News; import com.kening.vordm.entity.News;
import com.kening.vordm.entity.Websites;
import com.kening.vordm.service.DisasterInfoService; import com.kening.vordm.service.DisasterInfoService;
import com.kening.vordm.service.DownloadRecordService;
import com.kening.vordm.service.NewsService; 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 lombok.RequiredArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
import java.util.Queue;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@ -27,68 +29,114 @@ import java.util.Queue;
public class DisasterInfoController { public class DisasterInfoController {
private final DisasterInfoService disasterInfoService; private final DisasterInfoService disasterInfoService;
private final WebsitesService websitesService;
private final NewsService newsService; private final NewsService newsService;
//下载次数记录
private final DownloadRecordService downloadRecordService;
/** /**
* 灾害查询条件时间类型灾害联动 * 灾害查询条件时间类型灾害联动
*
* @param disasterInfo * @param disasterInfo
* @return * @return
*/ */
@GetMapping("/select-condition") @GetMapping("/select-condition")
public R<List<GroupByUse>> getSelectCondition(DisasterInfo disasterInfo){ public R<List<GroupByUse>> getSelectCondition(DisasterInfo disasterInfo) {
String disaster_time=null; String disaster_time = null;
if (disasterInfo.getDisasterTime()!=null){ if (disasterInfo.getDisasterTime() != null) {
disaster_time=disasterInfo.getDisasterTime().toString(); 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 query
* @param disasterInfo * @param disasterInfo
* @return * @return
*/ */
@GetMapping("/test") @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); 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 * @param name
* @return * @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 query
* @param respondStatus * @param respondStatus
* @return * @return
*/ */
@GetMapping("/homeDisasterInfo") @GetMapping("/homeDisasterInfo")
public R<BladePage<DisasterMangerInfo>> gethomeDisasterInfo(Query query,Integer respondStatus){ public R<BladePage<DisasterMangerInfo>> gethomeDisasterInfo(Query query, Integer respondStatus) {
IPage<DisasterMangerInfo> pages=disasterInfoService.getHomeDisaster(Condition.getPage(query),respondStatus); IPage<DisasterMangerInfo> pages = disasterInfoService.getHomeDisaster(Condition.getPage(query), respondStatus);
return R.data(BladePage.of(pages)); return R.data(BladePage.of(pages));
} }
/** /**
* 获取债害详情信息 * 获取债害详情信息
*
* @param id * @param id
* @return * @return
*/ */
@GetMapping("/getDisasterInfoDetail") @GetMapping("/getDisasterInfoDetail")
public R<DisasterInfo> getDisasterInfoDetail(Long id){ public R<DisasterInfo> getDisasterInfoDetail(Long id) {
return R.data(disasterInfoService.getDisasterInfoDetail(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());
}
} }

View File

@ -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));
}
}

View File

@ -6,6 +6,7 @@ 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.DisasterMangerInfo;
import com.kening.vordm.vo.GroupByUse; import com.kening.vordm.vo.GroupByUse;
import com.kening.vordm.vo.UserTenantVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -34,4 +35,6 @@ public interface DisasterInfoMapper extends BaseMapper<DisasterInfo> {
List<GroupByUse> getDisasterStatistics(@Param("name" ) String name ); List<GroupByUse> getDisasterStatistics(@Param("name" ) String name );
List<UserTenantVo> getAllUser();
} }

View File

@ -38,8 +38,16 @@
<select id="getDisasterInfoDetail" resultType="com.kening.vordm.entity.DisasterInfo"> <select id="getDisasterInfoDetail" resultType="com.kening.vordm.entity.DisasterInfo">
select 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 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> <where>
<if test="id != null and id != ''"> <if test="id != null and id != ''">
di.id = #{id} di.id = #{id}
@ -76,4 +84,14 @@
order by d.disaster_time desc order by d.disaster_time desc
</select> </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> </mapper>

View File

@ -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);
}

View File

@ -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>

View File

@ -6,6 +6,7 @@ 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.DisasterMangerInfo;
import com.kening.vordm.vo.GroupByUse; import com.kening.vordm.vo.GroupByUse;
import com.kening.vordm.vo.UserTenantVo;
import java.util.List; import java.util.List;
@ -37,4 +38,7 @@ public interface DisasterInfoService extends IService<DisasterInfo> {
IPage<DisasterMangerInfo> getHomeDisaster(IPage<DisasterMangerInfo> page, Integer respondStatus); IPage<DisasterMangerInfo> getHomeDisaster(IPage<DisasterMangerInfo> page, Integer respondStatus);
List<UserTenantVo> getAllUser();
} }

View File

@ -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);
}

View File

@ -8,6 +8,7 @@ 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.DisasterMangerInfo;
import com.kening.vordm.vo.GroupByUse; import com.kening.vordm.vo.GroupByUse;
import com.kening.vordm.vo.UserTenantVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -88,4 +89,9 @@ implements DisasterInfoService {
return page.setRecords(disasterMangerInfos); return page.setRecords(disasterMangerInfos);
} }
@Override
public List<UserTenantVo> getAllUser() {
return this.baseMapper.getAllUser();
}
} }

View File

@ -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);
}
}