Browse Source

首页模块开发

tags/v1.1.0^2
chenjiandong 1 year ago
parent
commit
14e8c5cbfd
9 changed files with 167 additions and 8 deletions
  1. +24
    -1
      tuoheng-admin/src/main/java/com/tuoheng/admin/controller/IndexGisController.java
  2. +2
    -2
      tuoheng-admin/src/main/java/com/tuoheng/admin/controller/QuestionTypeController.java
  3. +62
    -0
      tuoheng-admin/src/main/java/com/tuoheng/admin/entity/dto/index/QuestionListDto.java
  4. +1
    -1
      tuoheng-admin/src/main/java/com/tuoheng/admin/entity/request/index/GetAirportDetailDto.java
  5. +24
    -0
      tuoheng-admin/src/main/java/com/tuoheng/admin/entity/request/index/GetQuestionListDto.java
  6. +5
    -0
      tuoheng-admin/src/main/java/com/tuoheng/admin/mapper/QuestionMapper.java
  7. +7
    -1
      tuoheng-admin/src/main/java/com/tuoheng/admin/service/IndexService.java
  8. +25
    -3
      tuoheng-admin/src/main/java/com/tuoheng/admin/service/impl/IndexServiceImpl.java
  9. +17
    -0
      tuoheng-admin/src/main/resources/mapper/QuestionMapper.xml

+ 24
- 1
tuoheng-admin/src/main/java/com/tuoheng/admin/controller/IndexGisController.java View File

package com.tuoheng.admin.controller; package com.tuoheng.admin.controller;


import com.tuoheng.admin.entity.request.GetAirportDetailDto;
import com.tuoheng.admin.entity.request.index.GetAirportDetailDto;
import com.tuoheng.admin.entity.request.index.GetQuestionListDto;
import com.tuoheng.admin.service.IndexService; import com.tuoheng.admin.service.IndexService;
import com.tuoheng.common.common.BaseQuery; import com.tuoheng.common.common.BaseQuery;
import com.tuoheng.common.utils.JsonResult; import com.tuoheng.common.utils.JsonResult;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;


/** /**
@Autowired @Autowired
private IndexService indexService; private IndexService indexService;


/**
* 获取任务列表
* @param baseQuery
* @return
*/
@PostMapping("/getMissionList") @PostMapping("/getMissionList")
public JsonResult getMissionList(@RequestBody BaseQuery baseQuery) { public JsonResult getMissionList(@RequestBody BaseQuery baseQuery) {
log.info("Index getMissionList start..."); log.info("Index getMissionList start...");
return JsonResult.success(indexService.getMissionList(baseQuery)); return JsonResult.success(indexService.getMissionList(baseQuery));
} }


/**
* 获取机场列表
* @param getAirportDetailDto
* @return
*/
@PostMapping("/getAirportDetail") @PostMapping("/getAirportDetail")
public JsonResult getAirportDetail(@RequestBody GetAirportDetailDto getAirportDetailDto) { public JsonResult getAirportDetail(@RequestBody GetAirportDetailDto getAirportDetailDto) {
log.info("Index getAirportDetail start... param:{}", getAirportDetailDto.toString()); log.info("Index getAirportDetail start... param:{}", getAirportDetailDto.toString());
return indexService.getAirportDetail(getAirportDetailDto); return indexService.getAirportDetail(getAirportDetailDto);
} }


/**
* 获取问题列表
* @param getQuestionListDto
* @return
*/
@PostMapping("/getQuestionList")
public JsonResult getQuestionList(@RequestBody @Validated GetQuestionListDto getQuestionListDto) {
log.info("Index getQuestionList start... param:{}", getQuestionListDto.toString());
return JsonResult.success(indexService.getQuestionList(getQuestionListDto));
}

} }

+ 2
- 2
tuoheng-admin/src/main/java/com/tuoheng/admin/controller/QuestionTypeController.java View File

