Forráskód Böngészése

修改360借条文件生成规则

syh 5 éve
szülő
commit
3846bd7d5d

+ 193 - 79
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/PlatformCampaignStatisticInfoMapper.xml

@@ -75,89 +75,203 @@
 	sum(a.registCreditNum) / sum(a.registUserNum) * 100 AS 'creditRegistRateDay'
 FROM
 	(
+	SELECT
+	h.*, h.cost / h.registUserNum AS 'registPrice',
+	h.cost / h.complateUserNum AS 'completePrice',
+	h.cost / h.creditUserNum AS 'creditPrice',
+	h.cost / h.registCompleteNum AS 'registCompletePrice',
+	h.cost / h.registCreditNum AS 'registCreditPrice',
+	h.registUserNum / h.coverClick * 100 AS 'clickRegistRate',
+	h.registUserNum / h.actions * 100 AS 'actionRegistRate',
+	h.complateUserNum / h.registUserNum * 100 AS 'completeRate',
+	h.creditUserNum / h.complateUserNum * 100 AS 'creditRate',
+	h.registCompleteNum / h.registUserNum * 100 AS 'registCompleteRate',
+	h.creditUserNum / h.complateUserNum * 100 AS 'registCreditRate',
+	h.registCompleteNum / h.complateUserNum * 100 AS 'completeRateDay',
+	h.registCreditNum / h.creditUserNum * 100 AS 'creditRateDay',
+	h.registCreditNum / h.registUserNum * 100 AS 'creditRegistRateDay'
+FROM
+	(
 		SELECT
-			campaign.statistic_date AS 'statisticDate',
-			plan.settler AS 'proxy',
-			plan.child_channel AS 'channelName',
-			campaign.campaign_info AS 'content',
-			campaign.cost AS 'cost',
-			campaign.cover_exposure AS 'coverViews',
-			campaign.cover_click AS 'coverClick',
-			campaign.metarial_exposure AS 'materialViews',
-			campaign.action AS 'actions',
-			campaign.cover_click / campaign.cover_exposure * 100 AS 'clickRate',
-			campaign.action / campaign.cover_click * 100 AS 'actionClickRate',
-			campaign.action / campaign.cover_click * campaign.cover_click / campaign.cover_exposure * 10000 AS 'abctr',
-			campaign.cost / campaign.cover_click 'clickPrice',
-			campaign.cost / campaign.action 'actionPrice',
-			sum(plan.regist_account_num) AS 'registUserNum',
-			sum(plan.complete_user) AS 'complateUserNum',
-			sum(plan.estimated_credit_number) AS 'creditUserNum',
-			sum(plan.regist_complate_number) AS 'registCompleteNum',
-			sum(plan.estimated_regist_credit_number) AS 'registCreditNum',
-			campaign.cost / sum(plan.regist_account_num) AS 'registPrice',
-			campaign.cost / sum(plan.complete_user) AS 'completePrice',
-			campaign.cost / sum(plan.estimated_credit_number) AS 'creditPrice',
-			campaign.cost / sum(plan.regist_complate_number) AS 'registCompletePrice',
-			campaign.cost / sum(plan.estimated_regist_credit_number) AS 'registCreditPrice',
-			sum(plan.regist_account_num) / campaign.cover_click * 100 AS 'clickRegistRate',
-			sum(plan.regist_account_num) / campaign.action * 100 AS 'actionRegistRate',
-			sum(plan.complete_user) / sum(plan.regist_account_num) * 100 AS 'completeRate',
-			sum(plan.estimated_credit_number) / sum(plan.complete_user) * 100 AS 'creditRate',
-			sum(plan.regist_complate_number) / sum(plan.regist_account_num) * 100 AS 'registCompleteRate',
-			sum(plan.estimated_credit_number) / sum(plan.complete_user) * 100 AS 'registCreditRate',
-			sum(plan.regist_complate_number) / sum(plan.complete_user) * 100 AS 'completeRateDay',
-			sum(plan.estimated_regist_credit_number) / sum(plan.estimated_credit_number) * 100 AS 'creditRateDay',
-			sum(plan.estimated_regist_credit_number) / sum(plan.regist_account_num) * 100 AS 'creditRegistRateDay'
+			c.statistic_date AS 'statisticDate',
+			'汇创思拓' AS 'proxy',
+			(
+				SELECT
+					a44.child_channel
+				FROM
+					ctop_kuaishou_customer_plan_statistic_info a44
+				WHERE
+					a44.statistic_date = #{statisticDate}
+				AND a44.campaign_code = c.campaign_code
+				ORDER BY
+					a44.id DESC
+				LIMIT 1
+			) AS 'channelName',
+			c.campaign_info AS 'content',
+			c.cost AS 'cost',
+			c.cover_exposure AS 'coverViews',
+			c.cover_click AS 'coverClick',
+			c.metarial_exposure AS 'materialViews',
+			c.action AS 'actions',
+			c.cover_click / c.cover_exposure * 100 AS 'clickRate',
+			c.action / c.cover_click * 100 AS 'actionClickRate',
+			c.action / c.cover_click * c.cover_click / c.cover_exposure * 10000 AS 'abctr',
+			c.cost / c.cover_click 'clickPrice',
+			c.cost / c.action 'actionPrice',
+			(
+				SELECT
+					SUM(a1.regist_account_num)
+				FROM
+					ctop_kuaishou_customer_plan_statistic_info a1
+				WHERE
+					a1.statistic_date = #{statisticDate}
+				AND a1.campaign_code = c.campaign_code
+			) AS 'registUserNum',
+			(
+				SELECT
+					SUM(a2.complete_user)
+				FROM
+					ctop_kuaishou_customer_plan_statistic_info a2
+				WHERE
+					a2.statistic_date = #{statisticDate}
+				AND a2.campaign_code = c.campaign_code
+			) AS 'complateUserNum',
+			(
+				SELECT
+					SUM(a3.estimated_credit_number)
+				FROM
+					ctop_kuaishou_customer_plan_statistic_info a3
+				WHERE
+					a3.statistic_date = #{statisticDate}
+				AND a3.campaign_code = c.campaign_code
+			) AS 'creditUserNum',
+			(
+				SELECT
+					SUM(a4.regist_complate_number)
+				FROM
+					ctop_kuaishou_customer_plan_statistic_info a4
+				WHERE
+					a4.statistic_date = #{statisticDate}
+				AND a4.campaign_code = c.campaign_code
+			) AS 'registCompleteNum',
+			(
+				SELECT
+					SUM(
+						a5.estimated_regist_credit_number
+					)
+				FROM
+					ctop_kuaishou_customer_plan_statistic_info a5
+				WHERE
+					a5.statistic_date = #{statisticDate}
+				AND a5.campaign_code = c.campaign_code
+			) AS 'registCreditNum'
 		FROM
-			ctop_kuaishou_customer_plan_statistic_info plan
-		LEFT JOIN ctop_kuaishou_platform_campaign_statistic_info campaign ON plan.campaign_code = campaign.campaign_code
+			ctop_kuaishou_platform_campaign_statistic_info AS c
 		WHERE
-			campaign.account_id = #{accountId}
-		AND campaign.statistic_date =  #{statisticDate}
-		GROUP BY
-			plan.campaign_code
-	) AS a
+			c.account_id = #{accountId}
+			and c.statistic_date = #{statisticDate}
+		ORDER BY
+			c.campaign_info
+	) AS h) AS a
     </select>
     <select id="getVoByParams" resultMap="voMap">
