| 
					
				 | 
			
			
				@@ -1,15 +1,18 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.zanxiang.sdk.service.Impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alipay.easysdk.kernel.util.Signer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zanxiang.common.enums.CpStatusEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zanxiang.common.enums.OrderStateEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zanxiang.common.enums.ResEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zanxiang.common.utils.MD5Util; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zanxiang.common.utils.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zanxiang.mybatis.entity.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zanxiang.sdk.common.util.HttpUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zanxiang.sdk.domain.dto.PlatformOrderDTO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.zanxiang.sdk.domain.mapper.OrderCompleteMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zanxiang.sdk.domain.mapper.OrderCompleteCreateMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zanxiang.sdk.service.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.Logger; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20,8 +23,10 @@ import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.time.LocalDateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.time.ZoneId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Locale; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Objects; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.TreeMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 订单履约逻辑 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -32,7 +37,7 @@ import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Component 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Slf4j 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Transactional(rollbackFor = {RuntimeException.class, Exception.class}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class PerformOrderServiceImpl implements PerformOrderService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     protected final Logger logger = LoggerFactory.getLogger(PlatformOrderServiceImpl.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43,22 +48,19 @@ public class PerformOrderServiceImpl implements PerformOrderService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private LogPayCpService logPayCpService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private UserService userService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private GamePayWayService gamePayWayService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private OrderCompleteCreateMapper orderCompleteMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private PayMerchantService payMerchantService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private GameUserRoleService gameUserRoleService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private GameUserRoleService gameUserRoleService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private GameUserService gameUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private UserExtService userExtService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private UserService userService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private OrderCompleteMapper orderCompleteMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private OrderCompleteService orderCompleteService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public Boolean pushCp(PlatformOrderDTO orderInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (orderInfo.getCpStatus() == CpStatusEnum.SUCCESS.getCode()) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -116,121 +118,113 @@ public class PerformOrderServiceImpl implements PerformOrderService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logPayCpService.save(logPayCp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.error("订单:{} 通知cp方失败 e:{}", orderId, e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public Boolean createOrderComplete(PlatformOrderDTO orderInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        OrderComplete orderComplete = new OrderComplete(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setOrderId(Long.valueOf(orderInfo.getId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setGameId(StringUtils.isNotEmpty(orderInfo.getGameId()) ? Long.valueOf(orderInfo.getGameId()) : null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setOrderDate(orderInfo.getCreateTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setCpOrderId(StringUtils.isNotEmpty(orderInfo.getCpOrderId()) ? orderInfo.getCpOrderId() : ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setMerchantOrderNo(orderInfo.getMerchantOrderNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setUserId(StringUtils.isNotEmpty(orderInfo.getUserId()) ? Long.valueOf(orderInfo.getUserId()) : null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setCpId(StringUtils.isNotEmpty(orderInfo.getCpId()) ? Long.valueOf(orderInfo.getCpId()) : null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setProductId(orderInfo.getProductId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setProductName(orderInfo.getProductName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setOrderAmount(orderInfo.getAmount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setRealAmount(orderInfo.getRealAmount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setIsSwitch(orderInfo.getIsSwitch()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setPayTime(orderInfo.getPayTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setLastCpNotifyTime(orderInfo.getLastCpNotifyTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setStatus(orderInfo.getStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setCpStatus(orderInfo.getCpStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setIsDelete(orderInfo.getIsDelete()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setChannel(orderInfo.getChannel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setCreateTime(orderInfo.getCreateTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setEndTime(orderInfo.getEndTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setPayDevice(orderInfo.getPayDevice()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setGameRoleId(orderInfo.getRoleId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        /*-------支付那一刻系统------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setFromDevice(orderInfo.getFromDevice()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //todo 获取游戏信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setGameName(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setGameCategory(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setGameRegional(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setGameLevel(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setGameVip(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (StringUtils.isNotEmpty(orderInfo.getRoleId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            GameUserRole userRole = gameUserRoleService.getOne(new QueryWrapper<GameUserRole>().lambda().eq(GameUserRole::getRoleId, orderInfo.getRoleId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!Objects.isNull(userRole)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                orderComplete.setGameRegional(userRole.getRegionalName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                orderComplete.setGameLevel(userRole.getRoleLevel() != null ? String.valueOf(userRole.getRoleLevel()) : null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                orderComplete.setGameVip(userRole.getRoleVipLevel() != null ? String.valueOf(userRole.getRoleVipLevel()) : null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            OrderComplete orderComplete = orderCompleteMapper.info(orderInfo.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderComplete.setOrderDate(orderInfo.getCreateTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //todo 推广相关信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderComplete.setAgentId(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderComplete.setAgentAccount(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderComplete.setAgentMedia(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderComplete.setAgentAdvert(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //todo 广告通知状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderComplete.setAdvertNotifyStatus(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderComplete.setAdvertNotifyType(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            OrderComplete complete = orderCompleteService.getOne(new LambdaQueryWrapper<OrderComplete>().eq(OrderComplete::getOrderId, orderInfo.getId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (Objects.isNull(complete)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                orderCompleteMapper.insert(orderComplete); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("订单:{} 生成宽表数据成功", orderInfo.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                OrderComplete pa = new OrderComplete(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                pa.setOrderId(complete.getOrderId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                orderCompleteService.update(pa, new UpdateWrapper<OrderComplete>().setEntity(orderComplete)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("订单:{} 宽表数据更新成功", orderInfo.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.error("订单:{} 生成宽表数据失败 e:{}", orderInfo.getId(), e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //todo 获取玩家账号信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setUserAccount(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setUserRegisterTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (StringUtils.isNotEmpty(orderInfo.getUserId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            User userInfo = userService.getById(orderInfo.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!Objects.isNull(userInfo)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                orderComplete.setUserAccount(userInfo.getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                orderComplete.setUserRegisterTime(userInfo.getCreateTime() != null ? Date.from(userInfo.getCreateTime().atZone(ZoneId.systemDefault()).toInstant()) : null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Boolean checkIsFirstRecharge(PlatformOrderDTO orderInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Order one = platformOrderService.getOne(new QueryWrapper<Order>().lambda().eq(Order::getUserId, orderInfo.getUserId()).ne(Order::getId, orderInfo.getId()).last("limit 1")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (Objects.isNull(one)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Order order = new Order(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                order.setId(order.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                order.setIsFirstRecharge(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                platformOrderService.updateById(order); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("订单:{} 验证订单是否为首充成功", orderInfo.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.error("订单:{} 验证订单是否为首充失败 e:{}", orderInfo.getId(), e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //todo 注册游戏信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setUserRegisterGameId(0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setUserRegisterGame(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setUserRegisterGameCategory(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setUserRegisterChannel(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (StringUtils.isNotEmpty(orderInfo.getUserId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            UserExt userExt = userExtService.getById(orderInfo.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!Objects.isNull(userExt)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                orderComplete.setUserRegisterGameId(userExt.getRegGameId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                orderComplete.setUserRegisterChannel(userExt.getRegFrom()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Boolean userRechargeTotal(PlatformOrderDTO orderInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //订单取消情况 做减法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            float amount = orderInfo.getAmount().floatValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int num = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (orderInfo.getStatus().equals(OrderStateEnum.CANCEL.getCode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                amount = -amount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                num = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //todo 推广相关信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setAgentId(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setAgentAccount(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setAgentMedia(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setAgentAdvert(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //todo 支付相关信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setPayWayId(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setPayWay(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setMerchantNo(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setMerchantName(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (StringUtils.isNotEmpty(orderInfo.getGamePaywayId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            GamePayWay gamePayWay = gamePayWayService.getInfo(orderInfo.getGamePaywayId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!Objects.isNull(gamePayWay)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                orderComplete.setPayWayId(gamePayWay.getPayWayId() > 0 ? String.valueOf(gamePayWay.getPayWayId()) : null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                orderComplete.setPayWay(gamePayWay.getPayWayName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (!Objects.isNull(gamePayWay.getPayMerchantId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    PayMerchant payMerchant = payMerchantService.getById(gamePayWay.getPayMerchantId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (!Objects.isNull(payMerchant)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        orderComplete.setMerchantNo(payMerchant.getMerchantNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        orderComplete.setMerchantName(payMerchant.getMerchantName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //游戏用户角色统计更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (StringUtils.isNotEmpty(orderInfo.getRoleId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GameUserRole gameUserRole = new GameUserRole(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gameUserRole.setRoleId(orderInfo.getRoleId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gameUserRoleService.update(gameUserRole, new UpdateWrapper<GameUserRole>().lambda() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .set(GameUserRole::getLastRechargeTime, orderInfo.getPayTime()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .setSql("recharge_count=recharge_count+" + num) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .setSql("recharge_money=recharge_money+" + amount) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .setEntity(gameUserRole) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("订单:{} 用户玩家角色RoleId为空,不进行gameUserRole充值统计汇总", orderInfo.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //游戏用户统计更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (StringUtils.isNotEmpty(orderInfo.getMgUserId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GameUser gameUser = new GameUser(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gameUser.setId(Long.valueOf(orderInfo.getMgUserId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gameUserService.update(gameUser, new UpdateWrapper<GameUser>().lambda() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .set(GameUser::getLastRechargeTime, orderInfo.getPayTime()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .setSql("recharge_count=recharge_count+" + num) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .setSql("recharge_money=recharge_money+" + amount) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .setEntity(gameUser) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("订单:{} 用户玩家MgUserId为空,不进行gameUser充值统计汇总", orderInfo.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //用户统计更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (StringUtils.isNotEmpty(orderInfo.getUserId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                User user = new User(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                user.setId(Long.valueOf(orderInfo.getUserId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                userService.update(user, new UpdateWrapper<User>().lambda() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .set(User::getLastRechargeTime, orderInfo.getPayTime()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .setSql("recharge_count=recharge_count+" + num) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .setSql("recharge_money=recharge_money+" + amount) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .setEntity(user) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("订单:{} 用户UserId为空,不进行User充值统计汇总", orderInfo.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.error("订单:{} 用户充值统计逻辑操作失败 e:{}", orderInfo.getId(), e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //todo 是否首充单独更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setIsFirstRecharge(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //todo 广告通知状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setAdvertNotifyStatus(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        orderComplete.setAdvertNotifyType(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |