|  | @@ -247,10 +247,9 @@ public class GameBackLogMediaSdkServiceImpl extends ServiceImpl<GameBackLogMedia
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              //腾讯小游戏媒体SDK回传, 返回的单位是分, 乘以100
 | 
	
		
			
				|  |  |              if (Objects.equals(game.getCategory(), GameCategoryEnum.CATEGORY_WX_APPLET.getId())) {
 | 
	
		
			
				|  |  | -                //订单未支付或者已回传
 | 
	
		
			
				|  |  | -                if (this.orderPayAndBackCheck(platformOrderDTO)) {
 | 
	
		
			
				|  |  | +                if (this.orderPayAndBackCheck(platformOrderDTO, param.getMipeiSuces())) {
 | 
	
		
			
				|  |  |                      resultMap.put("callBack", Boolean.FALSE);
 | 
	
		
			
				|  |  | -                    resultMap.put("backMsg", "微信小游戏投放腾讯广告或巨量广告, 测试账号, 订单未支付或已回传");
 | 
	
		
			
				|  |  | +                    resultMap.put("backMsg", "测试账号, 订单未支付或者已回传");
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      int amount = platformOrderDTO.getAmount().multiply(new BigDecimal(100)).intValue();
 | 
	
		
			
				|  |  |                      resultMap.put("amount", Collections.singletonList(amount));
 | 
	
	
		
			
				|  | @@ -280,12 +279,29 @@ public class GameBackLogMediaSdkServiceImpl extends ServiceImpl<GameBackLogMedia
 | 
	
		
			
				|  |  |              resultMap.put("backMsg", "自然量微信小游戏, 新手引导回传无法判定, 不回传");
 | 
	
		
			
				|  |  |              return Tuple2.with(Boolean.FALSE, null);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        //自然量微信小游戏, 全量回传
 | 
	
		
			
				|  |  | +        if (Objects.equals(param.getCallBackTypeEnum(), CallBackTypeEnum.CALL_BACK_PAY_ORDER)) {
 | 
	
		
			
				|  |  | +            PlatformOrderDTO platformOrderDTO = orderService.getByOrderId(param.getOrderId());
 | 
	
		
			
				|  |  | +            if (this.orderPayAndBackCheck(platformOrderDTO, param.getMipeiSuces())) {
 | 
	
		
			
				|  |  | +                resultMap.put("callBack", Boolean.FALSE);
 | 
	
		
			
				|  |  | +                resultMap.put("backMsg", "微信小游戏自然量订单未支付或者已回传");
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                resultMap.put("callBack", Boolean.TRUE);
 | 
	
		
			
				|  |  | +                resultMap.put("backMsg", "微信小游戏自然量订单全量回传");
 | 
	
		
			
				|  |  | +                resultMap.put("amount", Collections.singletonList(platformOrderDTO.getAmount().longValue() * 100));
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return Tuple2.with(Boolean.FALSE, null);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          //其他回传, 还是走判断
 | 
	
		
			
				|  |  |          return Tuple2.with(Boolean.TRUE, null);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private boolean orderPayAndBackCheck(PlatformOrderDTO platformOrderDTO) {
 | 
	
		
			
				|  |  | -        //订单未支付或者已回传
 | 
	
		
			
				|  |  | +    private boolean orderPayAndBackCheck(PlatformOrderDTO platformOrderDTO, Boolean miPaySuccess) {
 | 
	
		
			
				|  |  | +        //未上线新版本, 直接不检测, 或者是米大师的成功回调, 直接信任
 | 
	
		
			
				|  |  | +        if (miPaySuccess == null || miPaySuccess) {
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        //订单是否需要回传, 不需要回传直接返回true
 | 
	
		
			
				|  |  |          return !Objects.equals(platformOrderDTO.getStatus(), OrderStatusEnum.SUCCESS_PAY.getValue())
 | 
	
		
			
				|  |  |                  || super.count(new LambdaQueryWrapper<GameBackLogMediaSdk>()
 | 
	
		
			
				|  |  |                  .eq(GameBackLogMediaSdk::getGameId, platformOrderDTO.getGameId())
 | 
	
	
		
			
				|  | @@ -337,7 +353,8 @@ public class GameBackLogMediaSdkServiceImpl extends ServiceImpl<GameBackLogMedia
 | 
	
		
			
				|  |  |                  resultMap.put("backMsg", tuple2.second);
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case CALL_BACK_PAY_ORDER:
 | 
	
		
			
				|  |  | -                Tuple3<Boolean, List<Long>, String> tuple3 = this.callBackOrderCheck(param.getOrderId(), user, agent);
 | 
	
		
			
				|  |  | +                Tuple3<Boolean, List<Long>, String> tuple3 = this.callBackOrderCheck(param.getOrderId(),
 | 
	
		
			
				|  |  | +                        param.getMipeiSuces(), user, agent);
 | 
	
		
			
				|  |  |                  resultMap.put("callBack", tuple3.first);
 | 
	
		
			
				|  |  |                  resultMap.put("amount", tuple3.second);
 | 
	
		
			
				|  |  |                  resultMap.put("backMsg", tuple3.third);
 | 
	
	
		
			
				|  | @@ -490,7 +507,7 @@ public class GameBackLogMediaSdkServiceImpl extends ServiceImpl<GameBackLogMedia
 | 
	
		
			
				|  |  |          return Tuple2.with(Boolean.TRUE, "执行新手引导回传");
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private Tuple3<Boolean, List<Long>, String> callBackOrderCheck(String orderId, User user, Agent agent) {
 | 
	
		
			
				|  |  | +    private Tuple3<Boolean, List<Long>, String> callBackOrderCheck(String orderId, Boolean miPaySuccess, User user, Agent agent) {
 | 
	
		
			
				|  |  |          Boolean doBack = Boolean.FALSE;
 | 
	
		
			
				|  |  |          List<Long> amount = null;
 | 
	
		
			
				|  |  |          String backMsg = null;
 | 
	
	
		
			
				|  | @@ -509,8 +526,7 @@ public class GameBackLogMediaSdkServiceImpl extends ServiceImpl<GameBackLogMedia
 | 
	
		
			
				|  |  |          if (Objects.equals(agent.getAccountType(), AccountTypeEnum.TENCENT_MINI_GAME.getValue())
 | 
	
		
			
				|  |  |                  || Objects.equals(agent.getAccountType(), AccountTypeEnum.BYTE.getValue())) {
 | 
	
		
			
				|  |  |              PlatformOrderDTO platformOrderDTO = orderService.getByOrderId(orderId);
 | 
	
		
			
				|  |  | -            //订单未支付成功或者已经回传, 不执行回传
 | 
	
		
			
				|  |  | -            if (this.orderPayAndBackCheck(platformOrderDTO)) {
 | 
	
		
			
				|  |  | +            if (this.orderPayAndBackCheck(platformOrderDTO, miPaySuccess)) {
 | 
	
		
			
				|  |  |                  doBack = Boolean.FALSE;
 | 
	
		
			
				|  |  |                  backMsg = "微信小游戏投放腾讯广告或巨量广告, 订单未支付或已回传";
 | 
	
		
			
				|  |  |              } else {
 |