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