From 2ff297dd7af1aa54c7544e3b90ff20d6f1fa071b Mon Sep 17 00:00:00 2001
From: leomon <2233021400@qq.com>
Date: Wed, 21 May 2025 02:48:11 +0800
Subject: [PATCH] 消息中心业务1.1

---
 oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java |  177 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 148 insertions(+), 29 deletions(-)

diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java
index 3244192..8d3dfe9 100644
--- a/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java
+++ b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java
@@ -1,10 +1,14 @@
 package com.oying.modules.message.rest;
 
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.oying.annotation.Log;
 import com.oying.modules.message.domain.MessageOrderLeave;
 import com.oying.modules.message.service.MessageOrderLeaveService;
 import com.oying.modules.message.domain.dto.MessageOrderLeaveQueryCriteria;
 import lombok.RequiredArgsConstructor;
+
+import java.sql.Timestamp;
 import java.util.List;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -24,17 +28,17 @@
 @RestController
 @RequiredArgsConstructor
 @Api(tags = "消息留言")
-@RequestMapping("/api/messageOrderLeave")
+@RequestMapping("/api/message/messageOrderLeave")
 public class MessageOrderLeaveController {
 
     private final MessageOrderLeaveService messageOrderLeaveService;
 
-    @ApiOperation("导出数据")
-    @GetMapping(value = "/download")
-    @PreAuthorize("@el.check('messageOrderLeave:list')")
-    public void exportMessageOrderLeave(HttpServletResponse response, MessageOrderLeaveQueryCriteria criteria) throws IOException {
-        messageOrderLeaveService.download(messageOrderLeaveService.queryAll(criteria), response);
-    }
+//    @ApiOperation("导出数据")
+//    @GetMapping(value = "/download")
+//    @PreAuthorize("@el.check('messageOrderLeave:list')")
+//    public void exportMessageOrderLeave(HttpServletResponse response, MessageOrderLeaveQueryCriteria criteria) throws IOException {
+//        messageOrderLeaveService.download(messageOrderLeaveService.queryAll(criteria), response);
+//    }
 
     @GetMapping
     @ApiOperation("查询消息留言")
@@ -44,30 +48,145 @@
         return new ResponseEntity<>(messageOrderLeaveService.queryAll(criteria,page),HttpStatus.OK);
     }
 
-    @PostMapping
-    @Log("新增消息留言")
-    @ApiOperation("新增消息留言")
-    @PreAuthorize("@el.check('messageOrderLeave:add')")
-    public ResponseEntity<Object> createMessageOrderLeave(@Validated @RequestBody MessageOrderLeave resources){
-        messageOrderLeaveService.create(resources);
-        return new ResponseEntity<>(HttpStatus.CREATED);
-    }
+//    @PostMapping
+//    @Log("新增消息留言")
+//    @ApiOperation("新增消息留言")
+//    @PreAuthorize("@el.check('messageOrderLeave:add')")
+//    public ResponseEntity<Object> createMessageOrderLeave(@Validated @RequestBody MessageOrderLeave resources){
+//        messageOrderLeaveService.create(resources);
+//        return new ResponseEntity<>(HttpStatus.CREATED);
+//    }
 