* @since 2021-09-02 * @since 2021-09-02
*/ */
@RestController @RestController
@RequestMapping("/question/type")
@RequestMapping("/question")
public class QuestionTypeController { public class QuestionTypeController {


@Autowired @Autowired
/** /**
* 获取巡检问题列表 * 获取巡检问题列表
*/ */
@GetMapping("")
@GetMapping("/type")
public JsonResult getQuestionType() { public JsonResult getQuestionType() {
return JsonResult.success(questionTypeService.list()); return JsonResult.success(questionTypeService.list());
} }

+ 62
- 0
tuoheng-admin/src/main/java/com/tuoheng/admin/entity/dto/index/QuestionListDto.java View File

package com.tuoheng.admin.entity.dto.index;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
* @author chenjiandong
* @description: TODO
* @date 2022/12/27 17:55
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class QuestionListDto {

private Integer questionId;

private String missionId;

/**
* 任务名称
*/
private String missionName;

private String type;

/**
* 问题类型
*/
private String typeName;

/**
* 巡检时间
*/
private String inspectionTime;

/**
* 问题图片
*/
private String fileMarkerUrl;

/**
* 处理结果
*/
private String handlerResult;

/**
* 多张处理图片,","相隔
*/
private String handlerImage;

private Integer handlerUserId;

private Integer handlerUserName;

private String handlerTime;

}

tuoheng-admin/src/main/java/com/tuoheng/admin/entity/request/GetAirportDetailDto.java → tuoheng-admin/src/main/java/com/tuoheng/admin/entity/request/index/GetAirportDetailDto.java View File

package com.tuoheng.admin.entity.request;
package com.tuoheng.admin.entity.request.index;


import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;

+ 24
- 0
tuoheng-admin/src/main/java/com/tuoheng/admin/entity/request/index/GetQuestionListDto.java View File

package com.tuoheng.admin.entity.request.index;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotEmpty;

/**
* @author chenjiandong
* @description: TODO
* @date 2022/12/27 17:09
*/
@Data
public class GetQuestionListDto {

@NotEmpty(message = "startTime can not be empty!")
private String startTime;

@NotEmpty(message = "endTime can not be empty!")
private String endTime;

}

+ 5
- 0
tuoheng-admin/src/main/java/com/tuoheng/admin/mapper/QuestionMapper.java View File



import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tuoheng.admin.entity.domain.Question; import com.tuoheng.admin.entity.domain.Question;
import com.tuoheng.admin.entity.dto.index.QuestionListDto;
import com.tuoheng.admin.entity.request.index.GetQuestionListDto;
import com.tuoheng.admin.entity.vo.QuestionCountVO; import com.tuoheng.admin.entity.vo.QuestionCountVO;
import com.tuoheng.admin.entity.vo.QuestionTypeCountVO; import com.tuoheng.admin.entity.vo.QuestionTypeCountVO;


List<QuestionCountVO> analyze(Integer missionId); List<QuestionCountVO> analyze(Integer missionId);


List<QuestionTypeCountVO> analyzeType(Integer missionId, Integer tenantId); List<QuestionTypeCountVO> analyzeType(Integer missionId, Integer tenantId);

List<QuestionListDto> getIndexQuestion(GetQuestionListDto getQuestionListDto);

} }

+ 7
- 1
tuoheng-admin/src/main/java/com/tuoheng/admin/service/IndexService.java View File

package com.tuoheng.admin.service; package com.tuoheng.admin.service;


import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.tuoheng.admin.entity.request.GetAirportDetailDto;
import com.tuoheng.admin.entity.dto.index.QuestionListDto;
import com.tuoheng.admin.entity.request.index.GetAirportDetailDto;
import com.tuoheng.admin.entity.request.index.GetQuestionListDto;
import com.tuoheng.admin.entity.vo.MissionVO; import com.tuoheng.admin.entity.vo.MissionVO;
import com.tuoheng.common.common.BaseQuery; import com.tuoheng.common.common.BaseQuery;
import com.tuoheng.common.utils.JsonResult; import com.tuoheng.common.utils.JsonResult;


import java.util.List;

