|  | @@ -221,7 +221,6 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //请求三方
 | 
	
		
			
				|  |  |          SysUser withdrawalUser = sysUserService.findUserById(build.getUserId());
 | 
	
		
			
				|  |  | -        Boolean flag = false;
 | 
	
		
			
				|  |  |          if (authOperaReq.getPass()) {
 | 
	
		
			
				|  |  |              //请求三方接口
 | 
	
		
			
				|  |  |              //交易流水号生成
 | 
	
	
		
			
				|  | @@ -234,14 +233,15 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
 | 
	
		
			
				|  |  |              if (withdraw.getStatus() && withdraw.getData()) {
 | 
	
		
			
				|  |  |                  build.setTradeStatus(TradeStatusEnum.pending);
 | 
	
		
			
				|  |  |                  build.setTransNo(transNo.toString());
 | 
	
		
			
				|  |  | -                flag = true;
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  build.setTradeStatus(TradeStatusEnum.failed);
 | 
	
		
			
				|  |  |                  build.setErrorMsg("请求三方接口返回失败");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        updateById(build);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          //修改系统中账户
 | 
	
		
			
				|  |  | -        if (!authOperaReq.getPass() || !flag) {
 | 
	
		
			
				|  |  | +        if (!authOperaReq.getPass()) {
 | 
	
		
			
				|  |  |              //审核不通过,账户解冻
 | 
	
		
			
				|  |  |              UserAccountRecordDto accountRecordDto = new UserAccountRecordDto(
 | 
	
		
			
				|  |  |                      build.getUserId(), build.getAmount(), InOrOutEnum.OUT, AccountBizTypeEnum.WITHDRAWAL,
 | 
	
	
		
			
				|  | @@ -250,8 +250,11 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
 | 
	
		
			
				|  |  |              accountRecordDto.setFrozenType(FrozenTypeEnum.FROZEN_BACK);
 | 
	
		
			
				|  |  |              accountRecordDto.setSaveRecord(false);
 | 
	
		
			
				|  |  |              userAccountService.accountChange(accountRecordDto);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //发生结算成功通知
 | 
	
		
			
				|  |  | +            unpassSend(build.getUserId(), build.getPhone(), authOperaReq.getReason());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        updateById(build);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
	
		
			
				|  | @@ -327,6 +330,18 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
 | 
	
		
			
				|  |  |              detail.setTradeNo(callback.getOrderNo());
 | 
	
		
			
				|  |  |              detail.setErrorCode(callback.getErrorCode());
 | 
	
		
			
				|  |  |              detail.setErrorMsg(callback.getErrorMsg());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //审核不通过,账户解冻
 | 
	
		
			
				|  |  | +            UserAccountRecordDto accountRecordDto = new UserAccountRecordDto(
 | 
	
		
			
				|  |  | +                    detail.getUserId(), detail.getAmount(), InOrOutEnum.OUT, AccountBizTypeEnum.WITHDRAWAL,
 | 
	
		
			
				|  |  | +                    detail.getId(), "老师结算", null
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +            accountRecordDto.setFrozenType(FrozenTypeEnum.FROZEN_BACK);
 | 
	
		
			
				|  |  | +            accountRecordDto.setSaveRecord(false);
 | 
	
		
			
				|  |  | +            userAccountService.accountChange(accountRecordDto);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //发生结算失败通知
 | 
	
		
			
				|  |  | +            unpassSend(detail.getUserId(), detail.getPhone(), "结算失败,请重新提交。");
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              return;
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -360,6 +375,16 @@ public class UserWithdrawalServiceImpl extends ServiceImpl<UserWithdrawalDao, Us
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private void unpassSend(Long userId, String phone, String reason) {
 | 
	
		
			
				|  |  | +        Map<Long, String> receivers = new HashMap<>();
 | 
	
		
			
				|  |  | +        receivers.put(userId, phone);
 | 
	
		
			
				|  |  | +        try {
 | 
	
		
			
				|  |  | +            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_WITHDRAW_UNPASS,
 | 
	
		
			
				|  |  | +                    receivers, null, 0, null, ClientEnum.TEACHER.getCode(), reason);
 | 
	
		
			
				|  |  | +        } catch (Exception e) {
 | 
	
		
			
				|  |  | +            log.error("老师结算极光消息推送异常,userId={}", userId);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /***
 | 
	
		
			
				|  |  |       * 入结算表
 |