/** * 处理返回结果 1.如果返回结果表示操作异常,则撤消已有的操作:恢复用户表的数据状态(同步失败)、misc_order_relation 2.如果返回结果正常,则不需要任务操作 * * @param bean */ private void handleResponse(MiscRespBean bean) { if (bean == null) { log.error("[反向同步]:Misc返回的报文为空,无法正常处理!"); return; } if (!"0".equals(bean.getHRet())) // 同步失败 dao.changeStatusToFailure(bean); else // 同步成功 dao.cancelOrderLocal(userInfo); }
/** * 检查该用户记录是否需要同步到MISC服务器: * 1.对于(phone,stud1,tran),(phone,stud2,tran)的情况,当(phone,stud1,tran)退订,(phone,stud2,tran)没有退订时, * 只需要删除一条用户关系记录,不需要同步到MISC服务器。 * * @return */ private boolean needToSync() { // 对CP反向同步不做判断,直接同步 if (userInfo.getIsCp() == 1) return true; int i = dao.countByPhoneAndTran(userInfo); return i == 0 ? true : false; }
/** 直接在本地取消业务(也就是删除用户关系) */ private void cancelOrderLocal() { dao.cancelOrderLocal(userInfo); }