-        SELECT
-       campaign.statistic_date as 'statisticDate',
-       plan.settler as 'proxy',
-       plan.child_channel as 'channelName',
-       campaign.campaign_info as 'content',
-       campaign.cost as 'cost',
-       campaign.cover_exposure as 'coverViews',
-       campaign.cover_click as 'coverClick',
-       campaign.metarial_exposure as 'materialViews',
-       campaign.action as 'actions',
-       campaign.cover_click/campaign.cover_exposure*100 as 'clickRate',
-       campaign.action/campaign.cover_click*100 as 'actionClickRate',
-       campaign.action/campaign.cover_click*campaign.cover_click/campaign.cover_exposure*10000 as 'abctr',
-       campaign.cost/campaign.cover_click 'clickPrice',
-       campaign.cost/campaign.action 'actionPrice',
-       sum(plan.regist_account_num)as 'registUserNum',
-       sum(plan.complete_user) as 'complateUserNum',
-       sum(plan.estimated_credit_number) as 'creditUserNum',
-       sum(plan.regist_complate_number)as 'registCompleteNum',
-       sum(plan.estimated_regist_credit_number) as 'registCreditNum',
-       campaign.cost/sum(plan.regist_account_num) as 'registPrice',
-       campaign.cost/sum(plan.complete_user) as 'completePrice',
-       campaign.cost/sum(plan.estimated_credit_number) as 'creditPrice',
-       campaign.cost/sum(plan.regist_complate_number) as 'registCompletePrice',
-       campaign.cost/sum(plan.estimated_regist_credit_number) as 'registCreditPrice',
-       sum(plan.regist_account_num)/campaign.cover_click*100 as 'clickRegistRate',
-       sum(plan.regist_account_num)/campaign.action*100 as 'actionRegistRate',
-       sum(plan.complete_user)/sum(plan.regist_account_num)*100 as 'completeRate',
-       sum(plan.estimated_credit_number)/sum(plan.complete_user)*100 as 'creditRate',
-       sum(plan.regist_complate_number)/sum(plan.regist_account_num)*100 as 'registCompleteRate',
-       sum(plan.estimated_credit_number)/sum(plan.complete_user)*100 as 'registCreditRate',
-       sum(plan.regist_complate_number)/sum(plan.complete_user)*100 as 'completeRateDay',
-       sum(plan.estimated_regist_credit_number)/sum(plan.estimated_credit_number)*100 as 'creditRateDay',
-       sum(plan.estimated_regist_credit_number)/sum(plan.regist_account_num)*100 as 'creditRegistRateDay'
-FROM ctop_kuaishou_customer_plan_statistic_info plan
-         LEFT JOIN ctop_kuaishou_platform_campaign_statistic_info campaign
-                   ON plan.campaign_code = campaign.campaign_code
-        where campaign.account_id = #{accountId} and campaign.statistic_date = #{statisticDate}
-group by plan.campaign_code
+SELECT
+	h.*, h.cost / h.registUserNum AS 'registPrice',
+	h.cost / h.complateUserNum AS 'completePrice',
+	h.cost / h.creditUserNum AS 'creditPrice',
+	h.cost / h.registCompleteNum AS 'registCompletePrice',
+	h.cost / h.registCreditNum AS 'registCreditPrice',
+	h.registUserNum / h.coverClick * 100 AS 'clickRegistRate',
+	h.registUserNum / h.actions * 100 AS 'actionRegistRate',
+	h.complateUserNum / h.registUserNum * 100 AS 'completeRate',
+	h.creditUserNum / h.complateUserNum * 100 AS 'creditRate',
+	h.registCompleteNum / h.registUserNum * 100 AS 'registCompleteRate',
+	h.creditUserNum / h.complateUserNum * 100 AS 'registCreditRate',
+	h.registCompleteNum / h.complateUserNum * 100 AS 'completeRateDay',
+	h.registCreditNum / h.creditUserNum * 100 AS 'creditRateDay',
+	h.registCreditNum / h.registUserNum * 100 AS 'creditRegistRateDay'
+FROM
+	(
+		SELECT
+			c.statistic_date AS 'statisticDate',
+			'汇创思拓' AS 'proxy',
+			(
+				SELECT
+					a.child_channel
+				FROM
+					ctop_kuaishou_customer_plan_statistic_info a
+				WHERE
+					a.statistic_date = #{statisticDate}
+				AND a.campaign_code = c.campaign_code
+				ORDER BY
+					a.id DESC
+				LIMIT 1
+			) AS 'channelName',
+			c.campaign_info AS 'content',
+			c.cost AS 'cost',
+			c.cover_exposure AS 'coverViews',
+			c.cover_click AS 'coverClick',
+			c.metarial_exposure AS 'materialViews',
+			c.action AS 'actions',
+			c.cover_click / c.cover_exposure * 100 AS 'clickRate',
+			c.action / c.cover_click * 100 AS 'actionClickRate',
+			c.action / c.cover_click * c.cover_click / c.cover_exposure * 10000 AS 'abctr',
+			c.cost / c.cover_click 'clickPrice',
+			c.cost / c.action 'actionPrice',
+			(
+				SELECT
+					SUM(a1.regist_account_num)
+				FROM
+					ctop_kuaishou_customer_plan_statistic_info a1
+				WHERE
+					a1.statistic_date = #{statisticDate}
+				AND a1.campaign_code = c.campaign_code
+			) AS 'registUserNum',
+			(
+				SELECT
+					SUM(a2.complete_user)
+				FROM
+					ctop_kuaishou_customer_plan_statistic_info a2
+				WHERE
+					a2.statistic_date = #{statisticDate}
+				AND a2.campaign_code = c.campaign_code
+			) AS 'complateUserNum',
+			(
+				SELECT
+					SUM(a3.estimated_credit_number)
+				FROM
+					ctop_kuaishou_customer_plan_statistic_info a3
+				WHERE
+					a3.statistic_date = #{statisticDate}
+				AND a3.campaign_code = c.campaign_code
+			) AS 'creditUserNum',
+			(
+				SELECT
+					SUM(a4.regist_complate_number)
+				FROM
+					ctop_kuaishou_customer_plan_statistic_info a4
+				WHERE
+					a4.statistic_date = #{statisticDate}
+				AND a4.campaign_code = c.campaign_code
+			) AS 'registCompleteNum',
+			(
+				SELECT
+					SUM(
+						a5.estimated_regist_credit_number
+					)
+				FROM
+					ctop_kuaishou_customer_plan_statistic_info a5
+				WHERE
+					a5.statistic_date = #{statisticDate}
+				AND a5.campaign_code = c.campaign_code
+			) AS 'registCreditNum'
+		FROM
+			ctop_kuaishou_platform_campaign_statistic_info AS c
+		WHERE
+			c.account_id = #{accountId}
+			and c.statistic_date = #{statisticDate}
+		ORDER BY
+			c.campaign_info
+	) AS h
     </select>
 </mapper>

