|  |  | 
 |  |  |         seCardOperate.setClientId(clientId); | 
 |  |  |         seCardOperate.setMoney(po.getBalance()); | 
 |  |  |         seCardOperate.setRefundAmount(po.getSupplementMoney()); | 
 |  |  |         seCardOperate.setOperateType(OperateTypeENUM.WRITE_BACK.getCode()); | 
 |  |  |         seCardOperate.setOperateType(OperateTypeENUM.SUPPLEMENT.getCode()); | 
 |  |  |         seCardOperate.setRemarks(po.getRemarks()); | 
 |  |  |         seCardOperate.setOperator(po.getOperator()); | 
 |  |  |         seCardOperate.setOperateDt(operateTime); | 
 |  |  | 
 |  |  |         Integer operateType = po.getOperateType(); | 
 |  |  |         String orderNumber = po.getOrderNumber(); | 
 |  |  |  | 
 |  |  |         // 先检查是否为管理卡 | 
 |  |  |         if (operateType.equals(OperateTypeENUM.MANAGEMENT_CARD_WRITE.getCode().intValue())) { | 
 |  |  |             // 管理类型卡写卡逻辑 | 
 |  |  |             return handleManagementCardWrite(cardAddr, orderNumber); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         // 处理农户卡逻辑 | 
 |  |  |         Long cardId = seClientCardMapper.getCardIdByAddr(cardAddr); | 
 |  |  |         if (cardId == null || cardId.equals(0)) { | 
 |  |  |             map.put("msg", "您指定的水卡不存在"); | 
 |  |  |             return map; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         if (operateType == 1) { | 
 |  |  |         if (operateType.equals(OperateTypeENUM.ACTIVE.getCode().intValue())) { | 
 |  |  |             /** | 
 |  |  |              * 开卡操作执行通知 | 
 |  |  |              * 1.依据订单号将无效状态的操作记录改为有效 | 
 |  |  | 
 |  |  |                 turnRechargeHistoryValidByOrderNumber(orderNumber); | 
 |  |  |                 updateCard(cardId, orderNumber + "p"); | 
 |  |  |             } | 
 |  |  |         } else if (operateType == 2) { | 
 |  |  |         } else if (operateType.equals(OperateTypeENUM.RECHARGE.getCode().intValue())) { | 
 |  |  |             /** | 
 |  |  |              * 充值操作执行通知 | 
 |  |  |              * 1. 操作记录改为有效 | 
 |  |  | 
 |  |  |             turnOperateValidByOrderNumber(orderNumber + "p"); | 
 |  |  |             turnRechargeHistoryValidByOrderNumber(orderNumber); | 
 |  |  |             updateCard(cardId, orderNumber + "p"); | 
 |  |  |         } else if (operateType == 3) { | 
 |  |  |         } else if (operateType.equals(OperateTypeENUM.CANCEL.getCode().intValue())) { | 
 |  |  |             /** | 
 |  |  |              * 销卡操作执行通知 | 
 |  |  |              * 1. 操作记录改为有效 | 
 |  |  | 
 |  |  |                 return map; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         } else if (operateType == 4) { | 
 |  |  |         } else if (operateType.equals(OperateTypeENUM.REISSUE.getCode().intValue())) { | 
 |  |  |             /** | 
 |  |  |              * 补卡操作执行通知 | 
 |  |  |              * 1. 新水卡记录改为有效 | 
 |  |  | 
 |  |  |                 map.put("msg", "补卡回调失败"); | 
 |  |  |                 return map; | 
 |  |  |             } | 
 |  |  |         } else if (operateType == 5) { | 
 |  |  |         } else if (operateType.equals(OperateTypeENUM.REFUND.getCode().intValue())) { | 
 |  |  |             /** | 
 |  |  |              * 补扣操作执行通知 | 
 |  |  |              * 1. 操作记录改为有效 | 
 |  |  | 
 |  |  |                 map.put("msg", "补扣回调失败"); | 
 |  |  |                 return map; | 
 |  |  |             } | 
 |  |  |         } else if (operateType == 6) { | 
 |  |  |         } else if (operateType.equals(OperateTypeENUM.SUPPLEMENT.getCode().intValue())) { | 
 |  |  |             /** | 
 |  |  |              * 返还操作执行通知 | 
 |  |  |              * 1. 操作记录改为有效 | 
 |  |  | 
 |  |  |         return map; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 处理管理类型卡写卡回调 | 
 |  |  |      *  | 
 |  |  |      * @param cardAddr    卡地址 | 
 |  |  |      * @param orderNumber 订单号 | 
 |  |  |      * @return 处理结果 | 
 |  |  |      */ | 
 |  |  |     private Map<String, Object> handleManagementCardWrite(String cardAddr, String orderNumber) { | 
 |  |  |         Map<String, Object> map = new HashMap<>(); | 
 |  |  |         map.put("success", false); | 
 |  |  |         map.put("content", null); | 
 |  |  |  | 
 |  |  |         try { | 
 |  |  |             // 根据卡地址和订单号查找管理卡 | 
 |  |  |             SeManagementCard managementCard = seManagementCardMapper.selectOne( | 
 |  |  |                     com.baomidou.mybatisplus.core.toolkit.Wrappers.<SeManagementCard>lambdaQuery() | 
 |  |  |                             .eq(SeManagementCard::getCardAddr, cardAddr) | 
 |  |  |                             .eq(SeManagementCard::getOrderNo, orderNumber)); | 
 |  |  |  | 
 |  |  |             if (managementCard == null) { | 
 |  |  |                 map.put("msg", "未找到对应的管理卡记录"); | 
 |  |  |                 return map; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             // 更新管理卡状态为正常 | 
 |  |  |             managementCard.setState(ManagementCardStateENUM.NORMAL.getCode()); | 
 |  |  |  | 
 |  |  |             int updateResult = seManagementCardMapper.updateByPrimaryKeySelective(managementCard); | 
 |  |  |             if (updateResult > 0) { | 
 |  |  |                 map.put("success", true); | 
 |  |  |                 map.put("msg", "管理卡写卡完成,状态已更新为正常"); | 
 |  |  |             } else { | 
 |  |  |                 map.put("msg", "管理卡状态更新失败"); | 
 |  |  |             } | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             log.error("处理管理卡写卡回调异常", e); | 
 |  |  |             map.put("msg", "处理管理卡写卡回调时发生异常:" + e.getMessage()); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return map; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // 根据订单号将操作记录改为有效 | 
 |  |  |     public Integer turnOperateValidByOrderNumber(String orderNumber) { | 
 |  |  |         return seCardOperateMapper.turnOperateValidByOrderNumber(orderNumber); |