Jelajahi Sumber

feat:日报

pudongliang 3 bulan lalu
induk
melakukan
6ea5d75b77
37 mengubah file dengan 42 tambahan dan 26 penghapusan
  1. 1 1
      portal/dist/assets/accountGroup-jxI7tDvm.js
  2. 1 1
      portal/dist/assets/adAutoConf-Cvp0SyVE.js
  3. 1 1
      portal/dist/assets/adPlanConf-DHdYxsOK.js
  4. 1 1
      portal/dist/assets/auth-W83l4p_r.js
  5. 1 1
      portal/dist/assets/conversion-VCVsCvT9.js
  6. 0 0
      portal/dist/assets/detail-BY9MEFhb.js
  7. 1 1
      portal/dist/assets/drama-CTkrefWy.js
  8. 0 0
      portal/dist/assets/edit-Dh_F6wXy.js
  9. 0 0
      portal/dist/assets/index-B9os6vAH.js
  10. 0 0
      portal/dist/assets/index-BQuC92rp.js
  11. 1 1
      portal/dist/assets/index-BTeYLlkv.js
  12. 0 0
      portal/dist/assets/index-Bc4q2boD.js
  13. 0 0
      portal/dist/assets/index-Bd0mjUPC.js
  14. 0 0
      portal/dist/assets/index-BjyaCuxS.js
  15. 0 0
      portal/dist/assets/index-Bmu5eNVA.js
  16. 0 0
      portal/dist/assets/index-BtaGGCkq.js
  17. 0 0
      portal/dist/assets/index-BuJKRfo2.js
  18. 0 0
      portal/dist/assets/index-C4ohzPt0.js
  19. 0 0
      portal/dist/assets/index-CJXsrj7f.js
  20. 0 0
      portal/dist/assets/index-CQ_u1BM6.js
  21. 0 0
      portal/dist/assets/index-CSixRkb_.js
  22. 0 0
      portal/dist/assets/index-CVkb0gEN.js
  23. 0 0
      portal/dist/assets/index-D6Abplr3.js
  24. 0 0
      portal/dist/assets/index-DDqyN-lF.js
  25. 0 0
      portal/dist/assets/index-DLkTYman.js
  26. 0 0
      portal/dist/assets/index-DRqsLvCb.js
  27. 0 0
      portal/dist/assets/index-DtMYtoKa.js
  28. 0 0
      portal/dist/assets/index-Uag--kqt.js
  29. 1 1
      portal/dist/assets/loadPageConf-R1ZMHj6i.js
  30. 1 1
      portal/dist/assets/ossFile-6Mt8afDi.js
  31. 0 0
      portal/dist/assets/request-DA3HuAl4.js
  32. 1 1
      portal/dist/assets/user-BFviY0AU.js
  33. 1 1
      portal/dist/index.html
  34. 4 4
      portal/src/views/daily-adgroup-report/index.vue
  35. 14 5
      portal/src/views/daily-creative-report/index.vue
  36. 2 1
      src/main/java/com/moka/gdtauto/controller/DailyCreativeReportController.java
  37. 11 5
      src/main/java/com/moka/gdtauto/service/DailyCreativeReportService.java

+ 1 - 1
portal/dist/assets/accountGroup-TVsegDod.js → portal/dist/assets/accountGroup-jxI7tDvm.js

@@ -1 +1 @@
-import{r as u}from"./request-B37nuy4Q.js";function c(t){return u({url:"/api/account-group/create",method:"post",data:t})}function e(t){return u({url:"/api/account-group/update",method:"post",data:t})}function n(t){return u({url:`/api/account-group/${t}`,method:"delete"})}function a(t=1,o=10){return u({url:"/api/account-group/list",method:"get",params:{pageNum:t,pageSize:o}})}function p(){return u({url:"/api/account-group/all",method:"get"})}function i(t){return u({url:`/api/account-group/${t}/accounts`,method:"get"})}export{i as a,p as b,c,n as d,a as g,e as u};
+import{r as u}from"./request-DA3HuAl4.js";function c(t){return u({url:"/api/account-group/create",method:"post",data:t})}function e(t){return u({url:"/api/account-group/update",method:"post",data:t})}function n(t){return u({url:`/api/account-group/${t}`,method:"delete"})}function a(t=1,o=10){return u({url:"/api/account-group/list",method:"get",params:{pageNum:t,pageSize:o}})}function p(){return u({url:"/api/account-group/all",method:"get"})}function i(t){return u({url:`/api/account-group/${t}/accounts`,method:"get"})}export{i as a,p as b,c,n as d,a as g,e as u};

