leomon
2025-06-26 178e2536417ded3b4e98a192ff47cc87870dc75f
oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderSellerController.java
@@ -1,9 +1,13 @@
package com.oying.modules.message.rest;
import cn.hutool.core.bean.BeanUtil;
import com.oying.annotation.Log;
import com.oying.modules.message.domain.MessageOrderSeller;
import com.oying.modules.message.domain.MessageOrderSeller;
import com.oying.modules.message.domain.dto.MessageOrderSellerDTO;
import com.oying.modules.message.service.MessageOrderSellerService;
import com.oying.modules.message.domain.dto.MessageOrderSellerQueryCriteria;
import com.oying.utils.R;
import lombok.RequiredArgsConstructor;
import java.util.List;
import org.springframework.http.HttpStatus;
@@ -24,50 +28,135 @@
@RestController
@RequiredArgsConstructor
@Api(tags = "卖家端订单消息通知")
@RequestMapping("/api/messageOrderSeller")
@RequestMapping("/api/message/messageOrderSeller")
public class MessageOrderSellerController {
    private final MessageOrderSellerService messageOrderSellerService;
    @ApiOperation("导出数据")
    @GetMapping(value = "/download")
    @PreAuthorize("@el.check('messageOrderSeller:list')")
    public void exportMessageOrderSeller(HttpServletResponse response, MessageOrderSellerQueryCriteria criteria) throws IOException {
        messageOrderSellerService.download(messageOrderSellerService.queryAll(criteria), response);
    }
//    @ApiOperation("导出数据")
//    @GetMapping(value = "/download")
//    @PreAuthorize("@el.check('messageOrderSeller:list')")
//    public void exportMessageOrderSeller(HttpServletResponse response, MessageOrderSellerQueryCriteria criteria) throws IOException {
//        messageOrderSellerService.download(messageOrderSellerService.queryAll(criteria), response);
//    }
    @GetMapping
    @ApiOperation("查询卖家端订单消息通知")
    @PreAuthorize("@el.check('messageOrderSeller:list')")
    public ResponseEntity<PageResult<MessageOrderSeller>> queryMessageOrderSeller(MessageOrderSellerQueryCriteria criteria){
    public R<PageResult<MessageOrderSeller>> queryMessageOrderSeller(MessageOrderSellerQueryCriteria criteria){
        Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
        return new ResponseEntity<>(messageOrderSellerService.queryAll(criteria,page),HttpStatus.OK);
//        return new ResponseEntity<>(messageOrderSellerService.queryAll(criteria,page),HttpStatus.OK);
        return R.success(messageOrderSellerService.queryAll(criteria,page));
    }
    @PostMapping
    @Log("新增卖家端订单消息通知")
    @ApiOperation("新增卖家端订单消息通知")
    @PreAuthorize("@el.check('messageOrderSeller:add')")
    public ResponseEntity<Object> createMessageOrderSeller(@Validated @RequestBody MessageOrderSeller resources){
        messageOrderSellerService.create(resources);
        return new ResponseEntity<>(HttpStatus.CREATED);
//    @PostMapping
//    @Log("新增卖家端订单消息通知")
//    @ApiOperation("新增卖家端订单消息通知")
//    @PreAuthorize("@el.check('messageOrderSeller:add')")
//    public ResponseEntity<Object> createMessageOrderSeller(@Validated @RequestBody MessageOrderSeller resources){
//        messageOrderSellerService.create(resources);
//        return new ResponseEntity<>(HttpStatus.CREATED);
//    }
//
//    @PutMapping
//    @Log("修改卖家端订单消息通知")
//    @ApiOperation("修改卖家端订单消息通知")
//    @PreAuthorize("@el.check('messageOrderSeller:edit')")
//    public ResponseEntity<Object> updateMessageOrderSeller(@Validated @RequestBody MessageOrderSeller resources){
//        messageOrderSellerService.update(resources);
//        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
//    }
//
//    @DeleteMapping
//    @Log("删除卖家端订单消息通知")
//    @ApiOperation("删除卖家端订单消息通知")
//    @PreAuthorize("@el.check('messageOrderSeller:del')")
//    public ResponseEntity<Object> deleteMessageOrderSeller(@ApiParam(value = "传ID数组[]") @RequestBody List<Integer> ids) {
//        messageOrderSellerService.deleteAll(ids);
//        return new ResponseEntity<>(HttpStatus.OK);
//    }
//    //订单状态变化通知
//    @GetMapping("/status/{order_id}")
//    @ApiOperation("查询一条订单状态变化通知")
//    public R<String> getMessageOrderSeller(@PathVariable Integer order_id) {
//        MessageOrderSeller messageOrderSeller = messageOrderSellerService.findByOrderId(order_id);
//        String message = messageOrderSeller.getMessageType();
//
////        return new ResponseEntity<>(message, HttpStatus.OK);
//        return R.success(message);
//    }
    //根据store_id 返回list订单状态变化通知
    @GetMapping("/status/store/{store_id}")
    @ApiOperation("根据store_id 返回list订单状态变化通知")
    public R<List<MessageOrderSellerDTO>> getMessageOrderSeller(@PathVariable String store_id) {
         List<MessageOrderSeller> messageOrderSeller = messageOrderSellerService.findByStoreId(store_id);
         //转换为MessageOrderSellerDTO huto tools
        List<MessageOrderSellerDTO> dtoList = BeanUtil.copyToList(messageOrderSeller, MessageOrderSellerDTO.class);
        //判断store_id存在
        if (messageOrderSeller == null) {
            return R.fail("store_id不存在");
        }else{return R.success(dtoList);}
    }
    //让前端标记已读
    @PostMapping("/read/{order_id}")
    @ApiOperation("让前端标记已读 按条")
    public R<String> getMessageOrderSellerRead(@PathVariable Integer order_id) {
             if(messageOrderSellerService.updateMessageOrderSellerRead(order_id)){
                 return R.success("已读");
             }else{
                 return R.fail("id不存在");
             }
    }
    @PutMapping
    @Log("修改卖家端订单消息通知")
    @ApiOperation("修改卖家端订单消息通知")
    @PreAuthorize("@el.check('messageOrderSeller:edit')")
    public ResponseEntity<Object> updateMessageOrderSeller(@Validated @RequestBody MessageOrderSeller resources){
        messageOrderSellerService.update(resources);
        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
    //让后端队友更新我的表
    @PostMapping("/update/seller")
    @ApiOperation("让后端队友更新消息表")
    public R<String> updateMessageOrderSeller(@RequestBody MessageOrderSeller resources) {
        //插入一条数据
        if(messageOrderSellerService.saveOrUpdate(resources))
            return R.success("更新成功");
        return R.fail("更新失败");
//        if(messageOrderSellerService.updateById(resources)){
//            return R.success("更新成功");
//        }else{
//            return R.fail("更新失败");
//        }
    }
    @DeleteMapping
    @Log("删除卖家端订单消息通知")
    @ApiOperation("删除卖家端订单消息通知")
    @PreAuthorize("@el.check('messageOrderSeller:del')")
    public ResponseEntity<Object> deleteMessageOrderSeller(@ApiParam(value = "传ID数组[]") @RequestBody List<Integer> ids) {
        messageOrderSellerService.deleteAll(ids);
        return new ResponseEntity<>(HttpStatus.OK);
    //订单送达通知
    @GetMapping("/deliver/{order_id}")
    @ApiOperation("查询一条订单送达通知")
    public R<String> getMessageOrderSellerDeliver(@PathVariable Integer order_id) {
        MessageOrderSeller messageOrderSeller = messageOrderSellerService.findByOrderId(order_id);
        String message = messageOrderSeller.getMessageType();
        //如果MessageType为订单送达,则返回message——content
        if (message.equals("买家下单")) {
            String messageContent = messageOrderSeller.getMessageContent();
//            return new ResponseEntity<>(messageContent, HttpStatus.OK);
            return R.success(messageContent);
        }else{
            //返回没送达
//            return new ResponseEntity<>("买家没下单", HttpStatus.OK);
            return R.fail("没送达");
        }
    }
    //实现点击跳转到订单详情
    @GetMapping("/link/{order_id}")
    @ApiOperation("点击跳转到订单详情")
    public R<String> getMessageOrderSellerLink(@PathVariable Integer order_id) {
        MessageOrderSeller messageOrderSeller = messageOrderSellerService.findByOrderId(order_id);
        String link = messageOrderSeller.getLink();
//        return new ResponseEntity<>(link, HttpStatus.OK);
        return R.success(link);
    }
}