Selaa lähdekoodia

添加标签库表结构

syh 4 vuotta sitten
vanhempi
commit
c7fa3b412f

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

@@ -0,0 +1,225 @@
+package org.jeecg.modules.ctop.controller;
+
+import cn.com.ctop.common.module.entity.TagInfo;
+import cn.com.ctop.common.module.service.ITagInfoService;
+import com.alibaba.fastjson.JSON;
+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.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+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 javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+ /**
+ * 标签信息
+ * @author jeecg-boot
+ * @date   2020-08-26
+ * @version V1.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/ctop/tagInfo")
+public class TagInfoController {
+	@Autowired
+	private ITagInfoService tagInfoService;
+
+	/**
+	  * 分页列表查询
+	 * @param tagInfo
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@GetMapping(value = "/list")
+	public Result<IPage<TagInfo>> queryPageList(TagInfo tagInfo,
+												@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+												@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+												HttpServletRequest req) {
+		Result<IPage<TagInfo>> result = new Result<>();
+		QueryWrapper<TagInfo> queryWrapper = QueryGenerator.initQueryWrapper(tagInfo, req.getParameterMap());
+		Page<TagInfo> page = new Page<>(pageNo, pageSize);
+		IPage<TagInfo> pageList = tagInfoService.page(page, queryWrapper);
+		result.setSuccess(true);
+		result.setResult(pageList);
+		return result;
+	}
+
+	/**
+	  *   添加
+	 * @param tagInfo
+	 * @return
+	 */
+	@PostMapping(value = "/add")
+	public Result<TagInfo> add(@RequestBody TagInfo tagInfo) {
+		Result<TagInfo> result = new Result<>();
+		try {
+			tagInfoService.save(tagInfo);
+			result.success("添加成功!");
+		} catch (Exception e) {
+			log.error(e.getMessage(),e);
+			result.error500("操作失败");
+		}
+		return result;
+	}
+
+	/**
+	  *  编辑
+	 * @param tagInfo
+	 * @return
+	 */
+	@PutMapping(value = "/edit")
+	public Result<TagInfo> edit(@RequestBody TagInfo tagInfo) {
+		Result<TagInfo> result = new Result<TagInfo>();
+		TagInfo tagInfoEntity = tagInfoService.getById(tagInfo.getId());
+		if(tagInfoEntity==null) {
+			result.error500("未找到对应实体");
+		}else {
+			boolean ok = tagInfoService.updateById(tagInfo);
+			if(ok) {
+				result.success("修改成功!");
+			}
+		}
+
+		return result;
+	}
+
+	/**
+	  *   通过id删除
+	 * @param id
+	 * @return
+	 */
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		try {
+			tagInfoService.removeById(id);
+		} catch (Exception e) {
+			log.error("删除失败",e.getMessage());
+			return Result.error("删除失败!");
+		}
+		return Result.ok("删除成功!");
+	}
+
+	/**
+	  *  批量删除
+	 * @param ids
+	 * @return
+	 */
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<TagInfo> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		Result<TagInfo> result = new Result<>();
+		if(ids==null || "".equals(ids.trim())) {
+			result.error500("参数不识别!");
+		}else {
+			this.tagInfoService.removeByIds(Arrays.asList(ids.split(",")));
+			result.success("删除成功!");
+		}
+		return result;
+	}
+
+	/**
+	  * 通过id查询
+	 * @param id
+	 * @return
+	 */
+	@GetMapping(value = "/queryById")
+	public Result<TagInfo> queryById(@RequestParam(name="id",required=true) String id) {
+		Result<TagInfo> result = new Result<>();
+		TagInfo tagInfo = tagInfoService.getById(id);
+		if(tagInfo==null) {
+			result.error500("未找到对应实体");
+		}else {
+			result.setResult(tagInfo);
+			result.setSuccess(true);
+		}
+		return result;
+	}
+
+  /**
+      * 导出excel
+   *
+   * @param request
+   * @param response
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+      // Step.1 组装查询条件
+      QueryWrapper<TagInfo> queryWrapper = null;
+      try {
+          String paramsStr = request.getParameter("paramsStr");
+          if (oConvertUtils.isNotEmpty(paramsStr)) {
+              String deString = URLDecoder.decode(paramsStr, "UTF-8");
+              TagInfo tagInfo = JSON.parseObject(deString, TagInfo.class);
+              queryWrapper = QueryGenerator.initQueryWrapper(tagInfo, request.getParameterMap());
+          }
+      } catch (UnsupportedEncodingException e) {
+          e.printStackTrace();
+      }
+
+      //Step.2 AutoPoi 导出Excel
+      ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+      List<TagInfo> pageList = tagInfoService.list(queryWrapper);
+      //导出文件名称
+      mv.addObject(NormalExcelConstants.FILE_NAME, "标签信息列表");
+      mv.addObject(NormalExcelConstants.CLASS, TagInfo.class);
+      mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("标签信息列表数据", "导出人:Jeecg", "导出信息"));
+      mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+      return mv;
+  }
+
+  /**
+      * 通过excel导入数据
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+      MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+      Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+      for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+          MultipartFile file = entity.getValue();
+          ImportParams params = new ImportParams();
+          params.setTitleRows(2);
+          params.setHeadRows(1);
+          params.setNeedSave(true);
+          try {
+              List<TagInfo> listTagInfos = ExcelImportUtil.importExcel(file.getInputStream(), TagInfo.class, params);
+              tagInfoService.saveBatch(listTagInfos);
+              return Result.ok("文件导入成功!数据行数:" + listTagInfos.size());
+          } catch (Exception e) {
+              log.error(e.getMessage(),e);
+              return Result.error("文件导入失败:"+e.getMessage());
+          } finally {
+              try {
+                  file.getInputStream().close();
+              } catch (IOException e) {
+                  e.printStackTrace();
+              }
+          }
+      }
+      return Result.ok("文件导入失败!");
+  }
+
+}

+ 1 - 0
jeecg-boot-module-system/src/main/resources/application-dev.yml

@@ -198,6 +198,7 @@ jeecg:
     video-upload: D://upFiles//video//
     image-upload: D://upFiles//image//
     kuaishou-agent-image: D://temp.png
+    kuaishou-account-captcha-image: D://captcha.png
     chrome-driver: D://chromedriver.exe
     csv-upload: D://upFiles//csv//
     report-history: D://report//history//

+ 1 - 0
jeecg-boot-module-system/src/main/resources/application-prod.yml

@@ -171,6 +171,7 @@ jeecg:
     video-upload: /data/upload/video/
     image-upload: /data/upload/image/
     kuaishou-agent-image: /data/upload/image/temp.png
+    kuaishou-account-captcha-image: /data/upload/image/captcha.png
     chrome-driver: /usr/bin/chromedriver
     csv-upload: /data/upload/csv/
     bak-database-file: /data/data/bak/

+ 2 - 1
jeecg-boot-module-system/src/main/resources/application-prod2.yml

@@ -162,7 +162,8 @@ jeecg:
     webapp: /data/webapp
     video-upload: /data/upload/video/
     image-upload: /data/upload/image/
-
+    kuaishou-agent-image: /data/upload/image/temp.png
+    kuaishou-account-captcha-image: /data/upload/image/captcha.png
     chrome-driver: /usr/bin/chromedriver
     csv-upload: /data/upload/csv/
     bak-database-file: /data/data/bak/

+ 1 - 0
jeecg-boot-module-system/src/main/resources/application-test.yml

@@ -159,6 +159,7 @@ jeecg:
     video-upload: /data/upload/video/
     image-upload: /data/upload/image/
     kuaishou-agent-image: D://temp.png
+    kuaishou-account-captcha-image: D://captcha.png
     chrome-driver: D://chromedriver.exe
     csv-upload: /data/upload/csv/
     report-history: /data/report/history/

+ 1 - 0
jeecg-boot-module-system/src/main/resources/application-wps.yml

@@ -158,6 +158,7 @@ jeecg:
     video-upload: /mnt/upload/video/
     image-upload: /mnt/upload/image/
     kuaishou-agent-image: D://temp.png
+    kuaishou-account-captcha-image: D://captcha.png
     chrome-driver: D://chromedriver.exe
     csv-upload: /mnt/upload/csv/
     bak-database-file: /mnt/data/bak/

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

@@ -2,15 +2,15 @@ package org.jeecg;
 
 import cn.com.ctop.common.module.entity.BindAccountLogin;
 import cn.com.ctop.common.module.entity.CtopOauthToken;
+import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.service.IBindAccountLoginService;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
-import cn.com.ctop.common.module.service.IRefreshTokenService;
+import cn.com.ctop.common.module.service.IUserAllocationService;
 import cn.com.ctop.common.module.utils.CtopAdConstant;
 import cn.com.ctop.kuaishou.modules.graphql.service.IKuaishouWebInterfaceService;
 import cn.com.ctop.kuaishou.modules.report.service.IKuaiShouDailyAgentService;
 import cn.com.ctop.kuaishou.modules.report.service.IKuaishouReportDailyAgentService;
-import cn.com.ctop.toutiao.modules.material.service.IByteDanceCampaignService;
-import cn.com.ctop.toutiao.modules.material.service.IByteDanceCreativeService;
+import cn.com.ctop.toutiao.modules.report.service.IReportService;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.util.DateUtils;
 import org.junit.Test;
@@ -35,15 +35,11 @@ public class SampleTest {
     @Autowired
     private ICtopOauthTokenService oauthTokenService;
     @Autowired
-    private IByteDanceCreativeService creativeService;
-    @Autowired
-    private IByteDanceCampaignService campaignService;
-    @Autowired
     private IKuaishouReportDailyAgentService kuaishouReportDailyAgentService;
     @Autowired
     private IKuaiShouDailyAgentService kuaiShouDailyAgentService;
     @Autowired
-    private IRefreshTokenService refreshTokenService;
+    private IReportService reportService;
 
     @Test
     public void loadBytedanceCreativeData() {
@@ -97,11 +93,18 @@ public class SampleTest {
             log.info("快手删评论所用时长:{}毫秒",end-start);
         }
     }
-
+    @Autowired
+    private IUserAllocationService allocationService;
     @Test
     public void testLoadBytedanceData() {
-        CtopOauthToken token = oauthTokenService.getTokenByAccountId(1673731621920840L);
-        campaignService.getAdvertiserCampaign(token, null, null);
+        List<UserAllocation>allocations = allocationService.getByParams(435L,null,0);
+        for (UserAllocation allocation:allocations) {
+            for(int i=2;i<10;i++){
+                CtopOauthToken token = oauthTokenService.getTokenByAccountId(allocation.getAccountId());
+                Date getDate = DateUtils.addDay(new Date(),-i);
+                reportService.getAdvertiserReport(token,getDate,getDate,CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY);
+            }
+        }
     }
 
     @Test

+ 66 - 0
module-common/src/main/java/cn/com/ctop/common/module/entity/TagInfo.java

@@ -0,0 +1,66 @@
+package cn.com.ctop.common.module.entity;
+
+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;
+
+/**
+ * 标签信息
+ * @author jeecg-boot
+ * @date   2020-08-26
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_tag_info")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="ctop_tag_info对象", description="标签信息")
+public class TagInfo {
+
+	/**id*/
+	@TableId(type = IdType.UUID)
+    @ApiModelProperty(value = "id")
+	private Integer id;
+	/**parentId*/
+	@Excel(name = "parentId", width = 15)
+    @ApiModelProperty(value = "parentId")
+	private Integer parentId;
+	/**标签名称*/
+	@Excel(name = "标签名称", width = 15)
+    @ApiModelProperty(value = "标签名称")
+	private String tagName;
+	/**排序*/
+	@Excel(name = "排序", width = 15)
+    @ApiModelProperty(value = "排序")
+	private Integer tagOrder;
+	/**description*/
+	@Excel(name = "description", width = 15)
+    @ApiModelProperty(value = "description")
+	private String description;
+	/**标签编码*/
+	@Excel(name = "标签编码", width = 15)
+    @ApiModelProperty(value = "标签编码")
+	private String tagCode;
+	/**状态*/
+	@Excel(name = "状态", width = 15)
+    @ApiModelProperty(value = "状态")
+	private Integer status;
+	/**delFlag*/
+	@Excel(name = "delFlag", width = 15)
+    @ApiModelProperty(value = "delFlag")
+	private Integer delFlag;
+	/**createTime*/
+    @ApiModelProperty(value = "createTime")
+	private Date createTime;
+	/**updateTime*/
+    @ApiModelProperty(value = "updateTime")
+	private Date updateTime;
+}

+ 14 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/TagInfoMapper.java

@@ -0,0 +1,14 @@
+package cn.com.ctop.common.module.mapper;
+
+import cn.com.ctop.common.module.entity.TagInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 标签信息
+ * @author: jeecg-boot
+ * @date:   2020-08-26
+ * @cersion: V1.0
+ */
+public interface TagInfoMapper extends BaseMapper<TagInfo> {
+
+}

+ 5 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/TagInfoMapper.xml

@@ -0,0 +1,5 @@
+<?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="cn.com.ctop.common.module.mapper.TagInfoMapper">
+
+</mapper>

+ 14 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/ITagInfoService.java

@@ -0,0 +1,14 @@
+package cn.com.ctop.common.module.service;
+
+import cn.com.ctop.common.module.entity.TagInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 标签信息
+ * @Author: jeecg-boot
+ * @Date:   2020-08-26
+ * @Version: V1.0
+ */
+public interface ITagInfoService extends IService<TagInfo> {
+
+}

+ 18 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/TagInfoServiceImpl.java

@@ -0,0 +1,18 @@
+package cn.com.ctop.common.module.service.impl;
+
+import cn.com.ctop.common.module.entity.TagInfo;
+import cn.com.ctop.common.module.mapper.TagInfoMapper;
+import cn.com.ctop.common.module.service.ITagInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * 标签信息
+ * @author jeecg-boot
+ * @date   2020-08-26
+ * @version V1.0
+ */
+@Service
+public class TagInfoServiceImpl extends ServiceImpl<TagInfoMapper, TagInfo> implements ITagInfoService {
+
+}

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 68 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/service/impl/KuaishouWebInterfaceServiceImpl.java