| | |
| | | } |
| | | |
| | | /** |
| | | * 补扣 |
| | | * |
| | | * 补扣、反写 |
| | | * @param po |
| | | * @param bindingResult |
| | | * @return |
| | |
| | | * clientId 农户编号(非传入参数,由cardNum反查) |
| | | * cardNum 水卡编号 |
| | | * money 卡片余额 |
| | | * refund 补扣余额 |
| | | * refund 补扣余额/反写金额 |
| | | * remarks 备注 |
| | | * operator 操作人编号 |
| | | * refundTime 补扣时间 |
| | | * operateType 操作类型:1-补扣,2-反写 |
| | | */ |
| | | Long cardId = 0L; |
| | | Long clientId = 0L; |
| | |
| | | Float refund = po.getRefund(); |
| | | String remarks = po.getRemarks(); |
| | | Long operator = po.getOperator(); |
| | | Date refundTime = new Date(); |
| | | Integer operateType = po.getOperateType(); |
| | | |
| | | // 验证水卡状态是否支持当前操作 |
| | | String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse(""); |
| | |
| | | SeCardOperate seCardOperate = new SeCardOperate(); |
| | | seCardOperate.setCardId(cardId); |
| | | seCardOperate.setClientId(clientId); |
| | | if(operateType == 1) { |
| | | // 补扣 |
| | | seCardOperate.setMoney(money); |
| | | seCardOperate.setRefundAmount(refund); |
| | | seCardOperate.setOperateType(OperateTypeENUM.REFUND.getCode()); |
| | | }else { |
| | | // 反写 |
| | | seCardOperate.setMoney(refund); |
| | | seCardOperate.setOperateType(OperateTypeENUM.WRITE_BACK.getCode()); |
| | | } |
| | | //seCardOperate.setMoney(money); |
| | | seCardOperate.setRefundAmount(refund); |
| | | //seCardOperate.setOperateType(OperateTypeENUM.REFUND.getCode()); |
| | | seCardOperate.setRemarks(remarks); |
| | | seCardOperate.setOperator(operator); |
| | | seCardOperate.setOperateDt(refundTime); |
| | | seCardOperate.setOperateDt(new Date()); |
| | | seCardOperate.setOperateValid((byte) 1); |
| | | Long rec = Optional.ofNullable(cardOperateSv.add(seCardOperate)).orElse(0L); |
| | | if (rec == 0) { |
| | | if(operateType == 1) { |
| | | return BaseResponseUtils.buildErrorMsg(SellResultCode.REFUND_FAIL_WRITE_REFUND_ERROR.getMessage()); |
| | | }else { |
| | | return BaseResponseUtils.buildErrorMsg(SellResultCode.WRITE_BACK_FAIL_WRITE_BACK_ERROR.getMessage()); |
| | | } |
| | | } |
| | | |
| | | return BaseResponseUtils.buildSuccess(true); |
| | |
| | | cardOperateSv.turnOperateValidByCardId(cardId, operateType); |
| | | cardOperateSv.updateRefund(operateType, cardId); |
| | | } |
| | | else if (operateType == 10) { |
| | | /** |
| | | * 反写操作执行通知 |
| | | * 1.操作记录改为有效 |
| | | * 2.修改水卡表的操作信息及余额-从操作记录中取money |
| | | * 说明:返还操作记录中的money就是反写金额 |
| | | */ |
| | | cardOperateSv.turnOperateValidByCardId(cardId, operateType); |
| | | cardOperateSv.updateWriteBack(operateType, cardId); |
| | | } |
| | | |
| | | return BaseResponseUtils.buildSuccess(); |
| | | } |