+ 1 - 1
portal/dist/assets/adAutoConf--MrHVNQZ.js → portal/dist/assets/adAutoConf-Cvp0SyVE.js

@@ -1 +1 @@
-import{r as e}from"./request-B37nuy4Q.js";function u(t){return e({url:"/api/ad-auto-conf/list",method:"get",params:t})}function n(t){return e({url:`/api/ad-auto-conf/${t}`,method:"get"})}function a(t){return e({url:"/api/ad-auto-conf",method:"post",data:t})}function r(t){return e({url:"/api/ad-auto-conf/update",method:"post",data:t})}function d(t){return e({url:`/api/ad-auto-conf/${t}`,method:"delete"})}function i(t){return e({url:`/api/ad-auto-conf/execute?id=${t}`,method:"post"})}function f(t){return e({url:"/api/execute-log/list",method:"get",params:t})}function c(t){return e({url:"/api/execute-log/getChildLog",method:"get",params:t})}export{c as a,f as b,n as c,d,i as e,u as g,a as s,r as u};
+import{r as e}from"./request-DA3HuAl4.js";function u(t){return e({url:"/api/ad-auto-conf/list",method:"get",params:t})}function n(t){return e({url:`/api/ad-auto-conf/${t}`,method:"get"})}function a(t){return e({url:"/api/ad-auto-conf",method:"post",data:t})}function r(t){return e({url:"/api/ad-auto-conf/update",method:"post",data:t})}function d(t){return e({url:`/api/ad-auto-conf/${t}`,method:"delete"})}function i(t){return e({url:`/api/ad-auto-conf/execute?id=${t}`,method:"post"})}function f(t){return e({url:"/api/execute-log/list",method:"get",params:t})}function c(t){return e({url:"/api/execute-log/getChildLog",method:"get",params:t})}export{c as a,f as b,n as c,d,i as e,u as g,a as s,r as u};

+ 1 - 1
portal/dist/assets/adPlanConf-xeIB6Mb8.js → portal/dist/assets/adPlanConf-DHdYxsOK.js