/** /**
* @author chenjiandong * @author chenjiandong
* @description: TODO * @description: TODO


JsonResult getAirportDetail(GetAirportDetailDto getAirportDetailDto); JsonResult getAirportDetail(GetAirportDetailDto getAirportDetailDto);


List<QuestionListDto> getQuestionList(GetQuestionListDto getQuestionListDto);

} }

+ 25
- 3
tuoheng-admin/src/main/java/com/tuoheng/admin/service/impl/IndexServiceImpl.java View File

package com.tuoheng.admin.service.impl; package com.tuoheng.admin.service.impl;


import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tuoheng.admin.entity.domain.Question;
import com.tuoheng.admin.entity.domain.ThMission; import com.tuoheng.admin.entity.domain.ThMission;
import com.tuoheng.admin.entity.request.GetAirportDetailDto;
import com.tuoheng.admin.entity.dto.index.QuestionListDto;
import com.tuoheng.admin.entity.request.index.GetAirportDetailDto;
import com.tuoheng.admin.entity.request.index.GetQuestionListDto;
import com.tuoheng.admin.entity.vo.MissionVO; import com.tuoheng.admin.entity.vo.MissionVO;
import com.tuoheng.admin.enums.MarkTypeEnum; import com.tuoheng.admin.enums.MarkTypeEnum;
import com.tuoheng.admin.mapper.QuestionMapper;
import com.tuoheng.admin.mapper.ThMissionMapper; import com.tuoheng.admin.mapper.ThMissionMapper;
import com.tuoheng.admin.service.IndexService; import com.tuoheng.admin.service.IndexService;
import com.tuoheng.common.common.BaseQuery; import com.tuoheng.common.common.BaseQuery;
import com.tuoheng.common.utils.JacksonUtil; import com.tuoheng.common.utils.JacksonUtil;
import com.tuoheng.common.utils.JsonResult; import com.tuoheng.common.utils.JsonResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;


import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;


/** /**
* @author chenjiandong * @author chenjiandong
@Autowired @Autowired
private ThMissionMapper thMissionMapper; private ThMissionMapper thMissionMapper;


@Autowired
private QuestionMapper questionMapper;

@Override
@Transactional(readOnly = true)
public IPage<MissionVO> getMissionList(BaseQuery baseQuery){ public IPage<MissionVO> getMissionList(BaseQuery baseQuery){
Page<ThMission> page = new Page<>(); Page<ThMission> page = new Page<>();
page.setSize(baseQuery.getLimit() != null ? baseQuery.getLimit() : 10); page.setSize(baseQuery.getLimit() != null ? baseQuery.getLimit() : 10);
return resultPage; return resultPage;
} }


@Override
public JsonResult getAirportDetail(GetAirportDetailDto getAirportDetailDto){ public JsonResult getAirportDetail(GetAirportDetailDto getAirportDetailDto){
String url = CommonConfig.airportUrl +"/api/airportInterface/getAirportStatus"; String url = CommonConfig.airportUrl +"/api/airportInterface/getAirportStatus";
String param = "airportId=" + getAirportDetailDto.getAirportId(); String param = "airportId=" + getAirportDetailDto.getAirportId();
return jsonResult; return jsonResult;
} }


@Override
@Transactional(readOnly = true)
public List<QuestionListDto> getQuestionList(GetQuestionListDto getQuestionListDto){
if(ObjectUtil.isNotEmpty(getQuestionListDto.getStartTime()) && ObjectUtil.isNotEmpty(getQuestionListDto.getEndTime())){
getQuestionListDto.setStartTime(getQuestionListDto.getStartTime() + " 00:00:00");
getQuestionListDto.setEndTime(getQuestionListDto.getEndTime() + " 23:59:59");
}
List<QuestionListDto> questionListDtoList = questionMapper.getIndexQuestion(getQuestionListDto);
return questionListDtoList;
}



} }

+ 17
- 0
tuoheng-admin/src/main/resources/mapper/QuestionMapper.xml View File

where q.mission_id=#{missionId} where q.mission_id=#{missionId}
group by q.status; group by q.status;
</select> </select>

<select id="analyzeType" resultType="com.tuoheng.admin.entity.vo.QuestionTypeCountVO"> <select id="analyzeType" resultType="com.tuoheng.admin.entity.vo.QuestionTypeCountVO">
select q.type,count(q.id) as quantity select q.type,count(q.id) as quantity
from th_question q from th_question q
where q.mission_id=#{missionId} and q.status=1 where q.mission_id=#{missionId} and q.status=1
group by q.type; group by q.type;
</select> </select>

<select id="getIndexQuestion" parameterType="com.tuoheng.admin.entity.request.index.GetQuestionListDto" resultType="com.tuoheng.admin.entity.dto.index.QuestionListDto">
select a.create_time,a.id as questionId, a.mission_id as missionId, a.type, b.content as typeName,
a.mission_name as missionName, c.execution_start_time as inspectionTime,
a.file_marker_url as fileMarkerUrl, d.handler_result as handlerResult,
d.handler_image as handlerImage, d.handler_user as handlerUserId, e.realname as handlerUserName,
d.handler_time as handlerTime
from th_question a
inner join th_question_type b on b.code = a.type and b.mark = 1
inner join th_mission c on c.id = a.mission_id and c.mark = 1
left join th_question_handle d on d.question_id = a.id
left join sys_user e on e.id = d.handler_user
where a.mark = 1 and a.create_time BETWEEN #{startTime} AND #{endTime}
order by a.create_time desc limit 200
</select>

</mapper> </mapper>

Loading…
Cancel
Save