leomon
2025-06-05 a3fffa17c643bb96159a23880e1749c486279906
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
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 com.oying.utils.R;
import lombok.RequiredArgsConstructor;
 
import java.sql.Timestamp;
import java.util.List;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.oying.utils.PageResult;
 
/**
* @author 李萌
* @date 2025-05-20
**/
@RestController
@RequiredArgsConstructor
@Api(tags = "消息留言")
@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);
//    }
 
    @GetMapping
    @ApiOperation("查询消息留言")
    @PreAuthorize("@el.check('messageOrderLeave:list')")
    public R<PageResult<MessageOrderLeave>> queryMessageOrderLeave(MessageOrderLeaveQueryCriteria criteria){
        Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
//        return new ResponseEntity<>(messageOrderLeaveService.queryAll(criteria,page),HttpStatus.OK);
        return R.success(messageOrderLeaveService.queryAll(criteria,page));
    }
 
 
//    @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);
//        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 R<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);
            return R.fail("Message order leave not found for order ID: " + id);
        }
 
        // 设置顾客评价内容
        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 R.fail("Failed to update message order leave");
        }
 
//        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
        return R.success(messageOrderLeave);
    }
    //商家对订单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 R<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);
                return R.fail("Message order leave not found for order ID: " + id);
        }
 
 
        // 设置商家回复内容
        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 R.fail("Failed to update message order leave");
        }
 
//        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
        return R.success(messageOrderLeave);
    }
 
}