@@ -1 +1 @@
-import{r as a}from"./request-B37nuy4Q.js";function d(n){return a({url:"/api/ad-plan-conf/reCreate",method:"post",data:n})}function o(n){return a({url:"/api/ad-plan-conf/generate-plan",method:"post",data:n})}function u(n){return a({url:`/api/ad-plan-conf/reGeneratePlan/${n}`,method:"get"})}function l(n){return a({url:`/api/ad-plan-conf/syncSystemStatus/${n}`,method:"get"})}function p(n){return a({url:"/api/ad-plan-conf/create",method:"post",data:n})}function s(n){return a({url:"/api/ad-plan-conf/update",method:"post",data:n})}function i(n=1,e=10,t={}){return a({url:"/api/ad-plan-conf/list",method:"get",params:{pageNum:n,pageSize:e,...t}})}function f(n){return a({url:`/api/ad-plan-conf/${n}`,method:"get"})}function c(n){return a({url:"/api/ad-plan/list",method:"get",params:n})}function g(n){return a({url:`/api/ad-plan-creative/plan/${n}`,method:"get"})}function m(n){return a({url:"/api/ad-plan-conf/gdtSuspendByConfId",params:{confId:n},method:"get"})}function h(n){return a({url:"/api/ad-plan-conf/gdtDeleteByConfId",params:{confId:n},method:"get"})}function C(n,e){return a({url:`/api/ad-plan-conf/gdtSuspendByPlanIds/${n}`,method:"post",data:e})}function P(n,e){return a({url:`/api/ad-plan-conf/gdtDeleteByPlanIds/${n}`,method:"post",data:e})}function y(n=[]){return a({url:"/api/ad-plan-conf/getOneCreativeImage",method:"post",data:n})}function I(){return a({url:"/api/ad-plan-conf/getOneBrandImage",method:"get"})}function B(n=[]){return a({url:"/api/ad-plan-conf/getOneCreativeVideo",method:"post",data:n})}export{y as a,I as b,B as c,o as d,p as e,f,i as g,c as h,h as i,C as j,P as k,l,u as m,g as n,d as r,m as s,s as u};
+import{r as a}from"./request-DA3HuAl4.js";function d(n){return a({url:"/api/ad-plan-conf/reCreate",method:"post",data:n})}function o(n){return a({url:"/api/ad-plan-conf/generate-plan",method:"post",data:n})}function u(n){return a({url:`/api/ad-plan-conf/reGeneratePlan/${n}`,method:"get"})}function l(n){return a({url:`/api/ad-plan-conf/syncSystemStatus/${n}`,method:"get"})}function p(n){return a({url:"/api/ad-plan-conf/create",method:"post",data:n})}function s(n){return a({url:"/api/ad-plan-conf/update",method:"post",data:n})}function i(n=1,e=10,t={}){return a({url:"/api/ad-plan-conf/list",method:"get",params:{pageNum:n,pageSize:e,...t}})}function f(n){return a({url:`/api/ad-plan-conf/${n}`,method:"get"})}function c(n){return a({url:"/api/ad-plan/list",method:"get",params:n})}function g(n){return a({url:`/api/ad-plan-creative/plan/${n}`,method:"get"})}function m(n){return a({url:"/api/ad-plan-conf/gdtSuspendByConfId",params:{confId:n},method:"get"})}function h(n){return a({url:"/api/ad-plan-conf/gdtDeleteByConfId",params:{confId:n},method:"get"})}function C(n,e){return a({url:`/api/ad-plan-conf/gdtSuspendByPlanIds/${n}`,method:"post",data:e})}function P(n,e){return a({url:`/api/ad-plan-conf/gdtDeleteByPlanIds/${n}`,method:"post",data:e})}function y(n=[]){return a({url:"/api/ad-plan-conf/getOneCreativeImage",method:"post",data:n})}function I(){return a({url:"/api/ad-plan-conf/getOneBrandImage",method:"get"})}function B(n=[]){return a({url:"/api/ad-plan-conf/getOneCreativeVideo",method:"post",data:n})}export{y as a,I as b,B as c,o as d,p as e,f,i as g,c as h,h as i,C as j,P as k,l,u as m,g as n,d as r,m as s,s as u};

+ 1 - 1
portal/dist/assets/auth-BVPI9m4Z.js → portal/dist/assets/auth-W83l4p_r.js

@@ -1 +1 @@
-import{r as t}from"./request-B37nuy4Q.js";function i(){return t({url:"/api/gdt/auth/authorize-url",method:"get"})}function n(r){return t({url:"/api/gdt/auth/refresh",method:"post",params:r})}function u(){return t({url:"/api/gdt/auth/list",method:"get"})}function a(){return u()}function o(){return t({url:"/api/gdt/auth/expiring",method:"get"})}export{o as a,a as b,i as g,u as l,n as r};
+import{r as t}from"./request-DA3HuAl4.js";function i(){return t({url:"/api/gdt/auth/authorize-url",method:"get"})}function n(r){return t({url:"/api/gdt/auth/refresh",method:"post",params:r})}function u(){return t({url:"/api/gdt/auth/list",method:"get"})}function a(){return u()}function o(){return t({url:"/api/gdt/auth/expiring",method:"get"})}export{o as a,a as b,i as g,u as l,n as r};

+ 1 - 1
portal/dist/assets/conversion-DB_-ZZb-.js → portal/dist/assets/conversion-VCVsCvT9.js

@@ -1 +1 @@
-import{r as t}from"./request-B37nuy4Q.js";function e(n,o){return t({url:"/api/gdt/conversion/sync",method:"post",params:{orgAccountId:n,accountId:o}})}function s(n=1,o=20){return t({url:"/api/gdt/conversion/list",method:"get",params:{page:n,pageSize:o}})}function i(n){return t({url:"/api/gdt/conversion/detail",method:"get",params:{conversionId:n}})}function a(){return t({url:"/api/gdt/conversion/all",method:"get"})}export{s as a,i as b,a as g,e as s};
+import{r as t}from"./request-DA3HuAl4.js";function e(n,o){return t({url:"/api/gdt/conversion/sync",method:"post",params:{orgAccountId:n,accountId:o}})}function s(n=1,o=20){return t({url:"/api/gdt/conversion/list",method:"get",params:{page:n,pageSize:o}})}function i(n){return t({url:"/api/gdt/conversion/detail",method:"get",params:{conversionId:n}})}function a(){return t({url:"/api/gdt/conversion/all",method:"get"})}export{s as a,i as b,a as g,e as s};

