Jelajahi Sumber

账户维度-盯盘数据接口

zhaoxian 4 tahun lalu
induk
melakukan
851c9e433f

+ 2 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/KuaiShouCreativeMapper.java

@@ -28,4 +28,6 @@ public interface KuaiShouCreativeMapper extends BaseMapper<KuaiShouCreative> {
     List<KuaiShouCreative> queryCreativeInfoByCampaignId(@Param("accountId") Long accountId, @Param("campaignId") Long campaignId);
     List<KuaiShouCreative> queryCreativeInfoByCampaignId(@Param("accountId") Long accountId, @Param("campaignId") Long campaignId);
 
 
     List<Long> getCreativeIds(@Param("accountId") Long accountId);
     List<Long> getCreativeIds(@Param("accountId") Long accountId);
+
+    Integer getRejectedCountsforAccountId(Long accountId);
 }
 }

+ 7 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/xml/KuaiShouCreativeMapper.xml

@@ -148,4 +148,11 @@
      and  status = 42
      and  status = 42
     </select>
     </select>
 
 
+    <select id="getRejectedCountsforAccountId" resultType="java.lang.Integer">
+     select  count(1)
+     from ctop_kuaishou_creative
+     where  account_id = #{accountId}
+     and  status = 42
+    </select>
+
 </mapper>
 </mapper>

+ 3 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/EtlKuaishouReportAccountHourlyController.java

