From 15f8d75b658de41d33b3432eb262ee33300c2133 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期一, 17 三月 2025 13:45:26 +0800 Subject: [PATCH] 折扣计费处理 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 65 ++++++++++++-------------------- 1 files changed, 24 insertions(+), 41 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java index f4d4bc9..aed5c62 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java @@ -3952,9 +3952,8 @@ public AjaxResult updateTransitionnewPrice(@RequestBody List<UpdateTransitionnewPriceDto> dtos) { if (null != dtos && !dtos.isEmpty()) { - int index = 0; + boolean flag = false; for (UpdateTransitionnewPriceDto dto : dtos) { - index++; LambdaQueryWrapper<TbTransition> wq = new LambdaQueryWrapper<>(); wq.eq(TbTransition::getCusId, dto.getCusIdCard()); wq.eq(TbTransition::getParentProId, dto.getParentProId()); @@ -3964,48 +3963,32 @@ log.info("鐖堕」鐩甶d涓�: " + dto.getParentProId()); log.info("鎶樻墸涓�: " + new BigDecimal(dto.getDiscount())); if (null != list && !list.isEmpty()) { + + for (TbTransition transition : list) { + BigDecimal ordPrice = transition.getOrdPrice(); + BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10)))); + log.info("鍚庣璁$畻鐨勯噾棰�: " + multiply.toString()); + transition.setNowPrice(multiply); + transition.setDiscount(new BigDecimal(dto.getDiscount())); + transitionService.updateById(transition); + } + BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId()); - log.info("dxzj:{}",dxzj.toString()); - if (index == dtos.size()){ - BigDecimal yhj = dto.getYhj(); - log.info("鍓嶇浼犻�掔殑浠锋牸锛歿}",yhj.toString()); - BigDecimal cj = yhj.subtract(dxzj); - log.info("璁$畻鐨勫樊浠凤細{}",cj.toString()); - int index1 = 0; - for (TbTransition transition : list) { - BigDecimal ordPrice = transition.getOrdPrice(); - BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10)))); - if (index1 == 0){ - log.info("淇敼灏忛」 {}{} 鍘熸湰浠锋牸:{}",transition.getProId(),transition.getProName(),multiply.toString()); - multiply = multiply.add(cj); - log.info("澧炲姞宸环鍚庯細{}",multiply.toString()); - } - index1++; - log.info("鍚庣璁$畻鐨勯噾棰�: " + multiply.toString()); -// log.info("鍓嶇浼犻�掔殑閲戦: " + dto.getYhj()); - transition.setNowPrice(multiply); - transition.setDiscount(new BigDecimal(dto.getDiscount())); + + BigDecimal yhj = dto.getYhj(); + log.info("鍓嶇浼犻�掔殑浠锋牸锛歿}",yhj.toString()); + BigDecimal cj = yhj.subtract(dxzj); + log.info("璁$畻鐨勫樊浠凤細{}",cj.toString()); + for (TbTransition transition : list) { + BigDecimal result = transition.getNowPrice().add(cj); + log.info("琛ヤ笂宸环鍓嶇殑浠锋牸涓猴細{}",transition.getNowPrice().toString()); + if (result.compareTo(BigDecimal.ZERO)>0 && !flag && cj.compareTo(BigDecimal.ZERO) != 0){ + transition.setNowPrice(result); transitionService.updateById(transition); + log.info("淇敼 琛ヤ笂宸环鍚庣殑浠锋牸涓猴細{}",result.toString()); + flag = true; + break; } - }else { - for (TbTransition transition : list) { - BigDecimal ordPrice = transition.getOrdPrice(); - BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10)))); - log.info("鍚庣璁$畻鐨勯噾棰�: " + multiply.toString()); -// log.info("鍓嶇浼犻�掔殑閲戦: " + dto.getYhj()); - transition.setNowPrice(multiply); - transition.setDiscount(new BigDecimal(dto.getDiscount())); - transitionService.updateById(transition); - } -// if (null != dto.getYhj() && dto.getYhj().compareTo(BigDecimal.ZERO) >= 0) { -// List<TbTransition> transitionList = list.stream().filter(a -> -// transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId()).subtract(dto.getYhj()).compareTo(BigDecimal.ZERO) >= 0).collect(Collectors.toList()); -// if (!transitionList.isEmpty()) { -// TbTransition tbTransition = transitionList.get(0); -// tbTransition.setNowPrice(dxzj); -// transitionService.updateById(tbTransition); -// } -// } } } } -- Gitblit v1.8.0