瀏覽代碼

修改json转对象异常

syh 4 年之前
父節點
當前提交
730a6591ba

+ 5 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaishouInterfaceServiceImpl.java

@@ -365,6 +365,7 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
             return;
         }
 
+        List<KuaishouReportDailyCampaign> campaigns = new ArrayList<>();
         for (int i = 0; i < details.size(); i++) {
             var detailJson = details.getJSONObject(i);
             var show = detailJson.getLong("show");
@@ -373,8 +374,10 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
             detailJson.put("photo_like", like);
             var campaign = JSONObject.toJavaObject(detailJson, KuaishouReportDailyCampaign.class);
             campaign.setAccountId(token.getAccountId());
-            campaign.setId("" + campaign.getAccountId() + campaign.getCampaignId() + campaign.getStatDate());
-            dailyCampaignService.saveOrUpdate(campaign);
+            campaigns.add(campaign);
+        }
+        if(!campaigns.isEmpty()){
+            dailyCampaignService.replaceBatch(campaigns);
         }
         getCampaignDailyReportByPage(token, startDate, endDate, page + 1);
     }

+ 3 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/entity/KuaishouReportDailyCampaign.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.report.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -14,8 +15,8 @@ import java.util.Date;
 @TableName("ctop_kuaishou_report_daily_campaign")
 public class KuaishouReportDailyCampaign implements Serializable {
     private static final long serialVersionUID = 1L;
-    @TableId
-    private String id;
+    @TableId(type = IdType.AUTO)
+    private Long id;
     private Long accountId;
     @JsonProperty("campaign_id")
     private Long campaignId;
@@ -56,7 +57,6 @@ public class KuaishouReportDailyCampaign implements Serializable {
     private Long activation;
     @JsonProperty
     private Long submit;
-
     @JsonProperty
     private BigDecimal photoClickRatio;
     @JsonProperty

+ 4 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/KuaishouReportDailyCampaignMapper.java

@@ -4,6 +4,10 @@ import cn.com.ctop.kuaishou.modules.report.entity.KuaishouReportDailyCampaign;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 public interface KuaishouReportDailyCampaignMapper extends BaseMapper<KuaishouReportDailyCampaign> {
     void loadCampaignDailyReport(@Param("accountId") Long accountId, @Param("localPath") String localPath);
+
+    void replaceBatch(@Param(value = "records") List<KuaishouReportDailyCampaign> campaigns);
 }

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

@@ -105,5 +105,127 @@
         )
           set account_id = #{accountId}
     </insert>
+    <insert id="replaceBatch">
+        replace into ctop_kuaishou_report_daily_campaign
+        (
+        account_id,
+        campaign_id,
+        status,
+        campaign_name,
+        charge,
+        photo_show,
+        aclick,
+        bclick ,
+        photo_share ,
+        photo_comment ,
+        photo_like,
+        follow ,
+        cancel_follow ,
+        report ,
+        block,
+        negative,
+        download_started  ,
+        download_completed ,
+        activation ,
+        submit ,
+        stat_date ,
+        photo_click ,
+        photo_click_ratio ,
+        action_ratio ,
+        impression_1k_cost ,
+        photo_click_cost,
+        action_cost,
+        event_pay_first_day ,
+        event_pay_purchase_amount_first_day ,
+        event_pay_first_day_roi,
+        event_pay ,
+        event_pay_purchase_amount ,
+        event_pay_roi ,
+        event_register ,
+        event_register_cost ,
+        event_register_ratio,
+        event_jin_jian_app ,
+        event_jin_jian_app_cost,
+        event_credit_grant_app ,
+        event_credit_grant_app_cost,
+        event_credit_grant_app_ratio,
+        event_order_paid,
+        event_order_paid_purchase_amount,
+        event_jin_jian_landing_page ,
+        event_jin_jian_landing_page_cost,
+        event_credit_grant_landing_page,
+        event_credit_grant_landing_page_cost,
+        event_credit_grant_landing_ratio,
+        event_next_day_stay_cost,
+        event_next_day_stay_ratio,
+        form_action_ratio,
+        event_order_paid_cost,
+        event_next_day_stay ,
+        form_cost ,
+        form_count ,
+        play_3s_ratio
+        )
+        values
+        <foreach collection="records" item="record" separator=",">
+            (
+            #{record.accountId}},
+            #{record.campaignId},
+            #{record.status},
+            #{record.campaignName},
+            #{record.charge},
+            #{record.photoShow},
+            #{record.aclick},
+            #{record.bclick},
+            #{record.photoShare },
+            #{record.photoComment },
+            #{record.photoLike},
+            #{record.follow},
+            #{record.cancelFollow },
+            #{record.report},
+            #{record.block},
+            #{record.negative},
+            #{record.downloadStarted},
+            #{record.downloadCompleted},
+            #{record.activation},
+            #{record.submit},
+            #{record.statDate},
+            #{record.photoClick},
+            #{record.photoClickRatio},
+            #{record.actionRatio},
+            #{record.impression1kCost},
+            #{record.photoClickCost},
+            #{record.actionCost},
+            #{record.eventPayFirstDay},
+            #{record.eventPayPurchaseAmountFirstDay},
+            #{record.eventPayFirstDayRoi},
+            #{record.eventPay},
+            #{record.eventPayPurchaseAmount },
+            #{record.eventPayRoi},
+            #{record.eventRegister},
+            #{record.eventRegisterCost},
+            #{record.eventRegisterRatio},
+            #{record.eventJinJianApp},
+            #{record.eventJinJianAppCost},
+            #{record.eventCreditGrantApp},
+            #{record.eventCreditGrantAppCost},
+            #{record.eventCreditGrantAppRatio},
+            #{record.eventOrderPaid},
+            #{record.eventOrderPaidPurchaseAmount},
+            #{record.eventJinJianLandingPage },
+            #{record.eventJinJianLandingPageCost},
+            #{record.eventCreditGrantLandingPage},
+            #{record.eventCreditGrantLandingPageCost},
+            #{record.eventCreditGrantLandingRatio},
+            #{record.eventNextDayStayCost},
+            #{record.eventNextDayStayRatio},
+            #{record.formActionRatio},
+            #{record.eventOrderPaidCost},
+            #{record.eventNextDayStay},
+            #{record.formCost},
+            #{record.formCount},
+            #{record.play3sRatio}
+            )
+        </foreach>
+    </insert>
 
-</mapper>
+</mapper>

+ 3 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IKuaishouReportDailyCampaignService.java

@@ -3,5 +3,8 @@ package cn.com.ctop.kuaishou.modules.report.service;
 import cn.com.ctop.kuaishou.modules.report.entity.KuaishouReportDailyCampaign;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 public interface IKuaishouReportDailyCampaignService extends IService<KuaishouReportDailyCampaign> {
+    void replaceBatch(List<KuaishouReportDailyCampaign> campaigns);
 }

+ 9 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KuaishouReportDailyCampaignServiceImpl.java

@@ -4,8 +4,17 @@ import cn.com.ctop.kuaishou.modules.report.entity.KuaishouReportDailyCampaign;
 import cn.com.ctop.kuaishou.modules.report.mapper.KuaishouReportDailyCampaignMapper;
 import cn.com.ctop.kuaishou.modules.report.service.IKuaishouReportDailyCampaignService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service
 public class KuaishouReportDailyCampaignServiceImpl extends ServiceImpl<KuaishouReportDailyCampaignMapper, KuaishouReportDailyCampaign> implements IKuaishouReportDailyCampaignService {
+    @Autowired
+    private KuaishouReportDailyCampaignMapper kuaishouReportDailyCampaignMapper;
+    @Override
+    public void replaceBatch(List<KuaishouReportDailyCampaign> campaigns) {
+        kuaishouReportDailyCampaignMapper.replaceBatch(campaigns);
+    }
 }