Selaa lähdekoodia

快手视频消耗统计

syh 4 vuotta sitten
vanhempi
commit
1c649ce725
15 muutettua tiedostoa jossa 707 lisäystä ja 3 poistoa
  1. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/config/WebMvcConfiguration.java
  2. 157 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/KuaishouEffectVideoInfoController.java
  3. 222 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectTransferRecordController.java
  4. 74 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/KuaishouEffectVideoInfo.java
  5. 51 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/ProjectTransferRecord.java
  6. 18 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/KuaishouEffectVideoInfoMapper.java
  7. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/ProjectTransferRecordMapper.java
  8. 45 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/KuaishouEffectVideoInfoMapper.xml
  9. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/ProjectTransferRecordMapper.xml
  10. 17 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IKuaishouEffectVideoInfoService.java
  11. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IProjectTransferRecordService.java
  12. 39 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/KuaishouEffectVideoInfoServiceImpl.java
  13. 29 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ProjectTransferRecordServiceImpl.java
  14. 2 2
      jeecg-boot-module-system/src/main/resources/application-wps.yml
  15. 19 0
      jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java

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

@@ -9,7 +9,6 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.web.cors.CorsConfiguration;
 import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
 import org.springframework.web.filter.CorsFilter;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@@ -38,6 +37,7 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
 //		registry.addInterceptor(browseLogHandelInterceptor);
 //	}
 
