Pārlūkot izejas kodu

回传逻辑变更

wcc 1 gadu atpakaļ
vecāks
revīzija
724e194a46

+ 46 - 0
game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/pojo/vo/GameBackPolicyRpcVO.java

@@ -0,0 +1,46 @@
+package com.zanxiang.game.back.base.pojo.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class GameBackPolicyRpcVO {
+
+    private Long id;
+
+    /**
+     * 回传策略名
+     */
+    private String backPolicyName;
+
+    /**
+     * 首充金额(小于等于指定金额)
+     */
+    private Long firstRechargeMoney;
+
+    /**
+     * 首充回传比例(例如:50%-->0.5)
+     */
+    private BigDecimal firstRechargeBackPercentage;
+
+    /**
+     * 大单金额(大于等于指定金额)
+     */
+    private Long bigRechargeMoney;
+
+    /**
+     * 大单回传比例(例如:50%-->0.5)
+     */
+    private BigDecimal bigRechargeBackPercentage;
+
+    /**
+     * 其他回传比例(例如:50%-->0.5)
+     */
+    private BigDecimal otherRechargeBackPercentage;
+
+    /**
+     * 降档级别
+     */
+    private Integer levelDown;
+}

+ 12 - 0
game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/rpc/IGameBackPolicyRpc.java

@@ -0,0 +1,12 @@
+package com.zanxiang.game.back.base.rpc;
+
+import com.zanxiang.game.back.base.pojo.vo.GameBackPolicyRpcVO;
+import com.zanxiang.module.util.pojo.ResultVO;
+
+import java.util.List;
+import java.util.Map;
+
+public interface IGameBackPolicyRpc {
+
+    ResultVO<Map<Long, GameBackPolicyRpcVO>> listByIds(List<Long> backPolicyIds);
+}

+ 43 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/rpc/impl/GameBackPolicyRpcImpl.java

@@ -0,0 +1,43 @@
+package com.zanxiang.game.back.serve.rpc.impl;
+
+import com.zanxiang.game.back.base.pojo.vo.GameBackPolicyRpcVO;
+import com.zanxiang.game.back.base.rpc.IGameBackPolicyRpc;
+import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
+import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
+import com.zanxiang.module.util.bean.BeanUtil;
+import com.zanxiang.module.util.pojo.ResultVO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+@Slf4j
+@DubboService
+public class GameBackPolicyRpcImpl implements IGameBackPolicyRpc {
+    @Autowired
+    private IGameBackPolicyService gameBackPolicyService;
+
+    @Override
+    public ResultVO<Map<Long, GameBackPolicyRpcVO>> listByIds(List<Long> backPolicyIds) {
+        if (CollectionUtils.isEmpty(backPolicyIds)) {
+            return ResultVO.ok(Collections.emptyMap());
+        } else {
+            List<GameBackPolicyRpcVO> policyList = gameBackPolicyService.listByIds(backPolicyIds)
+                    .stream().map(this::toVOSimple).collect(Collectors.toList());
+            return ResultVO.ok(policyList.stream().collect(Collectors.toMap(GameBackPolicyRpcVO::getId, Function.identity())));
+        }
+    }
+
+    private GameBackPolicyRpcVO toVOSimple(GameBackPolicy gameBackPolicy) {
+        if (gameBackPolicy == null) {
+            return null;
+        }
+        return BeanUtil.copy(gameBackPolicy, GameBackPolicyRpcVO.class);
+    }
+}

+ 25 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/vo/AgentVO.java

@@ -1,6 +1,7 @@
 package com.zanxiang.game.module.manage.pojo.vo;
 
 import com.zanxiang.advertising.tencent.base.pojo.vo.UserActionSetRpcVO;
+import com.zanxiang.game.back.base.pojo.vo.GameBackPolicyRpcVO;
 import lombok.Data;
 
 import java.time.LocalDateTime;
