Преглед на файлове

頭條-账号余额 定時

zhaoxian преди 1 година
родител
ревизия
a28a198a72

+ 5 - 1
module-common/src/main/java/cn/com/ctop/common/module/mapper/RuleDataAccountMapper.java

@@ -1,14 +1,18 @@
 package cn.com.ctop.common.module.mapper;
 
 import cn.com.ctop.common.module.entity.RuleDataAccount;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 规则账户清洗数据
+ *
  * @author: jeecg-boot
- * @date:   2020-11-16
+ * @date: 2020-11-16
  * @cersion: V1.0
  */
 public interface RuleDataAccountMapper extends BaseMapper<RuleDataAccount> {
 
+    void replaceBytedanceAccountBalance(@Param("fund") JSONObject fund);
 }

+ 24 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/RuleDataAccountMapper.xml

@@ -2,4 +2,28 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cn.com.ctop.common.module.mapper.RuleDataAccountMapper">
 
+    <insert id="replaceBytedanceAccountBalance">
+        replace
+        into ctop_bytedance_account_balance(
+        account_id,
+        account_name,
+        balance,
+        valid_balance,
+        cash,
+        valid_cash,
+        `grant`,
+        valid_grant
+        )
+        values
+            (
+        #{fund.advertiser_id},
+        #{fund.name},
+        #{fund.balance},
+        #{fund.valid_balance},
+        #{fund.cash},
+        #{fund.valid_cash},
+        #{fund.grant},
+        #{fund.valid_grant}
+        )
+    </insert>
 </mapper>

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/IRuleDataAccountService.java

@@ -13,4 +13,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IRuleDataAccountService extends IService<RuleDataAccount> {
 
     JSONObject getRuleDataByAccountId(Long accountId);
+
+    void replaceBytedanceAccountBalance(JSONObject fundData);
 }

+ 5 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/RuleDataAccountServiceImpl.java

@@ -66,4 +66,9 @@ public class RuleDataAccountServiceImpl extends ServiceImpl<RuleDataAccountMappe
         }
         return obj;
     }
+
+    @Override
+    public void replaceBytedanceAccountBalance(JSONObject fundData) {
+        ruleDataAccountMapper.replaceBytedanceAccountBalance(fundData);
+    }
 }

+ 12 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/RuleDataAccountCleanJob.java

@@ -41,4 +41,16 @@ public class RuleDataAccountCleanJob {
             ruleByteDanceAccountService.cleanRuleDataAccount(token.getAccountId());
         }));
     }
+
+    /**
+     * 规则引擎账户数据
+     * @throws Exception
+     */
+    @XxlJob("getBytedanceAccountBalanceJob")
+    public void getBytedanceAccountBalance() throws Exception {
+        List<CtopOauthToken> tokens = oauthTokenService.queryTtValidRuleAccountsToken();
+        tokens.forEach(token -> executorService.submit(()->{
+            ruleByteDanceAccountService.getBytedanceAccountBalance(token);
+        }));
+    }
 }

+ 2 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/IRuleByteDanceAccountService.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.toutiao.modules.report.service;
 
+import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.entity.RuleDataAccount;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -7,4 +8,5 @@ public interface IRuleByteDanceAccountService extends IService<RuleDataAccount>
 
     void cleanRuleDataAccount(Long accountId);
 
+    void getBytedanceAccountBalance(CtopOauthToken token);
 }

+ 6 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/RuleByteDanceAccountServiceImpl.java

@@ -44,4 +44,10 @@ public class RuleByteDanceAccountServiceImpl extends ServiceImpl<RuleDataAccount
             ruleDataAccountService.saveOrUpdate(ruleDataAccount);
         }
     }
+
+    @Override
+    public void getBytedanceAccountBalance(CtopOauthToken token) {
+        JSONObject fundData=byteDanceGetAccountFundService.getAccountFundBy(token,token.getAccountId());
+        ruleDataAccountService.replaceBytedanceAccountBalance(fundData);
+    }
 }