puzhibing
2023-08-16 d5b3e5a413bcfccba294793ee093722f31b2448a
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
@@ -23,7 +23,10 @@
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
@@ -39,13 +42,16 @@
@Service
public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> implements ITOrderService {
    @Autowired
    @Resource
    private TOrderMapper tOrderMapper;
    @Autowired
    @Resource
    private TAppUserMapper tAppUserMapper;
    @Autowired
    @Resource
    private TDriverMapper tDriverMapper;
    @Autowired
    @Resource
    private TBranchOfficeMapper tBranchOfficeMapper;
    @Override
@@ -67,6 +73,7 @@
    public void orderDetail(Integer orderId, Model model) {
        // 订单信息
        TOrder tOrder = tOrderMapper.selectById(orderId);
        model.addAttribute("id", 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());//订单来源
@@ -94,7 +101,7 @@
        }
        model.addAttribute("startPrice",tOrder.getStartPrice());//起步价
        model.addAttribute("overDrivePrice",tOrder.getOverDrivePrice());//里程费
        model.addAttribute("waitTimePrice",tOrder.getWaitTimePrice());//等待费
        model.addAttribute("waitTimePrice",tOrder.getWaitTimePrice().add(tOrder.getOutWaitTimePrice()));//等待费
        model.addAttribute("badWeatherPrice",tOrder.getBadWeatherPrice());//恶劣天气费用
        model.addAttribute("orderMoney",tOrder.getOrderMoney());//实际费用
        model.addAttribute("payMoney",tOrder.getPayMoney());//实际支付费用
@@ -103,24 +110,23 @@
        model.addAttribute("discountAmount",tOrder.getDiscountAmount());//折扣金额
        model.addAttribute("userId",tOrder.getUserId());//用户id
        model.addAttribute("routeRecord",tOrder.getRouteRecord());//行程录音
        model.addAttribute("userPhone",tOrder.getUserPhone());//用户手机号
        model.addAttribute("userName",tOrder.getUserName());//用户名称
        // 查询用户
        TAppUser tAppUser = tAppUserMapper.selectById(tOrder.getUserId());
        if(Objects.nonNull(tAppUser)){
            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);
                BigDecimal subtract = tOrder.getOrderMoney().subtract(tOrder.getDiscountedPrice());
                // 计算95折优惠金额
                BigDecimal multiply = subtract.multiply(new BigDecimal("0.05"), new MathContext(2, RoundingMode.HALF_EVEN));
                model.addAttribute("multiply",multiply);
            }else {
                model.addAttribute("multiply",0);
            }
        }else {
            model.addAttribute("userName","");
            model.addAttribute("userPhone","");
            model.addAttribute("havDiscount","");
            model.addAttribute("havDiscount",0);
            model.addAttribute("multiply",0);
        }