+
 	@Bean
 	public CorsFilter corsFilter() {
 		final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();

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

@@ -0,0 +1,157 @@
+package org.jeecg.modules.ctop.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.ctop.entity.KuaishouEffectVideoInfo;
+import org.jeecg.modules.ctop.service.IKuaishouEffectVideoInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
+
+ /**
+ * 快手视频数据清洗信息
+ * @author jeecg-boot
+ * @date   2020-07-23
+ * @version V1.0
+ */
+@Slf4j
+@Api(tags="快手视频数据清洗信息")
+@RestController
+@RequestMapping("/ctop/kuaishouEffectVideoInfo")
+public class KuaishouEffectVideoInfoController {
+	@Autowired
+	private IKuaishouEffectVideoInfoService kuaishouEffectVideoInfoService;
+
+	/**
+	  * 分页列表查询
+	 * @param kuaishouEffectVideoInfo
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "快手视频数据清洗信息-分页列表查询")
+	@ApiOperation(value="快手视频数据清洗信息-分页列表查询", notes="快手视频数据清洗信息-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<KuaishouEffectVideoInfo>> queryPageList(KuaishouEffectVideoInfo kuaishouEffectVideoInfo,
+																@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+																@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+																HttpServletRequest req) {
+		Result<IPage<KuaishouEffectVideoInfo>> result = new Result<>();
+		QueryWrapper<KuaishouEffectVideoInfo> queryWrapper = QueryGenerator.initQueryWrapper(kuaishouEffectVideoInfo, req.getParameterMap());
+		Page<KuaishouEffectVideoInfo> page = new Page<>(pageNo, pageSize);
+		IPage<KuaishouEffectVideoInfo> pageList = kuaishouEffectVideoInfoService.page(page, queryWrapper);
+		result.setSuccess(true);
+		result.setResult(pageList);
+		return result;
+	}
+
+	/**
+	  *   添加
+	 * @param kuaishouEffectVideoInfo
+	 * @return
+	 */
+	@AutoLog(value = "快手视频数据清洗信息-添加")
+	@ApiOperation(value="快手视频数据清洗信息-添加", notes="快手视频数据清洗信息-添加")
+	@PostMapping(value = "/add")
+	public Result<KuaishouEffectVideoInfo> add(@RequestBody KuaishouEffectVideoInfo kuaishouEffectVideoInfo) {
+		Result<KuaishouEffectVideoInfo> result = new Result<>();
+		try {
+			kuaishouEffectVideoInfoService.save(kuaishouEffectVideoInfo);
+			result.success("添加成功!");
+		} catch (Exception e) {
+			log.error(e.getMessage(),e);
+			result.error500("操作失败");
+		}
+		return result;
+	}
+
+	/**
+	  *  编辑
+	 * @param kuaishouEffectVideoInfo
+	 * @return
+	 */
+	@AutoLog(value = "快手视频数据清洗信息-编辑")
+	@ApiOperation(value="快手视频数据清洗信息-编辑", notes="快手视频数据清洗信息-编辑")
+	@PutMapping(value = "/edit")
+	public Result<KuaishouEffectVideoInfo> edit(@RequestBody KuaishouEffectVideoInfo kuaishouEffectVideoInfo) {
+		Result<KuaishouEffectVideoInfo> result = new Result<>();
+		KuaishouEffectVideoInfo kuaishouEffectVideoInfoEntity = kuaishouEffectVideoInfoService.getById(kuaishouEffectVideoInfo.getId());
+		if(kuaishouEffectVideoInfoEntity==null) {
+			result.error500("未找到对应实体");
+		}else {
+			boolean ok = kuaishouEffectVideoInfoService.updateById(kuaishouEffectVideoInfo);
+			if(ok) {
+				result.success("修改成功!");
+			}
+		}
+
+		return result;
+	}
+
+	/**
+	  *   通过id删除
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "快手视频数据清洗信息-通过id删除")
+	@ApiOperation(value="快手视频数据清洗信息-通过id删除", notes="快手视频数据清洗信息-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<Object> delete(@RequestParam(name="id",required=true) String id) {
+		try {
+			kuaishouEffectVideoInfoService.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<KuaishouEffectVideoInfo> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		Result<KuaishouEffectVideoInfo> result = new Result<>();
+		if(ids==null || "".equals(ids.trim())) {
+			result.error500("参数不识别!");
+		}else {
+			this.kuaishouEffectVideoInfoService.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<KuaishouEffectVideoInfo> queryById(@RequestParam(name="id",required=true) String id) {
+		Result<KuaishouEffectVideoInfo> result = new Result<>();
+		KuaishouEffectVideoInfo kuaishouEffectVideoInfo = kuaishouEffectVideoInfoService.getById(id);
+		if(kuaishouEffectVideoInfo==null) {
+			result.error500("未找到对应实体");
+		}else {
+			result.setResult(kuaishouEffectVideoInfo);
+			result.setSuccess(true);
+		}
+		return result;
+	}
+}

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

@@ -0,0 +1,222 @@
+package org.jeecg.modules.ctop.controller;
+
+import cn.com.ctop.common.module.service.ISysRoleService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.ctop.entity.ProjectTransferRecord;
+import org.jeecg.modules.ctop.service.IProjectTransferRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
+
+ /**
+ * 账户转项目记录
+ * @author jeecg-boot
+ * @date   2020-07-22
+ * @version V1.0
+ */
+@Slf4j
+@Api(tags="账户转项目记录")
+@RestController
+@RequestMapping("/ctop/projectTransferRecord")
+public class ProjectTransferRecordController {
+	@Autowired
+	private IProjectTransferRecordService projectTransferRecordService;
+	@Autowired
+	private ISysRoleService sysRoleService;
+	/**
+	  * 我发起的
+	 * @param projectTransferRecord
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "账户转项目记录-分页列表查询")
+	@ApiOperation(value="账户转项目记录-分页列表查询", notes="账户转项目记录-分页列表查询")
+	@GetMapping(value = "/initiatedList")
+	public Result<IPage<ProjectTransferRecord>> initiatedList(ProjectTransferRecord projectTransferRecord,
+									  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+									  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+									  HttpServletRequest req) {
+		Integer status = projectTransferRecord.getStatus();
+		if(null == status||status.equals(0)){
+			projectTransferRecord.setStatus(null);
+		}
+		Result<IPage<ProjectTransferRecord>> result = new Result<>();
+		QueryWrapper<ProjectTransferRecord> queryWrapper = QueryGenerator.initQueryWrapper(projectTransferRecord, req.getParameterMap());
+		LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		String rodeCode = sysRoleService.getRoleCodeByUserId(sysUser.getId());
+		if(null!=rodeCode&&rodeCode.trim().equals("admin")){
+			queryWrapper.eq("user_id",sysUser.getId());
+		}
+		queryWrapper.ne("status",0);
+		Page<ProjectTransferRecord> page = new Page<>(pageNo, pageSize);
+		IPage<ProjectTransferRecord> pageList = projectTransferRecordService.page(page, queryWrapper);
+		result.setSuccess(true);
+		result.setResult(pageList);
+		return result;
+	}
+
+	 /**
+	  * 待审核的
+	  * @param projectTransferRecord
+	  * @param pageNo
+	  * @param pageSize
+	  * @param req
+	  * @return
+	  */
+	 @AutoLog(value = "账户转项目记录-分页列表查询")
+	 @ApiOperation(value="账户转项目记录-分页列表查询", notes="账户转项目记录-分页列表查询")
+	 @GetMapping(value = "/auditList")
+	 public Result<IPage<ProjectTransferRecord>> auditList(ProjectTransferRecord projectTransferRecord,
+															   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+															   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+															   HttpServletRequest req) {
+		 Integer status = projectTransferRecord.getStatus();
+		 if(null == status||status.equals(0)){
+			 projectTransferRecord.setStatus(null);
+		 }
+		 Result<IPage<ProjectTransferRecord>> result = new Result<>();
+		 QueryWrapper<ProjectTransferRecord> queryWrapper = QueryGenerator.initQueryWrapper(projectTransferRecord, req.getParameterMap());
+		 LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		 String rodeCode = sysRoleService.getRoleCodeByUserId(sysUser.getId());
+		 if(null!=rodeCode&&rodeCode.trim().equals("admin")){
+			 queryWrapper.eq("reviewer_id",sysUser.getId());
+		 }
+		 queryWrapper.ne("status",0);
+		 Page<ProjectTransferRecord> page = new Page<>(pageNo, pageSize);
+		 IPage<ProjectTransferRecord> pageList = projectTransferRecordService.page(page, queryWrapper);
+		 result.setSuccess(true);
+		 result.setResult(pageList);
+		 return result;
+	 }
+
+	/**
+	  *  添加
+	 * @param projectTransferRecord
+	 * @return
+	 */
+	@AutoLog(value = "账户转项目记录-添加")
+	@ApiOperation(value="账户转项目记录-添加", notes="账户转项目记录-添加")
+	@PostMapping(value = "/add")
+	public Result<ProjectTransferRecord> add(@RequestBody ProjectTransferRecord projectTransferRecord) {
+		Result<ProjectTransferRecord> result = new Result<>();
+		try {
+			projectTransferRecordService.save(projectTransferRecord);
+			result.success("添加成功!");
+		} catch (Exception e) {
+			log.error(e.getMessage(),e);
+			result.error500("操作失败");
+		}
+		return result;
+	}
+
+	/**
+	  *  编辑
+	 * @param projectTransferRecord
+	 * @return
+	 */
+	@AutoLog(value = "账户转项目记录-编辑")
+	@ApiOperation(value="账户转项目记录-编辑", notes="账户转项目记录-编辑")
+	@PutMapping(value = "/edit")
+	public Result<ProjectTransferRecord> edit(@RequestBody ProjectTransferRecord projectTransferRecord) {
+		Result<ProjectTransferRecord> result = new Result<>();
+		ProjectTransferRecord projectTransferRecordEntity = projectTransferRecordService.getById(projectTransferRecord.getId());
+		if(projectTransferRecordEntity==null) {
+			result.error500("未找到对应实体");
+		}else {
+			boolean ok = projectTransferRecordService.updateById(projectTransferRecord);
+			if(ok) {
+				result.success("修改成功!");
+			}
+		}
+
+		return result;
+	}
+
+	 /**
+	  *  修改状态
+	  * @return
+	  */
+	 @AutoLog(value = "账户转项目记录-编辑")
+	 @ApiOperation(value="账户转项目记录-编辑", notes="账户转项目记录-编辑")
+	 @PutMapping(value = "/editStatus")
+	 public Result<Object> editStatus(@RequestParam(name="id",required=true) Long id,@RequestParam(name = "status",defaultValue = "0") Integer status){
+		 try {
+			 projectTransferRecordService.updateStatus(id,status);
+		 } catch (Exception e) {
+			 log.error("操作失败",e.getMessage());
+			 return Result.error("操作失败!");
+		 }
+		 return Result.ok("操作成功!");
+	 }
+
+	/**
+	 * 通过id删除
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "账户转项目记录-通过id删除")
+	@ApiOperation(value="账户转项目记录-通过id删除", notes="账户转项目记录-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<Object> delete(@RequestParam(name="id",required=true) Long id,@RequestParam(name = "status",defaultValue = "0") Integer status) {
+		try {
+			projectTransferRecordService.updateStatus(id,status);
+		} 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<ProjectTransferRecord> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		Result<ProjectTransferRecord> result = new Result<>();
+		if(ids==null || "".equals(ids.trim())) {
+			result.error500("参数不识别!");
+		}else {
+			this.projectTransferRecordService.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<ProjectTransferRecord> queryById(@RequestParam(name="id",required=true) String id) {
+		Result<ProjectTransferRecord> result = new Result<>();
+		ProjectTransferRecord projectTransferRecord = projectTransferRecordService.getById(id);
+		if(projectTransferRecord==null) {
+			result.error500("未找到对应实体");
+		}else {
+			result.setResult(projectTransferRecord);
+			result.setSuccess(true);
+		}
+		return result;
+	}
+}

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

@@ -0,0 +1,74 @@
+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 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-07-23
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_kuaishou_effect_video_info")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="ctop_kuaishou_effect_video_info对象", description="快手视频数据清洗信息")
+public class KuaishouEffectVideoInfo {
+
+	/**id*/
+	@TableId(type = IdType.UUID)
+    @ApiModelProperty(value = "id")
+	private Integer id;
+	/**signature*/
+	@Excel(name = "signature", width = 15)
+    @ApiModelProperty(value = "signature")
+	private String signature;
+	/**url*/
+	@Excel(name = "url", width = 15)
+    @ApiModelProperty(value = "url")
+	private String url;
+	/**coverUrl*/
+	@Excel(name = "coverUrl", width = 15)
+    @ApiModelProperty(value = "coverUrl")
+	private String coverUrl;
+	/**materialType*/
+	@Excel(name = "materialType", width = 15)
+    @ApiModelProperty(value = "materialType")
+	private Integer materialType;
+	/**channelType*/
+	@Excel(name = "channelType", width = 15)
+    @ApiModelProperty(value = "channelType")
+	private Integer channelType;
+	/**initialCostDate*/
+	@Excel(name = "initialCostDate", width = 15)
+    @ApiModelProperty(value = "initialCostDate")
+	private String initialCostDate;
+	/**finalCostDate*/
+	@Excel(name = "finalCostDate", width = 15)
+    @ApiModelProperty(value = "finalCostDate")
+	private String finalCostDate;
+	/**twoWeekCost*/
+	@Excel(name = "twoWeekCost", width = 15)
+    @ApiModelProperty(value = "twoWeekCost")
+	private java.math.BigDecimal twoWeekCost;
+	/**totalCost*/
+	@Excel(name = "totalCost", width = 15)
+    @ApiModelProperty(value = "totalCost")
+	private java.math.BigDecimal totalCost;
+	/**createTime*/
+    @ApiModelProperty(value = "createTime")
+	private Date createTime;
+	/**updateTime*/
+    @ApiModelProperty(value = "updateTime")
+	private Date updateTime;
+}

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

@@ -0,0 +1,51 @@
+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 io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+
+import java.util.Date;
+
+/**
+ * 账户转项目记录
+ * @author jeecg-boot
+ * @date   2020-07-22
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_project_transfer_record")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="ctop_project_transfer_record对象", description="账户转项目记录")
+public class ProjectTransferRecord {
+
+	@TableId(type = IdType.AUTO)
+	private Long id;
+	/**账户id*/
+	@Dict(dicCode = "account_id",dictTable="ctop_user_allocation",dicText="auth_name")
+	private Long accountId;
+	@Dict(dicCode = "id",dictTable="ctop_project",dicText="project_name")
+	private Long soucreProject;
+	@Dict(dicCode = "id",dictTable="ctop_project",dicText="project_name")
+	private Long targetProject;
+	/**申请人*/
+	@Dict(dicCode = "id",dictTable="sys_user",dicText="realname")
+	private String userId;
+	@Dict(dicCode = "item_value", dictTable = "sys_dict_item", dicText = "item_text",extendsKey = "dict_id",extendsValue = "18922b5d04bfcb1b5ded1a17dfdd9510")
+	private Integer status;
+	/**审核人*/
+	@Dict(dicCode = "id",dictTable="sys_user",dicText="realname")
+	private String reviewerId;
+	/**createTime*/
+    @ApiModelProperty(value = "createTime")
+	private Date createTime;
+	/**updateTime*/
+    @ApiModelProperty(value = "updateTime")
+	private Date updateTime;
+}

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

@@ -0,0 +1,18 @@
+package org.jeecg.modules.ctop.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.ctop.entity.KuaishouEffectVideoInfo;
+
+/**
+ * 快手视频数据清洗信息
+ * @author: jeecg-boot
+ * @date:   2020-07-23
+ * @cersion: V1.0
+ */
+public interface KuaishouEffectVideoInfoMapper extends BaseMapper<KuaishouEffectVideoInfo> {
+    void updateInitialCostDateBySignature(@Param(value = "signature") String signature);
+    void updateFinalCostDateBySignature(@Param(value = "signature") String signature);
+    void updateTotalCostBySignature(@Param(value = "signature") String signature);
+    void updateTowWeekCostBySignature(@Param(value = "signature") String signature);
+}

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

@@ -0,0 +1,14 @@
+package org.jeecg.modules.ctop.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.ctop.entity.ProjectTransferRecord;
+
+/**
+ * 账户转项目记录
+ * @author: jeecg-boot
+ * @date:   2020-07-22
+ * @cersion: V1.0
+ */
+public interface ProjectTransferRecordMapper extends BaseMapper<ProjectTransferRecord> {
+
+}

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

@@ -0,0 +1,45 @@
+<?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.KuaishouEffectVideoInfoMapper">
+
+    <update id="updateInitialCostDateBySignature">
+        update ctop_kuaishou_effect_video_info a
+        set a.initial_cost_date = (select min(report.stat_date)
+                           from ctop_kuaishou_report_daily_creative report
+                                    left join ctop_kuaishou_creative creative
+                                              on creative.creative_id = report.creative_id
+                                    left join ctop_kuaishou_video_get video on video.photo_id = creative.photo_id
+                           where video.signature = #{signature})
+        where a.signature = #{signature}
+    </update>
+    <update id="updateFinalCostDateBySignature">
+        update ctop_kuaishou_effect_video_info a
+        set a.final_cost_date = (select max(report.stat_date)
+                           from ctop_kuaishou_report_daily_creative report
+                                    left join ctop_kuaishou_creative creative
+                                              on creative.creative_id = report.creative_id
+                                    left join ctop_kuaishou_video_get video on video.photo_id = creative.photo_id
+                           where video.signature = #{signature})
+        where a.signature = #{signature}
+    </update>
+    <update id="updateTotalCostBySignature">
+        update ctop_kuaishou_effect_video_info a
+        set a.total_cost = (select sum(report.charge)
+                           from ctop_kuaishou_report_daily_creative report
+                                    left join ctop_kuaishou_creative creative
+                                              on creative.creative_id = report.creative_id
+                                    left join ctop_kuaishou_video_get video on video.photo_id = creative.photo_id
+                           where video.signature = #{signature})
+        where a.signature = #{signature}
+    </update>
+    <update id="updateTowWeekCostBySignature">
+        update ctop_kuaishou_effect_video_info a
+        set a.two_week_cost = (select sum(report.charge)
+                from ctop_kuaishou_report_daily_creative report
+                left join ctop_kuaishou_creative creative
+                    on creative.creative_id = report.creative_id
+        left join ctop_kuaishou_video_get video on video.photo_id = creative.photo_id
+        where video.signature = #{signature} and report.stat_date &gt; DATE_ADD(a.initial_cost_date,INTERVAL 14 DAY))
+        where a.signature = #{signature}
+    </update>
+</mapper>

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/ProjectTransferRecordMapper.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="org.jeecg.modules.ctop.mapper.ProjectTransferRecordMapper">
+
+</mapper>

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

@@ -0,0 +1,17 @@
+package org.jeecg.modules.ctop.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.ctop.entity.KuaishouEffectVideoInfo;
+
+/**
+ * 快手视频数据清洗信息
+ * @author jeecg-boot
+ * @date   2020-07-23
+ * @version V1.0
+ */
+public interface IKuaishouEffectVideoInfoService extends IService<KuaishouEffectVideoInfo> {
+    void updateInitialCostDateBySignature(String signature);
+    void updateFinalCostDateBySignature(String signature);
+    void updateTotalCostBySignature(String signature);
+    void updateTowWeekCostBySignature(String signature);
+}

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

@@ -0,0 +1,14 @@
+package org.jeecg.modules.ctop.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.ctop.entity.ProjectTransferRecord;
+
+/**
+ * 账户转项目记录
+ * @author jeecg-boot
+ * @date   2020-07-22
+ * @version V1.0
+ */
+public interface IProjectTransferRecordService extends IService<ProjectTransferRecord> {
+    void updateStatus(Long id,Integer status);
+}

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

@@ -0,0 +1,39 @@
+package org.jeecg.modules.ctop.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.ctop.entity.KuaishouEffectVideoInfo;
+import org.jeecg.modules.ctop.mapper.KuaishouEffectVideoInfoMapper;
+import org.jeecg.modules.ctop.service.IKuaishouEffectVideoInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 快手视频数据清洗信息
+ * @author jeecg-boot
+ * @date   2020-07-23
+ * @version V1.0
+ */
+@Service
+public class KuaishouEffectVideoInfoServiceImpl extends ServiceImpl<KuaishouEffectVideoInfoMapper, KuaishouEffectVideoInfo> implements IKuaishouEffectVideoInfoService {
+    @Autowired
+    private KuaishouEffectVideoInfoMapper effectVideoInfoMapper;
+    @Override
+    public void updateInitialCostDateBySignature(String signature) {
+        effectVideoInfoMapper.updateInitialCostDateBySignature(signature);
+    }
+
+    @Override
+    public void updateFinalCostDateBySignature(String signature) {
+        effectVideoInfoMapper.updateFinalCostDateBySignature(signature);
+    }
+
+    @Override
+    public void updateTotalCostBySignature(String signature) {
+        effectVideoInfoMapper.updateTotalCostBySignature(signature);
+    }
+
+    @Override
+    public void updateTowWeekCostBySignature(String signature) {
+        effectVideoInfoMapper.updateTowWeekCostBySignature(signature);
+    }
+}

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

@@ -0,0 +1,29 @@
+package org.jeecg.modules.ctop.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.ctop.entity.ProjectTransferRecord;
+import org.jeecg.modules.ctop.mapper.ProjectTransferRecordMapper;
+import org.jeecg.modules.ctop.service.IProjectTransferRecordService;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+/**
+ * 账户转项目记录
+ * @author jeecg-boot
+ * @date   2020-07-22
+ * @version V1.0
+ */
+@Service
+public class ProjectTransferRecordServiceImpl extends ServiceImpl<ProjectTransferRecordMapper, ProjectTransferRecord> implements IProjectTransferRecordService {
+
+    @Override
+    public void updateStatus(Long id,Integer status) {
+        ProjectTransferRecord record = this.getById(id);
+        if(null!=record){
+            record.setStatus(status);
+            record.setUpdateTime(new Date());
+            this.updateById(record);
+        }
+    }
+}

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

@@ -96,8 +96,8 @@ spring:
         connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
       datasource:
         master:
-#          url: jdbc:mysql://139.186.27.96:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false
-          url: jdbc:mysql://39.106.184.70:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false
+          url: jdbc:mysql://139.186.27.96:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false
+#          url: jdbc:mysql://39.106.184.70:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false
           username: hcst
           password: test@20190531
           driver-class-name: com.mysql.jdbc.Driver

+ 19 - 0
jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java

@@ -17,6 +17,8 @@ import cn.com.ctop.toutiao.modules.report.service.IReportService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.ctop.entity.KuaishouEffectVideoInfo;
+import org.jeecg.modules.ctop.service.IKuaishouEffectVideoInfoService;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -150,6 +152,23 @@ public class SampleTest {
         CtopOauthToken token = oauthTokenService.getOauthTokenByAccountId("1649600126891015");
         campaignService.getAdvertiserCampaign(token,"1672261893872756",null);
     }
+
+    @Autowired
+    private IKuaishouEffectVideoInfoService effectVideoInfoService;
+    @Test
+    public void loadKuaishouEffectVideoInfo(){
+        List<KuaishouEffectVideoInfo>videoInfos = effectVideoInfoService.list();
+        for (KuaishouEffectVideoInfo video:videoInfos) {
+            if(null!=video.getSignature()&&!"".equals(video.getSignature())){
+//                effectVideoInfoService.updateFinalCostDateBySignature(video.getSignature());
+//                effectVideoInfoService.updateInitialCostDateBySignature(video.getSignature());
+//                effectVideoInfoService.updateTotalCostBySignature(video.getSignature());
+                if(null==video.getTwoWeekCost()){
+                    effectVideoInfoService.updateTowWeekCostBySignature(video.getSignature());
+                }
+            }
+        }
+    }
 }