File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/detail-BY9MEFhb.js


+ 1 - 1
portal/dist/assets/drama-DsPylfxR.js → portal/dist/assets/drama-CTkrefWy.js

@@ -1 +1 @@
-import{r as t}from"./request-B37nuy4Q.js";function n(a){return t({url:"/api/gdt/asset/drama/sync",method:"post",params:{accountId:a}})}function m(a=1,s=20,r=""){return t({url:"/api/gdt/asset/drama/list",method:"get",params:{dramaName:r,page:a,pageSize:s}})}function d(a){return t({url:"/api/gdt/asset/drama/myDramaAssets",method:"get",params:{dramaName:a}})}function o(){return t({url:"/api/gdt/asset/drama/sync/conf/myConf",method:"get"})}function u(a){return t({url:"/api/gdt/asset/drama/sync/conf/add",method:"post",data:a})}function i(a){return t({url:"/api/gdt/asset/drama/sync/conf/delete",method:"post",params:{id:a}})}export{o as a,u as b,i as d,m as g,d as m,n as s};
+import{r as t}from"./request-DA3HuAl4.js";function n(a){return t({url:"/api/gdt/asset/drama/sync",method:"post",params:{accountId:a}})}function m(a=1,s=20,r=""){return t({url:"/api/gdt/asset/drama/list",method:"get",params:{dramaName:r,page:a,pageSize:s}})}function d(a){return t({url:"/api/gdt/asset/drama/myDramaAssets",method:"get",params:{dramaName:a}})}function o(){return t({url:"/api/gdt/asset/drama/sync/conf/myConf",method:"get"})}function u(a){return t({url:"/api/gdt/asset/drama/sync/conf/add",method:"post",data:a})}function i(a){return t({url:"/api/gdt/asset/drama/sync/conf/delete",method:"post",params:{id:a}})}export{o as a,u as b,i as d,m as g,d as m,n as s};

File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/edit-Dh_F6wXy.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-B9os6vAH.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-BQuC92rp.js


File diff ditekan karena terlalu besar
+ 1 - 1
portal/dist/assets/index-BTeYLlkv.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-Bc4q2boD.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-Bd0mjUPC.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-BjyaCuxS.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-Bmu5eNVA.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-BtaGGCkq.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-BuJKRfo2.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-C4ohzPt0.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-CJXsrj7f.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-CQ_u1BM6.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-CSixRkb_.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-CVkb0gEN.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-D6Abplr3.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-DDqyN-lF.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-DLkTYman.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-DRqsLvCb.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-DtMYtoKa.js


File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/index-Uag--kqt.js


+ 1 - 1
portal/dist/assets/loadPageConf-JELGdAKK.js → portal/dist/assets/loadPageConf-R1ZMHj6i.js

@@ -1 +1 @@
-import{r as o}from"./request-B37nuy4Q.js";function t(a){return o({url:"/api/load-page-conf/list",method:"get",params:a})}function n(a){return o({url:`/api/load-page-conf/${a}`,method:"get"})}function r(a){return o({url:"/api/load-page-conf",method:"post",data:a})}function u(a){return o({url:"/api/load-page-conf",method:"put",data:a})}function d(){return o({url:"/api/load-page-conf/all",method:"get"})}export{t as a,n as b,r as c,d as g,u};
+import{r as o}from"./request-DA3HuAl4.js";function t(a){return o({url:"/api/load-page-conf/list",method:"get",params:a})}function n(a){return o({url:`/api/load-page-conf/${a}`,method:"get"})}function r(a){return o({url:"/api/load-page-conf",method:"post",data:a})}function u(a){return o({url:"/api/load-page-conf",method:"put",data:a})}function d(){return o({url:"/api/load-page-conf/all",method:"get"})}export{t as a,n as b,r as c,d as g,u};

+ 1 - 1
portal/dist/assets/ossFile-0jH69E28.js → portal/dist/assets/ossFile-6Mt8afDi.js

