From 5f5521b0655109b84bdb4b6184aa236265db9785 Mon Sep 17 00:00:00 2001 From: whb <17803890193@163.com> Date: Tue, 27 Aug 2024 17:55:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BF=9C=E7=A8=8B=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E6=96=87=E6=9C=AC=E5=A4=A7=E6=95=B0=E6=8D=AE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stu/StuUserProfileDatabaseController.java | 55 ++++++++++++++----- .../StuUserProfileDatabaseServiceImpl.java | 22 +++++++- 2 files changed, 62 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/sztzjy/marketing/controller/stu/StuUserProfileDatabaseController.java b/src/main/java/com/sztzjy/marketing/controller/stu/StuUserProfileDatabaseController.java index ca669b2..6201660 100644 --- a/src/main/java/com/sztzjy/marketing/controller/stu/StuUserProfileDatabaseController.java +++ b/src/main/java/com/sztzjy/marketing/controller/stu/StuUserProfileDatabaseController.java @@ -1,7 +1,10 @@ package com.sztzjy.marketing.controller.stu; import cn.hutool.core.util.IdUtil; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.alibaba.excel.EasyExcel; +import com.sztzjy.marketing.annotation.AnonymousAccess; import com.sztzjy.marketing.entity.StuTableName; import com.sztzjy.marketing.entity.StuTableNameExample; import com.sztzjy.marketing.entity.StuUploadExcelUser; @@ -9,6 +12,7 @@ import com.sztzjy.marketing.entity.dto.StuUserProfileDto; import com.sztzjy.marketing.mapper.StuTableNameMapper; import com.sztzjy.marketing.mapper.StuUploadExcelUserMapper; import com.sztzjy.marketing.service.StuUserProfileDatabaseService; +import com.sztzjy.marketing.util.HttpUtils; import com.sztzjy.marketing.util.ResultEntity; import com.sztzjy.marketing.util.excel.DemoDataListener; import com.sztzjy.marketing.util.file.IFileUtil; @@ -52,57 +56,55 @@ public class StuUserProfileDatabaseController { @GetMapping("/getBaseInfo") //@AnonymousAccess @ApiOperation("用户数据基本信息") - public ResultEntity getBaseInfo(String userId){ + public ResultEntity getBaseInfo(String userId) { return userProfileDatabaseService.getBaseInfo(userId); } - @GetMapping("/getBaseInfoBySelect") //@AnonymousAccess @ApiOperation("条件查询用户表信息") - public ResultEntity getBaseInfoBySelect( @ApiParam("用户ID")String userId, + public ResultEntity getBaseInfoBySelect(@ApiParam("用户ID") String userId, @ApiParam("表名") @RequestParam(required = false) String tableName, @RequestParam(required = false) @ApiParam("自建表名") String selfTableName, - @ApiParam("页码") Integer index,@ApiParam("每页展示数量") Integer size){ + @ApiParam("页码") Integer index, @ApiParam("每页展示数量") Integer size) { - return userProfileDatabaseService.getBaseInfoBySelect(userId,tableName,selfTableName,index,size); + return userProfileDatabaseService.getBaseInfoBySelect(userId, tableName, selfTableName, index, size); } @GetMapping("/selfExcelBaseInfo") //@AnonymousAccess @ApiOperation("自荐表数据下拉框") - public ResultEntity selfExcelBaseInfo( @ApiParam("用户ID")String userId){ + public ResultEntity selfExcelBaseInfo(@ApiParam("用户ID") String userId) { return userProfileDatabaseService.selfExcelBaseInfo(userId); } - //导入外部Excel格式的数据 @ApiOperation("外部excel上传") @PostMapping("/uploadExcel") //@AnonymousAccess @Transactional(rollbackFor = Exception.class) - public ResultEntity uploadExcel(@RequestPart @ApiParam("文件") MultipartFile file,@RequestParam(required = false) String userId) throws IOException { + public ResultEntity uploadExcel(@RequestPart @ApiParam("文件") MultipartFile file, @RequestParam(required = false) String userId) throws IOException { //读取文件内容 批量导入excel中 以文件名区分\ - String fileName = file.getOriginalFilename().substring(0,file.getOriginalFilename().lastIndexOf(".")); + String fileName = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf(".")); //导入之前判断是否重复导入 StuTableNameExample stuTableNameExample = new StuTableNameExample(); stuTableNameExample.createCriteria().andUserIdEqualTo(userId).andTableNameEqualTo(fileName); List stuTableNames = stuTableNameMapper.selectByExample(stuTableNameExample); - if (!CollectionUtils.isEmpty(stuTableNames)){ - return new ResultEntity<>(HttpStatus.OK,"文件已存在!"); + if (!CollectionUtils.isEmpty(stuTableNames)) { + return new ResultEntity<>(HttpStatus.OK, "文件已存在!"); } // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭 - EasyExcel.read(file.getInputStream(), StuUploadExcelUser.class,new DemoDataListener(stuUploadExcelUserMapper,userId,fileName)).sheet().doRead(); + EasyExcel.read(file.getInputStream(), StuUploadExcelUser.class, new DemoDataListener(stuUploadExcelUserMapper, userId, fileName)).sheet().doRead(); StuTableName tableName = new StuTableName(); tableName.setUserId(userId); @@ -112,10 +114,35 @@ public class StuUserProfileDatabaseController { stuTableNameMapper.insertSelective(tableName); - return new ResultEntity<>(HttpStatus.OK,"上传成功"); + return new ResultEntity<>(HttpStatus.OK, "上传成功"); } + @ApiOperation("外部excel上传") + @PostMapping("/readInfo") + @AnonymousAccess + public ResultEntity readInfo(String text, String userId) throws IOException { + + String url = "http://wbdsj.sztzjy.com/prod-api/makesoft/report/sentiment"; + + + JSONObject entries = HttpUtils.sendPost(url, text, null, null); + + + String str = entries.getStr("respString"); + + +// 将字符串解析为JSONObject + JSONObject jsonObject = JSONUtil.parseObj(str); + + // 获取 data 字段的值 + String data = jsonObject.getStr("data"); + + + + + return new ResultEntity<>(HttpStatus.OK, "成功", data); + } -} +} \ No newline at end of file diff --git a/src/main/java/com/sztzjy/marketing/service/impl/StuUserProfileDatabaseServiceImpl.java b/src/main/java/com/sztzjy/marketing/service/impl/StuUserProfileDatabaseServiceImpl.java index a3eb897..043179f 100644 --- a/src/main/java/com/sztzjy/marketing/service/impl/StuUserProfileDatabaseServiceImpl.java +++ b/src/main/java/com/sztzjy/marketing/service/impl/StuUserProfileDatabaseServiceImpl.java @@ -3,6 +3,7 @@ package com.sztzjy.marketing.service.impl;/** * @date 2024-06-12 10:43 */ +import cn.hutool.core.util.IdUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.sztzjy.marketing.config.Constant; @@ -19,6 +20,7 @@ import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -37,6 +39,9 @@ public class StuUserProfileDatabaseServiceImpl implements StuUserProfileDatabase @Autowired private StuUploadExcelUserMapper uploadExcelUserMapper; + @Autowired + private StuTableNameMapper tableNameMapper; + /** * 用户数据基本信息 @@ -83,6 +88,22 @@ public class StuUserProfileDatabaseServiceImpl implements StuUserProfileDatabase .tableNames(list).build(); + StuTableNameExample stuTableNameExample = new StuTableNameExample(); + stuTableNameExample.createCriteria().andUserIdEqualTo(userId); + List stuTableNames = tableNameMapper.selectByExample(stuTableNameExample); + if (stuTableNames.isEmpty()) + { + for (String s : list) { + StuTableName stuTableName = new StuTableName(); + stuTableName.setId((int) IdUtil.getSnowflakeNextId()); + stuTableName.setUserId(userId); + stuTableName.setCreateTime(new Date()); + stuTableName.setTableName(s); + tableNameMapper.insertSelective(stuTableName); + } + } + + return new ResultEntity<>(HttpStatus.OK, userProfileDto); } @@ -215,7 +236,6 @@ public class StuUserProfileDatabaseServiceImpl implements StuUserProfileDatabase List nameList = uploadExcelUserMapper.selectDistModuleName(userId); return new ResultEntity<>(HttpStatus.OK, nameList); - }