You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dianshang-houduan/src/main/java/com/sztzjy/linkCommerce/controller/stu/DownloadDataController.java

153 lines
3.8 KiB
Java

package com.sztzjy.linkCommerce.controller.stu;
import cn.hutool.core.util.IdUtil;
import com.sztzjy.linkCommerce.annotation.AnonymousAccess;
import com.sztzjy.linkCommerce.entity.dto.StuWordCreateDto;
import com.sztzjy.linkCommerce.util.TagWordCloudService;
import com.sztzjy.linkCommerce.util.file.IFileUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
/**
* @author 17803
* @date 2024-06-17 10:29
*/
@Api(tags = "用户画像模型下载数据")
@RestController
@RequestMapping("api/downDataByUserPortrait")
public class DownloadDataController {
@Autowired
private IFileUtil iFileUtil;
@Value("${file.path}")
private String filePath;
//@AnonymousAccess
@ApiOperation("RFM分析方法下载数据")
@GetMapping("/analysisByRfmDown")
@AnonymousAccess
public void analysisByRfmDown(HttpServletResponse response){
iFileUtil.download(response,"RFM分析方法data.xls");
}
//@AnonymousAccess
@ApiOperation("帕累托分析方法下载数据")
@GetMapping("/analysisByPareto")
@AnonymousAccess
public void analysisByPareto(HttpServletResponse response){
iFileUtil.download(response,"帕累托分析方法data.xls");
}
//@AnonymousAccess
@ApiOperation("波士顿矩阵分析图下载数据")
@GetMapping("/bostonMatrixAnalysisData")
@AnonymousAccess
public void bostonMatrixAnalysisData(HttpServletResponse response){
iFileUtil.download(response,"波士顿矩阵分析图data.xls");
}
//@AnonymousAccess
@ApiOperation("漏斗模型分析下载数据")
@GetMapping("/analysisByFunnelModel")
@AnonymousAccess
public void analysisByFunnelModel(HttpServletResponse response){
iFileUtil.download(response,"漏斗模型分析data.xls");
}
//@AnonymousAccess
@ApiOperation("购物篮分析下载数据")
@GetMapping("/analysisByShopBasket")
@AnonymousAccess
public void analysisByShopBasket(HttpServletResponse response){
iFileUtil.download(response,"购物篮分析data.xls");
}
//@AnonymousAccess
@ApiOperation("复购分析下载数据")
@GetMapping("/analysisByRepurchase")
@AnonymousAccess
public void analysisByRepurchase(HttpServletResponse response){
iFileUtil.download(response,"复购分析data.xls");
}
//@AnonymousAccess
@ApiOperation("留存分析下载数据")
@GetMapping("/analysisByRetention")
@AnonymousAccess
public void analysisByRetention(HttpServletResponse response){
iFileUtil.download(response,"留存分析data.xls");
}
//@AnonymousAccess
@ApiOperation("用户粘性分析下载数据")
@GetMapping("/analysisByStickiness")
@AnonymousAccess
public void analysisByStickiness(HttpServletResponse response){
iFileUtil.download(response,"用户粘性分析data.xls");
}
//@AnonymousAccess
@ApiOperation("情感分析/文本挖掘词云生成")
@PostMapping("/wordCreateByAna")
@AnonymousAccess
public void wordCreateByAna(@RequestBody StuWordCreateDto stuWordCreateDto) throws IOException {
TagWordCloudService tagWordCloudService = new TagWordCloudService();
File file1 = new File(filePath + "/word/");
if (! file1.exists())
{
file1.mkdir();
}
//1成图片路径,2.图云背景图片
String url = filePath+"/word/" + IdUtil.simpleUUID()+"."+"png";
tagWordCloudService.generate(url,filePath+"/1.png",stuWordCreateDto.getContext());
}
}