package com.hxzk.gps.service.impl.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hxzk.gps.controller.DepartMent.Results.DepartMentIconResult;
import com.hxzk.gps.controller.Map.Results.MarsResult;
import com.hxzk.gps.controller.Map.dto.MarsTreeTableDto;
import com.hxzk.gps.controller.System.SystemLogUtil;
import com.hxzk.gps.entity.Department.TbDepartMentIcon;
import com.hxzk.gps.entity.Map.TbMarsHomeset;
import com.hxzk.gps.mapper.Map.TbMarsHomesetMapper;
import com.hxzk.gps.service.Company.TbCompanyService;
import com.hxzk.gps.service.Map.TbMarsHomesetService;
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.stereotype.Service;
import java.util.List;
import java.util.Optional;
/**
*
* 服务实现类
*
*
* @author YuZhiTong
* @since 2025-05-22
*/
@Service
public class TbMarsHomesetServiceImpl extends ServiceImpl implements TbMarsHomesetService {
@Autowired
TbCompanyService companyService;
@Override
public MarsResult FindMarsInfo(MarsTreeTableDto marsTreeTableDto) {
// 开启分页
PageHelper.startPage(marsTreeTableDto.getPageNum(), marsTreeTableDto.getPageSize());
// 创建查询包装器
QueryWrapper queryWrapperCompany = new QueryWrapper<>();
// 处理部门 ID 为空的情况
if ("".equals(marsTreeTableDto.getDepartmentId())) {
List list = companyService.getChildCompanyIds(UserInfoUtil.getUserCompanyId());
queryWrapperCompany.in("companyid", list);
} else {
queryWrapperCompany.eq("companyid", marsTreeTableDto.getDepartmentId());
}
// 查询三维地图列表
List marsHomesets = baseMapper.selectList(queryWrapperCompany);
PageInfo info = new PageInfo<>(marsHomesets);
// 封装角色列表
TableDto tableDto = new TableDto(info.getList(), info.getPageNum(), info.getPageSize(), info.getTotal());
// 获取成功消息
String message = MessageUtils.getMessage("Success");
// 返回结果
return new MarsResult(200, message, tableDto, marsTreeTableDto.getPageNum(), marsTreeTableDto.getPageSize(), info.getTotal());
}
@Override
public ReturnMessage update(TbMarsHomeset marsHomeset) {
/*
声明操作状态
* */
boolean isSuccess = false;
QueryWrapper queryWrapper = new QueryWrapper<>();
if (marsHomeset.getId() != null){
queryWrapper.eq("id",marsHomeset.getId());
}
if (marsHomeset.getCompany() ==null || marsHomeset.getCompany().equals("")){
queryWrapper.eq("company",UserInfoUtil.getUserCompany());
}else{
queryWrapper.eq("company",marsHomeset.getCompany());
}
try {
isSuccess= true;
baseMapper.update(marsHomeset,queryWrapper);
if (marsHomeset.getCompany() == null){
marsHomeset.setCompany(String.valueOf(marsHomeset.getId()));
}
}catch (Exception e){
}
return SystemLogUtil.handleUpdateResult(isSuccess,"MapUpdate",marsHomeset.getCompany());
}
@Override
public void InsertMarsHomeSet(String companyname,String companyId) {
TbMarsHomeset tbMarsHomeset = new TbMarsHomeset();
tbMarsHomeset.setDetail("1");
tbMarsHomeset.setOfflinehide("1");
tbMarsHomeset.setVoice("0");
tbMarsHomeset.setShowfence("1");
tbMarsHomeset.setShowanchor("1");
tbMarsHomeset.setShowgateway("0");
tbMarsHomeset.setMapposition("117.198409,39.83285");
tbMarsHomeset.setAlt("20630804.5");
tbMarsHomeset.setHeading("360");
tbMarsHomeset.setPitch("-90");
tbMarsHomeset.setNoterrain("0");
tbMarsHomeset.setLayer("0");
tbMarsHomeset.setImage("0");
tbMarsHomeset.setBasemap("0");
tbMarsHomeset.setThreemap("1");
tbMarsHomeset.setSudu("0");
tbMarsHomeset.setDistance("50");
tbMarsHomeset.setTime("600");
tbMarsHomeset.setMapcolor("#0896e2");
tbMarsHomeset.setTracktype("卫星");
tbMarsHomeset.setCompanyid(companyId);
tbMarsHomeset.setUsername(UserInfoUtil.getUserName());
tbMarsHomeset.setCompany(companyname);
tbMarsHomeset.setShowmap("1");
baseMapper.insert(tbMarsHomeset);
}
@Override
public void DeleteMarsHomeSet(String companyname) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("company",companyname);
baseMapper.delete(queryWrapper);
}
}