@@ -1 +1 @@
-import{r as t}from"./request-B37nuy4Q.js";function i(e){return t({timeout:12e5,url:"/api/oss-file/upload",method:"post",data:e,headers:{"Content-Type":"multipart/form-data"}})}function o(e){return t({url:"/api/oss-file/list",method:"get",params:e})}function r(e){return t({url:`/api/oss-file/${e}`,method:"delete"})}function l(e){return t({url:"/api/oss-file/batch",method:"delete",params:{fileIds:e}})}export{l as b,r as d,o as g,i as u};
+import{r as t}from"./request-DA3HuAl4.js";function i(e){return t({timeout:12e5,url:"/api/oss-file/upload",method:"post",data:e,headers:{"Content-Type":"multipart/form-data"}})}function o(e){return t({url:"/api/oss-file/list",method:"get",params:e})}function r(e){return t({url:`/api/oss-file/${e}`,method:"delete"})}function l(e){return t({url:"/api/oss-file/batch",method:"delete",params:{fileIds:e}})}export{l as b,r as d,o as g,i as u};

File diff ditekan karena terlalu besar
+ 0 - 0
portal/dist/assets/request-DA3HuAl4.js


+ 1 - 1
portal/dist/assets/user-D0nb7Crc.js → portal/dist/assets/user-BFviY0AU.js

@@ -1 +1 @@
-import{r as e}from"./request-B37nuy4Q.js";function t(){return e({url:"/api/user/list",method:"get"})}function u(r){return e({url:"/api/user/info",method:"get",params:r})}function n(r){return e({url:"/api/user/user-token-url",method:"get",params:r})}function o(r){return e({url:"/api/user/login",method:"post",params:r})}function a(r){return e({url:"/api/user/change-password",method:"post",params:r})}function i(r){return e({url:"/api/user/save",method:"post",params:r})}export{u as a,t as b,a as c,n as g,o as l,i as s};
+import{r as e}from"./request-DA3HuAl4.js";function t(){return e({url:"/api/user/list",method:"get"})}function u(r){return e({url:"/api/user/info",method:"get",params:r})}function n(r){return e({url:"/api/user/user-token-url",method:"get",params:r})}function o(r){return e({url:"/api/user/login",method:"post",params:r})}function a(r){return e({url:"/api/user/change-password",method:"post",params:r})}function i(r){return e({url:"/api/user/save",method:"post",params:r})}export{u as a,t as b,a as c,n as g,o as l,i as s};

+ 1 - 1
portal/dist/index.html

@@ -5,7 +5,7 @@
     <link rel="icon" type="image/svg+xml" href="/vite.svg" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>腾讯广告自动化管理后台</title>
-    <script type="module" crossorigin src="/assets/index-B9XIvkCG.js"></script>
+    <script type="module" crossorigin src="/assets/index-BTeYLlkv.js"></script>
     <link rel="stylesheet" crossorigin href="/assets/index-5iqyiYFJ.css">
   </head>
   <body>

+ 4 - 4
portal/src/views/daily-adgroup-report/index.vue

@@ -45,7 +45,7 @@
 
           <el-input
             v-model="queryForm.accountId"
-            placeholder="账户ID筛选"
+            placeholder="账户ID"
             clearable
             style="width: 160px"
             @clear="handleSearch"
@@ -53,7 +53,7 @@
 
           <el-input
             v-model="queryForm.adgroupId"
-            placeholder="广告ID筛选"
+            placeholder="广告ID"
             clearable
             style="width: 180px"
             @clear="handleSearch"
@@ -103,14 +103,14 @@
         </el-table-column>
         <el-table-column prop="accountId" label="账户ID" width="110" >
           <template #default="{ row }">
-             <el-button v-if="row.accountId > 0" type="primary" size="small"  link  @click="goToTencentByAccountId(row)">
+             <el-button v-if="row.accountId > 0" type="primary" size="small" style="user-select: text;" link  @click="goToTencentByAccountId(row)">
                {{ row.accountId }}
               </el-button>
           </template>
           </el-table-column>
         <el-table-column prop="adgroupId" label="广告ID" width="120" >
           <template #default="{ row }">
