123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- package com.huimv.guowei.admin.controller;
- import cn.hutool.core.util.ObjectUtil;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.huimv.guowei.admin.common.utils.Result;
- import com.huimv.guowei.admin.common.utils.ResultCode;
- import com.huimv.guowei.admin.entity.EnvDeviceEquipment;
- import com.huimv.guowei.admin.entity.EnvMoveCall;
- import com.huimv.guowei.admin.mqtt.moveScale.DataBack;
- import com.huimv.guowei.admin.mqtt.moveScale.ReceiveData;
- import com.huimv.guowei.admin.mqtt.moveScale.SendData;
- import com.huimv.guowei.admin.service.IEnvMoveCallService;
- import com.huimv.guowei.admin.utils.ProcessUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.io.IOException;
- import java.math.BigDecimal;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- @CrossOrigin
- @RestController
- @RequestMapping("/send")
- public class TaskController {
- @Autowired
- private IEnvMoveCallService callService;
- @PostMapping("/play")
- public Result play(@RequestBody Map<String, String> paramsMap) throws InterruptedException {
- SendData sendData = new SendData();
- sendData.start();
- Thread.sleep(3500);
- String callCode = paramsMap.get("callCode");
- if (callCode.equals("865328066116350")) {
- QueryWrapper<EnvMoveCall> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("farm_id", paramsMap.get("farmId")).eq("duck_num", 1)
- .orderByDesc("id").last(" limit 1");
- EnvMoveCall one = callService.getOne(queryWrapper);
- if (ObjectUtil.isEmpty(one)) {
- return new Result(10001, "称已失去连接,请重启电子秤!", false);
- }
- BigDecimal weight = one.getDuckWeight();
- callService.remove(new QueryWrapper<EnvMoveCall>().eq("farm_id",paramsMap.get("farmId")).in("duck_num",1,2));
- return new Result(ResultCode.SUCCESS, weight);
- } else {
- QueryWrapper<EnvMoveCall> queryWrapper1 = new QueryWrapper<>();
- queryWrapper1.eq("farm_id", paramsMap.get("farmId")).eq("duck_num", 2)
- .orderByDesc("id").last(" limit 1");
- EnvMoveCall one1 = callService.getOne(queryWrapper1);
- if (ObjectUtil.isEmpty(one1)) {
- return new Result(10001, "称已失去连接,请重启电子秤!", false);
- }
- BigDecimal weight = one1.getDuckWeight();
- callService.remove(new QueryWrapper<EnvMoveCall>().eq("farm_id",paramsMap.get("farmId")).in("duck_num",1,2));
- return new Result(ResultCode.SUCCESS, weight);
- }
- }
- @PostMapping("/update")
- public Result update(@RequestBody EnvDeviceEquipment envDeviceEquipment) {
- /* try {
- Date date = new Date();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- System.out.println("----这个是开始请求的时间:"+sdf.format(date));
- envDeviceEquipmentService.updateById(envDeviceEquipment);
- EnvDeviceEquipment byId = envDeviceEquipmentService.getById(envDeviceEquipment.getId());
- String deviceCode = byId.getDeviceCode();
- System.out.println("设备" + deviceCode);
- QueryWrapper<EnvDeviceRegister> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("device_code", deviceCode);
- EnvDeviceRegister one = deviceRegisterService.getOne(queryWrapper);
- String chipId = one.getChipId();
- log.info("-------获取设备编码:" + chipId);
- // PublishMQTT publishMQTT = new PublishMQTT();
- log.info("-----开始配置消息----");
- QueryWrapper<EnvDeviceEquipment> queryWrapper1 = new QueryWrapper<>();
- queryWrapper1.eq("device_code", deviceCode).orderByDesc("equipment_port");
- List<EnvDeviceEquipment> list = envDeviceEquipmentService.list(queryWrapper1);
- StringBuilder deviceStatus = new StringBuilder();
- for (EnvDeviceEquipment envDeviceEquipment1 : list) {
- deviceStatus.append(envDeviceEquipment1.getUploadStart());
- }
- String s = deviceStatus.toString();
- int i = Integer.parseInt(s, 2);
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("dev_ctrl", i);
- log.info("消息配置完成开始发送:" + jsonObject.toJSONString());
- PublishMQTTTree publishMQTTTree = new PublishMQTTTree();
- Boolean start = publishMQTTTree.start("tcp://115.238.57.190:1883", "test" + chipId, "admin", "admin", "huimv_down_" + chipId, jsonObject.toJSONString());
- if (start) {
- Thread.sleep(2500);//线程等待3秒
- EnvDeviceEquipment byId1 = envDeviceEquipmentService.getById(envDeviceEquipment.getId());
- Date updateTime = byId1.getUpdateTime();
- System.out.println("-----这个是修改后的时间:"+updateTime);
- // updateTime.setTime(updateTime.getTime()+5*1000);
- int i1 = updateTime.compareTo(date);
- if (byId1.getMark() == 1 && i1 > 0) {
- QueryWrapper<EnvDeviceEquipment> queryWrapper2 = new QueryWrapper<>();
- queryWrapper2.eq("device_code", deviceCode).orderByDesc("equipment_port");
- List<EnvDeviceEquipment> list1 = envDeviceEquipmentService.list(queryWrapper2);
- for (EnvDeviceEquipment equipment : list1) {
- equipment.setMark(0);
- envDeviceEquipmentService.updateById(equipment);
- }
- return new Result(10000, "修改成功", true);
- } else {
- if (envDeviceEquipment.getUploadStart() == 1) {
- envDeviceEquipment.setUploadStart(0);
- } else {
- envDeviceEquipment.setUploadStart(1);
- }
- envDeviceEquipmentService.updateById(envDeviceEquipment);
- return new Result(10001, "设备掉线,请等待设备重连", false);
- }
- } else {
- if (envDeviceEquipment.getUploadStart() == 1) {
- envDeviceEquipment.setUploadStart(0);
- } else {
- envDeviceEquipment.setUploadStart(1);
- }
- envDeviceEquipmentService.updateById(envDeviceEquipment);
- return new Result(10001, "网络连接超时,请等待5秒后重试", false);
- }
- } catch (Exception e) {
- System.out.println("22222222222" + e);
- return new Result(10001, "修改失败", false);
- }*/
- return null;
- }
- }
|