| 
					
				 | 
			
			
				@@ -1,13 +1,17 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.gree.mall.miniapp.logic.user; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import cn.hutool.core.date.DateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hutool.core.date.DateUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.baomidou.mybatisplus.core.toolkit.IdWorker; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gree.mall.miniapp.commonmapper.LockQueryMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gree.mall.miniapp.constant.Constant; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.miniapp.enums.TransactionTypeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gree.mall.miniapp.exception.RemoteServiceException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gree.mall.miniapp.helper.ResponseHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gree.mall.miniapp.plus.entity.OrderInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gree.mall.miniapp.plus.entity.User; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gree.mall.miniapp.plus.entity.UserCompanyCredit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gree.mall.miniapp.plus.entity.UserCompanyCreditBillItem; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gree.mall.miniapp.plus.service.UserCompanyCreditService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.RequiredArgsConstructor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -55,12 +59,27 @@ public class UserCompanyCreditLogic { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 throw new RemoteServiceException("商户授信额度不足"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            final DateTime curDate = DateUtil.date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 更新用户商户授信记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             userCompanyCreditService.lambdaUpdate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .set(UserCompanyCredit::getAvailableCredit, userCompanyCredit.getAvailableCredit().subtract(payAmount)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .set(UserCompanyCredit::getUpdateTime, DateUtil.date()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .set(UserCompanyCredit::getUpdateTime, curDate) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .eq(UserCompanyCredit::getId, userCompanyCredit.getId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .update(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 生成授信消费三级账明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            UserCompanyCreditBillItem item = new UserCompanyCreditBillItem(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setId(IdWorker.getIdStr()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .setOrderId(orderInfo.getOrderId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .setTransactionType(TransactionTypeEnum.CONSUMPTION.getKey()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .setDescription(TransactionTypeEnum.CONSUMPTION.getRemark()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .setCompanyWechatId(userCompanyCredit.getCompanyWechatId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .setCompanyWechatName(userCompanyCredit.getCompanyWechatName()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .setUserId(userCompanyCredit.getUserId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .setAmount(payAmount) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .setCreateTime(curDate) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .insert(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.txCallUnlock(obtain); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |