浏览代码

Merge branch 'master_1'

# Conflicts:
#	jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java
songyh 4 年之前
父节点
当前提交
bd4dd4f96e

+ 0 - 70
jeecg-boot-module-system/src/main/java/org/jeecg/JeecgOneToMainUtil.java

@@ -1,70 +0,0 @@
-package org.jeecg;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jeecgframework.codegenerate.generate.impl.CodeGenerateOneToMany;
-import org.jeecgframework.codegenerate.generate.pojo.onetomany.MainTableVo;
-import org.jeecgframework.codegenerate.generate.pojo.onetomany.SubTableVo;
-
-/**
- * 代码生成器入口【一对多】
- * 【 GUI模式已弃用,请转移Online模式进行代码生成 】
- * @Author 张代浩
- * @site www.jeecg.org
- *
- */
-public class JeecgOneToMainUtil {
-
-	/**
-	 * 一对多(父子表)数据模型,生成方法
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		//第一步:设置主表配置
-		MainTableVo mainTable = new MainTableVo();
-		mainTable.setTableName("jeecg_order_main");//表名
-		mainTable.setEntityName("GuiTestOrderMain");	 //实体名
-		mainTable.setEntityPackage("gui");	 //包名
-		mainTable.setFtlDescription("GUI订单管理");	 //描述
-
-		//第二步:设置子表集合配置
-		List<SubTableVo> subTables = new ArrayList<SubTableVo>();
-		//[1].子表一
-		SubTableVo po = new SubTableVo();
-		po.setTableName("jeecg_order_customer");//表名
-		po.setEntityName("GuiTestOrderCustom");	    //实体名
-		po.setEntityPackage("gui");	        //包名
-		po.setFtlDescription("客户明细");       //描述
-		//子表外键参数配置
-		/*说明:
-		 * a) 子表引用主表主键ID作为外键,外键字段必须以_ID结尾;
-		 * b) 主表和子表的外键字段名字,必须相同(除主键ID外);
-		 * c) 多个外键字段,采用逗号分隔;
-		 */
-		po.setForeignKeys(new String[]{"order_id"});
-		subTables.add(po);
-		//[2].子表二
-		SubTableVo po2 = new SubTableVo();
-		po2.setTableName("jeecg_order_ticket");		//表名
-		po2.setEntityName("GuiTestOrderTicket");			//实体名
-		po2.setEntityPackage("gui"); 				//包名
-		po2.setFtlDescription("产品明细");			//描述
-		//子表外键参数配置
-		/*说明:
-		 * a) 子表引用主表主键ID作为外键,外键字段必须以_ID结尾;
-		 * b) 主表和子表的外键字段名字,必须相同(除主键ID外);
-		 * c) 多个外键字段,采用逗号分隔;
-		 */
-		po2.setForeignKeys(new String[]{"order_id"});
-		subTables.add(po2);
-		mainTable.setSubTables(subTables);
-
-		//第三步:一对多(父子表)数据模型,代码生成
-		try {
-			new CodeGenerateOneToMany(mainTable,subTables).generateCodeFile(null);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-}

+ 217 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceCustomerDdTbtjDataController.java

@@ -0,0 +1,217 @@
+package org.jeecg.modules.ctop.controller;
+
+import java.io.FileInputStream;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import cn.com.ctop.common.module.annotation.AutoLog;
+import cn.com.ctop.common.module.utils.QueryGenerator;
+import com.alibaba.excel.event.AnalysisEventListener;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.util.oConvertUtils;
+import java.util.Date;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.modules.ctop.entity.BytedanceCustomerDdTbtjData;
+import org.jeecg.modules.ctop.service.IBytedanceCustomerDdTbtjDataService;
+import org.jeecg.modules.excelutil.BytedanceCustomTbtjDataExcelListener;
+import org.jeecg.modules.excelutil.ExcelUtils;
+import org.jeecg.modules.excelutil.JhsBakendDataExcelListener;
+import org.jeecg.modules.excelutil.entity.BytedanceCustomTbtjDataEntity;
+import org.jeecg.modules.excelutil.entity.JhsBakendDataEntity;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+ /**
+ * 淘宝特价版客户反馈数据
+ * @author jeecg-boot
+ * @date   2021-04-22
+ * @version V1.0
+ */
+@Slf4j
+@Api(tags="淘宝特价版客户反馈数据")
+@RestController
+@RequestMapping("/ctop/bytedanceCustomerDdTbtjData")
+public class BytedanceCustomerDdTbtjDataController {
+	@Autowired
+	private IBytedanceCustomerDdTbtjDataService bytedanceCustomerDdTbtjDataService;
+
+	/**
+	  * 分页列表查询
+	 * @param bytedanceCustomerDdTbtjData
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@ApiOperation(value="淘宝特价版客户反馈数据-分页列表查询", notes="淘宝特价版客户反馈数据-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BytedanceCustomerDdTbtjData>> queryPageList(BytedanceCustomerDdTbtjData bytedanceCustomerDdTbtjData,
+																	@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+																	@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+																	HttpServletRequest req) {
+		Result<IPage<BytedanceCustomerDdTbtjData>> result = new Result<>();
+		QueryWrapper<BytedanceCustomerDdTbtjData> queryWrapper = QueryGenerator.initQueryWrapper(bytedanceCustomerDdTbtjData, req.getParameterMap());
+		Page<BytedanceCustomerDdTbtjData> page = new Page<BytedanceCustomerDdTbtjData>(pageNo, pageSize);
+		IPage<BytedanceCustomerDdTbtjData> pageList = bytedanceCustomerDdTbtjDataService.page(page, queryWrapper);
+		result.setSuccess(true);
+		result.setResult(pageList);
+		return result;
+	}
+
+	/**
+	  *   添加
+	 * @param bytedanceCustomerDdTbtjData
+	 * @return
+	 */
+	@AutoLog(value = "淘宝特价版客户反馈数据-添加")
+	@ApiOperation(value="淘宝特价版客户反馈数据-添加", notes="淘宝特价版客户反馈数据-添加")
+	@PostMapping(value = "/add")
+	public Result<BytedanceCustomerDdTbtjData> add(@RequestBody BytedanceCustomerDdTbtjData bytedanceCustomerDdTbtjData) {
+		Result<BytedanceCustomerDdTbtjData> result = new Result<>();
+		try {
+			bytedanceCustomerDdTbtjDataService.save(bytedanceCustomerDdTbtjData);
+			result.success("添加成功!");
+		} catch (Exception e) {
+			log.error(e.getMessage(),e);
+			result.error500("操作失败");
+		}
+		return result;
+	}
+
+	/**
+	  *  编辑
+	 * @param bytedanceCustomerDdTbtjData
+	 * @return
+	 */
+	@AutoLog(value = "淘宝特价版客户反馈数据-编辑")
+	@ApiOperation(value="淘宝特价版客户反馈数据-编辑", notes="淘宝特价版客户反馈数据-编辑")
+	@PutMapping(value = "/edit")
+	public Result<BytedanceCustomerDdTbtjData> edit(@RequestBody BytedanceCustomerDdTbtjData bytedanceCustomerDdTbtjData) {
+		Result<BytedanceCustomerDdTbtjData> result = new Result<BytedanceCustomerDdTbtjData>();
+		BytedanceCustomerDdTbtjData bytedanceCustomerDdTbtjDataEntity = bytedanceCustomerDdTbtjDataService.getById(bytedanceCustomerDdTbtjData.getId());
+		if(bytedanceCustomerDdTbtjDataEntity==null) {
+			result.error500("未找到对应实体");
+		}else {
+			boolean ok = bytedanceCustomerDdTbtjDataService.updateById(bytedanceCustomerDdTbtjData);
+			if(ok) {
+				result.success("修改成功!");
+			}
+		}
+
+		return result;
+	}
+
+	/**
+	  *   通过id删除
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "淘宝特价版客户反馈数据-通过id删除")
+	@ApiOperation(value="淘宝特价版客户反馈数据-通过id删除", notes="淘宝特价版客户反馈数据-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		try {
+			bytedanceCustomerDdTbtjDataService.removeById(id);
+		} catch (Exception e) {
+			log.error("删除失败",e.getMessage());
+			return Result.error("删除失败!");
+		}
+		return Result.ok("删除成功!");
+	}
+
+	/**
+	  *  批量删除
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "淘宝特价版客户反馈数据-批量删除")
+	@ApiOperation(value="淘宝特价版客户反馈数据-批量删除", notes="淘宝特价版客户反馈数据-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<BytedanceCustomerDdTbtjData> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		Result<BytedanceCustomerDdTbtjData> result = new Result<>();
+		if(ids==null || "".equals(ids.trim())) {
+			result.error500("参数不识别!");
+		}else {
+			this.bytedanceCustomerDdTbtjDataService.removeByIds(Arrays.asList(ids.split(",")));
+			result.success("删除成功!");
+		}
+		return result;
+	}
+
+	/**
+	  * 通过id查询
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "淘宝特价版客户反馈数据-通过id查询")
+	@ApiOperation(value="淘宝特价版客户反馈数据-通过id查询", notes="淘宝特价版客户反馈数据-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<BytedanceCustomerDdTbtjData> queryById(@RequestParam(name="id",required=true) String id) {
+		Result<BytedanceCustomerDdTbtjData> result = new Result<>();
+		BytedanceCustomerDdTbtjData bytedanceCustomerDdTbtjData = bytedanceCustomerDdTbtjDataService.getById(id);
+		if(bytedanceCustomerDdTbtjData==null) {
+			result.error500("未找到对应实体");
+		}else {
+			result.setResult(bytedanceCustomerDdTbtjData);
+			result.setSuccess(true);
+		}
+		return result;
+	}
+  /**
+      * 通过excel导入数据
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+  @PostMapping(value = "/importExcel")
+  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+	  //1.读Excel
+	  MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+	  Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+	  for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+		  FileInputStream fis = null;
+		  try {
+			  MultipartFile file = entity.getValue();
+			  fis = (FileInputStream) file.getInputStream();
+			  AnalysisEventListener listener = new BytedanceCustomTbtjDataExcelListener();
+			  Boolean flag = ExcelUtils.readExcel(fis, BytedanceCustomTbtjDataEntity.class, listener);
+			  System.out.println("导入是否成功:" + flag);
+		  } catch (Exception e) {
+			  e.printStackTrace();
+		  } finally {
+			  if (fis != null) {
+				  try {
+					  fis.close();
+				  } catch (IOException e) {
+					  e.printStackTrace();
+				  }
+			  }
+		  }
+	  }
+	  return Result.ok("文件导入成功!");
+  }
+
+}

+ 37 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/BytedanceCustomerDdTbtjData.java

@@ -0,0 +1,37 @@
+package org.jeecg.modules.ctop.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 淘宝特价版客户反馈数据
+ * @author jeecg-boot
+ * @date   2021-04-22
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_bytedance_customer_ad_tbtj_data")
+public class BytedanceCustomerDdTbtjData {
+    
+	/**id*/
+	@TableId(type = IdType.AUTO)
+	private Long id;
+	/**adId*/
+	private Long adId;
+	/**stateDate*/
+	private String stateDate;
+	/**loginCnt*/
+	private Integer loginCnt;
+	/**bugerCnt*/
+	private Integer buyerCnt;
+	/**nextDayStay*/
+	private Integer nextDayStay;
+	/**createTime*/
+	private Date createTime;
+	/**updateTime*/
+	private Date updateTime;
+}

+ 19 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/BytedanceCustomerDdTbtjDataMapper.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.ctop.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.ctop.entity.BytedanceCustomerDdTbtjData;
+import org.jeecg.modules.excelutil.entity.BytedanceCustomTbtjDataEntity;
+
+/**
+ * 淘宝特价版客户反馈数据
+ * @author: jeecg-boot
+ * @date:   2021-04-22
+ * @cersion: V1.0
+ */
+public interface BytedanceCustomerDdTbtjDataMapper extends BaseMapper<BytedanceCustomerDdTbtjData> {
+
+    void replaceDatas(@Param(value = "datas") List<BytedanceCustomTbtjDataEntity> datas);
+}

+ 24 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/BytedanceCustomerDdTbtjDataMapper.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.ctop.mapper.BytedanceCustomerDdTbtjDataMapper">
+
+    <insert id="replaceDatas">
+        REPLACE INTO
+        ctop_bytedance_customer_ad_tbtj_data
+        (ad_id,
+        state_date,
+        login_cnt,
+        buyer_cnt,
+        next_day_stay)
+        values
+        <foreach collection="datas" item="data" separator=",">
+            (
+            #{data.adId},
+            #{data.dateString},
+            #{data.loginCnt},
+            #{data.buyerCnt},
+            #{data.nextDayStay}
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 18 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IBytedanceCustomerDdTbtjDataService.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.ctop.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.ctop.entity.BytedanceCustomerDdTbtjData;
+import org.jeecg.modules.excelutil.entity.BytedanceCustomTbtjDataEntity;
+
+import java.util.List;
+
+/**
+ * @Description: 淘宝特价版客户反馈数据
+ * @Author: jeecg-boot
+ * @Date:   2021-04-22
+ * @Version: V1.0
+ */
+public interface IBytedanceCustomerDdTbtjDataService extends IService<BytedanceCustomerDdTbtjData> {
+
+    void replaceEntityList(List<BytedanceCustomTbtjDataEntity> datas);
+}

+ 28 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/BytedanceCustomerDdTbtjDataServiceImpl.java

@@ -0,0 +1,28 @@
+package org.jeecg.modules.ctop.service.impl;
+
+import org.jeecg.modules.ctop.entity.BytedanceCustomerDdTbtjData;
+import org.jeecg.modules.ctop.mapper.BytedanceCustomerDdTbtjDataMapper;
+import org.jeecg.modules.ctop.service.IBytedanceCustomerDdTbtjDataService;
+import org.jeecg.modules.excelutil.entity.BytedanceCustomTbtjDataEntity;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 淘宝特价版客户反馈数据
+ * @author jeecg-boot
+ * @date   2021-04-22
+ * @version V1.0
+ */
+@Service
+public class BytedanceCustomerDdTbtjDataServiceImpl extends ServiceImpl<BytedanceCustomerDdTbtjDataMapper, BytedanceCustomerDdTbtjData> implements IBytedanceCustomerDdTbtjDataService {
+    @Resource
+    private BytedanceCustomerDdTbtjDataMapper tbtjDataMapper;
+    @Override
+    public void replaceEntityList(List<BytedanceCustomTbtjDataEntity> datas) {
+        tbtjDataMapper.replaceDatas(datas);
+    }
+}

+ 50 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/excelutil/BytedanceCustomTbtjDataExcelListener.java

@@ -0,0 +1,50 @@
+package org.jeecg.modules.excelutil;
+
+import cn.com.ctop.common.module.utils.SpringUtils;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.ctop.service.impl.BytedanceCustomerDdTbtjDataServiceImpl;
+import org.jeecg.modules.excelutil.entity.BytedanceCustomTbtjDataEntity;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class BytedanceCustomTbtjDataExcelListener extends AnalysisEventListener<BytedanceCustomTbtjDataEntity> {
+    //自定义用于暂时存储data。
+    //可以通过实例获取该值
+    private List<BytedanceCustomTbtjDataEntity> datas = new ArrayList<>();
+    private static final int BATCH_COUNT = 200;
+
+    @Override
+    public void invoke(BytedanceCustomTbtjDataEntity object, AnalysisContext context) {
+        //数据存储到list,供批量处理,或后续自己业务逻辑处理。
+        Date date = object.getStateDate();
+        object.setDateString(DateUtils.formatDate(date,"yyyy-MM-dd HH:mm:ss"));
+        datas.add(object);
+        if(null!=datas&&datas.size()>=BATCH_COUNT){
+            saveDate();
+            datas.clear();
+        }
+    }
+
+    private void saveDate() {
+        BytedanceCustomerDdTbtjDataServiceImpl dataService = SpringUtils.getApplicationContext().getBean(BytedanceCustomerDdTbtjDataServiceImpl.class);
+        dataService.replaceEntityList(datas);
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext context) {
+        // 解析结束销毁不用的资源
+         datas.clear();
+    }
+
+    public List<BytedanceCustomTbtjDataEntity> getDatas() {
+        return datas;
+    }
+
+    public void setDatas(List<BytedanceCustomTbtjDataEntity> datas) {
+        this.datas = datas;
+    }
+}

+ 0 - 17
jeecg-boot-module-system/src/main/java/org/jeecg/modules/excelutil/JhsBakendDataExcelListener.java

@@ -38,23 +38,6 @@ public class JhsBakendDataExcelListener extends AnalysisEventListener<JhsBakendD
         dataService.replaceEntityList(datas);
     }
 
-    private void doSomething(Object object) {
-        //入库调用接口
-        JhsBakendDataEntity dataEntity = (JhsBakendDataEntity) object;
-        dataEntity.setCreateTime(new Date());
-        dataEntity.setUpdateTime(new Date());
-        String date = dataEntity.getStateDate();
-        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
-        try {
-            date = DateUtils.formatDate(dateFormat.parse(date));
-        } catch (ParseException e) {
-            e.printStackTrace();
-        }
-        dataEntity.setStateDate(date);
-        JhsBakendDataServiceImpl dataService = SpringUtils.getApplicationContext().getBean(JhsBakendDataServiceImpl.class);
-        dataService.replaceEntity(dataEntity);
-    }
-
     @Override
     public void doAfterAllAnalysed(AnalysisContext context) {
         // datas.clear();//解析结束销毁不用的资源

+ 73 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/excelutil/entity/BytedanceCustomTbtjDataEntity.java

@@ -0,0 +1,73 @@
+package org.jeecg.modules.excelutil.entity;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.metadata.BaseRowModel;
+
+import java.util.Date;
+
+public class BytedanceCustomTbtjDataEntity extends BaseRowModel {
+    /**日期*/
+    @ExcelProperty(value = "日期", index = 0)
+    private Date stateDate;
+    /**计划id*/
+    @ExcelProperty(value = "计划id", index = 1)
+    private Long adId;
+    @ExcelProperty(value = "登录人数", index = 2)
+    private Integer loginCnt;
+    /**bugerCnt*/
+    @ExcelProperty(value = "首购人数", index = 3)
+    private Integer buyerCnt;
+    /**nextDayStay*/
+    @ExcelProperty(value = "次留数", index = 4)
+    private Integer nextDayStay;
+    
+    private String dateString;
+
+    public Date getStateDate() {
+        return stateDate;
+    }
+
+    public void setStateDate(Date stateDate) {
+        this.stateDate = stateDate;
+    }
+
+    public Long getAdId() {
+        return adId;
+    }
+
+    public void setAdId(Long adId) {
+        this.adId = adId;
+    }
+
+    public Integer getLoginCnt() {
+        return loginCnt;
+    }
+
+    public void setLoginCnt(Integer loginCnt) {
+        this.loginCnt = loginCnt;
+    }
+
+    public Integer getBuyerCnt() {
+        return buyerCnt;
+    }
+
+    public void setBuyerCnt(Integer buyerCnt) {
+        this.buyerCnt = buyerCnt;
+    }
+
+    public Integer getNextDayStay() {
+        return nextDayStay;
+    }
+
+    public void setNextDayStay(Integer nextDayStay) {
+        this.nextDayStay = nextDayStay;
+    }
+
+    public String getDateString() {
+        return dateString;
+    }
+
+    public void setDateString(String dateString) {
+        this.dateString = dateString;
+    }
+}

+ 11 - 403
jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java

@@ -17,6 +17,7 @@ import cn.com.ctop.oa.modules.service.IWechatNoListService;
 import cn.com.ctop.oa.modules.service.IWechatUserListService;
 import cn.com.ctop.toutiao.modules.link.service.IETLReportBytedanceVideoService;
 import cn.com.ctop.toutiao.modules.material.service.IByteDanceAdvertiserDataService;
+import cn.com.ctop.toutiao.modules.material.service.IByteDanceCampaignService;
 import cn.com.ctop.toutiao.modules.report.entity.BytedanceAccountReportTaskRecord;
 import cn.com.ctop.toutiao.modules.report.service.*;
 import lombok.extern.slf4j.Slf4j;
@@ -46,112 +47,11 @@ import static org.jeecg.common.util.DateUtils.getAnotherDay;
 @Slf4j
 public class SampleTest {
     @Autowired
-    private ICtopOauthTokenService oauthTokenService;
-    @Autowired
-    private IReportService reportService;
-    @Autowired
-    private IByteDanceAdvertiserDataService advertiserDataService;
-    @Autowired
     private ICtopOauthTokenService tokenService;
     @Autowired
-    private IKuaiShouVideoGetService videoGetService;
-    @Autowired
-    private IKuaishouVideoRelateCreativesService kuaishouVideoRelateCreativesService;
-    @Autowired
     private IBindAccountLoginService bindAccountLoginService;
     @Autowired
     private IKuaishouWebInterfaceService kuaishouWebInterfaceService;
-    /*   @Autowired
-       private IByteDanceAdvertiserDataService advertiserDataService;
-
-   */
-    @Autowired
-    private IKuaishouReportDailyGroupService reportDailyGroupService;
-    @Autowired
-    private IEtlKuaiShouAccountMaterialOverviewService kuaiShouAccountMaterialOverviewService;
-    @Autowired
-    private IKuaiShouGroupService kuaiShouGroupService;
-    @Autowired
-    private IKuaishouReportHourlyGroupService groupService;
-    @Autowired
-    private IKuaiShouReportDailyMaterialService reportDailyMaterialService;
-    @Autowired
-    private IKuaiShouActionBarTextService actionBarTextService;
-
-    @Test
-    public void loadBytedanceCreativeData() throws ParseException {
-
-        actionBarTextService.getActionBarText();
-
-        // groupService.getAdvertiserGroupReportHourly(9677284L, "b88c5f0d80c518fc80174a4dabbcd180", "2021-04-19", "2021-04-19");
-    //    reportDailyMaterialService.getMaterialReportByAccountIdAndStatDate(9677284L, "b88c5f0d80c518fc80174a4dabbcd180", "2021-04-19", "2021-04-19", "DAILY", 1);
-
-     /*   Date getDate = DateUtils.addDay(new Date(), -1);
-        Date getDate2 = DateUtils.addDay(new Date(), -2);
-
-        CtopOauthToken token = new CtopOauthToken();
-        token.setAccountId(9901975L);
-        token.setAccessToken("1c7cebebc3174c39fe941d136df65b1d");
-
-        kuaiShouGroupService.getGroupListByPage("90f31a01c2137aa11c8686e86064b630",9845316L,null,1);*/
-
-//        kuaishouInterfaceService.getAdvertiserReportDaily(token, getDate2, getDate, "adScene");
-
-     /*   JSONObject materialOverview = kuaiShouAccountMaterialOverviewService.getMaterialOverview(5473041L, "2021-03-09");
-        System.err.println(materialOverview);*/
-
-      /*  CtopOauthToken token = new CtopOauthToken();
-        token.setAccountId(9901975L);
-        token.setAccessToken("e609f9d3f56f3d6b4653f32c98a6d119");
-        kuaiShouAccountMaterialOverviewService.cleanAccountMaterialOverview(9901975L, "2021-03-09");
-        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
-        Date parse = simpleDateFormat.parse("2021-03-09");
-        reportDailyGroupService.getAdvertiserGroupReportDaily(token, parse, parse);*/
-
-        //    1662234704806924
-       /* CtopOauthToken token = new CtopOauthToken();
-        token.setAccountId(9549277L);
-        token.setAccessToken("bc5327c8f2bd8a67513e51148c9206c8");
-
-
-
-        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
-        Date parse = simpleDateFormat.parse("2021-02-02");
-        kuaishouInterfaceService.getAdvertiserReportDaily(token, parse, parse);*/
-
-     /*   CtopOauthToken token = new CtopOauthToken();
-        token.setAccountId(9767055L);
-        token.setAccessToken("28e4e6b124e1443d6971ba4c699de6c9");
-
-        kuaishouInterfaceService.getVideoList(token, null, null);
-        kuaishouInterfaceService.getVideoInfo("28e4e6b124e1443d6971ba4c699de6c9", 9767055L, "5208131540349742192");*/
-
-     /*   CtopOauthToken tokenByAccountId = tokenService.getTokenByAccountId(1662234704806924L);
-        advertiserDataService.getMaterialList(tokenByAccountId);*/
-       /* getVideoByPage(token, "", 1);
-        List<KuaiShouVideoGet> KuaiShouVideoGets = videoGetService.selectPhotoIdsByAccountId(9743746L);
-        if (!Check.isNull(KuaiShouVideoGets)) {
-            JSONArray dateList = new JSONArray();
-            JSONArray photoIds = new JSONArray();
-            Map<String, Object> statdateMap = new HashMap<>();
-            int count = 0;
-            for (KuaiShouVideoGet video : KuaiShouVideoGets) {
-                count++;
-                if (count < 10) {
-                    photoIds.add(video.getPhotoId());
-                    statdateMap.put(video.getPhotoId(), video.getStatDate());
-                } else {
-                    photoIds.add(video.getPhotoId());
-                    statdateMap.put(video.getPhotoId(), video.getStatDate());
-                    dateList.add(photoIds);
-                    photoIds = new JSONArray();
-                    count = 0;
-                }
-            }
-            dateList.add(photoIds);
-            kuaishouVideoRelateCreativesService.videoRelateCreatives(9743746L, dateList, statdateMap);
-        }*/
-    }
 
     @Test
     public void loadKuaishouCookie() {
@@ -167,15 +67,6 @@ public class SampleTest {
         }
     }
 
-    @Test
-    public void loadKuaishouCamgaignData() {
-        Date getDate = DateUtils.parseDate("2021-03-24", "yyyy-MM-dd");
-        List<UserAllocation> list = allocationService.getByParams(50L, null, 0);
-        list.forEach(userAllocation -> {
-            CtopOauthToken token = tokenService.getOauthTokenByAccountId(userAllocation.getAccountId().toString());
-            kuaishouInterfaceService.getAdvertiserCampaignReportDaily(token, getDate, getDate);
-        });
-    }
 
     static ExecutorService executorService = null;
     static CountDownLatch countDownLatch = null;
@@ -205,150 +96,6 @@ public class SampleTest {
             log.info("快手删评论所用时长:{}毫秒", end - start);
         }
     }
-
-    @Autowired
-    private IUserAllocationService allocationService;
-
-    @Test
-    public void testLoadBytedanceData() {
-        List<UserAllocation> allocations = allocationService.getByParams(633L, null, 0);
-        if (null != allocations && !allocations.isEmpty()) {
-            for (UserAllocation allocation : allocations) {
-                CtopOauthToken token = tokenService.getTokenByAccountId(allocation.getAccountId());
-                String startDate = "2020-11-10";
-                String endDate = "2020-11-10";
-                reportService.getAdvertiserReport(token, DateUtils.parseDate(startDate, "yyyy-MM-dd"), DateUtils.parseDate(endDate, "yyyy-MM-dd"), CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY);
-            }
-        }
-        System.out.println("任务结束");
-    }
-
-    @Test
-    public void loadKuaishouPlanData() {
-        Date getDate = DateUtils.addDay(new Date(), -1);
-        //1:查询当日数据
-        List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();
-        tokens.forEach(token -> kuaishouInterfaceService.getAdvertiserCampaignReportDaily(token, getDate, getDate));
-    }
-
-    @Autowired
-    private IBytedanceFundDailyService bytedanceFundDailyService;
-
-    @Test
-    public void loadFoudData() {
-        List<CtopOauthToken> tokens = tokenService.selectToutiaoToken();
-        for (CtopOauthToken token : tokens) {
-            System.out.println(token.getAccountId() + "############################");
-            for (int i = 20; i < 130; i++) {
-                Date date = DateUtils.addDay(new Date(), -i);
-                bytedanceFundDailyService.loadFundDataByPage(token, DateUtils.formatDate(date), DateUtils.formatDate(date), 1);
-                System.out.println(i + "############################");
-            }
-        }
-    }
-
-    @Autowired
-    private IKuaiShouHistoryReportTaskService reportTaskService;
-
-    /**
-     * 测试获取快手图片消耗数据任务
-     */
-    @Test
-    public void loadKuaishouImageTask() {
-        List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();
-        for (int i = 1; i < 130; i++) {
-            Date getDate = DateUtils.addDay(new Date(), -i);
-            String getDateStr = DateUtils.formatDate(getDate);
-            tokens.forEach(token -> reportTaskService.createTask(token.getAccountId(), token.getAccessToken(), getDateStr, getDateStr, CtopAdConstant.KUAISHOU_LOAD_JOB_TYPE_DAILY));
-        }
-    }
-
-    @Autowired
-    private IKuaiShouDailyReportTaskService dailyReportTaskService;
-
-    /**
-     * 测试获取快手图片消耗数据入库
-     */
-    @Test
-    public void loadKuaishouImageTaskFile() {
-        String nowDate = DateUtils.getDate("yyyy-MM-dd");
-        List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();
-        for (int i = 1; i < 15; i++) {
-            String statDate = getAnotherDay("yyyy-MM-dd", nowDate, -i);
-            tokens.forEach(token -> dailyReportTaskService.getTaskList(token.getAccountId(), token.getAccessToken(), statDate));
-        }
-        //  查询快手token
-    }
-
-    @Test
-    public void testLoadBytedanceImageData() {
-        List<CtopOauthToken> tokens = tokenService.selectToutiaoToken();
-        countDownLatch = new CountDownLatch(tokens.size());
-        executorService = Executors.newFixedThreadPool(8);
-        tokens.forEach(token -> executorService.submit(() -> {
-            try {
-                advertiserDataService.getMaterialList(token);
-            } catch (Exception e) {
-            } finally {
-                countDownLatch.countDown();
-            }
-        }));
-        try {
-            countDownLatch.await();
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-        }
-        System.out.println("素材数据获取完成");
-
-    }
-
-    @Autowired
-    private IKuaishouReportDailyAgentService kuaishouReportDailyAgentService;
-
-    @Test
-    public void testData() {
-        Date date = new Date();
-        List<CtopOauthToken> tokens = tokenService.selectToutiaoToken();
-        executorService = Executors.newFixedThreadPool(10);
-        countDownLatch = new CountDownLatch(tokens.size());
-        tokens.forEach(token -> executorService.submit(() -> {
-            try {
-                reportService.getAdvertiserPlanRuleData(token, date, date, CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY);
-            } catch (Exception e) {
-
-            } finally {
-                countDownLatch.countDown();
-            }
-        }));
-        try {
-            countDownLatch.await();
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-        }
-    }
-
-    @Test
-    public void loadKuaishouAgentData() {
-        kuaishouReportDailyAgentService.loginAgent();
-        try {
-            for (int i = 1; i < 30; i++) {
-                kuaishouReportDailyAgentService.getAccount(i);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    @Test
-    public void loadKuaishouData() {
-        Date getDate = DateUtils.addDay(new Date(), -1);
-        //1:查询当日数据
-        List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();
-        for (CtopOauthToken token : tokens) {
-            kuaishouInterfaceService.getAdvertiserCampaignReportDaily(token, getDate, getDate);
-        }
-    }
-
     @Autowired
     private IBytedanceReportService bytedanceReportService;
 
@@ -362,50 +109,6 @@ public class SampleTest {
         }
     }
 
-    @Test
-    public void loadKuaishouHourlyReportData() {
-        Date getDate = new Date();
-        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH");
-        String hour = simpleDateFormat.format(getDate);
-        if ("00".equals(hour)) {
-            getDate = DateUtils.addDay(getDate, -1);
-        }
-        //1:查询当日数据
-        List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();
-        Date finalGetDate = getDate;
-        tokens.forEach(token -> kuaishouInterfaceService.getAdvertiserReportHourly(token, finalGetDate, finalGetDate));
-    }
-
-    @Autowired
-    private IKuaishouInterfaceService kuaishouInterfaceService;
-
-    @Test
-    public void loadKuaishouGroupData() throws ParseException {
-        Date endDate = new Date();
-        String anotherDay = DateUtils.getAnotherDay("yyyy-MM-dd", DateUtils.formatDate(endDate), -1);
-        SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd");
-        Date startDate = sim.parse(anotherDay);
-        CtopOauthToken token = tokenService.getTokenByAccountId(7087890L);
-        kuaishouInterfaceService.getGroupList(token, startDate, endDate);
-    }
-
-
-    @Test
-    public void loadAccountData() {
-//        List<UserAllocation> allocations = allocationService.getByParams(776L,null,0);
-//        for (UserAllocation allocation:allocations) {
-        CtopOauthToken token = tokenService.getTokenByAccountId(93238965516L);
-        for (int i = 92; i < 100; i++) {
-            Date getDate = DateUtils.addDay(new Date(), -i);
-            reportService.getAdvertiserReport(token, getDate, getDate, CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY);
-        }
-//        }
-    }
-
-    @Autowired
-    private IWechatCheckinDataService wechatCheckinDataService;
-    @Autowired
-    private IWechatUserListService wechatUserInfoService;
     @Autowired
     private IWechatNoListService wechatNoListService;
 
@@ -423,20 +126,12 @@ public class SampleTest {
         wechatNoListService.getNoDateByNo("2021-03-01 00:00:00", "2021-03-31 23:59:59", "1");
     }
 
-    @Autowired
-    private IKuaiShouCommentService kuaiShouCommentService;
-
-    @Test
-    public void kuaishouDeleteComment() {
-        kuaiShouCommentService.shieldComment(8018853L);
-    }
 
     @Autowired
     private IByteDanceVideoReportDailyService videoReportDailyService;
 
     @Test
-    synchronized public void formatVideoReportData() {
-
+    public void formatVideoReportData() {
         for (int i = 1; i < 45; i++) {
             Date getDate = DateUtils.addDay(new Date(), -i);
             String date = DateUtils.formatDate(getDate);
@@ -454,25 +149,6 @@ public class SampleTest {
     IKuaishouReportDailyImageService kuaishouReportDailyImageService;
     @Autowired
     IRuleByteDanceAccountService ruleByteDanceAccountService;
-    @Autowired
-    private IKuaishouVideoEtlInfoService kuaishouVideoEtlInfoService;
-    @Autowired
-    private IBytedanceAccountReportTaskRecordService reportTaskRecordService;
-
-
-    @Test
-    public void execute() {
-        List<UserAllocation> allocations = allocationService.listByMediaId("3", 0);
-        for (UserAllocation allocation : allocations) {
-            BytedanceAccountReportTaskRecord reportTaskRecord1 = new BytedanceAccountReportTaskRecord(allocation.getAccountId(), "2020-10-01", "2020-10-31");
-            reportTaskRecordService.save(reportTaskRecord1);
-            BytedanceAccountReportTaskRecord reportTaskRecord2 = new BytedanceAccountReportTaskRecord(allocation.getAccountId(), "2020-11-01", "2020-11-30");
-            reportTaskRecordService.save(reportTaskRecord2);
-            BytedanceAccountReportTaskRecord reportTaskRecord3 = new BytedanceAccountReportTaskRecord(allocation.getAccountId(), "2020-12-01", "2020-12-31");
-            reportTaskRecordService.save(reportTaskRecord3);
-        }
-    }
-
     @Test
     public void loadBDAccoutData() {
         Date startDate = DateUtils.addDay(new Date(), -2000);
@@ -481,82 +157,6 @@ public class SampleTest {
             bytedanceVideoEtlInfoService.etlBytedanceVideoInfo(getDate);
         }
     }
-
-
-    @Test
-    public void etlKuaishouData() {
-        String dateString = "2021-01-05";
-        Date startDate = DateUtils.parseDate(dateString, "yyyy-MM-dd");
-        for (int i = 0; i <= 10; i++) {
-            Date getDate = DateUtils.addDay(startDate, i);
-            kuaishouVideoEtlInfoService.etlKuaishouVideoInfo(getDate);
-            bytedanceVideoEtlInfoService.etlBytedanceVideoInfo(getDate);
-        }
-    }
-
-    @Test
-    public void loadBytedanceVideo() {
-        CtopOauthToken token = tokenService.getTokenByAccountId(1673731601820686L);
-        for (int i = 15; i < 60; i++) {
-            reportService.getAdvertiserReport(token, DateUtils.addDay(new Date(), -i), DateUtils.addDay(new Date(), -i), CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY);
-        }
-    }
-
-    @Test
-    public void loadKuaishouVideo() {
-        Date date = new Date();
-        CtopOauthToken token = tokenService.getTokenByAccountId(9556344L);
-//        kuaishouInterfaceService.getAdvertiserCreativeReportDaily(token, new Date(), new Date(), null, null);
-        kuaishouInterfaceService.getVideoList(token, DateUtils.formatDate(DateUtils.addDay(date, -5)), DateUtils.formatDate(date));
-        // 获取图片信息数据
-//        kuaishouInterfaceService.getImageList(token, DateUtils.getNowDate("yyyy-MM-dd"));
-    }
-
-
-    @Test
-    public void testLoadBytedanceDataV2() {
-        String accountIds = "1675440464386062";
-        String[] accountArray = accountIds.split(",");
-        for (int i = 0; i < accountArray.length; i++) {
-            CtopOauthToken token = tokenService.getTokenByAccountId(Long.parseLong(accountArray[i]));
-            reportService.getAdvertiserReport(token, DateUtils.parseDate("2021-01-14", "yyyy-MM-dd"), DateUtils.parseDate("2021-01-14", "yyyy-MM-dd"), CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY);
-        }
-    }
-
-    @Test
-    public void loadKuaiShouImage() {
-        List<CtopOauthToken> tokens = oauthTokenService.selectKuaiShouToken();
-        executorService = Executors.newFixedThreadPool(22);
-        countDownLatch = new CountDownLatch(tokens.size());
-        tokens.forEach(token -> executorService.submit(() -> {
-            try {
-                kuaishouReportDailyImageService.getMaterialImageReport(token.getAccountId(), token.getAccessToken(), "2021-01-17", "2021-01-31", 1);
-            } catch (Exception e) {
-
-            } finally {
-                countDownLatch.countDown();
-            }
-        }));
-        try {
-            countDownLatch.await();
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-        }
-    }
-
-    @Autowired
-    private IEtlKuaishouAccountMaterialReportDailyService dailyService;
-
-    @Test
-    public void etlKuaishouInfo() {
-        Date startDate = DateUtils.parseDate("2020-05-03", "yyyy-MM-dd");
-        for (int i = 0; i < 365; i++) {
-            dailyService.etlKuaishouAccountMaterialReportDailyData(DateUtils.formatDate(DateUtils.addDay(startDate, i)));
-        }
-    }
-
-    @Autowired
-    private IEtlKuaishouVideoInfoService videoEtlInfoService;
     @Resource
     private EtlKuaishouAccountMaterialReportDailyMapper etlKuaishouAccountMaterialReportDailyMapper;
 
@@ -564,6 +164,14 @@ public class SampleTest {
     public void etlKuaishouVideoInfo() {
         etlKuaishouAccountMaterialReportDailyMapper.etlKuaishouAccountMaterialReportDailyData(DateUtils.formatDate());
     }
-
+    @Autowired
+    private IByteDanceCampaignService campaignService;
+    @Test
+    public void testLoadBytedanceCampaign(){
+        List<CtopOauthToken>tokens = tokenService.selectToutiaoToken();
+        for(CtopOauthToken token :tokens){
+            campaignService.getAdvertiserCampaign(token, null, null);
+        }
+    }
 
 }