| 
					
				 | 
			
			
				@@ -30,145 +30,143 @@ import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicChargeInfo>  implements SporadicChargeInfoService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private SporadicChargeInfoDao sporadicChargeInfoDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private StudentPaymentOrderDao studentPaymentOrderDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private SysUserFeignService sysUserFeignService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private SysMessageService sysMessageService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private OrganizationDao organizationDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private TeacherDao teacherDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private SysUserCashAccountService sysUserCashAccountService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private SysUserCashAccountDetailService sysUserCashAccountDetailService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicChargeInfo> implements SporadicChargeInfoService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public BaseDAO<Integer, SporadicChargeInfo> getDAO() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return sporadicChargeInfoDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private SporadicChargeInfoDao sporadicChargeInfoDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private StudentPaymentOrderDao studentPaymentOrderDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private SysUserFeignService sysUserFeignService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private SysMessageService sysMessageService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private OrganizationDao organizationDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private TeacherDao teacherDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private SysUserCashAccountService sysUserCashAccountService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private SysUserCashAccountDetailService sysUserCashAccountDetailService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public Boolean renewForCallback(StudentPaymentOrder studentPaymentOrder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		int updateCount = studentPaymentOrderDao.update(studentPaymentOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(updateCount <= 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			throw new BizException("订单更新失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Integer userId = studentPaymentOrder.getUserId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		SysUser sysUser = sysUserFeignService.queryUserById(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		SporadicChargeInfo info = sporadicChargeInfoDao.get(Integer.parseInt(studentPaymentOrder.getMusicGroupId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<Integer,String> map = new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		map.put(userId,sysUser.getPhone()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<Integer,String> yimei = new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		map.put(userId,userId.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//活动,增加课程余额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if(info.getChargeType().equals("6")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				sysUserCashAccountService.appendCourseBalance(userId,studentPaymentOrder.getActualAmount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public BaseDAO<Integer, SporadicChargeInfo> getDAO() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return sporadicChargeInfoDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//插入交易明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			BigDecimal amount = studentPaymentOrder.getActualAmount(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if (amount != null && amount.compareTo(BigDecimal.ZERO) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				Date nowDate = new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//充值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				SysUserCashAccountDetail rechargeDetail = new SysUserCashAccountDetail(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				rechargeDetail.setAmount(amount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				rechargeDetail.setBalance(cashAccount.getBalance().add(amount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				rechargeDetail.setComment("缴费前充值"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				rechargeDetail.setCreateTime(nowDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				rechargeDetail.setStatus(DealStatusEnum.SUCCESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				rechargeDetail.setTransNo(studentPaymentOrder.getTransNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				rechargeDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				rechargeDetail.setUpdateTime(nowDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				rechargeDetail.setUserId(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				rechargeDetail.setComAmount(studentPaymentOrder.getComAmount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				sysUserCashAccountDetailService.insert(rechargeDetail); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Boolean renewForCallback(StudentPaymentOrder studentPaymentOrder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int updateCount = studentPaymentOrderDao.update(studentPaymentOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (updateCount <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new BizException("订单更新失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Integer userId = studentPaymentOrder.getUserId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SysUser sysUser = sysUserFeignService.queryUserById(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SporadicChargeInfo info = sporadicChargeInfoDao.get(Integer.parseInt(studentPaymentOrder.getMusicGroupId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Integer, String> map = new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        map.put(userId, sysUser.getPhone()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Integer, String> yimei = new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        map.put(userId, userId.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //活动,增加课程余额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (info.getChargeType().equals("6")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sysUserCashAccountService.appendCourseBalance(userId, studentPaymentOrder.getActualAmount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//缴费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				SysUserCashAccountDetail paymentDetail = new SysUserCashAccountDetail(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				paymentDetail.setAmount(amount.negate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				paymentDetail.setBalance(cashAccount.getBalance()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				paymentDetail.setComment(info.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				paymentDetail.setCreateTime(nowDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				paymentDetail.setStatus(DealStatusEnum.SUCCESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				paymentDetail.setTransNo(studentPaymentOrder.getTransNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				paymentDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				paymentDetail.setUpdateTime(nowDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				paymentDetail.setUserId(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if (studentPaymentOrder.getComAmount() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					rechargeDetail.setComAmount(studentPaymentOrder.getComAmount().negate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount().negate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //插入交易明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BigDecimal amount = studentPaymentOrder.getActualAmount(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Date nowDate = new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //充值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SysUserCashAccountDetail rechargeDetail = new SysUserCashAccountDetail(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rechargeDetail.setAmount(amount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rechargeDetail.setBalance(cashAccount.getBalance().add(amount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rechargeDetail.setComment("缴费前充值"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rechargeDetail.setCreateTime(nowDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rechargeDetail.setStatus(DealStatusEnum.SUCCESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rechargeDetail.setTransNo(studentPaymentOrder.getTransNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rechargeDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rechargeDetail.setUpdateTime(nowDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rechargeDetail.setUserId(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rechargeDetail.setComAmount(studentPaymentOrder.getComAmount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sysUserCashAccountDetailService.insert(rechargeDetail); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				sysUserCashAccountDetailService.insert(paymentDetail); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //缴费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SysUserCashAccountDetail paymentDetail = new SysUserCashAccountDetail(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            paymentDetail.setAmount(amount.negate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            paymentDetail.setBalance(cashAccount.getBalance()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            paymentDetail.setComment(info.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            paymentDetail.setCreateTime(nowDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            paymentDetail.setStatus(DealStatusEnum.SUCCESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            paymentDetail.setTransNo(studentPaymentOrder.getTransNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            paymentDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            paymentDetail.setUpdateTime(nowDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            paymentDetail.setUserId(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (studentPaymentOrder.getComAmount() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rechargeDetail.setComAmount(studentPaymentOrder.getComAmount().negate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount().negate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_SPORADIC_PAYMENT_SUCCESS, map, null, 0, "1", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					studentPaymentOrder.getActualAmount(),info.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_SPORADIC_PAYMENT_SUCCESS, yimei, null, 0, "1", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					studentPaymentOrder.getActualAmount(),info.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if(studentPaymentOrder.getBalancePaymentAmount() != null && studentPaymentOrder.getBalancePaymentAmount().compareTo(BigDecimal.ZERO) >0 ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(),PlatformCashAccountDetailTypeEnum.REFUNDS,info.getTitle()+"支付失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sysUserCashAccountDetailService.insert(paymentDetail); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_SPORADIC_PAYMENT_FAILED, map, null, 0,"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					studentPaymentOrder.getActualAmount(),info.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_SPORADIC_PAYMENT_FAILED, yimei, null, 0, "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					studentPaymentOrder.getActualAmount(),info.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_SPORADIC_PAYMENT_SUCCESS, map, null, 0, "1", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    studentPaymentOrder.getActualAmount(), info.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_SPORADIC_PAYMENT_SUCCESS, yimei, null, 0, "1", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    studentPaymentOrder.getActualAmount(), info.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (studentPaymentOrder.getBalancePaymentAmount() != null && studentPaymentOrder.getBalancePaymentAmount().compareTo(BigDecimal.ZERO) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, info.getTitle() + "支付失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public PageInfo queryDetailPage(SporadicChargeInfoQueryInfo queryInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		PageInfo<SporadicChargeInfo> pageInfo = queryPage(queryInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<SporadicChargeInfo> rows = pageInfo.getRows(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(rows != null && rows.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Set<Integer> organIds = rows.stream().map(e -> e.getOrganId()).collect(Collectors.toSet()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			List<Integer> userIds = rows.stream().map(e -> e.getUserId()).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Set<Integer> operatorIds = rows.stream().map(e -> e.getOperatorId()).collect(Collectors.toSet()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Map<Integer,String> organNames = MapUtil.convertMybatisMap(organizationDao.findOrganNameMap(StringUtils.join(organIds,","))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Map<Integer,String> operatorNames = MapUtil.convertMybatisMap(teacherDao.queryNameByIds(StringUtils.join(operatorIds,","))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Map<Integer,String> userNames = MapUtil.convertMybatisMap(teacherDao.queryUsernameByIds(userIds)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			rows.forEach(e->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				e.setOrganName(organNames.get(e.getOrganId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(e.getUserId() != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					e.setUserName(userNames.get(e.getUserId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				e.setOperatorName(operatorNames.get(e.getOperatorId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return pageInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_SPORADIC_PAYMENT_FAILED, map, null, 0, "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    studentPaymentOrder.getActualAmount(), info.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_SPORADIC_PAYMENT_FAILED, yimei, null, 0, "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    studentPaymentOrder.getActualAmount(), info.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public SporadicChargeInfo getDetail(Integer id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		SporadicChargeInfo sporadicChargeInfo = sporadicChargeInfoDao.get(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(sporadicChargeInfo.getUserId() != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			SysUser sysUser = sysUserFeignService.queryUserById(sporadicChargeInfo.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			sporadicChargeInfo.setUserName(sysUser.getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return sporadicChargeInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public PageInfo queryDetailPage(SporadicChargeInfoQueryInfo queryInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PageInfo<SporadicChargeInfo> pageInfo = queryPage(queryInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<SporadicChargeInfo> rows = pageInfo.getRows(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (rows != null && rows.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Set<Integer> organIds = rows.stream().map(e -> e.getOrganId()).collect(Collectors.toSet()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<Integer> userIds = rows.stream().map(e -> e.getUserId()).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Set<Integer> operatorIds = rows.stream().map(e -> e.getOperatorId()).collect(Collectors.toSet()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Map<Integer, String> organNames = MapUtil.convertMybatisMap(organizationDao.findOrganNameMap(StringUtils.join(organIds, ","))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Map<Integer, String> operatorNames = MapUtil.convertMybatisMap(teacherDao.queryNameByIds(StringUtils.join(operatorIds, ","))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Map<Integer, String> userNames = MapUtil.convertMybatisMap(teacherDao.queryUsernameByIds(userIds)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rows.forEach(e -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                e.setOrganName(organNames.get(e.getOrganId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (e.getUserId() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    e.setUserName(userNames.get(e.getUserId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                e.setOperatorName(operatorNames.get(e.getOperatorId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return pageInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public SporadicChargeInfo findByOrganIdAndType(Integer organId, Integer type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return sporadicChargeInfoDao.findByOrganIdAndType(organId,type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public SporadicChargeInfo getDetail(Integer id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SporadicChargeInfo sporadicChargeInfo = sporadicChargeInfoDao.get(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (sporadicChargeInfo.getUserId() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SysUser sysUser = sysUserFeignService.queryUserById(sporadicChargeInfo.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sporadicChargeInfo.setUserName(sysUser.getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return sporadicChargeInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public SporadicChargeInfo findByOrganIdAndType(Integer organId, Integer type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return sporadicChargeInfoDao.findByOrganIdAndType(organId, type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |