package com.hxzk.gps.service.impl.ThreeModel;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.hxzk.gps.controller.Map.Results.MarsResult;
|
import com.hxzk.gps.controller.System.SystemLogUtil;
|
import com.hxzk.gps.controller.ThreeModel.Results.ThreeModelResult;
|
import com.hxzk.gps.controller.ThreeModel.deo.ThreeModelDeo;
|
import com.hxzk.gps.entity.Company.TbCompany;
|
import com.hxzk.gps.entity.Map.TbMarsHomeset;
|
import com.hxzk.gps.entity.ThreeModel.TbThreemodel;
|
import com.hxzk.gps.mapper.ThreeModel.TbThreemodelMapper;
|
import com.hxzk.gps.service.Company.TbCompanyService;
|
import com.hxzk.gps.service.ThreeModel.TbThreemodelService;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.hxzk.gps.util.GetUser.UserInfoUtil;
|
import com.hxzk.gps.util.MessageUtils.MessageUtils;
|
import com.hxzk.gps.util.Result.ReturnMessage;
|
import com.hxzk.gps.util.Result.TableDto;
|
import com.hxzk.gps.util.Time.TimeUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.stereotype.Service;
|
|
import java.io.File;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 服务实现类
|
* </p>
|
*
|
* @author YuZhiTong
|
* @since 2025-09-03
|
*/
|
@Service
|
public class TbThreemodelServiceImpl extends ServiceImpl<TbThreemodelMapper, TbThreemodel> implements TbThreemodelService {
|
@Autowired
|
TbCompanyService companyService;
|
@Value("${upload.dir-Map-Three}")
|
private String dirMapThree;
|
@Override
|
public ThreeModelResult FindThreemodel(ThreeModelDeo threeModelDeo) {
|
// 开启分页
|
PageHelper.startPage(threeModelDeo.getPageNum(), threeModelDeo.getPageSize());
|
// 创建查询包装器
|
QueryWrapper queryWrapperCompany = new QueryWrapper<>();
|
// 处理部门 ID 为空的情况
|
if ("".equals(threeModelDeo.getDepartmentId())) {
|
List<Long> list = companyService.getChildCompanyIds(UserInfoUtil.getUserCompanyId());
|
queryWrapperCompany.in("companyid", list);
|
} else {
|
List<Long> list = companyService.getChildCompanyIds(threeModelDeo.getDepartmentId());
|
queryWrapperCompany.in("companyid", list);
|
}
|
// 查询三维地图列表
|
List<TbThreemodel> Threemodel = baseMapper.selectList(queryWrapperCompany);
|
PageInfo<TbThreemodel> info = new PageInfo<>(Threemodel);
|
// 封装角色列表
|
TableDto tableDto = new TableDto(info.getList(), info.getPageNum(), info.getPageSize(), info.getTotal());
|
// 获取成功消息
|
String message = MessageUtils.getMessage("Success");
|
// 返回结果
|
return new ThreeModelResult(200, message, tableDto);
|
}
|
|
@Override
|
public ReturnMessage add(TbThreemodel tbThreemodel) {
|
/*
|
声明操作状态
|
* */
|
boolean isSuccess = false;
|
|
try {
|
// 检查是否已存在相同公司ID的记录
|
QueryWrapper<TbThreemodel> checkWrapper = new QueryWrapper<>();
|
checkWrapper.eq("filename", tbThreemodel.getFilename());
|
if (baseMapper.selectCount(checkWrapper) > 0) {
|
return ReturnMessage.ReturnMessageError("ThreeModelExist");
|
}
|
if(tbThreemodel.getCompanyid() == null){
|
tbThreemodel.setCompanyid(UserInfoUtil.getUserCompanyId());
|
}
|
TbCompany company = companyService.getBaseMapper().selectOne(new QueryWrapper<TbCompany>().eq("id",tbThreemodel.getCompanyid()));
|
tbThreemodel.setCompany(company.getSystemname());
|
tbThreemodel.setAddtime(TimeUtil.GetTime());
|
isSuccess = true;
|
baseMapper.insert(tbThreemodel);
|
String fileAdress = dirMapThree+tbThreemodel.getCompany()+"_"+tbThreemodel.getFilename();
|
// 创建文件夹
|
File folder = new File(fileAdress);
|
if (!folder.exists()) {
|
folder.mkdirs();
|
}
|
} catch (Exception e) {
|
log.error("添加三维模型失败");
|
}
|
return SystemLogUtil.handleUpdateResult(isSuccess,"MapModelAdd",tbThreemodel.getCompany());
|
}
|
|
@Override
|
public ReturnMessage update(TbThreemodel tbThreemodel) {
|
/*
|
声明操作状态
|
* */
|
boolean isSuccess = false;
|
|
QueryWrapper queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("id",tbThreemodel.getId());
|
try {
|
isSuccess= true;
|
baseMapper.update(tbThreemodel,queryWrapper);
|
}catch (Exception e){
|
}
|
return SystemLogUtil.handleUpdateResult(isSuccess,"MapModelUpdate",tbThreemodel.getCompany());
|
}
|
}
|