| | |
| | | |
| | | public enum SETTLEMENT_STATUS { |
| | | PENDING("待结算"), |
| | | COMPLETED("已结算"), |
| | | PROCESSING("结算中"), |
| | | COMPLETED("结算成功"), |
| | | FAILED("结算失败"), |
| | | ; |
| | | |
| | | SETTLEMENT_STATUS(String desc) { |
| | |
| | | for(Transfer t : ls){ |
| | | try { |
| | | paymentV3Service.checkTransferStatus(t); |
| | | settlementService.updateSettlementStatus(t.getId()); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | } |
| | |
| | | @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(); |
| | |
| | | </if> |
| | | |
| | | <if test="condition.orderStartDate != null"> |
| | | AND oi.create_time >= #{condition.createStartDate} |
| | | AND oi.create_time >= #{condition.orderStartDate} |
| | | </if> |
| | | <if test="condition.orderEndDate != null"> |
| | | AND oi.create_time <= #{condition.createEndDate} |
| | | AND oi.create_time <= #{condition.orderEndDate} |
| | | </if> |
| | | |
| | | <if test="condition.salesStartDate != null"> |
| | | AND si.create_time >= #{condition.createStartDate} |
| | | AND si.create_time >= #{condition.salesStartDate} |
| | | </if> |
| | | <if test="condition.salesEndDate != null"> |
| | | AND si.create_time <= #{condition.createEndDate} |
| | | AND si.create_time <= #{condition.salesEndDate} |
| | | </if> |
| | | |
| | | <if test="condition.status != null and condition.status != ''"> |
| | |
| | | INSERT INTO t_code_value(ID,TYPE_CODE,VALUE,LABEL,DESCRIPTION,SEQ,STATUS) VALUES ('CHECK_AUDIT_STATUS_REJECTED','CHECK_AUDIT_STATUS','REJECTED','已拒绝','已拒绝',2,'A'); |
| | | |
| | | |
| | | ==================================================20240826 |
| | | delete from t_code_value where type_code = 'SETTLEMENT_STATUS'; |
| | | INSERT INTO t_code_value(ID,TYPE_CODE,VALUE,LABEL,DESCRIPTION,SEQ,STATUS) VALUES ('SETTLEMENT_STATUS_PENDING','SETTLEMENT_STATUS','PENDING','待结算','待结算',1,'A'); |
| | | INSERT INTO t_code_value(ID,TYPE_CODE,VALUE,LABEL,DESCRIPTION,SEQ,STATUS) VALUES ('SETTLEMENT_STATUS_PROCESSING','SETTLEMENT_STATUS','PROCESSING','结算中','结算中',2,'A'); |
| | | INSERT INTO t_code_value(ID,TYPE_CODE,VALUE,LABEL,DESCRIPTION,SEQ,STATUS) VALUES ('SETTLEMENT_STATUS_FAILED','SETTLEMENT_STATUS','FAILED','结算失败','结算失败',3,'A'); |
| | | INSERT INTO t_code_value(ID,TYPE_CODE,VALUE,LABEL,DESCRIPTION,SEQ,STATUS) VALUES ('SETTLEMENT_STATUS_COMPLETED','SETTLEMENT_STATUS','COMPLETED','结算成功','结算成功',4,'A'); |