13 files modified
11 files added
| | |
| | | secureRegistry.excludePathPatterns("/webjars/**"); |
| | | secureRegistry.excludePathPatterns("/swagger-resources/**"); |
| | | secureRegistry.excludePathPatterns("/druid/**"); |
| | | secureRegistry.excludePathPatterns("/dp/**"); |
| | | return secureRegistry; |
| | | } |
| | | |
| | |
| | | */ |
| | | @ApiModelProperty(value = "所在单位id") |
| | | private String deptId; |
| | | /** |
| | | * 经度 |
| | | */ |
| | | @ApiModelProperty(value = "经度") |
| | | private String lon; |
| | | /** |
| | | * 纬度 |
| | | */ |
| | | @ApiModelProperty(value = "纬度") |
| | | private String lat; |
| | | |
| | | } |
| New file |
| | |
| | | package org.springblade.modules.dp.controller; |
| | | |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.modules.device.entity.DeviceEntity; |
| | | import org.springblade.modules.dp.service.IComprehensiveStatisticsService; |
| | | import org.springblade.modules.fire.service.IFireService; |
| | | import org.springblade.modules.fire.vo.FireVO; |
| | | import org.springblade.modules.fireSupplement.service.IFireSupplementService; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 大屏综合统计 控制器 |
| | | * |
| | | * @author GuoShiLong |
| | | * @since 2023-03-08 |
| | | */ |
| | | @RestController |
| | | @AllArgsConstructor |
| | | @RequestMapping("dp/comprehensiveStatistics") |
| | | @Api(value = "综合统计", tags = "综合统计接口") |
| | | public class ComprehensiveStatisticsController extends BladeController { |
| | | private IComprehensiveStatisticsService comprehensiveStatisticsService; |
| | | private IFireService fireService; |
| | | private IFireSupplementService fireSupplementService; |
| | | |
| | | /** |
| | | * 数据概览 (出警次数还没有统计) |
| | | */ |
| | | @GetMapping("/dataOverview") |
| | | @ApiOperation(value = "数据概览", notes = "数据概览") |
| | | public R getDataOverview() { |
| | | List<HashMap<String,String>> dataStatistics = comprehensiveStatisticsService.getDataOverview(); |
| | | return R.data(dataStatistics); |
| | | } |
| | | |
| | | /** |
| | | * 入驻单位统计 |
| | | */ |
| | | @GetMapping("/deptStatistics") |
| | | @ApiOperation(value = "入驻单位统计", notes = "入驻单位统计") |
| | | public R getDeptStatistics() { |
| | | List<HashMap<String,String>> deptStatistics = comprehensiveStatisticsService.getDeptStatistics(); |
| | | return R.data(deptStatistics); |
| | | } |
| | | |
| | | /** |
| | | * 实时火警事件 |
| | | */ |
| | | @GetMapping("/realtimeFireAlarmIncident") |
| | | @ApiOperation(value = "实时火警事件", notes = "实时火警事件") |
| | | public R getRealtimeFireAlarmIncident(@RequestParam(name="time", defaultValue="48")String time) { |
| | | List<FireVO> fireList = fireService.getRealtime(time); |
| | | return R.data(fireList); |
| | | } |
| | | |
| | | /** |
| | | * 火警事件来源 |
| | | */ |
| | | @GetMapping("/fireCallSource") |
| | | @ApiOperation(value = "火警事件来源", notes = "火警事件来源") |
| | | public R getFireCallSource() { |
| | | List fireCallSource = comprehensiveStatisticsService.getFireCallSource(); |
| | | return R.data(fireCallSource); |
| | | } |
| | | |
| | | /** |
| | | * 易发区统计 |
| | | */ |
| | | @GetMapping("/proneAreasStatistics") |
| | | @ApiOperation(value = "易发区统计", notes = "易发区统计") |
| | | public R getProneAreasStatistics(String regionCode, @RequestParam(name="limit", defaultValue="15")Integer limit) { |
| | | List proneAreasStatistics = comprehensiveStatisticsService.getProneAreasStatistics(regionCode,limit); |
| | | return R.data(proneAreasStatistics); |
| | | } |
| | | |
| | | /** |
| | | * 火警上报趋势 |
| | | */ |
| | | @GetMapping("/fireReportingTrend") |
| | | @ApiOperation(value = "火警上报趋势", notes = "火警上报趋势") |
| | | public R getFireReportingTrend() { |
| | | List<HashMap<String,String>> FireReportingTrend = comprehensiveStatisticsService.getFireReportingTrend(); |
| | | return R.data(FireReportingTrend); |
| | | } |
| | | } |
| New file |
| | |
| | | package org.springblade.modules.dp.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.modules.dp.service.IFireWarningService; |
| | | import org.springblade.modules.fire.service.IFireService; |
| | | import org.springblade.modules.fire.vo.FireVO; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 大屏防火预警 控制器 |
| | | * |
| | | * @author GuoShiLong |
| | | * @since 2023-03-08 |
| | | */ |
| | | @RestController |
| | | @AllArgsConstructor |
| | | @RequestMapping("dp/fireWarning") |
| | | @Api(value = "防火预警", tags = "防火预警接口") |
| | | public class FireWarningController extends BladeController { |
| | | // private IFireWarningService fireWarningService; |
| | | private IFireService fireService; |
| | | |
| | | /** |
| | | * 预警台账 |
| | | */ |
| | | @GetMapping("/earlyWarningLedger") |
| | | @ApiOperation(value = "预警台账", notes = "预警台账") |
| | | public R getEarlyWarningLedger() { |
| | | |
| | | return null; |
| | | } |
| | | } |
| New file |
| | |
| | | package org.springblade.modules.dp.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.modules.fire.service.IFireService; |
| | | import org.springblade.modules.fire.vo.FireVO; |
| | | import org.springblade.modules.fireSupplement.entity.FireSupplementEntity; |
| | | import org.springblade.modules.fireSupplement.service.IFireSupplementService; |
| | | import org.springblade.modules.system.dto.DeptDTO; |
| | | import org.springblade.modules.system.service.IDeptService; |
| | | 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; |
| | | |
| | | /** |
| | | * 大屏军地协同 控制器 |
| | | * |
| | | * @author GuoShiLong |
| | | * @since 2023-03-08 |
| | | */ |
| | | @RestController |
| | | @AllArgsConstructor |
| | | @RequestMapping("dp/militaryLocalCoordination") |
| | | @Api(value = "军地协同", tags = "军地协同接口") |
| | | public class MilitaryLocalCoordinationController extends BladeController { |
| | | private IFireService fireService; |
| | | private IFireSupplementService fireSupplementService; |
| | | private final IDeptService deptService; |
| | | |
| | | /** |
| | | * 火警事件 |
| | | */ |
| | | @GetMapping("/fireAlarmIncident") |
| | | @ApiOperation(value = "火警事件", notes = "火警事件") |
| | | public R<IPage<FireVO>> getEarlyWarningLedger(FireVO fire, Query query) { |
| | | IPage<FireVO> pages = fireService.selectFirePage(Condition.getPage(query), fire); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * 灾后评估 |
| | | */ |
| | | @GetMapping("/disasterAssessment") |
| | | @ApiOperation(value = "详情", notes = "传入fireSupplement") |
| | | public R<FireSupplementEntity> detail(FireSupplementEntity fireSupplement) { |
| | | FireSupplementEntity detail = fireSupplementService.getOne(Condition.getQueryWrapper(fireSupplement)); |
| | | return R.data(detail); |
| | | } |
| | | |
| | | /** |
| | | * 视频会商,传部门和部门下的人 |
| | | */ |
| | | @GetMapping("/getUserGroupByDept") |
| | | @ApiOperation(value = "视频会商", notes = "视频会商") |
| | | public R getUserGroupByDept() { |
| | | List<DeptDTO> deptDTO = deptService.getUserGroupByDept(); |
| | | return R.data(deptDTO); |
| | | } |
| | | } |
| New file |
| | |
| | | package org.springblade.modules.dp.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | @Repository |
| | | public interface ComprehensiveStatisticsMapper { |
| | | |
| | | List<HashMap<String, String>> getDataOverview(); |
| | | |
| | | List<HashMap<String, String>> getDeptStatistics(); |
| | | |
| | | List<HashMap<String,String>> getFireCallSource(); |
| | | |
| | | List<HashMap<String, String>> getFireReportingTrend(); |
| | | |
| | | List getProneAreasStatistics(@Param("regionCode") String regionCode,@Param("limit") Integer limit); |
| | | } |
| New file |
| | |
| | | <?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="org.springblade.modules.dp.mapper.ComprehensiveStatisticsMapper"> |
| | | |
| | | |
| | | <select id="getDataOverview" resultType="java.util.HashMap"> |
| | | SELECT a.deptNumber,b.policeCarNumber,c.deviceNumber |
| | | FROM( |
| | | ( SELECT COUNT(*) AS deptNumber FROM blade_dept dept WHERE dept.is_deleted = 0 ) a, |
| | | ( SELECT COUNT(*) AS policeCarNumber FROM sys_vehicle vehicle WHERE vehicle.is_deleted = 0 ) b, |
| | | ( SELECT COUNT(*) AS deviceNumber FROM sys_device device WHERE device.is_deleted = 0 ) c |
| | | ); |
| | | </select> |
| | | |
| | | <select id="getDeptStatistics" resultType="java.util.HashMap"> |
| | | SELECT DISTINCT a.city cityCode,a.cityNumber,region.city_name cityName |
| | | FROM |
| | | ( |
| | | SELECT dept.city,COUNT(*) AS cityNumber |
| | | FROM blade_dept dept WHERE dept.is_deleted = 0 |
| | | GROUP BY dept.city |
| | | ) a LEFT JOIN blade_region region ON region.city_code = a.city |
| | | </select> |
| | | <select id="getFireCallSource" resultType="java.util.HashMap"> |
| | | SELECT |
| | | CONVERT(COUNT(*),CHAR) AS number, |
| | | fire.find_way findWay, |
| | | biz.dict_value findWayName |
| | | FROM |
| | | sys_fire fire |
| | | LEFT JOIN blade_dict_biz biz ON biz.dict_key = fire.find_way AND biz.`code` = 'fire_find_way' |
| | | WHERE |
| | | fire.is_deleted = 0 |
| | | GROUP BY |
| | | fire.find_way |
| | | </select> |
| | | <select id="getFireReportingTrend" resultType="java.util.HashMap"> |
| | | SELECT |
| | | m.id month,IFNULL(b.number,0) number |
| | | FROM |
| | | ( |
| | | SELECT 1 AS id UNION |
| | | SELECT 2 UNION |
| | | SELECT 3 UNION |
| | | SELECT 4 UNION |
| | | SELECT 5 UNION |
| | | SELECT 6 UNION |
| | | SELECT 7 UNION |
| | | SELECT 8 UNION |
| | | SELECT 9 UNION |
| | | SELECT 10 UNION |
| | | SELECT 11 UNION |
| | | SELECT 12 |
| | | ) m |
| | | LEFT JOIN |
| | | ( |
| | | SELECT MONTH(fire.alarm_time) month,COUNT(*) number |
| | | FROM sys_fire fire |
| | | WHERE fire.is_deleted = 0 |
| | | GROUP BY MONTH ( fire.alarm_time ) |
| | | ) b ON b.`month` = m.id |
| | | ORDER BY month |
| | | </select> |
| | | |
| | | <select id="getProneAreasStatistics" resultType="java.util.HashMap"> |
| | | SELECT |
| | | address,COUNT(*) times |
| | | FROM |
| | | `sys_fire` |
| | | WHERE |
| | | is_deleted = 0 |
| | | AND find_way = 1 |
| | | AND FIND_IN_SET(#{regionCode},REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(location,'[',-1),']',1),'"','')) |
| | | GROUP BY |
| | | address |
| | | ORDER BY times DESC |
| | | LIMIT #{limit} |
| | | </select> |
| | | </mapper> |
| New file |
| | |
| | | package org.springblade.modules.dp.mapper; |
| | | |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | @Repository |
| | | public interface FireWarningMapper { |
| | | } |
| New file |
| | |
| | | <?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="org.springblade.modules.dp.mapper.FireWarningMapper"> |
| | | |
| | | |
| | | </mapper> |
| New file |
| | |
| | | package org.springblade.modules.dp.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | public interface IComprehensiveStatisticsService { |
| | | /** |
| | | * 获取数据概览 |
| | | * @return |
| | | */ |
| | | List<HashMap<String, String>> getDataOverview(); |
| | | |
| | | /** |
| | | * 获取入驻单位统计 |
| | | * @return |
| | | */ |
| | | List<HashMap<String, String>> getDeptStatistics(); |
| | | |
| | | /** |
| | | * 获取火警事件来源 |
| | | * @return |
| | | */ |
| | | List getFireCallSource(); |
| | | |
| | | /** |
| | | * 获取火警上报趋势 |
| | | * @return |
| | | */ |
| | | List<HashMap<String, String>> getFireReportingTrend(); |
| | | |
| | | /** |
| | | * 获取易发区统计数据 |
| | | * @param regionCode 区域编号 |
| | | * @return |
| | | */ |
| | | List<HashMap<String, String>> getProneAreasStatistics(String regionCode,Integer limit); |
| | | } |
| New file |
| | |
| | | package org.springblade.modules.dp.service; |
| | | |
| | | public interface IFireWarningService { |
| | | } |
| New file |
| | |
| | | package org.springblade.modules.dp.service.impl; |
| | | |
| | | import org.springblade.modules.dp.mapper.ComprehensiveStatisticsMapper; |
| | | import org.springblade.modules.dp.service.IComprehensiveStatisticsService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.function.Consumer; |
| | | |
| | | @Service |
| | | public class ComprehensiveStatisticsServiceImpl implements IComprehensiveStatisticsService { |
| | | @Autowired |
| | | private ComprehensiveStatisticsMapper comprehensiveStatisticsMapper; |
| | | |
| | | @Override |
| | | public List<HashMap<String, String>> getDataOverview() { |
| | | return comprehensiveStatisticsMapper.getDataOverview(); |
| | | } |
| | | |
| | | @Override |
| | | public List<HashMap<String, String>> getDeptStatistics() { |
| | | return comprehensiveStatisticsMapper.getDeptStatistics(); |
| | | } |
| | | |
| | | @Override |
| | | public List getFireCallSource() { |
| | | List list = new ArrayList(); |
| | | Map<String, Integer> m1 = new HashMap<>(16); |
| | | List<HashMap<String,String>> fireCallSource = comprehensiveStatisticsMapper.getFireCallSource(); |
| | | int number = fireCallSource.stream().mapToInt(e -> Integer.parseInt(e.get("number"))).sum(); |
| | | m1.put("sum",number); |
| | | list.add(fireCallSource); |
| | | list.add(m1); |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public List<HashMap<String, String>> getFireReportingTrend() { |
| | | return comprehensiveStatisticsMapper.getFireReportingTrend(); |
| | | } |
| | | |
| | | @Override |
| | | public List getProneAreasStatistics(String regionCode,Integer limit) { |
| | | return comprehensiveStatisticsMapper.getProneAreasStatistics(regionCode,limit); |
| | | } |
| | | } |
| New file |
| | |
| | | package org.springblade.modules.dp.service.impl; |
| | | |
| | | import org.springblade.modules.dp.mapper.FireWarningMapper; |
| | | import org.springblade.modules.dp.service.IFireWarningService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | @Service |
| | | public class FireWarningServiceImpl implements IFireWarningService { |
| | | @Autowired |
| | | private FireWarningMapper fireWarningMapper; |
| | | } |
| | |
| | | |
| | | |
| | | List<FireVO> getAll(@Param("fire") FireVO fire); |
| | | |
| | | List<FireVO> getRealtime(@Param("time") String time); |
| | | } |
| | |
| | | <result column="is_deleted" property="isDeleted"/> |
| | | <result column="tenant_id" property="tenantId"/> |
| | | <result column="supplementId" property="supplementId"/> |
| | | <result column="fireLevelName" property="fireLevelName"/> |
| | | <result column="findWayName" property="findWayName"/> |
| | | </resultMap> |
| | | |
| | | |
| | | <select id="selectFirePage" resultMap="fireResultMap"> |
| | | select fire.*,sup.id supplementId from sys_fire fire |
| | | LEFT JOIN sys_fire_supplement sup ON sup.fire_id = fire.id AND sup.is_deleted = 0 |
| | | where fire.is_deleted = 0 |
| | | SELECT fire.*,sup.id supplementId,biz.dict_value fireLevelName,biz2.dict_value findWayName |
| | | FROM sys_fire fire |
| | | LEFT JOIN blade_dict_biz biz ON biz.dict_key = fire.`level` AND biz.code = 'fire_level' |
| | | LEFT JOIN blade_dict_biz biz2 ON biz2.dict_key = fire.find_way AND biz2.`code` = 'fire_find_way' |
| | | LEFT JOIN sys_fire_supplement sup ON sup.fire_id = fire.id |
| | | AND sup.is_deleted = 0 |
| | | WHERE |
| | | fire.is_deleted = 0 |
| | | <if test="fire.location !=null and fire.location !='' "> |
| | | AND fire.location = #{fire.location,typeHandler=com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler} |
| | | </if> |
| | |
| | | <if test="fire.alarmTimeEnd !=null and fire.alarmTimeEnd !=''"> |
| | | AND DATE_FORMAT(fire.alarm_time,'%Y-%m-%d') <= #{fire.alarmTimeEnd} |
| | | </if> |
| | | <if test="fire.level !=null and fire.level !=''"> |
| | | AND fire.level = #{fire.level} |
| | | </if> |
| | | <if test="fire.fireDate !=null and fire.fireDate !=''"> |
| | | AND DATE_FORMAT(fire.alarm_time,'%Y-%m-%d') = #{fire.fireDate} |
| | | </if> |
| | | |
| | | |
| | | </select> |
| | |
| | | |
| | | </select> |
| | | |
| | | <select id="getRealtime" resultMap="fireResultMap"> |
| | | SELECT |
| | | fire.*,biz.dict_value fireLevelName,biz2.dict_value findWayName |
| | | FROM |
| | | sys_fire fire |
| | | LEFT JOIN blade_dict_biz biz ON biz.dict_key = fire.level AND biz.`code` = 'fire_level' |
| | | LEFT JOIN blade_dict_biz biz2 ON biz2.dict_key = fire.find_way AND biz2.`code` = 'fire_find_way' |
| | | WHERE |
| | | fire.is_deleted = 0 |
| | | AND DATE_FORMAT( fire.alarm_time, '%Y-%m-%d' ) >= DATE_FORMAT(DATE_SUB(now(),INTERVAL #{time} HOUR ), '%Y-%m-%d' ) |
| | | AND DATE_FORMAT( fire.alarm_time, '%Y-%m-%d' ) <= DATE_FORMAT(NOW(),'%Y-%m-%d' ) |
| | | |
| | | ORDER BY fire.alarm_time DESC |
| | | </select> |
| | | |
| | | |
| | | </mapper> |
| | |
| | | * @return |
| | | */ |
| | | List<FireVO> getAll(FireVO fire); |
| | | |
| | | List<FireVO> getRealtime(String time); |
| | | } |
| | |
| | | return baseMapper.getAll(fire); |
| | | } |
| | | |
| | | @Override |
| | | public List<FireVO> getRealtime(String time) { |
| | | return baseMapper.getRealtime(time); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | import org.springblade.core.tool.node.INode; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import org.springblade.modules.fireSupplement.vo.FireSupplementVO; |
| | | |
| | | /** |
| | | * 火灾记录表 视图实体类 |
| | |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class FireVO extends FireEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 补充id |
| | | */ |
| | | private String supplementId; |
| | | |
| | | /** |
| | | * 发现时间开始 |
| | | */ |
| | | private String alarmTimeStart; |
| | | |
| | | /** |
| | | * 发现时间结束 |
| | | */ |
| | | private String alarmTimeEnd; |
| | | |
| | | /** |
| | | * 火灾发生日期(2023-01-10) |
| | | */ |
| | | private String fireDate; |
| | | /** |
| | | * 火灾等级 |
| | | */ |
| | | private String fireLevelName; |
| | | /** |
| | | * 发现方式 |
| | | */ |
| | | private String findWayName; |
| | | } |
| | |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import org.springblade.modules.system.entity.Dept; |
| | | import org.springblade.modules.system.entity.User; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 数据传输对象实体类 |
| | |
| | | public class DeptDTO extends Dept { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | private List<User> userList; |
| | | |
| | | } |
| | |
| | | package org.springblade.modules.system.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.springblade.modules.system.dto.DeptDTO; |
| | | import org.springblade.modules.system.entity.Dept; |
| | | import org.springblade.modules.system.vo.DeptVO; |
| | | |
| | |
| | | */ |
| | | List<String> getDeptNames(Long[] ids); |
| | | |
| | | /** |
| | | * 获取部门分组和部门下的用户 |
| | | * @return |
| | | */ |
| | | List<DeptDTO> getUserGroupByDept(); |
| | | } |
| | |
| | | and is_deleted = 0 |
| | | </select> |
| | | |
| | | <resultMap id="userDeptGroup" type="org.springblade.modules.system.dto.DeptDTO"> |
| | | <id column="dept_id" property="id"/> |
| | | <result column="dept_name" property="deptName"/> |
| | | <collection property="userList" javaType="java.util.List" ofType="org.springblade.modules.system.entity.User"> |
| | | <result column="id" property="id"/> |
| | | <result column="real_name" property="realName"/> |
| | | <result column="avatar" property="avatar"/> |
| | | <result column="email" property="email"/> |
| | | <result column="phone" property="phone"/> |
| | | <result column="role_id" property="roleId"/> |
| | | </collection> |
| | | </resultMap> |
| | | |
| | | <select id="getUserGroupByDept" resultMap="userDeptGroup"> |
| | | SELECT user.id,user.real_name,user.avatar,user.email,user.phone,user.dept_id,user.role_id,dept.dept_name |
| | | FROM blade_user user |
| | | LEFT JOIN blade_dept dept ON dept.id = user.dept_id and dept.is_deleted = 0 |
| | | WHERE user.is_deleted = 0 |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | package org.springblade.modules.system.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.springblade.modules.system.dto.DeptDTO; |
| | | import org.springblade.modules.system.entity.Dept; |
| | | import org.springblade.modules.system.vo.DeptVO; |
| | | |
| | |
| | | */ |
| | | List<DeptVO> search(String deptName, Long parentId); |
| | | |
| | | /** |
| | | * 获取部门分组和部门下的用户 |
| | | * @return |
| | | */ |
| | | List<DeptDTO> getUserGroupByDept(); |
| | | } |
| | |
| | | import org.springblade.core.tool.node.ForestNodeMerger; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringPool; |
| | | import org.springblade.modules.system.dto.DeptDTO; |
| | | import org.springblade.modules.system.entity.Dept; |
| | | import org.springblade.modules.system.mapper.DeptMapper; |
| | | import org.springblade.modules.system.service.IDeptService; |
| | |
| | | return DeptWrapper.build().listNodeVO(deptList); |
| | | } |
| | | |
| | | @Override |
| | | public List<DeptDTO> getUserGroupByDept() { |
| | | return baseMapper.getUserGroupByDept(); |
| | | } |
| | | |
| | | } |
| | |
| | | */ |
| | | @ApiModelProperty(value = "车辆类型") |
| | | private String type; |
| | | /** |
| | | * 经度 |
| | | */ |
| | | @ApiModelProperty(value = "经度") |
| | | private String lon; |
| | | /** |
| | | * 纬度 |
| | | */ |
| | | @ApiModelProperty(value = "纬度") |
| | | private String lat; |
| | | |
| | | } |