package com.hxzk.gps.controller.Person; import cn.dev33.satoken.annotation.SaCheckLogin; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.hxzk.gps.controller.Person.Results.PersonResult; import com.hxzk.gps.controller.Person.dto.PersonTreeTableDto; import com.hxzk.gps.controller.Role.Results.AddRoleDto; import com.hxzk.gps.entity.Person.TbPerson; import com.hxzk.gps.entity.Tag.TbTag; import com.hxzk.gps.result.ResultList; import com.hxzk.gps.service.Person.TbPersonService; import com.hxzk.gps.util.AuToComplete; import com.hxzk.gps.util.GetUser.UserInfoUtil; import com.hxzk.gps.util.Result.ReturnMessage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; import java.util.List; import java.util.stream.Collectors; /** *

* 前端控制器 * 人员管理 *

* * @author YuZhiTong * @since 2025-05-16 */ @RestController @RequestMapping("/Person") @Api(tags="终端管理") public class TbPersonController { @Autowired TbPersonService personService; @ApiOperation(value = "平台人员列表接口", notes = "该接口提供了平台终端的信息查询功能") @PostMapping("FindPersonInfo") public PersonResult FindPersonInfo(@RequestBody PersonTreeTableDto personTreeTableDto){ return personService.FindPersonInfo(personTreeTableDto); } @SaCheckLogin @ApiOperation(value = "平台车辆列表接口", notes = "该接口提供了平台车辆的信息查询功能") @PostMapping("FindCarInfo") public PersonResult FindCarInfo(@RequestBody PersonTreeTableDto personTreeTableDto){ return personService.FindCarInfo(personTreeTableDto); } @SaCheckLogin @ApiOperation(value = "平台物资列表接口", notes = "该接口提供了平台物资的信息查询功能") @PostMapping("FindMaterialsInfo") public PersonResult FindMaterialsInfo(@RequestBody PersonTreeTableDto personTreeTableDto){ return personService.FindMaterialsInfo(personTreeTableDto); } @SaCheckLogin @PostMapping("PersonPosition") public ResultList PersonPosition(){ return personService.PersonPosition(); } @ApiOperation(value = "平台实时人员位置接口", notes = "该接口提供了平台实时人员位置功能") @PostMapping("RealPosition") public ResultList RealPosition(){ return personService.RealPosition(); } @ApiOperation(value = "平台平面二维实时人员位置接口", notes = "该接口提供了平台实时人员位置功能") @PostMapping("RealPosition2D") public ResultList RealPosition2D(){ return personService.RealPosition2D(); } @SaCheckLogin @ApiOperation(value = "平台根据姓名或者编号获取信息接口", notes = "该接口提供了平台根据姓名或者编号获取信息功能") @PostMapping("FindOnePersonInfo") public TbPerson FindOnePersonInfo(@RequestBody TbPerson person){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("p_tagid", person.getPTagid()).or().eq("p_name", person.getPTagid()); return personService.getBaseMapper().selectOne(queryWrapper); } /* * 人员名称自动补全 * */ @SaCheckLogin @PostMapping("PersonNameAutocomplete") public List PersonNameAutocomplete(){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("company", UserInfoUtil.getUserCompany()); List PersonList = personService.getBaseMapper().selectList(queryWrapper); List addCustomerList = PersonList.stream() .map(person -> { AuToComplete addCustomer = new AuToComplete(); addCustomer.setValue(person.getPName()); addCustomer.setLink(person.getPTagid()); return addCustomer; }) .collect(Collectors.toList()); return addCustomerList; } @SaCheckLogin @ApiOperation(value = "终端新增接口", notes = "该接口提供了平台终端新增功能") @PostMapping("add") public ReturnMessage add(@RequestBody TbPerson person){ return personService.add(person); } @SaCheckLogin @ApiOperation(value = "终端修改接口", notes = "该接口提供了平台终端修改功能") @PostMapping("update") public ReturnMessage update(@RequestBody TbPerson person){ return personService.update(person); } @SaCheckLogin @ApiOperation(value = "终端删除接口", notes = "该接口提供了平台终端删除功能") @PostMapping("delete") public ReturnMessage delete(@RequestBody TbPerson person){ return personService.delete(person); } }