puzhibing
2023-06-30 f58cca364b731eac2d60a440ffaa804be3cd43fd
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
package com.stylefeng.guns.modular.system.service.impl;
 
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.modular.system.controller.resp.TEvaluateResp;
import com.stylefeng.guns.modular.system.dao.*;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.ITEvaluateService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
 
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
 
/**
 * <p>
 * 订单评价 服务实现类
 * </p>
 *
 * @author stylefeng
 * @since 2023-02-27
 */
@Service
public class TEvaluateServiceImpl extends ServiceImpl<TEvaluateMapper, TEvaluate> implements ITEvaluateService {
 
    @Autowired
    private TEvaluateMapper tEvaluateMapper;
    @Autowired
    private TAppUserMapper tAppUserMapper;
 
    @Autowired
    private TOrderMapper tOrderMapper;
    @Autowired
    private TDriverMapper tDriverMapper;
    @Autowired
    private TBranchOfficeMapper tBranchOfficeMapper;
 
    @Override
    public List<TEvaluateResp> selectPageList(String createTime, String userName, String driverName, Integer orderType, Integer score) {
        String startTime = null;
        String endTime = null;
        // 开始,结束时间
        if(StringUtils.hasLength(createTime)){
            String[] split = createTime.split(" - ");
            startTime = split[0] + " 00:00:00";
            endTime = split[1] + " 23:59:59";
        }
        List<TEvaluateResp> list = tEvaluateMapper.selectPageList(startTime, endTime, userName, driverName, orderType, score);
        Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType();
        Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId();
        if(3 == roleType){
            list = list.stream().filter(tEvaluate -> tEvaluate.getAgentId().equals(objectId)).collect(Collectors.toList());
        }
        if(2 == roleType){
            list = list.stream().filter(tEvaluate -> tEvaluate.getBranchOfficeId().equals(objectId)).collect(Collectors.toList());
        }
        return list;
    }
 
    @Override
    public void evaluateDetail(Integer evaluateId, Model model) {
        // 查询评价
        TEvaluate tEvaluate = tEvaluateMapper.selectById(evaluateId);
 
        model.addAttribute("score",tEvaluate.getScore());
        model.addAttribute("evaluate",tEvaluate.getEvaluate());
 
        // 查询用户
        TAppUser tAppUser = tAppUserMapper.selectById(tEvaluate.getUserId());
        if(Objects.nonNull(tAppUser)){
            model.addAttribute("userName",tAppUser.getNickname());
            model.addAttribute("userPhone",tAppUser.getPhone());
        }else {
            model.addAttribute("userName","");
            model.addAttribute("userPhone","");
        }
 
        // 查询订单
        TOrder tOrder = tOrderMapper.selectById(tEvaluate.getOrderId());
 
        model.addAttribute("createTime",new SimpleDateFormat("yyyy-MM-dd HH:mm").format(tOrder.getCreateTime()));
        model.addAttribute("code",tOrder.getCode());
        model.addAttribute("source",tOrder.getSource());
        model.addAttribute("startTime",new SimpleDateFormat("yyyy-MM-dd HH:mm").format(tOrder.getStartTime()));
        model.addAttribute("boardingTime",new SimpleDateFormat("yyyy-MM-dd HH:mm").format(tOrder.getBoardingTime()));
        model.addAttribute("getoffTime",new SimpleDateFormat("yyyy-MM-dd HH:mm").format(tOrder.getGetoffTime()));
        model.addAttribute("startAddress",tOrder.getStartAddress());
        model.addAttribute("endAddress",tOrder.getEndAddress());
 
        // 查询司机
        TDriver tDriver = tDriverMapper.selectById(tOrder.getDriverId());
        if(Objects.nonNull(tDriver)){
            model.addAttribute("driverName",tDriver.getName());
            // 查询分公司
            TBranchOffice tBranchOffice = tBranchOfficeMapper.selectById(tDriver.getBranchOfficeId());
            if(Objects.nonNull(tBranchOffice)){
                model.addAttribute("branchOfficeName",tBranchOffice.getPrincipal());
            }else {
                model.addAttribute("branchOfficeName","");
            }
        }else {
            model.addAttribute("driverName","");
        }
 
    }
}