无关风月
2024-12-27 72c53b692495a45ea01f427f3adadcebe779f38f
manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java
@@ -15,6 +15,7 @@
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.List;
/**
@@ -39,6 +40,10 @@
    private TAppUserService appUserService;
    @Autowired
    private TOptometryDetailService optometryDetailService;
    @Autowired
    private TOrderGoodsService orderGoodsService;
    @Autowired
    private SecFeeItemsService feeItemsService;
    @ApiOperation(value = "核算订单分页列表")
    @PostMapping(value = "/pageList")
    public ApiResult<PageInfo<TOrderVO>> pageList(@RequestBody TOrderAccountingQuery query) {
@@ -68,19 +73,36 @@
        List<TOptometryDetail> list = optometryDetailService.lambdaQuery().eq(TOptometryDetail::getOrderId, id)
                .eq(TOptometryDetail::getType, 1).list();
        res.setOptometryDetails(list);
//        res.setOrderGoods();
//        res.setStoreName();
//        res.setOrderMoney();
//        res.setCouponMoney();
//        res.setPayMoney();
//        res.setPayType();
//        res.setRealPayMoney();
//        res.setCommission();
//        res.setProfitMoney();
//        res.setProfitRating();
        List<TOrderGoods> orderGoods = orderGoodsService.lambdaQuery()
                .eq(TOrderGoods::getOrderId, id).list();
        BigDecimal goodsMoney = new BigDecimal("0");
        BigDecimal costMoney = new BigDecimal("0");
        BigDecimal constConfirm = new BigDecimal("0");
        if (one!=null){
        }
        for (TOrderGoods orderGood : orderGoods) {
            goodsMoney =goodsMoney.add(orderGood.getGoodsMoney());
            costMoney=costMoney.add(orderGood.getCost()==null?new BigDecimal("0"):orderGood.getCost());
            constConfirm=constConfirm.add(orderGood.getConstConfirm()==null?new BigDecimal("0"):orderGood.getConstConfirm());
        }
        res.setOrderGoods(orderGoods);
        TStore byId1 = storeService.getById(byId.getStoreId());
        res.setStoreName(byId1.getName());
        res.setOrderMoney(goodsMoney);
        res.setCouponMoney(byId.getCouponMoney());
        res.setPayMoney(byId.getPayMoney());
        res.setPayType(byId.getPayTypeName());
        res.setRealPayMoney(byId.getPayMoney());
        SecFeeItems one1 = feeItemsService.lambdaQuery().eq(SecFeeItems::getName, byId.getPayTypeName())
                .one();
        BigDecimal percent = one1.getPercent();
        BigDecimal bigDecimal1 = byId.getPayMoney().multiply(percent).setScale(2, BigDecimal.ROUND_DOWN);
        res.setCommission(bigDecimal1);
        if (byId.getIsAccounting()==1){
            res.setProfitMoney(byId.getPayMoney().subtract(bigDecimal1).subtract(constConfirm));
            res.setProfitRating(res.getProfitMoney().divide(byId.getPayMoney(),2, BigDecimal.ROUND_DOWN));
        }
        return ApiResult.success(res);
    }
    @ApiOperation(value = "确认核算操作")