+ 19 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ReportServiceImpl.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.ctop.service.impl;
 import cn.com.ctop.common.utils.CsvUtils;
 import cn.com.ctop.common.utils.OSSUtils;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.apache.http.client.ClientProtocolException;
 import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
@@ -24,6 +25,8 @@ import org.jeecg.modules.ctop.entity.PlatformCampaignStatisticInfo;
 import org.jeecg.modules.ctop.mapper.CustomerPlanStatisticInfoMapper;
 import org.jeecg.modules.ctop.mapper.PlatformCampaignStatisticInfoMapper;
 import org.jeecg.modules.ctop.service.ICTopOauthTokenService;
+import org.jeecg.modules.ctop.service.ICustomerPlanStatisticInfoService;
+import org.jeecg.modules.ctop.service.IPlatformCampaignStatisticInfoService;
 import org.jeecg.modules.ctop.service.IReportService;
 import org.jeecg.modules.ctop.vo.StatisticCampaignVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -206,12 +209,21 @@ public class ReportServiceImpl implements IReportService {
         String accountOneKsDataPath = downLoadByURL(accountOneKsDataUrl);
         String accountFourKsDataPath = downLoadByURL(accountFourKsDataUrl);
         String debitDataPath = downLoadByURL(debitDataUrl);
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/M/dd");
         //2:文件入库
+        //2.1 清除数据库原始数据
+        QueryWrapper<CustomerPlanStatisticInfo> planWrapper = new QueryWrapper<>();
+        planWrapper.eq("statistic_date", simpleDateFormat.format(new Date()));
+        customerPlanStatisticInfoService.remove(planWrapper);
+
+        QueryWrapper<PlatformCampaignStatisticInfo> campaignWrapper = new QueryWrapper<>();
+        campaignWrapper.eq("statistic_date", simpleDateFormat.format(new Date()));
+        platformCampaignStatisticInfoService.remove(campaignWrapper);
+
         this.insertPlatformInfo(accountOneKsDataPath, "gb2312", 1L);
         this.insertPlatformInfo(accountFourKsDataPath, "gb2312", 4L);
-        this.insertCustomerInfo(debitDataPath, "gb2312");
+        this.insertCustomerInfo(debitDataPath, "utf8");
         //3:根据模板生成相应的excel模板文件
-        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/M/dd");
         try {
             String platformReportPath = getExcelDataPath(simpleDateFormat.format(new Date()), 1L, 4L);
 //            //4:同步上传到oss文件服务器
@@ -227,6 +239,11 @@ public class ReportServiceImpl implements IReportService {
         }
     }
 
+    @Autowired
+    private IPlatformCampaignStatisticInfoService platformCampaignStatisticInfoService;
+    @Autowired
+    private ICustomerPlanStatisticInfoService customerPlanStatisticInfoService;
+
     public String getExcelDataPath(String date, Long accountId1, Long accountId4) throws Exception {
 
         List<StatisticCampaignVo> statisticCampaign4Vos = statisticInfoMapper.getVoByParams(date, accountId4);