package com.stylefeng.guns.modular.system.service.impl;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.stylefeng.guns.core.util.DateUtil;
|
import com.stylefeng.guns.modular.system.controller.resp.TOrderResp;
|
import com.stylefeng.guns.modular.system.dao.TAppUserMapper;
|
import com.stylefeng.guns.modular.system.dao.TBranchOfficeMapper;
|
import com.stylefeng.guns.modular.system.dao.TDriverMapper;
|
import com.stylefeng.guns.modular.system.model.TAppUser;
|
import com.stylefeng.guns.modular.system.model.TBranchOffice;
|
import com.stylefeng.guns.modular.system.model.TDriver;
|
import com.stylefeng.guns.modular.system.model.TOrder;
|
import com.stylefeng.guns.modular.system.dao.TOrderMapper;
|
import com.stylefeng.guns.modular.system.service.ITOrderService;
|
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.math.BigDecimal;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Objects;
|
|
/**
|
* <p>
|
* 订单 服务实现类
|
* </p>
|
*
|
* @author stylefeng
|
* @since 2023-02-15
|
*/
|
@Service
|
public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> implements ITOrderService {
|
|
@Autowired
|
private TOrderMapper tOrderMapper;
|
@Autowired
|
private TAppUserMapper tAppUserMapper;
|
@Autowired
|
private TDriverMapper tDriverMapper;
|
@Autowired
|
private TBranchOfficeMapper tBranchOfficeMapper;
|
|
@Override
|
public List<TOrderResp> getOrderList(String createTime, String code, Integer source, String userName, String userPhone, Integer state, String driverName,Integer isException) {
|
String startTime = null;
|
String endTime = null;
|
// 开始,结束时间
|
if(StringUtils.hasLength(createTime)){
|
String[] split = createTime.split(" - ");
|
startTime = split[0];
|
endTime = split[1];
|
}
|
return tOrderMapper.getOrderList(startTime,endTime,code,source,userName,userPhone,state,driverName,isException);
|
}
|
|
@Override
|
public void orderDetail(Integer orderId, Model model) {
|
// 订单信息
|
TOrder tOrder = tOrderMapper.selectById(orderId);
|
model.addAttribute("createTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getCreateTime()));//下单时间
|
model.addAttribute("code",tOrder.getCode());//订单编号
|
model.addAttribute("source",tOrder.getSource());//订单来源
|
model.addAttribute("startAddress",tOrder.getStartAddress());//起点
|
model.addAttribute("endAddress",tOrder.getEndAddress());//终点
|
model.addAttribute("startTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getStartTime()));//乘车时间
|
model.addAttribute("boardingTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getBoardingTime()));//上车时间
|
model.addAttribute("getoffTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getGetoffTime()));//下车时间
|
model.addAttribute("startPrice",tOrder.getStartPrice());//起步价
|
model.addAttribute("overDrivePrice",tOrder.getOverDrivePrice());//里程费
|
model.addAttribute("waitTimePrice",tOrder.getWaitTimePrice());//等待费
|
model.addAttribute("badWeatherPrice",tOrder.getBadWeatherPrice());//恶劣天气费用
|
model.addAttribute("orderMoney",tOrder.getOrderMoney());//实际费用
|
model.addAttribute("payMoney",tOrder.getPayMoney());//实际支付费用
|
model.addAttribute("discountedPrice",tOrder.getDiscountedPrice());//优惠券抵扣费用
|
model.addAttribute("payType",tOrder.getPayType());//支付方式
|
model.addAttribute("discountAmount",tOrder.getDiscountAmount());//折扣金额
|
model.addAttribute("userId",tOrder.getUserId());//用户id
|
|
// 查询用户
|
TAppUser tAppUser = tAppUserMapper.selectById(tOrder.getUserId());
|
model.addAttribute("userName",tAppUser.getNickname());
|
model.addAttribute("userPhone",tAppUser.getPhone());
|
model.addAttribute("havDiscount",tAppUser.getHavDiscount());
|
if(1 == tAppUser.getHavDiscount()){
|
// 计算9折优惠金额
|
BigDecimal multiply = tOrder.getOrderMoney().multiply(new BigDecimal("0.1")).setScale(2);
|
model.addAttribute("multiply",multiply);
|
}
|
|
// 查询司机
|
TDriver tDriver = tDriverMapper.selectById(tOrder.getDriverId());
|
model.addAttribute("driverName",tDriver.getName());
|
|
// 查询司机所属分公司
|
TBranchOffice tBranchOffice = tBranchOfficeMapper.selectById(tDriver.getBranchOfficeId());
|
if(Objects.nonNull(tBranchOffice)){
|
model.addAttribute("branchOfficeName",tBranchOffice.getPrincipal());
|
}else {
|
model.addAttribute("branchOfficeName","");
|
}
|
|
}
|
|
@Override
|
public void orderExceptionDetail(Integer orderId, Model model) {
|
this.orderDetail(orderId,model);
|
model.addAttribute("orderId",orderId);
|
}
|
}
|