Ver Fonte

头条批量创意详情获取以及修改

syh há 4 anos atrás
pai
commit
37074122eb
18 ficheiros alterados com 136 adições e 695 exclusões
  1. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/JeecgApplication.java
  2. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/config/ShiroConfig.java
  3. 0 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/ToutiaoMaterialsLoadJob.java
  4. 6 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/batch/controller/ByteDanceBatchController.java
  5. 110 84
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceCreativeServiceImpl.java
  6. 2 6
      performance-appraisal/src/main/java/cn/com/ctop/accountvideoquarterinfo/entity/AccountVideoQuarterInfo.java
  7. 0 3
      performance-appraisal/src/main/java/cn/com/ctop/accountvideoquarterinfo/mapper/AccountVideoQuarterInfoMapper.java
  8. 0 10
      performance-appraisal/src/main/java/cn/com/ctop/huananvideoreport/dto/HuananVideoReportDTO.java
  9. 2 6
      performance-appraisal/src/main/java/cn/com/ctop/huananvideoreport/entity/HuananVideoReport.java
  10. 5 6
      performance-appraisal/src/main/java/cn/com/ctop/performanceaccount/entity/PerformanceAccount.java
  11. 0 3
      performance-appraisal/src/main/java/cn/com/ctop/performanceaccount/mapper/PerformanceAccountMapper.java
  12. 0 208
      performance-appraisal/src/main/java/cn/com/ctop/performanceaccount/vue/PerformanceAccountList.vue
  13. 0 170
      performance-appraisal/src/main/java/cn/com/ctop/performanceaccount/vue/modules/PerformanceAccountModal.vue
  14. 0 177
      performance-appraisal/src/main/java/cn/com/ctop/performanceaccount/vue/modules/PerformanceAccountModal__Style#Drawer.vue
  15. 0 3
      performance-appraisal/src/main/java/cn/com/ctop/planeprojectcost/mapper/PlaneProjectCostMapper.java
  16. 3 7
      performance-appraisal/src/main/java/cn/com/ctop/userefficientvideomap/entity/UserEfficientVideoMap.java
  17. 4 6
      performance-appraisal/src/main/java/cn/com/ctop/uservideomap/entity/UserVideoMap.java
  18. 0 3
      performance-appraisal/src/main/java/cn/com/ctop/uservideomap/mapper/UserVideoMapMapper.java

+ 3 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/JeecgApplication.java

@@ -44,7 +44,9 @@ public class JeecgApplication {
                 "----------------------------------------------------------");
     }
 