@@ -105,10 +105,10 @@ public class EtlKuaishouReportAccountHourlyController {
      */
      */
     @AutoLog(value = "获取当日花费最大的账户")
     @AutoLog(value = "获取当日花费最大的账户")
     @ApiOperation(value = "获取当日花费最大的账户", notes = "获取当日花费最大的账户")
     @ApiOperation(value = "获取当日花费最大的账户", notes = "获取当日花费最大的账户")
-    @PostMapping(value = "/getMaxChargeAccountId")
-    public Result<Object> getMaxChargeAccountId() {
+    @GetMapping(value = "/getMaxChargeAccountId")
+    public Result<Object> getMaxChargeAccountId(Long accountId) {
         try {
         try {
-            return etlKuaishouReportAccountHourlyService.getMaxChargeAccountId();
+            return etlKuaishouReportAccountHourlyService.getMaxChargeAccountId(accountId);
         } catch (Exception e) {
         } catch (Exception e) {
             log.error("查询异常,", e.getMessage());
             log.error("查询异常,", e.getMessage());
             e.printStackTrace();
             e.printStackTrace();

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/EtlKuaishouReportAccountDailyMapper.java

@@ -23,5 +23,5 @@ public interface EtlKuaishouReportAccountDailyMapper extends BaseMapper<EtlKuais
 
 
     List<JSONObject> getOnedayEtlReportList(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("accountId") Long accountId, @Param("value") String value, @Param("type") String type);
     List<JSONObject> getOnedayEtlReportList(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("accountId") Long accountId, @Param("value") String value, @Param("type") String type);
 
 
-    Long getMaxChargeAccountId();
+    Long getMaxChargeAccountId(@Param("userId") String userId);
 }
 }

+ 6 - 4
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/EtlKuaishouReportAccountDailyMapper.xml

@@ -243,7 +243,7 @@
                 IFNULL(ROUND(SUM(submit) / SUM(bclick) * 100, 2), 0) as 'value',
                 IFNULL(ROUND(SUM(submit) / SUM(bclick) * 100, 2), 0) as 'value',
             </if>
             </if>
         </if>
         </if>
-        stat_date
+        stat_date as 'statDate'
         FROM ctop_etl_kuaishou_report_account_daily
         FROM ctop_etl_kuaishou_report_account_daily
         WHERE account_id = #{accountId}
         WHERE account_id = #{accountId}
         AND stat_date &gt;= #{startTime}
         AND stat_date &gt;= #{startTime}
@@ -253,9 +253,11 @@
 
 
 
 
     <select id="getMaxChargeAccountId" resultType="java.lang.Long">
     <select id="getMaxChargeAccountId" resultType="java.lang.Long">
-        select account_id
-        from ctop_etl_kuaishou_report_account_hourly
-        where stat_date = DATE_FORMAT(now(), '%Y-%m-%d')
+        SELECT t1.account_id
+        FROM ctop_user_allocation t1
+                 INNER JOIN ctop_kuaishou_report_hourly_account t2 ON t1.account_id = t2.account_id
+        where t2.stat_date = DATE_FORMAT(now(), '%Y-%m-%d')
+          AND t1.user_id = #{userId}
         order by charge desc limit 1
         order by charge desc limit 1
     </select>
     </select>
 </mapper>
 </mapper>

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IEtlKuaishouReportAccountHourlyService.java

@@ -22,5 +22,5 @@ public interface IEtlKuaishouReportAccountHourlyService extends IService<EtlKuai
 
 
     Result<Object> getEtlReportList(JSONObject request);
     Result<Object> getEtlReportList(JSONObject request);
 
 
-    Result<Object> getMaxChargeAccountId();
+    Result<Object> getMaxChargeAccountId(Long accountId);
 }
 }

+ 40 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/EtlKuaishouReportAccountHourlyServiceImpl.java

@@ -1,7 +1,13 @@
 package cn.com.ctop.kuaishou.modules.report.service.impl;
 package cn.com.ctop.kuaishou.modules.report.service.impl;
 
 
 
 
+import cn.com.ctop.common.module.entity.CtopOauthToken;
+import cn.com.ctop.common.module.entity.UserAllocation;
+import cn.com.ctop.common.module.mapper.UserAllocationMapper;
+import cn.com.ctop.common.module.service.ICtopOauthTokenService;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.kuaishou.modules.batch.mapper.KuaiShouCreativeMapper;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService;
 import cn.com.ctop.kuaishou.modules.report.entity.EtlKuaishouReportAccountHourly;
 import cn.com.ctop.kuaishou.modules.report.entity.EtlKuaishouReportAccountHourly;
 import cn.com.ctop.kuaishou.modules.report.enums.CheckParametersEnum;
 import cn.com.ctop.kuaishou.modules.report.enums.CheckParametersEnum;
 import cn.com.ctop.kuaishou.modules.report.mapper.EtlKuaishouReportAccountDailyMapper;
 import cn.com.ctop.kuaishou.modules.report.mapper.EtlKuaishouReportAccountDailyMapper;
@@ -10,7 +16,9 @@ import cn.com.ctop.kuaishou.modules.report.mapper.KuaishouReportHourlyAccountMap
 import cn.com.ctop.kuaishou.modules.report.service.IEtlKuaishouReportAccountHourlyService;
 import cn.com.ctop.kuaishou.modules.report.service.IEtlKuaishouReportAccountHourlyService;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.common.util.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
@@ -32,12 +40,20 @@ public class EtlKuaishouReportAccountHourlyServiceImpl extends ServiceImpl<EtlKu
 
 
     @Autowired
     @Autowired
     private KuaishouReportHourlyAccountMapper hourlyAccountMapper;
     private KuaishouReportHourlyAccountMapper hourlyAccountMapper;
+    @Autowired
+    private KuaiShouCreativeMapper kuaiShouCreativeMapper;
+    @Autowired
+    private UserAllocationMapper allocationMapper;
 
 
     @Autowired
     @Autowired
     private EtlKuaishouReportAccountHourlyMapper etlHourlyAccountMapper;
     private EtlKuaishouReportAccountHourlyMapper etlHourlyAccountMapper;
 
 
     @Autowired
     @Autowired
+    private IKuaishouInterfaceService iKuaishouInterfaceService;
+    @Autowired
     private EtlKuaishouReportAccountDailyMapper etlDailyAccountMapper;
     private EtlKuaishouReportAccountDailyMapper etlDailyAccountMapper;
+    @Autowired
+    private ICtopOauthTokenService oauthTokenService;
 
 
     @Override
     @Override
     public void queryEveryhourlyDataForAccount() {
     public void queryEveryhourlyDataForAccount() {
@@ -121,8 +137,29 @@ public class EtlKuaishouReportAccountHourlyServiceImpl extends ServiceImpl<EtlKu
     }
     }
 
 
     @Override
     @Override
-    public Result<Object> getMaxChargeAccountId() {
-        Long accountId = etlDailyAccountMapper.getMaxChargeAccountId();
-        return Result.ok(accountId);
+    public Result<Object> getMaxChargeAccountId(Long accountId) {
+        if (Check.isNull(accountId)) {
+            LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+            accountId = etlDailyAccountMapper.getMaxChargeAccountId(sysUser.getId());
+        }
+        JSONObject obj = new JSONObject();
+        CtopOauthToken oauthToken = oauthTokenService.getTokenByAccountId(accountId);
+        if (Check.isNull(oauthToken)) {
+            log.warn("未获取到账户信息");
+        }
+        JSONObject fundJson = iKuaishouInterfaceService.fundGet(oauthToken);
+        if (!Check.isNull(fundJson)) {
+            obj.put("totalBalance", fundJson.getBigDecimal("balance")); // 余额
+        }
+        UserAllocation userAllocation = allocationMapper.getUserAllocation(accountId);
+        if (!Check.isNull(userAllocation)) {
+            obj.put("accountId", userAllocation.getAccountId());
+            obj.put("accountName", userAllocation.getAuthName());
+            obj.put("status", userAllocation.getAccountStatus());
+            obj.put("statusStr", userAllocation.getAccountStatus() == 0 ? "投放中" : "无效");
+        }
+        Integer counts = kuaiShouCreativeMapper.getRejectedCountsforAccountId(accountId);
+        obj.put("rejectedCounts", counts);
+        return Result.ok(obj);
     }
     }
 }
 }