@@ -37,6 +38,26 @@ public class AgentVO {
      */
     private Long userActionSetId;
 
+    /**
+     * 回传策略 id
+     */
+    private Long backPolicyId;
+
+    /**
+     * 头条回传 token
+     */
+    private String reportToken;
+
+    /**
+     * 头条回传 url
+     */
+    private String reportUrl;
+
+    /**
+     * 投放状态
+     */
+    private Integer putStatus;
+
     /**
      * 创建时间
      */
@@ -61,4 +82,8 @@ public class AgentVO {
      * 数据源信息
      */
     private UserActionSetRpcVO userActionSet;
+    /**
+     * 回传策略信息
+     */
+    private GameBackPolicyRpcVO backPolicyInfo;
 }

+ 17 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/AgentServiceImpl.java

@@ -12,6 +12,9 @@ import com.zanxiang.advertising.tencent.base.rpc.IUserActionSetRpc;
 import com.zanxiang.erp.base.ErpServer;
 import com.zanxiang.erp.base.rpc.ISysUserRpc;
 import com.zanxiang.erp.security.util.SecurityUtil;
+import com.zanxiang.game.back.base.ServerInfo;
+import com.zanxiang.game.back.base.pojo.vo.GameBackPolicyRpcVO;
+import com.zanxiang.game.back.base.rpc.IGameBackPolicyRpc;
 import com.zanxiang.game.module.manage.pojo.dto.AgentDTO;
 import com.zanxiang.game.module.manage.pojo.enums.AccountTypeEnum;
 import com.zanxiang.game.module.manage.pojo.params.AgentAddParam;
@@ -59,6 +62,9 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
     @DubboReference(providedBy = ErpServer.SERVER_DUBBO_NAME)
     private ISysUserRpc sysUserRpc;
 
+    @DubboReference(providedBy = ServerInfo.SERVER_DUBBO_NAME)
+    private IGameBackPolicyRpc gameBackPolicyRpc;
+
     @Override
     public IPage<AgentVO> listOfPage(AgentListParam param) {
         IPage<Agent> agentIPage = page(param.toPage(), new LambdaQueryWrapper<Agent>()
@@ -133,12 +139,16 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
         Set<Long> gameIds = new HashSet<>(agentList.size());
         Set<Long> txAccountIds = new HashSet<>(agentList.size());
         Set<Long> userIds = new HashSet<>(1);
+        Set<Long> backPolicyIds = new HashSet<>();
         agentList.forEach(agent -> {
             gameIds.add(agent.getGameId());
             if (AccountTypeEnum.TENCENT.getValue().equals(agent.getAccountType())) {
                 txAccountIds.add(agent.getAccountId());
             }
             userIds.add(agent.getCreateBy());
+            if (agent.getBackPolicyId() != null) {
+                backPolicyIds.add(agent.getBackPolicyId());
+            }
         });
         Map<String, UserActionSetRpcVO> userActionSetMap = new HashMap<>();
         if (CollectionUtils.isNotEmpty(txAccountIds)) {
@@ -150,6 +160,10 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
                 userActionSetMap.putAll(userActionSetList.stream().collect(Collectors.toMap(obj -> obj.getAccountId() + "_" + obj.getUserActionSetId(), Function.identity())));
             }
         }
+        Map<Long, GameBackPolicyRpcVO> backPolicyMap = new HashMap<>(0);
+        if (CollectionUtils.isNotEmpty(backPolicyIds)) {
+            backPolicyMap.putAll(gameBackPolicyRpc.listByIds(new ArrayList<>(backPolicyIds)).getData());
+        }
         Map<Long, GameInfoVO> gameMap = gameService.infoByIds(gameIds).stream().collect(Collectors.toMap(GameInfoVO::getId, Function.identity()));
         Map<Long, String> userMap = sysUserRpc.getUserNameByIds(new ArrayList<>(userIds)).getData();
         return agentList.stream().map(agent -> {
@@ -159,6 +173,9 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
                 vo.setUserActionSet(userActionSetMap.get(agent.getAccountId() + "_" + agent.getUserActionSetId()));
             }
             vo.setCreateByName(userMap.get(agent.getCreateBy()));
+            if (agent.getBackPolicyId() != null) {
+                vo.setBackPolicyInfo(backPolicyMap.get(agent.getBackPolicyId()));
+            }
             return vo;
         }).collect(Collectors.toList());
     }