-    //加载数据字典
+    /**
+     * 加载数据字典
+     */
     @Bean
     public void instanceFiledDic(){
         AccountReportConstants.getInstance().init();

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/config/ShiroConfig.java

@@ -144,7 +144,7 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/toutiao/loadSingleData", "anon");
         filterChainDefinitionMap.put("/kuaishou/getReport/historyData", "anon");
         filterChainDefinitionMap.put("/toutiao/advertiser/**", "anon");
-        filterChainDefinitionMap.put("/template/convert/**", "anon");//文件上传接口
+        filterChainDefinitionMap.put("/template/convert/**", "anon");
         filterChainDefinitionMap.put("/upload/**", "anon");
         filterChainDefinitionMap.put("/appium/appiumTask/run", "anon");
 

+ 0 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/ToutiaoMaterialsLoadJob.java

@@ -21,7 +21,6 @@ public class ToutiaoMaterialsLoadJob implements Job {
     private ICtopOauthTokenService tokenService;
     @Autowired
     private IBytedanceReportService bytedanceReportService;
-
     static ExecutorService executorService = Executors.newFixedThreadPool(8);
 
     @Override

+ 6 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/batch/controller/ByteDanceBatchController.java

@@ -48,6 +48,12 @@ public class ByteDanceBatchController {
         return fileInfoService.getCreativeWords(accountId);
     }
 
+    /**
+     * 行动号召按钮
+     * @param accountId
+     * @param landType
+     * @return
+     */
     @GetMapping("action/text")
     public Map<String,Object>getActionText(Long accountId,String landType){
         return fileInfoService.getActionText(accountId,landType);

+ 110 - 84
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceCreativeServiceImpl.java

@@ -312,105 +312,105 @@ public class ByteDanceCreativeServiceImpl extends ServiceImpl<ByteDanceCreativeM
         if(null!=sceneInventory&&!sceneInventory.trim().equals("")){
             data.put("sceneInventory",sceneInventory);
         }
-        Long generate_derived_ad = getData.getLong("generate_derived_ad");
-        if(null!=generate_derived_ad&&generate_derived_ad!=0){
-            data.put("generateDerivedAd",generate_derived_ad);
+        Long generateDerivedAd = getData.getLong("generate_derived_ad");
+        if(null!=generateDerivedAd&&generateDerivedAd!=0){
+            data.put("generateDerivedAd",generateDerivedAd);
         }
-        JSONArray inventory_type = getData.getJSONArray("inventory_type");
-        if(null!=inventory_type&&!inventory_type.isEmpty()){
-            data.put("inventoryType",inventory_type);
+        JSONArray inventoryType = getData.getJSONArray("inventory_type");
+        if(null!=inventoryType&&!inventoryType.isEmpty()){
+            data.put("inventoryType",inventoryType);
         }
         String source = getData.getString("source");
         if(null!=source&&!source.trim().equals("")){
             data.put("source",source);
         }
-        String app_name = getData.getString("app_name");
-        if(null!=app_name&&!app_name.trim().equals("")){
-            data.put("appName",app_name);
+        String appName = getData.getString("app_name");
+        if(null!=appName&&!appName.trim().equals("")){
+            data.put("appName",appName);
         }
-        String web_url = getData.getString("web_url");
-        if(null!=web_url&&!web_url.trim().equals("")){
-            data.put("webUrl",web_url);
+        String webUrl = getData.getString("web_url");
+        if(null!=webUrl&&!webUrl.trim().equals("")){
+            data.put("webUrl",webUrl);
         }
-        JSONArray ad_keywords = getData.getJSONArray("ad_keywords");
-        if(null!=ad_keywords&&!ad_keywords.isEmpty()){
-            data.put("adKeywords",ad_keywords);
+        JSONArray adKeywords = getData.getJSONArray("ad_keywords");
+        if(null!=adKeywords&&!adKeywords.isEmpty()){
+            data.put("adKeywords",adKeywords);
         }
-        Long third_industry_id = getData.getLong("third_industry_id");
-        if(null!=third_industry_id&&third_industry_id!=0){
-            data.put("thirdIndustryId",third_industry_id);
+        Long thirdIndustryId = getData.getLong("third_industry_id");
+        if(null!=thirdIndustryId&&thirdIndustryId!=0){
+            data.put("thirdIndustryId",thirdIndustryId);
         }
-        String advanced_creative_type = getData.getString("advanced_creative_type");
-        if(null!=advanced_creative_type&&!advanced_creative_type.trim().equals("")){
-            data.put("advancedCreativeType",advanced_creative_type);
+        String advancedCreativeType = getData.getString("advanced_creative_type");
+        if(null!=advancedCreativeType&&!advancedCreativeType.trim().equals("")){
+            data.put("advancedCreativeType",advancedCreativeType);
         }
-        String advanced_creative_title = getData.getString("advanced_creative_title");
-        if(null!=advanced_creative_title&&!advanced_creative_title.trim().equals("")){
-            data.put("advancedCreativeTitle",advanced_creative_title);
+        String advancedCreativeTitle = getData.getString("advanced_creative_title");
+        if(null!=advancedCreativeTitle&&!advancedCreativeTitle.trim().equals("")){
+            data.put("advancedCreativeTitle",advancedCreativeTitle);
         }
-        String phone_number = getData.getString("phone_number");
-        if(null!=phone_number&&!phone_number.trim().equals("")){
-            data.put("phoneNumber",phone_number);
+        String phoneNumber = getData.getString("phone_number");
+        if(null!=phoneNumber&&!phoneNumber.trim().equals("")){
+            data.put("phoneNumber",phoneNumber);
         }
-        String button_text = getData.getString("button_text");
-        if(null!=button_text&&!button_text.trim().equals("")){
-            data.put("buttonText",button_text);
+        String buttonText = getData.getString("button_text");
+        if(null!=buttonText&&!buttonText.trim().equals("")){
+            data.put("buttonText",buttonText);
         }
-        String action_text = getData.getString("action_text");
-        if(null!=action_text&&!action_text.trim().equals("")){
-            data.put("actionText",action_text);
+        String actionText = getData.getString("action_text");
+        if(null!=actionText&&!actionText.trim().equals("")){
+            data.put("actionText",actionText);
         }
-        String form_url = getData.getString("form_url");
-        if(null!=form_url&&!form_url.trim().equals("")){
-            data.put("formUrl",form_url);
+        String formUrl = getData.getString("form_url");
+        if(null!=formUrl&&!formUrl.trim().equals("")){
+            data.put("formUrl",formUrl);
         }
-        String creative_material_mode = getData.getString("creative_material_mode");
-        if(null!=creative_material_mode&&!creative_material_mode.trim().equals("")){
-            data.put("creativeMaterialMode",creative_material_mode);
+        String creativeMaterialMode = getData.getString("creative_material_mode");
+        if(null!=creativeMaterialMode&&!creativeMaterialMode.trim().equals("")){
+            data.put("creativeMaterialMode",creativeMaterialMode);
         }
-        String ies_core_user_id = getData.getString("ies_core_user_id");
-        if(null!=ies_core_user_id&&!ies_core_user_id.trim().equals("")){
-            data.put("iesCoreUserId",ies_core_user_id);
+        String iesCoreUserId = getData.getString("ies_core_user_id");
+        if(null!=iesCoreUserId&&!iesCoreUserId.trim().equals("")){
+            data.put("iesCoreUserId",iesCoreUserId);
         }
-        Long is_feed_and_fav_see = getData.getLong("is_feed_and_fav_see");
-        if(null!=is_feed_and_fav_see){
-            data.put("isFeedAndFavSee",is_feed_and_fav_see);
+        Long isFeedAndFavSee = getData.getLong("is_feed_and_fav_see");
+        if(null!=isFeedAndFavSee){
+            data.put("isFeedAndFavSee",isFeedAndFavSee);
         }
-        JSONArray commerce_cards = getData.getJSONArray("commerce_cards");
-        if(null!=commerce_cards&&!commerce_cards.isEmpty()){
-            data.put("commerceCards",commerce_cards);
+        JSONArray commerceCards = getData.getJSONArray("commerce_cards");
+        if(null!=commerceCards&&!commerceCards.isEmpty()){
+            data.put("commerceCards",commerceCards);
         }
-        String playable_url = getData.getString("playable_url");
-        if(null!=playable_url&&!playable_url.trim().equals("")){
-            data.put("playableUrl",playable_url);
+        String playableUrl = getData.getString("playable_url");
+        if(null!=playableUrl&&!playableUrl.trim().equals("")){
+            data.put("playableUrl",playableUrl);
         }
-        Long procedural_package_id = getData.getLong("procedural_package_id");
-        if(null!=procedural_package_id&&procedural_package_id!=0){
-            data.put("proceduralPackageId",procedural_package_id);
+        Long proceduralPackageId = getData.getLong("procedural_package_id");
+        if(null!=proceduralPackageId&&proceduralPackageId!=0){
+            data.put("proceduralPackageId",proceduralPackageId);
         }
-        Long procedural_package_version = getData.getLong("procedural_package_version");
-        if(null!=procedural_package_version&&procedural_package_version!=0){
-            data.put("proceduralPackageVersion",procedural_package_version);
+        Long proceduralPackageVersion = getData.getLong("procedural_package_version");
+        if(null!=proceduralPackageVersion&&proceduralPackageVersion!=0){
+            data.put("proceduralPackageVersion",proceduralPackageVersion);
         }
-        Long is_presented_video = getData.getLong("is_presented_video");
-        if(null!=is_presented_video){
-            data.put("isPresentedVideo",is_presented_video);
+        Long isPresentedVideo = getData.getLong("is_presented_video");
+        if(null!=isPresentedVideo){
+            data.put("isPresentedVideo",isPresentedVideo);
         }
-        String sub_title = getData.getString("sub_title");
-        if(null!=sub_title&&!sub_title.trim().equals("")){
-            data.put("subTitle",sub_title);
+        String subTitle = getData.getString("sub_title");
+        if(null!=subTitle&&!subTitle.trim().equals("")){
+            data.put("subTitle",subTitle);
         }
-        Long creative_auto_generate_switch = getData.getLong("creative_auto_generate_switch");
-        if(null!=creative_auto_generate_switch){
-            data.put("creativeAutoGenerateSwitch",creative_auto_generate_switch);
+        Long creativeAutoGenerateSwitch = getData.getLong("creative_auto_generate_switch");
+        if(null!=creativeAutoGenerateSwitch){
+            data.put("creativeAutoGenerateSwitch",creativeAutoGenerateSwitch);
         }
-        String track_url_send_type = getData.getString("track_url_send_type");
-        if(null!=track_url_send_type&&!track_url_send_type.trim().equals("")){
-            data.put("trackUrlSendType",track_url_send_type);
+        String trackUrlSendType = getData.getString("track_url_send_type");
+        if(null!=trackUrlSendType&&!trackUrlSendType.trim().equals("")){
+            data.put("trackUrlSendType",trackUrlSendType);
         }
-        JSONArray sub_link_id_list = getData.getJSONArray("track_url_send_type");
-        if(null!=sub_link_id_list&&!sub_link_id_list.isEmpty()){
-            data.put("subLinkIdList",sub_link_id_list);
+        JSONArray subLinkIdList = getData.getJSONArray("sub_link_id_list");
+        if(null!=subLinkIdList&&!subLinkIdList.isEmpty()){
+            data.put("subLinkIdList",subLinkIdList);
         }
         JSONArray titleList = getData.getJSONArray("title_list");
         if(null!=titleList&&!titleList.isEmpty()){
@@ -438,10 +438,12 @@ public class ByteDanceCreativeServiceImpl extends ServiceImpl<ByteDanceCreativeM
                 String imageId = getImage.getString("image_id");
                 if(null!=imageId&&!imageId.trim().equals("")){
                     setImage.put("imageId",imageId);
+                    setImage.put("imageUrl","https://sf6-ttcdn-tos.pstatp.com/obj/mosaic-legacy/"+imageId);
                 }
                 String videoId = getImage.getString("video_id");
                 if(null!=videoId&&!videoId.trim().equals("")){
                     setImage.put("videoId",videoId);
+                    setImage.put("videoUrl","https://aweme.snssdk.com/aweme/v1/playwm/?video_id="+videoId+"&line=0");
                 }
                 JSONArray imageIds = getImage.getJSONArray("image_ids");
                 if(null!=imageIds&&!imageIds.isEmpty()){
@@ -488,10 +490,12 @@ public class ByteDanceCreativeServiceImpl extends ServiceImpl<ByteDanceCreativeM
                 String imageId = getCreative.getString("image_id");
                 if(null!=imageId&&!imageId.trim().equals("")){
                     setCreative.put("imageId",imageId);
+                    setCreative.put("imageUrl","https://sf6-ttcdn-tos.pstatp.com/obj/mosaic-legacy/"+imageId);
                 }
                 String videoId = getCreative.getString("video_id");
                 if(null!=videoId&&!videoId.trim().equals("")){
                     setCreative.put("videoId",videoId);
+                    setCreative.put("videoUrl","https://aweme.snssdk.com/aweme/v1/playwm/?video_id="+videoId+"&line=0");
                 }
                 String thirdPartyId = getCreative.getString("third_party_id");
                 if(null!=thirdPartyId&&!thirdPartyId.trim().equals("")){
@@ -543,19 +547,34 @@ public class ByteDanceCreativeServiceImpl extends ServiceImpl<ByteDanceCreativeM
             ResultMapUtils.setResultMap(result,StatusCode.COMMON_PARAM_ERROR);
             return result;
         }
-        Long planId = data.getLong("adId");
-        if(null == planId||planId==0){
+        JSONArray planIdArray = data.getJSONArray("adIds");
+        if(null == planIdArray||planIdArray.isEmpty()){
             ResultMapUtils.setResultMap(result,StatusCode.COMMON_PARAM_ERROR);
             return result;
         }
-        JSONObject params  = initParams(data);
+        data.remove("adIds");
+        data.put("adId",planIdArray.getLong(0));
+        JSONObject detail = (JSONObject) this.getCreativeDetail(accountId,planIdArray.getLong(0)).get("data");
+        String modifyTime = detail.getString("modifyTime");
+        data.put("modifyTime",modifyTime);
+        JSONObject params = initParams(data);
+        JSONArray array = new JSONArray();
+        Map<String,Object> getData = updateCreative(token,params,planIdArray.getLong(0));
+        array.add(getData);
+        result.put("data",array);
+        ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS);
+        return result;
+    }
+
+    public Map<String,Object>updateCreative(CtopOauthToken token,JSONObject params,Long adId){
+        Map<String, Object> result = new HashMap<>();
         // 请求地址
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_creative_update");
-        JSONObject dataObject = HttpUtils.bytedancePostRequest(token.getAccessToken(),url,data);
+        JSONObject dataObject = HttpUtils.bytedancePostRequest(token.getAccessToken(),url,params);
         Integer code = dataObject.getInteger("code");
         String message = dataObject.getString("message");
         if (null == code || code != 0) {
-            log.info("广告创意更新失败,accountId:{},message:{}", accountId, message);
+            log.info("广告创意更新失败,accountId:{},message:{}", token.getAccountId(), message);
             result.put("success", false);
             result.put("code", -1);
             result.put("message", message);
@@ -563,8 +582,9 @@ public class ByteDanceCreativeServiceImpl extends ServiceImpl<ByteDanceCreativeM
         }
         Thread thread = new Thread(()->getAdvertiserCreative(token,null, DateUtils.formatDate()));
         thread.start();
-        result.put("data",dataObject.getJSONObject("data"));
-        ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS);
+        result.put("success", true);
+        result.put("code", 0);
+        result.put("message", "广告计划("+adId+"):"+"创意更新成功");
         return result;
     }
 
@@ -629,6 +649,12 @@ public class ByteDanceCreativeServiceImpl extends ServiceImpl<ByteDanceCreativeM
         JSONObject params = new JSONObject();
         String creativeWay = data.getString("creativeWay");
         params.put("advertiser_id",data.getLong("accountId"));
+        Long adId = data.getLong("adId");
+        if(null!=adId&&adId!=0){
+            params.put("ad_id",adId);
+        }
+        String modifyTime = data.getString("modifyTime");
+        params.put("modify_time",modifyTime);
         //###############公共参数开始################################
         //优选广告位
         Integer smartInventory = data.getInteger("smartInventory");
@@ -858,11 +884,11 @@ public class ByteDanceCreativeServiceImpl extends ServiceImpl<ByteDanceCreativeM
                     if(null!=dpaDictIds&&!dpaDictIds.isEmpty()){
                         creativeObject.put("dpa_dict_ids",dpaDictIds);
                     }
-                    String text = creativeObject.getString("text");
-                    creativeObject.remove("text");
-                    if(null!=text&&!"".equals(text.trim())){
-                        creativeObject.put("title",text);
-                    }
+//                    String text = creativeObject.getString("title");
+//                    creativeObject.remove("text");
+//                    if(null!=text&&!"".equals(text.trim())){
+//                        creativeObject.put("title",text);
+//                    }
                     Integer derivePosterCid = creativeObject.getInteger("derivePosterCid");
                     creativeObject.remove("derivePosterCid");
                     if(null!=derivePosterCid&&derivePosterCid!=0){

+ 2 - 6
performance-appraisal/src/main/java/cn/com/ctop/accountvideoquarterinfo/entity/AccountVideoQuarterInfo.java

@@ -1,21 +1,17 @@
 package cn.com.ctop.accountvideoquarterinfo.entity;
 
-import java.io.Serializable;
-import java.util.Date;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
 
+import java.util.Date;
+
 /**
  * 绩效明细_账户下所有视频的季度消耗数据
  *

+ 0 - 3
performance-appraisal/src/main/java/cn/com/ctop/accountvideoquarterinfo/mapper/AccountVideoQuarterInfoMapper.java

@@ -1,8 +1,5 @@
 package cn.com.ctop.accountvideoquarterinfo.mapper;
 
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
 import cn.com.ctop.accountvideoquarterinfo.entity.AccountVideoQuarterInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 

+ 0 - 10
performance-appraisal/src/main/java/cn/com/ctop/huananvideoreport/dto/HuananVideoReportDTO.java

@@ -1,16 +1,6 @@
 package cn.com.ctop.huananvideoreport.dto;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import org.jeecgframework.poi.excel.annotation.Excel;
-
-import java.util.Date;
 
 /**
  * 华南视频报表类

+ 2 - 6
performance-appraisal/src/main/java/cn/com/ctop/huananvideoreport/entity/HuananVideoReport.java

@@ -1,21 +1,17 @@
 package cn.com.ctop.huananvideoreport.entity;
 
-import java.io.Serializable;
-import java.util.Date;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
 
+import java.util.Date;
+
 /**
  * 华南视频报表类
  *

+ 5 - 6
performance-appraisal/src/main/java/cn/com/ctop/performanceaccount/entity/PerformanceAccount.java

@@ -1,20 +1,19 @@
 package cn.com.ctop.performanceaccount.entity;
 
-import java.io.Serializable;
-import java.util.Date;
-
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
 
 /**
  * 运营明细表

+ 0 - 3
performance-appraisal/src/main/java/cn/com/ctop/performanceaccount/mapper/PerformanceAccountMapper.java

@@ -1,8 +1,5 @@
 package cn.com.ctop.performanceaccount.mapper;
 
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
 import cn.com.ctop.performanceaccount.entity.PerformanceAccount;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 

+ 0 - 208
performance-appraisal/src/main/java/cn/com/ctop/performanceaccount/vue/PerformanceAccountList.vue

@@ -1,208 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="账户id">
-                            <a-input placeholder="请输入账户id" v-model="queryParam.accountId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="账户期间消耗">
-                            <a-input placeholder="请输入账户期间消耗" v-model="queryParam.cost"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="年">
-                                <a-input placeholder="请输入年" v-model="queryParam.year"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="1头条2快手">
-                                <a-input placeholder="请输入1头条2快手" v-model="queryParam.mediaType"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="季度">
-                                <a-input placeholder="请输入季度" v-model="queryParam.quarter"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('运营明细表')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <performanceAccount-modal ref="modalForm" @ok="modalFormOk"></performanceAccount-modal>
-    </a-card>
-</template>
-
-<script>
-    import PerformanceAccountModal from './modules/PerformanceAccountModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "PerformanceAccountList",
-        mixins: [JeecgListMixin],
-        components: {
-            PerformanceAccountModal
-        },
-        data() {
-            return {
-                description: '运营明细表管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '账户id',
-                        align: "center",
-                        dataIndex: 'accountId'
-                    },
-                    {
-                        title: '账户期间消耗',
-                        align: "center",
-                        dataIndex: 'cost'
-                    },
-                    {
-                        title: '年',
-                        align: "center",
-                        dataIndex: 'year'
-                    },
-                    {
-                        title: '1头条2快手',
-                        align: "center",
-                        dataIndex: 'mediaType'
-                    },
-                    {
-                        title: '季度',
-                        align: "center",
-                        dataIndex: 'quarter'
-                    },
-                    {
-                        title: '账户所属人',
-                        align: "center",
-                        dataIndex: 'userId'
-                    },
-                    {
-                        title: '账户消耗计算开始时间',
-                        align: "center",
-                        dataIndex: 'startDate'
-                    },
-                    {
-                        title: '账户消耗计算结束时间',
-                        align: "center",
-                        dataIndex: 'endDate'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/performanceaccount/performanceAccount/list",
-                    delete: "/performanceaccount/performanceAccount/delete",
-                    deleteBatch: "/performanceaccount/performanceAccount/deleteBatch",
-                    exportXlsUrl: "performanceaccount/performanceAccount/exportXls",
-                    importExcelUrl: "performanceaccount/performanceAccount/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 170
performance-appraisal/src/main/java/cn/com/ctop/performanceaccount/vue/modules/PerformanceAccountModal.vue

@@ -1,170 +0,0 @@
-<template>
-    <a-modal
-            :title="title"
-            :width="800"
-            :visible="visible"
-            :confirmLoading="confirmLoading"
-            @ok="handleOk"
-            @cancel="handleCancel"
-            cancelText="关闭">
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="账户id">
-                    <a-input placeholder="请输入账户id" v-decorator="['accountId', validatorRules.accountId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="账户期间消耗">
-                    <a-input-number v-decorator="[ 'cost', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="年">
-                    <a-input-number v-decorator="[ 'year', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="1头条2快手">
-                    <a-input-number v-decorator="[ 'mediaType', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="季度">
-                    <a-input-number v-decorator="[ 'quarter', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="账户所属人">
-                    <a-input placeholder="请输入账户所属人" v-decorator="['userId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="账户消耗计算开始时间">
-                    <a-date-picker v-decorator="[ 'startDate', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="账户消耗计算结束时间">
-                    <a-date-picker v-decorator="[ 'endDate', {}]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-    </a-modal>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "PerformanceAccountModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    accountId: {rules: [{required: true, message: '请输入账户id!'}]},
-                },
-                url: {
-                    add: "/performanceaccount/performanceAccount/add",
-                    edit: "/performanceaccount/performanceAccount/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'accountId', 'cost', 'year', 'mediaType', 'quarter', 'userId'))
-                    //时间格式化
-                    this.form.setFieldsValue({startDate: this.model.startDate ? moment(this.model.startDate) : null})
-                    this.form.setFieldsValue({endDate: this.model.endDate ? moment(this.model.endDate) : null})
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-                        formData.startDate = formData.startDate ? formData.startDate.format() : null;
-                        formData.endDate = formData.endDate ? formData.endDate.format() : null;
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-
-</style>

+ 0 - 177
performance-appraisal/src/main/java/cn/com/ctop/performanceaccount/vue/modules/PerformanceAccountModal__Style#Drawer.vue

@@ -1,177 +0,0 @@
-<template>
-    <a-drawer
-            :title="title"
-            :width="800"
-            placement="right"
-            :closable="false"
-            @close="close"
-            :visible="visible"
-    >
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="账户id">
-                    <a-input placeholder="请输入账户id" v-decorator="['accountId', validatorRules.accountId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="账户期间消耗">
-                    <a-input-number v-decorator="[ 'cost', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="年">
-                    <a-input-number v-decorator="[ 'year', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="1头条2快手">
-                    <a-input-number v-decorator="[ 'mediaType', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="季度">
-                    <a-input-number v-decorator="[ 'quarter', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="账户所属人">
-                    <a-input placeholder="请输入账户所属人" v-decorator="['userId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="账户消耗计算开始时间">
-                    <a-date-picker v-decorator="[ 'startDate', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="账户消耗计算结束时间">
-                    <a-date-picker v-decorator="[ 'endDate', {}]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-        <a-button type="primary" @click="handleOk">确定</a-button>
-        <a-button type="primary" @click="handleCancel">取消</a-button>
-    </a-drawer>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "PerformanceAccountModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    accountId: {rules: [{required: true, message: '请输入账户id!'}]},
-                },
-                url: {
-                    add: "/performanceaccount/performanceAccount/add",
-                    edit: "/performanceaccount/performanceAccount/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'accountId', 'cost', 'year', 'mediaType', 'quarter', 'userId'))
-                    //时间格式化
-                    this.form.setFieldsValue({startDate: this.model.startDate ? moment(this.model.startDate) : null})
-                    this.form.setFieldsValue({endDate: this.model.endDate ? moment(this.model.endDate) : null})
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-                        formData.startDate = formData.startDate ? formData.startDate.format() : null;
-                        formData.endDate = formData.endDate ? formData.endDate.format() : null;
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-    /** Button按钮间距 */
-    .ant-btn {
-        margin-left: 30px;
-        margin-bottom: 30px;
-        float: right;
-    }
-</style>

+ 0 - 3
performance-appraisal/src/main/java/cn/com/ctop/planeprojectcost/mapper/PlaneProjectCostMapper.java

@@ -1,8 +1,5 @@
 package cn.com.ctop.planeprojectcost.mapper;
 
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
 import cn.com.ctop.planeprojectcost.entity.PlaneProjectCost;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 

+ 3 - 7
performance-appraisal/src/main/java/cn/com/ctop/userefficientvideomap/entity/UserEfficientVideoMap.java

@@ -1,22 +1,18 @@
 package cn.com.ctop.userefficientvideomap.entity;
 
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.Date;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * 有效视频与角色对应表
  *

+ 4 - 6
performance-appraisal/src/main/java/cn/com/ctop/uservideomap/entity/UserVideoMap.java

@@ -1,20 +1,18 @@
 package cn.com.ctop.uservideomap.entity;
 
-import java.io.Serializable;
-import java.util.Date;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
 
 /**
  * 视频和设计师对应关系表

+ 0 - 3
performance-appraisal/src/main/java/cn/com/ctop/uservideomap/mapper/UserVideoMapMapper.java

@@ -1,8 +1,5 @@
 package cn.com.ctop.uservideomap.mapper;
 
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
 import cn.com.ctop.uservideomap.entity.UserVideoMap;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;