-             <el-button v-if="row.adgroupId > 0" type="primary" size="small"  link  @click="goToTencentByAdgroupId(row)">
+             <el-button v-if="row.adgroupId > 0" type="primary" size="small" style="user-select: text;" link  @click="goToTencentByAdgroupId(row)">
                {{ row.adgroupId }}
               </el-button>
           </template>

+ 14 - 5
portal/src/views/daily-creative-report/index.vue

@@ -73,15 +73,22 @@
 
           <el-input
             v-model="queryForm.accountId"
-            placeholder="账户ID筛选"
+            placeholder="账户ID"
             clearable
             style="width: 160px"
             @clear="handleSearch"
           />
+          <el-input
+            v-model="queryForm.adgroupId"
+            placeholder="广告ID"
+            clearable
+            style="width: 180px"
+            @clear="handleSearch"
+          />
 
           <el-input
             v-model="queryForm.dynamicCreativeId"
-            placeholder="动态创意ID筛选"
+            placeholder="动态创意ID"
             clearable
             style="width: 180px"
             @clear="handleSearch"
@@ -131,21 +138,21 @@
         </el-table-column>
         <el-table-column prop="accountId" label="账户ID" width="110"  >
           <template #default="{ row }">
-            <el-button v-if="row.accountId > 0" type="primary" size="small"  link  @click="goToTencentByAccountId(row)">
+            <el-button v-if="row.accountId > 0" type="primary" size="small" style="user-select: text;"  link  @click="goToTencentByAccountId(row)">
               {{ row.accountId }}
             </el-button>
           </template>
         </el-table-column>
         <el-table-column prop="adgroupId" label="广告ID" width="120" >
           <template #default="{ row }">
-            <el-button v-if="row.adgroupId > 0" type="primary" size="small"  link  @click="goToTencentByAdgroupId(row)">
+            <el-button v-if="row.adgroupId > 0" type="primary" size="small" style="user-select: text;"  link  @click="goToTencentByAdgroupId(row)">
               {{ row.adgroupId }}
             </el-button>
           </template>
         </el-table-column>
         <el-table-column prop="dynamicCreativeId" label="创意ID" width="120" >
           <template #default="{ row }">
-            <el-button v-if="row.dynamicCreativeId > 0" type="primary" size="small"  link  @click="goToTencentCreative(row)">
+            <el-button v-if="row.dynamicCreativeId > 0" type="primary" size="small"  style="user-select: text;" link  @click="goToTencentCreative(row)">
               {{ row.dynamicCreativeId }}
             </el-button>
           </template>
