leomon
2025-07-12 0233d941ae15db1a089bdb633f76d67be6a15ed3
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
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.apache.poi.util.Beta;
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/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);
//    }
 
    @GetMapping
    @ApiOperation("查询卖家端订单消息通知")
    @PreAuthorize("@el.check('messageOrderSeller:list')")
    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 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);
//    }
//
//    @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("/readByorderid/{order_id}")
//    @ApiOperation("让前端标记已读 按条")
//    public R<String> getMessageOrderSellerRead(@PathVariable Integer order_id) {
//             if(messageOrderSellerService.updateMessageOrderSellerRead(order_id)){
//                 return R.success("已读");
//             }else{
//                 return R.fail("id不存在");
//             }
//    }
    //让前端标记已读   主键为条件
    @PostMapping("/read/{id}")
    @ApiOperation("标记单条消息为已读(按主键 id)")
    public R<String> markReadByPrimaryKey(@PathVariable Integer id) {
        boolean updated = messageOrderSellerService.updateReadStatusById(id);
        return updated ? R.success("已读") : R.fail("消息 id 不存在");
    }
    @Beta//重复值处理
    //让后端队友更新我的表
    @PostMapping("/update/seller")
    @ApiOperation("更新插入消息表")
    public R<String> updateMessageOrderSeller(@RequestBody MessageOrderSeller resources) {
        //插入一条数据
        if(messageOrderSellerService.saveMessageOrderSellerByOrderIdAndStoreId(resources))
            return R.success("更新成功");
        return R.fail("更新失败");
 
    }
 
 
 
 
 
 
    //订单送达通知
    @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);
    }
 
}