无关风月
2024-12-27 72c53b692495a45ea01f427f3adadcebe779f38f
manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java
@@ -42,6 +42,8 @@
    private TOptometryDetailService optometryDetailService;
    @Autowired
    private TOrderGoodsService orderGoodsService;
    @Autowired
    private SecFeeItemsService feeItemsService;
    @ApiOperation(value = "核算订单分页列表")
    @PostMapping(value = "/pageList")
    public ApiResult<PageInfo<TOrderVO>> pageList(@RequestBody TOrderAccountingQuery query) {
@@ -73,24 +75,34 @@
        res.setOptometryDetails(list);
        List<TOrderGoods> orderGoods = orderGoodsService.lambdaQuery()
                .eq(TOrderGoods::getOrderId, id).list();
        BigDecimal bigDecimal = new BigDecimal("0");
        BigDecimal goodsMoney = new BigDecimal("0");
        BigDecimal costMoney = new BigDecimal("0");
        BigDecimal constConfirm = new BigDecimal("0");
        if (one!=null){
        }
        for (TOrderGoods orderGood : orderGoods) {
            bigDecimal =bigDecimal.add(orderGood.getGoodsMoney());
            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(bigDecimal);
        res.setOrderMoney(goodsMoney);
        res.setCouponMoney(byId.getCouponMoney());
        res.setPayMoney(byId.getPayMoney());
//        res.setPayType();
//        res.setRealPayMoney();
//        res.setCommission();
//        res.setProfitMoney();
//        res.setProfitRating();
        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 = "确认核算操作")