@Accessors(chain = true) | @Accessors(chain = true) | ||||
@TableName("th_question_type") | @TableName("th_question_type") | ||||
public class QuestionType extends BaseEntity { | public class QuestionType extends BaseEntity { | ||||
private static final long serialVersionUID = 1L; | private static final long serialVersionUID = 1L; | ||||
/** | /** | ||||
*编号 | |||||
* 编号 | |||||
*/ | */ | ||||
private String code; | private String code; | ||||
*/ | */ | ||||
private Integer sort; | private Integer sort; | ||||
/** | |||||
* 事故问题:0:否;1:是 | |||||
*/ | |||||
private Integer accidentQuestion; | |||||
/** | |||||
* 是否展示问题 0:否;1是 | |||||
*/ | |||||
private Integer isShow; | |||||
} | } |
* 文件编号 | * 文件编号 | ||||
*/ | */ | ||||
@NotBlank | @NotBlank | ||||
@Pattern(regexp = "^[A-Z0-9]{0,20}$") | |||||
@Pattern(regexp = "^[A-Z0-9]{0,32}$") | |||||
private String fileCode; | private String fileCode; | ||||
/** | /** |
import cn.hutool.core.util.ObjectUtil; | 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.toolkit.CollectionUtils; | |||||
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | ||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||
import com.tuoheng.admin.entity.Inspection; | import com.tuoheng.admin.entity.Inspection; | ||||
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 java.util.Collections; | |||||
import java.util.List; | |||||
/** | /** | ||||
* 根据任务id查询视频直播和回放 | * 根据任务id查询视频直播和回放 | ||||
* | * | ||||
return JsonResult.error(QueryVideoServiceEnum.AIRPORT_ID_IS_NULL.getCode(), QueryVideoServiceEnum.AIRPORT_ID_IS_NULL.getMsg()); | return JsonResult.error(QueryVideoServiceEnum.AIRPORT_ID_IS_NULL.getCode(), QueryVideoServiceEnum.AIRPORT_ID_IS_NULL.getMsg()); | ||||
} | } | ||||
//根据机场id查询对应正在巡检的任务 | //根据机场id查询对应正在巡检的任务 | ||||
Inspection inspection = inspectionMapper.selectInspectionByAirport(id); | |||||
if(ObjectUtils.isEmpty(inspection)){ | |||||
//Inspection inspection = inspectionMapper.selectInspectionByAirport(id); | |||||
List<Inspection> inspectionList = inspectionMapper.selectList(Wrappers.<Inspection>lambdaQuery() | |||||
.eq(Inspection::getStatus, InspectionStatusEnum.IN_FLIGHT.getCode()) | |||||
.eq(Inspection::getMark, MarkEnum.VALID.getCode()).eq(Inspection::getAirportId, id)); | |||||
if(CollectionUtils.isEmpty(inspectionList)){ | |||||
return JsonResult.error(QueryVideoServiceEnum.INSPECTION_IS_NOT_EXIST.getCode(), QueryVideoServiceEnum.INSPECTION_IS_NOT_EXIST.getMsg()); | return JsonResult.error(QueryVideoServiceEnum.INSPECTION_IS_NOT_EXIST.getCode(), QueryVideoServiceEnum.INSPECTION_IS_NOT_EXIST.getMsg()); | ||||
} | |||||
if(inspectionList.size()>1){ | |||||
return JsonResult.error("当前机场对应的正在飞行的任务存在多个,请检查!"); | |||||
} | } | ||||
// if(ObjectUtils.isEmpty(inspection)){ | |||||
// return JsonResult.error(QueryVideoServiceEnum.INSPECTION_IS_NOT_EXIST.getCode(), QueryVideoServiceEnum.INSPECTION_IS_NOT_EXIST.getMsg()); | |||||
// } | |||||
InspectionVideoVo vo = new InspectionVideoVo(); | InspectionVideoVo vo = new InspectionVideoVo(); | ||||
if (10 == inspection.getStatus()) { | |||||
if (10 == inspectionList.get(0).getStatus()) { | |||||
//任务状态为任务飞行中10视频直播 | //任务状态为任务飞行中10视频直播 | ||||
LiveChannel liveChannel = liveChannelMapper.selectOne(new LambdaQueryWrapper<LiveChannel>() | LiveChannel liveChannel = liveChannelMapper.selectOne(new LambdaQueryWrapper<LiveChannel>() | ||||
.eq(LiveChannel::getMark, 1) | .eq(LiveChannel::getMark, 1) | ||||
.eq(LiveChannel::getInspectionId, inspection.getId()) | |||||
.eq(LiveChannel::getInspectionId, inspectionList.get(0).getId()) | |||||
.eq(LiveChannel::getStatus, 1)); | .eq(LiveChannel::getStatus, 1)); | ||||
if (ObjectUtil.isNull(liveChannel)) { | if (ObjectUtil.isNull(liveChannel)) { | ||||
return JsonResult.error(QueryVideoServiceEnum.LIVE_CHANNEL_IS_NOT_EXIST.getCode(), QueryVideoServiceEnum.LIVE_CHANNEL_IS_NOT_EXIST.getMsg()); | return JsonResult.error(QueryVideoServiceEnum.LIVE_CHANNEL_IS_NOT_EXIST.getCode(), QueryVideoServiceEnum.LIVE_CHANNEL_IS_NOT_EXIST.getMsg()); | ||||
return JsonResult.error(QueryVideoServiceEnum.AIPULL_URL_IS_NOT_NULL.getCode(), QueryVideoServiceEnum.AIPULL_URL_IS_NOT_NULL.getMsg()); | return JsonResult.error(QueryVideoServiceEnum.AIPULL_URL_IS_NOT_NULL.getCode(), QueryVideoServiceEnum.AIPULL_URL_IS_NOT_NULL.getMsg()); | ||||
} | } | ||||
vo.setAipullUrl(liveChannel.getAipullUrl()); | vo.setAipullUrl(liveChannel.getAipullUrl()); | ||||
vo.setInspectionId(inspection.getId()); | |||||
vo.setInspectionId(inspectionList.get(0).getId()); | |||||
} | } | ||||
return JsonResult.success(vo); | return JsonResult.success(vo); |
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||
import com.tuoheng.admin.entity.Inspection; | import com.tuoheng.admin.entity.Inspection; | ||||
import com.tuoheng.admin.enums.AirPortTaskStatusEnum; | import com.tuoheng.admin.enums.AirPortTaskStatusEnum; | ||||
import com.tuoheng.admin.enums.InspectionStatusEnum; | |||||
import com.tuoheng.admin.enums.MarkEnum; | import com.tuoheng.admin.enums.MarkEnum; | ||||
import com.tuoheng.admin.enums.code.inspection.EditInspectionStatusCodeEnum; | import com.tuoheng.admin.enums.code.inspection.EditInspectionStatusCodeEnum; | ||||
import com.tuoheng.admin.mapper.InspectionMapper; | import com.tuoheng.admin.mapper.InspectionMapper; | ||||
} | } | ||||
Inspection inspection = (Inspection) result.getData(); | Inspection inspection = (Inspection) result.getData(); | ||||
Integer status = null; | |||||
if (AirPortTaskStatusEnum.FLIGHT.getCode() != missionStatusRequest.getStatus() && AirPortTaskStatusEnum.WAIT.getCode() != missionStatusRequest.getStatus()) { | if (AirPortTaskStatusEnum.FLIGHT.getCode() != missionStatusRequest.getStatus() && AirPortTaskStatusEnum.WAIT.getCode() != missionStatusRequest.getStatus()) { | ||||
log.info("修改任务状态业务接口:飞行状态出错!"); | log.info("修改任务状态业务接口:飞行状态出错!"); | ||||
return JsonResult.error(EditInspectionStatusCodeEnum.TASK_NOT_STATUS.getCode(), EditInspectionStatusCodeEnum.TASK_NOT_STATUS.getMsg()); | return JsonResult.error(EditInspectionStatusCodeEnum.TASK_NOT_STATUS.getCode(), EditInspectionStatusCodeEnum.TASK_NOT_STATUS.getMsg()); | ||||
if (AirPortTaskStatusEnum.FLIGHT.getCode() == missionStatusRequest.getStatus()) { | if (AirPortTaskStatusEnum.FLIGHT.getCode() == missionStatusRequest.getStatus()) { | ||||
log.info("修改任务状态业务接口:修改执行中状态"); | log.info("修改任务状态业务接口:修改执行中状态"); | ||||
status = InspectionStatusEnum.IN_FLIGHT.getCode(); | |||||
updateFlightStatusService.updateFlightStatus(inspection, missionStatusRequest); | updateFlightStatusService.updateFlightStatus(inspection, missionStatusRequest); | ||||
} else if (AirPortTaskStatusEnum.WAIT.getCode() == missionStatusRequest.getStatus()) { | } else if (AirPortTaskStatusEnum.WAIT.getCode() == missionStatusRequest.getStatus()) { | ||||
log.info("修改任务状态业务接口:修改待执行状态"); | log.info("修改任务状态业务接口:修改待执行状态"); | ||||
status = InspectionStatusEnum.FLIGHT_COMPLETED.getCode(); | |||||
updateWaittStatusService.updateWaittStatus(inspection); | updateWaittStatusService.updateWaittStatus(inspection); | ||||
} | } | ||||
this.updateEmergencyStatus(inspection, status); | |||||
log.info("修改任务业务接口:修改任务成功:{}"); | log.info("修改任务业务接口:修改任务成功:{}"); | ||||
return JsonResult.success(); | return JsonResult.success(); | ||||
} | } | ||||
return JsonResult.success(inspection); | return JsonResult.success(inspection); | ||||
} | } | ||||
/** | |||||
* 修改应急任务数据 | |||||
* | |||||
* @param oldInspection | |||||
* @param status | |||||
*/ | |||||
public void updateEmergencyStatus(Inspection oldInspection, Integer status) { | |||||
log.info("修改应急任务数据, type:{}, emergencyDataInspectionId:{}, status={}", oldInspection.getType(), oldInspection.getEmergencyDataInspectionId(), status); | |||||
Inspection emergencyInspection = inspectionMapper.selectOne(new LambdaQueryWrapper<Inspection>() | |||||
.eq(Inspection::getEmergencyDataInspectionId, oldInspection.getId()) | |||||
.eq(Inspection::getMark, MarkEnum.VALID.getCode())); | |||||
if (ObjectUtil.isNull(emergencyInspection)) { | |||||
log.info("修改应急任务数据,该巡检任务没有对应的应急任务"); | |||||
return; | |||||
} | |||||
// 在查询一次,保证数据是最新的 | |||||
Inspection inspection = inspectionMapper.selectOne(new LambdaQueryWrapper<Inspection>() | |||||
.eq(Inspection::getId, oldInspection.getId()) | |||||
.eq(Inspection::getMark, MarkEnum.VALID.getCode())); | |||||
if (ObjectUtil.isNotNull(status)) { | |||||
emergencyInspection.setStatus(status); | |||||
} | |||||
emergencyInspection.setAnalyseStatus(inspection.getAnalyseStatus()); | |||||
emergencyInspection.setVideoUrl(inspection.getVideoUrl()); | |||||
emergencyInspection.setAiVideoUrl(inspection.getAiVideoUrl()); | |||||
inspectionMapper.updateById(inspection); | |||||
log.info("修改应急任务数据完成"); | |||||
} | |||||
} | } |
import com.tuoheng.admin.request.third.DspCallbackRequest; | import com.tuoheng.admin.request.third.DspCallbackRequest; | ||||
import com.tuoheng.admin.request.third.QuestionFile; | import com.tuoheng.admin.request.third.QuestionFile; | ||||
import com.tuoheng.admin.service.accident.IAccidentService; | import com.tuoheng.admin.service.accident.IAccidentService; | ||||
import com.tuoheng.admin.utils.CurrentUserUtil; | |||||
import com.tuoheng.admin.utils.GaodeUtil; | import com.tuoheng.admin.utils.GaodeUtil; | ||||
import com.tuoheng.common.core.config.common.CommonConfig; | import com.tuoheng.common.core.config.common.CommonConfig; | ||||
import com.tuoheng.common.core.enums.ServiceExceptionEnum; | |||||
import com.tuoheng.common.core.exception.ServiceException; | import com.tuoheng.common.core.exception.ServiceException; | ||||
import com.tuoheng.common.core.utils.*; | import com.tuoheng.common.core.utils.*; | ||||
import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
import org.jetbrains.annotations.NotNull; | |||||
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.http.HttpStatus; | import org.springframework.http.HttpStatus; | ||||
inspectionFile.setGaodeAddress(gaodeAddress_live); | inspectionFile.setGaodeAddress(gaodeAddress_live); | ||||
} | } | ||||
} | } | ||||
Map<String, QuestionType> questionTypeMap = getStringQuestionTypeMap(); | |||||
QuestionType questionType = questionTypeMap.get(inspectionFile.getQuestionCode()); | |||||
if(0 == questionType.getIsShow()){ | |||||
inspectionFile.setMark(MarkEnum.NOTVALID.getCode()); | |||||
} | |||||
return inspectionFile; | return inspectionFile; | ||||
}).collect(Collectors.toList()); | }).collect(Collectors.toList()); | ||||
Boolean flag = this.saveAccidentData(thirstyQuestionFiles); | Boolean flag = this.saveAccidentData(thirstyQuestionFiles); | ||||
log.info("预警数据入库结束,{}",flag); | |||||
log.info("预警数据入库结束,{}", flag); | |||||
} | } | ||||
return JsonResult.success(); | return JsonResult.success(); | ||||
/** | /** | ||||
* 应急记录数据入库 | * 应急记录数据入库 | ||||
* | |||||
* @param inspectionFileList | * @param inspectionFileList | ||||
* @return | * @return | ||||
*/ | */ | ||||
private Boolean saveAccidentData(List<InspectionFile> inspectionFileList){ | |||||
private Boolean saveAccidentData(List<InspectionFile> inspectionFileList) { | |||||
log.info("调用保存应急数据方法,应急数据入库开始...."); | log.info("调用保存应急数据方法,应急数据入库开始...."); | ||||
List<Accident> accidentList = new ArrayList<>(); | List<Accident> accidentList = new ArrayList<>(); | ||||
List<QuestionType> questionTypeList = questionTypeMapper.selectList(Wrappers.<QuestionType>lambdaQuery() | |||||
.eq(QuestionType::getMark, MarkEnum.VALID.getCode())); | |||||
Map<String,QuestionType> typeMap = new HashMap<>(); | |||||
for (QuestionType type : questionTypeList) { | |||||
typeMap.put(type.getCode(),type); | |||||
} | |||||
//调用问题列表接口 | |||||
Map<String, QuestionType> questionTypeMap = getStringQuestionTypeMap(); | |||||
for (InspectionFile inspectionFile : inspectionFileList) { | for (InspectionFile inspectionFile : inspectionFileList) { | ||||
QuestionType questionType = questionTypeMap.get(inspectionFile.getQuestionCode()); | |||||
if (0 == questionType.getAccidentQuestion()) { | |||||
// 非事故问题,不用添加到事故表 | |||||
continue; | |||||
} | |||||
Accident accident = new Accident(); | Accident accident = new Accident(); | ||||
//问题类型为应急类型时添加数据 | //问题类型为应急类型时添加数据 | ||||
if(inspectionFile.getQuestionCode().equals(QuestionCodeEnum.RETICULAR_CRACK.getCode())){ | |||||
accident.setTenantId(inspectionFile.getTenantId()); | |||||
accident.setInspectionId(inspectionFile.getInspectionId()); | |||||
accident.setInspectionFileId(inspectionFile.getId()); | |||||
//应急任务id | |||||
accident.setAccidentInspectionId(inspectionFile.getInspectionId()); | |||||
//根据巡检任务查询对应的公路id | |||||
Inspection inspection = inspectionMapper.selectById(inspectionFile.getInspectionId()); | |||||
if(ObjectUtils.isNotEmpty(inspection)){ | |||||
accident.setRoadId(inspection.getRoadId()); | |||||
accident.setSectionId(inspection.getSectionId()); | |||||
accident.setSectionName(inspection.getSectionName()); | |||||
//根据巡检任务类型判断当前应急事故类型flag设值 | |||||
if (2 == inspection.getType()) { | |||||
accident.setTenantId(inspectionFile.getTenantId()); | |||||
accident.setInspectionId(inspectionFile.getInspectionId()); | |||||
accident.setInspectionFileId(inspectionFile.getId()); | |||||
//应急任务id | |||||
accident.setAccidentInspectionId(inspectionFile.getInspectionId()); | |||||
//根据巡检任务查询对应的公路id | |||||
Inspection inspection = inspectionMapper.selectById(inspectionFile.getInspectionId()); | |||||
if (ObjectUtils.isNotEmpty(inspection)) { | |||||
accident.setRoadId(inspection.getRoadId()); | |||||
accident.setSectionId(inspection.getSectionId()); | |||||
accident.setSectionName(inspection.getSectionName()); | |||||
//根据巡检任务类型判断当前应急事故类型flag设值 | |||||
if (2 == inspection.getType()) { | |||||
accident.setFlag(FlagEnum.ACCIDENT.getCode()); | |||||
} else { | |||||
// 该巡检任务存在应急任务,将后面发现的预警直接设置为不展示 | |||||
Inspection emergencyInspection = inspectionMapper.selectOne(new LambdaQueryWrapper<Inspection>() | |||||
.eq(Inspection::getEmergencyDataInspectionId, inspectionFile.getInspectionId()) | |||||
.eq(Inspection::getMark, MarkEnum.VALID.getCode())); | |||||
if (ObjectUtils.isNotEmpty(emergencyInspection)) { | |||||
accident.setFlag(FlagEnum.ACCIDENT.getCode()); | accident.setFlag(FlagEnum.ACCIDENT.getCode()); | ||||
} else { | } else { | ||||
// 该巡检任务存在应急任务,将后面发现的预警直接设置为不展示 | |||||
Inspection emergencyInspection = inspectionMapper.selectOne(new LambdaQueryWrapper<Inspection>() | |||||
.eq(Inspection::getEmergencyDataInspectionId, inspectionFile.getInspectionId()) | |||||
.eq(Inspection::getMark, MarkEnum.VALID.getCode())); | |||||
if (ObjectUtils.isNotEmpty(emergencyInspection)) { | |||||
accident.setFlag(FlagEnum.ACCIDENT.getCode()); | |||||
} else { | |||||
accident.setFlag(FlagEnum.INSPECTION_ACCIDENT.getCode()); | |||||
} | |||||
accident.setFlag(FlagEnum.INSPECTION_ACCIDENT.getCode()); | |||||
} | } | ||||
String deptId = inspection.getDeptId(); | |||||
accident.setDeptId(deptId); | |||||
} | } | ||||
String deptId = inspection.getDeptId(); | |||||
accident.setDeptId(deptId); | |||||
} | |||||
//公路代号 | |||||
RoadInformation roadInformation = roadInformationMapper.selectById(inspection.getRoadId()); | |||||
if(ObjectUtils.isNotEmpty(roadInformation)){ | |||||
accident.setRoadCode(roadInformation.getCode()); | |||||
} | |||||
accident.setQuestionId(inspectionFile.getQuestionId()); | |||||
accident.setQuestionCode(inspectionFile.getQuestionCode()); | |||||
accident.setQuestionName(inspectionFile.getQuestionName()); | |||||
accident.setIsCasualties(IsCasualtiesEnum.IS_NO_CASUALTIES.getCode()); | |||||
accident.setIsDrivingSafety(IsDrivingSafetyEnum.IS_NO_DRIVING_SAFETY.getCode()); | |||||
accident.setIsFire(IsFireEnum.IS_NO_FIRE.getCode()); | |||||
accident.setLongitude(inspectionFile.getLongitude()); | |||||
accident.setLatitude(inspectionFile.getLatitude()); | |||||
accident.setUavReturn(UavReturnEnum.UAV_RETURN_IS_NOT.getCode()); | |||||
accident.setStatus(AccidentStatusEnum.UNTREATED.getCode()); | |||||
accident.setCreateUser(inspectionFile.getCreateUser()); | |||||
accident.setCreateTime(inspectionFile.getCreateTime()); | |||||
accidentList.add(accident); | |||||
//公路代号 | |||||
RoadInformation roadInformation = roadInformationMapper.selectById(inspection.getRoadId()); | |||||
if (ObjectUtils.isNotEmpty(roadInformation)) { | |||||
accident.setRoadCode(roadInformation.getCode()); | |||||
} | } | ||||
accident.setQuestionId(inspectionFile.getQuestionId()); | |||||
accident.setQuestionCode(inspectionFile.getQuestionCode()); | |||||
accident.setQuestionName(inspectionFile.getQuestionName()); | |||||
accident.setIsCasualties(IsCasualtiesEnum.IS_NO_CASUALTIES.getCode()); | |||||
accident.setIsDrivingSafety(IsDrivingSafetyEnum.IS_NO_DRIVING_SAFETY.getCode()); | |||||
accident.setIsFire(IsFireEnum.IS_NO_FIRE.getCode()); | |||||
accident.setLongitude(inspectionFile.getLongitude()); | |||||
accident.setLatitude(inspectionFile.getLatitude()); | |||||
accident.setUavReturn(UavReturnEnum.UAV_RETURN_IS_NOT.getCode()); | |||||
accident.setStatus(AccidentStatusEnum.UNTREATED.getCode()); | |||||
accident.setCreateUser(inspectionFile.getCreateUser()); | |||||
accident.setCreateTime(inspectionFile.getCreateTime()); | |||||
accidentList.add(accident); | |||||
} | } | ||||
return accidentService.saveBatch(accidentList); | return accidentService.saveBatch(accidentList); | ||||
} | } | ||||
/** | |||||
* 根据问题类型封装成map | |||||
* @return | |||||
*/ | |||||
private Map<String, QuestionType> getStringQuestionTypeMap() { | |||||
List<QuestionType> questionTypeList = questionTypeMapper.selectList(Wrappers.<QuestionType>lambdaQuery() | |||||
.eq(QuestionType::getMark, MarkEnum.VALID.getCode())); | |||||
Map<String, QuestionType> questionTypeMap = new HashMap<>(); | |||||
for (QuestionType type : questionTypeList) { | |||||
questionTypeMap.put(type.getCode(), type); | |||||
} | |||||
return questionTypeMap; | |||||
} | |||||
/** | /** | ||||
* 获取飞行坐标 | * 获取飞行坐标 | ||||
* | * |
/** | /** | ||||
* 现场情况描述 | * 现场情况描述 | ||||
*/ | */ | ||||
private String checkResult; | |||||
private String record; | |||||
/** | /** | ||||
* 巡检任务问题id | * 巡检任务问题id |
# DSP服务域名 | # DSP服务域名 | ||||
dsp-domain-url: http://172.15.1.11:7011 | dsp-domain-url: http://172.15.1.11:7011 | ||||
# DSP服务实例Id | # DSP服务实例Id | ||||
dsp-service-inst-id: 0d8166ba7a3081aa1179c37fa57d7d6b | |||||
dsp-service-inst-id: b1fa285f1c2567f02066b365dc84e069 | |||||
# DSP回调地址 | # DSP回调地址 | ||||
dsp-callback-url: https://freeway-test.t-aaron.com/freeway/admin/dsp/callback/{requestId} | dsp-callback-url: https://freeway-test.t-aaron.com/freeway/admin/dsp/callback/{requestId} | ||||
#飞手平台地址 | #飞手平台地址 |
*/ | */ | ||||
private Integer sort; | private Integer sort; | ||||
/** | |||||
* 事故问题:0:否;1:是 | |||||
*/ | |||||
private Integer accidentQuestion; | |||||
/** | |||||
* 是否展示问题 0:否;1是 | |||||
*/ | |||||
private Integer isShow; | |||||
} | } |