package com.example.demo.controller; import com.example.demo.domain.entity.Detail; import com.example.demo.domain.entity.DetailY; import com.example.demo.domain.vo.*; //import com.example.demo.controller.KafkaProducer; import com.example.demo.serviceImpl.ConsumeServiceImpl; import com.example.demo.serviceImpl.UserServiceImpl; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.List; @RestController @RequestMapping("/consume") @RequiredArgsConstructor @Slf4j @CrossOrigin public class ConsumeController { @Autowired private ConsumeServiceImpl consumeService; @Autowired private UserServiceImpl userService; // @Autowired // private KafkaProducer kafkaProducer; @PostMapping("/add") public Result add(@RequestBody DetailY detailY) throws Exception { try { // 将 Detail 对象转换为 JSON 字符串 ObjectMapper objectMapper = new ObjectMapper(); String detailJson = objectMapper.writeValueAsString(detailY); // // 发送消息到 Kafka 队列 // kafkaProducer.sendMessage("consume-topic", detailJson); consumeService.insert(detailY); } catch (Exception e) { log.error(Arrays.toString(e.getStackTrace())); return Result.error(e.getMessage()); } return Result.success(); } @PostMapping("/select") public Result search(@RequestBody Page page) { if(ObjectUtils.isEmpty(page.getPageNum())){ return Result.success(consumeService.search(page.getConsumeDetail())); } else { return Result.success(consumeService.searchForPage(page.getPageNum(), page.getPageSize(), page.getConsumeDetail())); } } @PostMapping("/getDeatil") public Result getDeatil(@RequestBody UserVo userVo) { try { userService.search(userVo); return Result.success(consumeService.getDeatil(userVo.getJwcode())); } catch (Exception e) { log.error(Arrays.toString(e.getStackTrace())); return Result.error(e.getMessage()); } } @PostMapping("/getProduct") public Result getProduct(@RequestParam("name") String name) { System.out.println(name + "name"); return Result.success(consumeService.getProduct(name)); } @PostMapping("/SumConsume") public Result getSumConsume(@RequestBody SumConsume sumConsume) { try { return Result.success(consumeService.getSumConsume(sumConsume)); } catch (Exception e) { log.error(Arrays.toString(e.getStackTrace())); return Result.error(e.getMessage()); } } @PostMapping("/getConsume") public Result getConsume() { try { List result = consumeService.getConsume(); return Result.success(result); } catch (Exception e) { log.error(Arrays.toString(e.getStackTrace())); return Result.error(e.getMessage()); } } }