LogController.java 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package com.szwl.controller;
  2. import com.gexin.fastjson.JSON;
  3. import com.gexin.fastjson.JSONObject;
  4. import com.szwl.model.bo.JsonMessage;
  5. import com.szwl.model.entity.TEquipment;
  6. import com.szwl.model.utils.PushUtils;
  7. import com.szwl.service.TAdminService;
  8. import com.szwl.service.TEquipmentService;
  9. import io.swagger.annotations.ApiOperation;
  10. import org.apache.commons.lang.StringUtils;
  11. import org.springframework.amqp.core.MessageProperties;
  12. import org.springframework.amqp.rabbit.core.RabbitTemplate;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.*;
  15. import java.util.LinkedHashMap;
  16. import java.util.Map;
  17. @RestController
  18. @RequestMapping("/Log")
  19. public class LogController {
  20. @Autowired
  21. TEquipmentService tEquipmentService;
  22. @Autowired
  23. TAdminService tAdminService;
  24. @Autowired
  25. RabbitTemplate rabbitTemplate;
  26. @ApiOperation(value = "上传日志")
  27. @PostMapping("/uploadLog")
  28. public JsonMessage uploadLog(@RequestBody Map<String, Object> body) {
  29. String deviceId = String.valueOf(body.get("deviceId"));
  30. Object logDate = body.get("logDate");
  31. LinkedHashMap<String, Object> map = new LinkedHashMap<>();
  32. map.put("logDate", logDate);
  33. String jsonString = JSON.toJSONString(map);
  34. JSONObject jsonObject = JSON.parseObject(jsonString);
  35. String day = jsonObject.getJSONObject("logDate").getString("_value");
  36. if(day.length()!=8){
  37. return JsonMessage.success("日期格式错误");
  38. }
  39. TEquipment equipment = tEquipmentService.getById(deviceId);
  40. if (equipment == null) {
  41. return JsonMessage.error("该设备不存在");
  42. }
  43. String kind = day+"-"+deviceId;
  44. String channel = equipment.getChannel();
  45. String equimentType = equipment.getEquimentType();
  46. if(StringUtils.isEmpty(channel)||channel.equals("1")||StringUtils.isEmpty(equimentType)){
  47. //用个推
  48. PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("log", kind).toString());
  49. }
  50. if(StringUtils.isNotEmpty(channel)&&channel.equals("2")&&StringUtils.isNotEmpty(equimentType)){
  51. //用Mq
  52. //1 创建消息
  53. MessageProperties messageProperties = new MessageProperties();
  54. messageProperties.setContentType("application/json");
  55. org.springframework.amqp.core.Message message = new org.springframework.amqp.core.Message(PushUtils.buildJson("log", kind).toString().getBytes(), messageProperties);
  56. rabbitTemplate.send(equimentType, deviceId, message);
  57. }
  58. return JsonMessage.success("发送成功");
  59. }
  60. }