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);
|
}
|
|
}
|