leomon
2025-07-09 48b6f19e19502b2f6469bab3e6a266d88a8e9c8b
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
package com.oying.modules.message.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.oying.modules.message.domain.MessageOrderSeller;
import com.oying.utils.FileUtil;
import lombok.RequiredArgsConstructor;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.oying.modules.message.service.MessageOrderSellerService;
import com.oying.modules.message.domain.dto.MessageOrderSellerQueryCriteria;
import com.oying.modules.message.mapper.MessageOrderSellerMapper;
import org.apache.poi.util.Beta;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.oying.utils.PageUtil;
 
import java.util.*;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
 
import com.oying.utils.PageResult;
 
/**
* @description 服务实现
* @author 李萌
* @date 2025-05-20
**/
@Service
@RequiredArgsConstructor
public class MessageOrderSellerServiceImpl extends ServiceImpl<MessageOrderSellerMapper, MessageOrderSeller> implements MessageOrderSellerService {
 
    private final MessageOrderSellerMapper messageOrderSellerMapper;
 
    @Override
    public PageResult<MessageOrderSeller> queryAll(MessageOrderSellerQueryCriteria criteria, Page<Object> page){
        return PageUtil.toPage(messageOrderSellerMapper.findAll(criteria, page));
    }
 
    @Override
    public List<MessageOrderSeller> queryAll(MessageOrderSellerQueryCriteria criteria){
        return messageOrderSellerMapper.findAll(criteria);
    }
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void create(MessageOrderSeller resources) {
        messageOrderSellerMapper.insert(resources);
    }
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void update(MessageOrderSeller resources) {
        MessageOrderSeller messageOrderSeller = getById(resources.getId());
        messageOrderSeller.copy(resources);
        messageOrderSellerMapper.updateById(messageOrderSeller);
    }
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void deleteAll(List<Integer> ids) {
        messageOrderSellerMapper.deleteBatchIds(ids);
    }
 
    @Override
    public void download(List<MessageOrderSeller> all, HttpServletResponse response) throws IOException {
        List<Map<String, Object>> list = new ArrayList<>();
        for (MessageOrderSeller messageOrderSeller : all) {
            Map<String, Object> map = new LinkedHashMap<>();
            map.put(" orderId",  messageOrderSeller.getOrderId());
            map.put(" messageType",  messageOrderSeller.getMessageType());
            map.put(" messageContent",  messageOrderSeller.getMessageContent());
            map.put(" link",  messageOrderSeller.getLink());
            map.put(" createTime",  messageOrderSeller.getCreateTime());
            list.add(map);
        }
        FileUtil.downloadExcel(list, response);
    }
 
    @Override
    public MessageOrderSeller findByOrderId(Integer orderId) {
        return baseMapper.selectOne(new QueryWrapper<MessageOrderSeller>().eq("order_id", orderId));
    }
 
    @Override
    public List<MessageOrderSeller> findByStoreId(String storeId) {
        return messageOrderSellerMapper.findByStoreId(storeId);
    }
 
    @Override
    public boolean updateMessageOrderSellerRead(Integer orderId) {
        return messageOrderSellerMapper.updateMessageOrderSellerRead(orderId);
    }
 
    /**
     * 保存或更新 MessageOrderSeller 记录。
     * <p>
     * 该方法根据传入的 MessageOrderSeller 对象,将数据插入到数据库中。
     * 如果记录已存在,则更新;如果不存在,则插入新记录。
     * </p>
     * <p>
     * 必须字段:
     * - orderId:订单 ID
     * - storeId:店铺 ID
     * </p>
     * <p>
     * 可选字段:
     * - messageType:消息类型 :     供流程使用  订单状态: 1-待取货 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消"
     * - messageContent:消息内容 :  "订单已提交"   :"支付成功"   商家已接单   骑手已接单"
     * - link:链接
     * - flag:标志字段(默认值为未读 0)
     * </p>
     *
     * @param resources MessageOrderSeller 对象,包含需要保存或更新的数据。
     * @return true 表示保存成功,false 表示保存失败。
     */
    @Beta
    @Override
    public boolean saveMessageOrderSellerByOrderIdAndStoreId(MessageOrderSeller resources) {
        return messageOrderSellerMapper.saveMessageOrderSellerByOrderIdAndStoreId(resources);
    }
 
}