| | |
| | | @Autowired |
| | | private OrderItemSettlementMapper orderItemSettlementMapper; |
| | | |
| | | @Autowired |
| | | private TransferMapper transferMapper; |
| | | |
| | | @Autowired |
| | | private TransferDetailMapper transferDetailMapper; |
| | | |
| | | public Page<OrderSettlementListDTO> selectSettlementList(Page page, OrderSettlementQueryDTO dto){ |
| | | dto.setStartDate(parseLocalDateTime(dto.getStartDateStr(), true)); |
| | | dto.setEndDate(parseLocalDateTime(dto.getEndDateStr(), false)); |
| | |
| | | OrderSettlement settlement = settlementMapper.selectById(id); |
| | | if(settlement == null){ |
| | | throw new ValidationException("结算单不存在"); |
| | | } |
| | | String status = settlement.getStatus(); |
| | | if(Constants.SETTLEMENT_STATUS.PROCESSING.name().equals(status)){ |
| | | throw new ValidationException("结算中,不用重复结算"); |
| | | } |
| | | if(Constants.SETTLEMENT_STATUS.COMPLETED.name().equals(status)){ |
| | | throw new ValidationException("结算成功,不用重复结算"); |
| | | } |
| | | String type = settlement.getType(); |
| | | |
| | |
| | | } |
| | | |
| | | settlement.setTransferTime(LocalDateTime.now()); |
| | | settlement.setStatus(Constants.SETTLEMENT_STATUS.COMPLETED.name()); |
| | | settlement.setStatus(Constants.SETTLEMENT_STATUS.PROCESSING.name()); |
| | | settlement.update(SecurityUtils.getUserId()); |
| | | |
| | | settlementMapper.updateById(settlement); |
| | | } |
| | | |
| | | public void updateSettlementStatus(String transferId){ |
| | | Transfer t = transferMapper.selectById(transferId); |
| | | if("FINISHED".equals(t.getStatus())){ |
| | | OrderSettlement settlement = settlementMapper.selectOne(new QueryWrapper<OrderSettlement>() |
| | | .eq("transfer_id", transferId)); |
| | | if(settlement == null){ |
| | | return; |
| | | } |
| | | String transferDetailId = settlement.getTransferDetailId(); |
| | | TransferDetail td = transferDetailMapper.selectById(transferDetailId); |
| | | if(td == null){ |
| | | log.warn("未找到对应明细"); |
| | | return; |
| | | } |
| | | String dStatus = td.getStatus(); |
| | | if("SUCCESS".equals(dStatus)){ |
| | | settlement.setStatus(Constants.SETTLEMENT_STATUS.COMPLETED.name()); |
| | | settlement.update("sys"); |
| | | settlementMapper.updateById(settlement); |
| | | } else if ("FAIL".equals(dStatus)){ |
| | | settlement.setStatus(Constants.SETTLEMENT_STATUS.FAILED.name()); |
| | | settlement.update("sys"); |
| | | settlementMapper.updateById(settlement); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void doSettlement(){//弃用 |
| | | //结算完成收货的订单 |
| | | List<Order> ls = orderMapper.getOrderForSettlement(); |