@@ -260,6 +267,7 @@ const queryForm = reactive({
   timeLine: 'REQUEST_TIME',
   accountId: '',
   groupId: null,
+  adgroupId: null,
   dynamicCreativeId: '',
 })
 const getDefaultDateRange = () => {
@@ -296,6 +304,7 @@ const loadList = async () => {
       pageSize: pagination.pageSize,
     }
     if (queryForm.accountId) params.accountId = queryForm.accountId
+    if (queryForm.adgroupId) params.adgroupId = queryForm.adgroupId
     if (queryForm.groupId) params.groupId = queryForm.groupId
     if (queryForm.dynamicCreativeId) params.dynamicCreativeId = queryForm.dynamicCreativeId
     if (queryDateRange.value && queryDateRange.value.length === 2) {

+ 2 - 1
src/main/java/com/moka/gdtauto/controller/DailyCreativeReportController.java

@@ -41,6 +41,7 @@ public class DailyCreativeReportController {
             @RequestParam(defaultValue = "REQUEST_TIME") String timeLine,
             @Parameter(description = "账号组ID(可选)") @RequestParam(required = false) Long groupId,
             @Parameter(description = "广告账户ID(可选)") @RequestParam(required = false) Long accountId,
+            @Parameter(description = "广告ID(可选)") @RequestParam(required = false) Long adgroupId,
             @Parameter(description = "动态创意ID(可选)") @RequestParam(required = false) Long dynamicCreativeId,
             @Parameter(description = "开始日期 yyyy-MM-dd(可选)") @RequestParam(required = false) String startDate,
             @Parameter(description = "结束日期 yyyy-MM-dd(可选)") @RequestParam(required = false) String endDate,
@@ -50,7 +51,7 @@ public class DailyCreativeReportController {
             @Parameter(description = "每页数量") @RequestParam(defaultValue = "20") long pageSize) {
         try {
             Page<? extends BaseDailyCreativeReport> result =
-                    dailyReportService.listReports(timeLine, groupId, accountId, dynamicCreativeId, startDate, endDate, sortField, sortOrder, page, pageSize);
+                    dailyReportService.listReports(timeLine, groupId, accountId, adgroupId, dynamicCreativeId, startDate, endDate, sortField, sortOrder, page, pageSize);
             return Result.success(result.getRecords(), "查询成功")
                     .withPage(page, pageSize, result.getTotal());
         } catch (Exception e) {

+ 11 - 5
src/main/java/com/moka/gdtauto/service/DailyCreativeReportService.java

@@ -294,21 +294,21 @@ public class DailyCreativeReportService {
      * @return 分页结果
      */
     public Page<? extends BaseDailyCreativeReport> listReports(
-            String timeLine, Long groupId, Long accountId, Long dynamicCreativeId,
+            String timeLine, Long groupId, Long accountId, Long adgroupId, Long dynamicCreativeId,
             String startDate, String endDate, String sortField, String sortOrder,
             long pageNum, long pageSize) {
 
         if ("REPORTING_TIME".equals(timeLine)) {
-            LambdaQueryWrapper<RepDailyCreativeReport> wrapper = buildRepWrapper(groupId, accountId, dynamicCreativeId, startDate, endDate, sortField, sortOrder);
+            LambdaQueryWrapper<RepDailyCreativeReport> wrapper = buildRepWrapper(groupId, accountId, adgroupId, dynamicCreativeId, startDate, endDate, sortField, sortOrder);
             return repMapper.selectPage(new Page<>(pageNum, pageSize), wrapper);
         } else {
-            LambdaQueryWrapper<ReqDailyCreativeReport> wrapper = buildReqWrapper(groupId, accountId, dynamicCreativeId, startDate, endDate, sortField, sortOrder);
+            LambdaQueryWrapper<ReqDailyCreativeReport> wrapper = buildReqWrapper(groupId, accountId, adgroupId, dynamicCreativeId, startDate, endDate, sortField, sortOrder);
             return reqMapper.selectPage(new Page<>(pageNum, pageSize), wrapper);
         }
     }
 
     private LambdaQueryWrapper<ReqDailyCreativeReport> buildReqWrapper(
-            Long groupId, Long accountId, Long dynamicCreativeId, String startDate, String endDate,
+            Long groupId, Long accountId, Long adgroupId, Long dynamicCreativeId, String startDate, String endDate,
             String sortField, String sortOrder) {
         LambdaQueryWrapper<ReqDailyCreativeReport> wrapper = new LambdaQueryWrapper<>();
         if (groupId != null) {
@@ -317,6 +317,9 @@ public class DailyCreativeReportService {
         if (accountId != null) {
             wrapper.eq(ReqDailyCreativeReport::getAccountId, accountId);
         }
+        if (adgroupId != null) {
+            wrapper.eq(ReqDailyCreativeReport::getAdgroupId, adgroupId);
+        }
         if (dynamicCreativeId != null) {
             wrapper.eq(ReqDailyCreativeReport::getDynamicCreativeId, dynamicCreativeId);
         }
@@ -332,7 +335,7 @@ public class DailyCreativeReportService {
     }
 
     private LambdaQueryWrapper<RepDailyCreativeReport> buildRepWrapper(
-            Long groupId, Long accountId, Long dynamicCreativeId, String startDate, String endDate,
+            Long groupId, Long accountId, Long adgroupId, Long dynamicCreativeId, String startDate, String endDate,
             String sortField, String sortOrder) {
         LambdaQueryWrapper<RepDailyCreativeReport> wrapper = new LambdaQueryWrapper<>();
         if (groupId != null) {
@@ -341,6 +344,9 @@ public class DailyCreativeReportService {
         if (accountId != null) {
             wrapper.eq(RepDailyCreativeReport::getAccountId, accountId);
         }
+        if (adgroupId != null) {
+            wrapper.eq(RepDailyCreativeReport::getAdgroupId, adgroupId);
+        }
         if (dynamicCreativeId != null) {
             wrapper.eq(RepDailyCreativeReport::getDynamicCreativeId, dynamicCreativeId);
         }

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini