package com.hxzkappboot.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hxzkappboot.pojo.*;
import com.hxzkappboot.service.TbMarsHomesetService;
import com.hxzkappboot.service.TbPersonService;
import com.hxzkappboot.udp.Udp_Out;
import com.hxzkappboot.util.R;
import com.hxzkappboot.util.StatusCode;
import com.hxzkappboot.util.WechatLoginRequestDTO;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.sms.v20210111.SmsClient;
import com.tencentcloudapi.sms.v20210111.models.SendSmsRequest;
import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
*
* 前端控制器
*
*
* @author wangfei
* @since 2024-03-08
*/
@RestController
//@Component
//@RequestMapping("/")
public class TbPersonController {
@Autowired
TbPersonService personService;
@Autowired
TbMarsHomesetService tbMarsHomesetService;
@GetMapping("/api/wx/findPerson")
public R findIdPerson(String name,String company) {
R response;
String output = name.toUpperCase();//将小写字母转成大写字母
if (personService.findIdPerson(output,company) != null) {
response = new R(StatusCode.Success);
// String token = wechatService.getToken(loginRequest);
// tbUser1.setToken(token);
response.setData(personService.findIdPerson(output,company));
// return personService.findIdPerson(name);
} else {
response = new R(StatusCode.Fail);
response.setCode(-1);
response.setMsg("未搜索到数据!");
}
return response;
}
@GetMapping("/api/wx/acquisition")
public R acquisition(String baoliu3,String company) {
R response;
String output = baoliu3.toUpperCase();//将小写字母转成大写字母
TbPerson tbPerson = personService.acquisition(output,company);
if (tbPerson != null) {
if (Objects.equals(tbPerson.getBaoliu13(), "高精度") && Objects.equals(tbPerson.getPOnline(), "1")) {
response = new R(StatusCode.Success);
response.setData(tbPerson);
} else {
response = new R(StatusCode.Fail);
response.setCode(-1);
response.setMsg("设备非高精或离线!");
}
} else {
response = new R(StatusCode.Fail);
response.setCode(-1);
response.setMsg("未搜索到数据!");
}
return response;
}
// submit
@PostMapping("/api/wx/MarsHome")
public R MarsHome(HttpServletRequest request) {
R response;
response = new R(StatusCode.Success);
List gpsList = tbMarsHomesetService.MarsHome();
response.setData(gpsList);
return response;
}
@GetMapping("/api/wx/getGPSCesium")
public R getGPSCesium( String company) {
R response;
response = new R(StatusCode.Success);
List gpsList = personService.getGPSCesium(company);
response.setData(gpsList);
return response;
}
@PostMapping("/api/wx/updateTagApi")
public R upTag(@Valid @RequestBody PersonRequestDTO personRequestDTO) throws IOException {
if (Objects.equals(personRequestDTO.getType(), "随机卡")) {
TbPerson tbPerson = personService.upTag();
// TbPerson person = new TbPerson();
if (tbPerson==null){
// tagId = "b001";
personRequestDTO.setTagId("F001");
// personRequestDTO.setPTagid("b001");
}else{
String pTagid = tbPerson.getPTagid();
String[] parts = pTagid.split("F");
String numberStr = parts[1];
int number = Integer.parseInt(numberStr);
int incrementedNumber = number + 1;
String newNumberStr = String.format("%03d", incrementedNumber);
String newTagid = "F" + newNumberStr;
personRequestDTO.setTagId(newTagid);
}
}
R response;
String xieyi = "BSTOCS1,ADDTAG," + personRequestDTO.getTagId() + "," + personRequestDTO.getName() + ",150,10000,1,系统默认,END";
String xieyi1 = "BSTOCS1,PERSONALTER," + personRequestDTO.getTagId() + ","+ personRequestDTO.getName() + ",男,系统默认,END";
// Udp_Out.udp_to_cs(xieyi1);
if (personRequestDTO.getTagId() == null || personRequestDTO.getType() == null) {
response = new R(StatusCode.Fail);
return response;
}
Udp_Out.udp_to_cs(xieyi);
Udp_Out.udp_to_cs(xieyi1);
try {
Thread.sleep(1000);
}catch (InterruptedException e){
Thread.currentThread().interrupt();
// logUtil.error("线程中断"+e.getMessage());
}
TbPerson tbPerson = personService.upperson(personRequestDTO.getTagId(),personRequestDTO.getBaoliu38(),personRequestDTO.getPhone());
// String content = "通过接口修改了标签信息,该标签为:"+tag.getTagId();
// String contentew = "Удалить метку через интерфейс:"+tag.getTagId();
// SystemLogController.InsertSystemLog("通过接口", gettime(),content,contentew);
response = new R(StatusCode.Success);
response.setData(tbPerson);
return response;
// return resultutil.returnSuccess("success",tag.getTagId());
}
@GetMapping("/api/wx/getGPS")
public R getGPS(String company) {
R response;
response = new R(StatusCode.Success);
List gpsList = personService.getGps(company);
response.setData(gpsList);
return response;
}
@GetMapping("/api/wx/findTag")
public R findAll(Page page, String objectid,String company) {
R response;
IPage ipage = personService.findAll(page,objectid,company);
response = new R(StatusCode.Success);
response.setData(ipage);
response.setOnline(personService.findonline(company));
response.setOffline(personService.findoffline(company));
return response;
}
@GetMapping("/api/wx/findtagIdPerson")
public R findtagIdPerson(String id){
R response;
response = new R(StatusCode.Success);
response.setData(personService.findtagidPerson(id));
return response;
}
}