-    @PutMapping
-    @Log("修改消息留言")
-    @ApiOperation("修改消息留言")
-    @PreAuthorize("@el.check('messageOrderLeave:edit')")
-    public ResponseEntity<Object> updateMessageOrderLeave(@Validated @RequestBody MessageOrderLeave resources){
-        messageOrderLeaveService.update(resources);
+//    @PutMapping
+//    @Log("修改消息留言")
+//    @ApiOperation("修改消息留言")
+//    @PreAuthorize("@el.check('messageOrderLeave:edit')")
+//    public ResponseEntity<Object> updateMessageOrderLeave(@Validated @RequestBody MessageOrderLeave resources){
+//        messageOrderLeaveService.update(resources);
+//        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+//    }
+
+//    @DeleteMapping
+//    @Log("删除消息留言")
+//    @ApiOperation("删除消息留言")
+//    @PreAuthorize("@el.check('messageOrderLeave:del')")
+//    public ResponseEntity<Object> deleteMessageOrderLeave(@ApiParam(value = "传ID数组[]") @RequestBody List<Integer> ids) {
+//        messageOrderLeaveService.deleteAll(ids);
+//        return new ResponseEntity<>(HttpStatus.OK);
+//    }
+    //顾客点击订单,传回订单id,根据订单id生成一条 消息留言
+//    @PutMapping("/customer/{order_id}")
+//    @ApiOperation("顾客点击订单,传回订单id,根据订单id生成一条 留言,此时顾客可以留言")
+//    public ResponseEntity<Object> createMessageOrderLeave(@PathVariable("order_id") Integer id,@RequestParam String customerReview) {
+//        //创建对象
+//        MessageOrderLeave messageOrderLeave = new MessageOrderLeave();
+//        messageOrderLeave.setOrderId(id);
+//        //如果customerReview为空,默认为“用户未留言”
+//        messageOrderLeave.setCustomerReview(customerReview);
+//        //设置创建时间为当前时间
+//        messageOrderLeave.setCreateTime(new Timestamp(System.currentTimeMillis()));
+//        //若表中order_id订单还没存在则调用update留言
+//
+//
+//        if(messageOrderLeaveService.findByOrderId(id)==null){
+//            messageOrderLeaveService.updateById(messageOrderLeave);
+//            return new ResponseEntity<>(HttpStatus.CREATED);
+//        } else {
+//            // 已存在则不保存,返回 OK 表示成功但无新资源创建
+//            return new ResponseEntity<>(HttpStatus.OK);
+//        }
+//
+//    }
+
+    @PutMapping("/customer/{order_id}")
+    @ApiOperation("顾客点击订单,传回订单id,根据订单id更新一条留言")
+    public ResponseEntity<Object> updateMessageOrderLeaveCustomer(@PathVariable("order_id") Integer id, @RequestBody MessageOrderLeave messageOrderLeave1) {
+        // 根据 order_id 查找留言信息
+        MessageOrderLeave messageOrderLeave = messageOrderLeaveService.findByOrderId(id);
+
+        // 如果留言信息不存在,返回 404 Not Found
+        if (messageOrderLeave == null) {
+            return new ResponseEntity<>("Message order leave not found for order ID: " + id, HttpStatus.NOT_FOUND);
+        }
+
+        // 设置顾客评价内容
+        if (messageOrderLeave1.getCustomerReview() != null && !messageOrderLeave1.getCustomerReview().trim().isEmpty()) {
+            messageOrderLeave.setCustomerReview(messageOrderLeave1.getCustomerReview());
+        } else {
+            messageOrderLeave.setCustomerReview("用户未留言");
+        }
+
+        // 更新最后一次操作的时间
+        messageOrderLeave.setCreateTime(new Timestamp(System.currentTimeMillis()));
+
+        // 调用服务层更新数据
+        boolean updated = messageOrderLeaveService.updateById(messageOrderLeave);
+
+        // 如果更新失败,返回 500 Internal Server Error
+        if (!updated) {
+            return new ResponseEntity<>("Failed to update message order leave", HttpStatus.INTERNAL_SERVER_ERROR);
+        }
+
+        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+    }
+    //商家对订单id进行回复
+//    @PutMapping("/seller/{order_id}")
+//    @ApiOperation("商家对订单id进行回复")
+//    public ResponseEntity<Object> updateMessageOrderLeave(@PathVariable("order_id") Integer id, @RequestParam String sellerReply) {
+//        // 检查 sellerReply 是否为空
+//        if (sellerReply == null || sellerReply.trim().isEmpty()) {
+//            return new ResponseEntity<>("sellerReply is required", HttpStatus.BAD_REQUEST);
+//        }
+//
+//        // 根据 order_id 查找留言信息
+//        MessageOrderLeave messageOrderLeave = messageOrderLeaveService.findByOrderId(id);
+//
+//        // 如果没有找到对应的留言信息,返回 404 Not Found
+//        if (messageOrderLeave == null) {
+//            return new ResponseEntity<>("Message order leave not found for order ID: " + id, HttpStatus.NOT_FOUND);
+//        }
+//
+//        // 设置商家回复内容
+//        messageOrderLeave.setSellerReply(sellerReply);
+//        // 更新最后一次操作的时间
+//        messageOrderLeave.setCreateTime(new Timestamp(System.currentTimeMillis()));
+//
+//        // 调用服务层更新数据
+//        boolean updated = messageOrderLeaveService.updateById(messageOrderLeave);
+//
+//        // 如果更新失败,返回 500 Internal Server Error
+//        if (!updated) {
+//            return new ResponseEntity<>("Failed to update message order leave", HttpStatus.INTERNAL_SERVER_ERROR);
+//        }
+//
+//        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+//    }
+    //商家对订单id进行回复 订单id必须唯一限制 否则会报错
+    @PutMapping("/seller/{order_id}")
+    @ApiOperation("商家对订单id进行回复")
+    public ResponseEntity<Object> updateMessageOrderLeaveSeller(@PathVariable("order_id") Integer id, @RequestBody MessageOrderLeave messageOrderLeave1) {
+        // 根据 order_id 查找留言信息
+        MessageOrderLeave messageOrderLeave = messageOrderLeaveService.findByOrderId(id);
+
+        // 如果没有找到对应的留言信息,返回 404 Not Found
+        if (messageOrderLeave == null) {
+            return new ResponseEntity<>("Message order leave not found for order ID: " + id, HttpStatus.NOT_FOUND);
+        }
+
+        // 设置商家回复内容
+        messageOrderLeave.setSellerReply(messageOrderLeave1.getSellerReply());
+        // 更新最后一次操作的时间
+        messageOrderLeave.setCreateTime(new Timestamp(System.currentTimeMillis()));
+
+        // 调用服务层更新数据
+        boolean updated = messageOrderLeaveService.updateById(messageOrderLeave);
+
+        // 如果更新失败,返回 500 Internal Server Error
+        if (!updated) {
+            return new ResponseEntity<>("Failed to update message order leave", HttpStatus.INTERNAL_SERVER_ERROR);
+        }
+
         return new ResponseEntity<>(HttpStatus.NO_CONTENT);
     }
 
-    @DeleteMapping
-    @Log("删除消息留言")
-    @ApiOperation("删除消息留言")
-    @PreAuthorize("@el.check('messageOrderLeave:del')")
-    public ResponseEntity<Object> deleteMessageOrderLeave(@ApiParam(value = "传ID数组[]") @RequestBody List<Integer> ids) {
-        messageOrderLeaveService.deleteAll(ids);
-        return new ResponseEntity<>(HttpStatus.OK);
-    }
 }

--
Gitblit v1.9.3