package com.hxzk.gps.service.impl.Tag;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hxzk.gps.controller.Tag.dto.TableSearchResult.TableSearchResult;
import com.hxzk.gps.entity.Anchor.TbAchor;
import com.hxzk.gps.entity.Tag.TbTag;
import com.hxzk.gps.mapper.Tag.TbTagMapper;
import com.hxzk.gps.result.ListDataResult;
import com.hxzk.gps.result.ResultTable;
import com.hxzk.gps.result.table;
import com.hxzk.gps.service.Company.TbCompanyService;
import com.hxzk.gps.service.Tag.TbTagService;
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.controller.System.SystemLogUtil;
import com.hxzk.gps.util.Time.TimeUtil;
import com.hxzk.gps.util.UDP.TagSetting.UDP_TAG;
import com.hxzk.gps.util.UDP.UDP_Person;
import com.hxzk.gps.util.UDP.UDP_Tag;
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 TbTagServiceImpl extends ServiceImpl implements TbTagService {
@Autowired
TbCompanyService companyService;
@Override
public ResultTable FindTagInfo(TableSearchResult TableSearchResult) {
//获取子级公司名称
List companyname = companyService.getChildCompanyNames(UserInfoUtil.getUserCompany());
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.in("company", companyname);
PageHelper.startPage(TableSearchResult.getTableList().getPageNum(),TableSearchResult.getTableList().getPageSize());
Optional.ofNullable(TableSearchResult.getTag().getTagId()).ifPresent(tagid -> queryWrapper.like("tag_id", tagid));
Optional.ofNullable(TableSearchResult.getTag().getType()).ifPresent(type -> queryWrapper.like("type", type));
PageInfo info = new PageInfo<>(baseMapper.selectList(queryWrapper));
table achortable = new table<>(info.getList(),TableSearchResult.getTableList().getPageNum(),TableSearchResult.getTableList().getPageSize(),info.getTotal());
return ListDataResult.resultTableSuccess(achortable, MessageUtils.getMessage("Success"));
}
@Override
public ReturnMessage add(TbTag tag) {
/*
声明操作状态
* */
boolean isSuccess = false;
try {
/*
发送指令到CS
* */
UDP_Tag.AddTagToCs(tag);
isSuccess = true;
}catch (Exception e){
}
return SystemLogUtil.handleAddResult(isSuccess,"DeviceAdd",tag.getTagId());
}
@Override
public ReturnMessage update(TbTag tag) {
/*
声明操作状态
* */
boolean isSuccess = false;
try {
/*
发送指令到CS
* */
UDP_Tag.UpTagToCs(tag);
isSuccess = true;
}catch (Exception e){
}
return SystemLogUtil.handleUpdateResult(isSuccess,"DeviceUpdate",tag.getTagId());
}
@Override
public ReturnMessage delete(TbTag tag) {
/*
声明操作状态
* */
boolean isSuccess = false;
try {
/*
发送指令到CS
* */
UDP_Tag.DeTagToCs(tag);
isSuccess = true;
}catch (Exception e){
}
return SystemLogUtil.handleDeleteResult(isSuccess,"DeviceDelete",tag.getTagId());
}
}