新增老平台数据库查询接口,excel导出接口,excel数据解析接口,excel导入接口

master
徐杰盟 2024-06-11 17:42:39 +08:00
parent 40e08831bf
commit 39cfebfb37
3 changed files with 50 additions and 17 deletions

View File

@ -1,11 +1,13 @@
package com.whdc.controller; package com.whdc.controller;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.whdc.exception.MyException; import com.whdc.exception.MyException;
import com.whdc.model.dto.AddressBookOldDto; import com.whdc.model.dto.AddressBookOldDto;
import com.whdc.model.entity.AddressBookOld; import com.whdc.model.entity.AddressBookOld;
import com.whdc.model.vo.ExcelDataVo; import com.whdc.model.vo.ExcelDataVo;
import com.whdc.model.vo.ExcelOldDataVo;
import com.whdc.service.IAddressBookOldService; import com.whdc.service.IAddressBookOldService;
import com.whdc.utils.ExcelCommon; import com.whdc.utils.ExcelCommon;
import com.whdc.utils.ResultJson; import com.whdc.utils.ResultJson;
@ -23,7 +25,6 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -84,21 +85,27 @@ public class AddressBookOldController {
List<AddressBookOld> list = service.lambdaQuery() List<AddressBookOld> list = service.lambdaQuery()
.list(); .list();
ExcelCommon.exportExcel(list, ExcelCommon.exportExcel(list,
null, "防汛抗旱通讯录", AddressBookOld.class, "防汛抗旱通讯录_" + LocalDateTime.now() + ".xlsx", null, "防汛抗旱通讯录", AddressBookOld.class, "湖北省防汛抗旱通信录模版" + LocalDateTime.now() + ".xlsx",
response); response);
} }
@ApiOperation(value = "解析文件数据") @ApiOperation(value = "解析文件数据")
@PostMapping(value = "getExcelData") @PostMapping(value = "getExcelData")
public ResultJson<ExcelDataVo> getExcelData(MultipartFile file) { public ResultJson<ExcelOldDataVo> getExcelData(MultipartFile file) {
List<AddressBookOld> appends = ExcelCommon.importExcel(file, 0, 1, AddressBookOld.class); List<AddressBookOld> appends = ExcelCommon.importExcel(file, 0, 1, AddressBookOld.class);
ExcelDataVo excelDataVo = new ExcelDataVo(); ExcelOldDataVo excelDataVo = new ExcelOldDataVo();
if (CollectionUtils.isNotEmpty(appends)){ if (CollectionUtils.isNotEmpty(appends)){
appends = appends.stream().filter(vo ->
StringUtils.isNotBlank(vo.getName())
&& StringUtils.isNotBlank(vo.getCtnm())
&& StringUtils.isNotBlank(vo.getCnnm())
).collect(Collectors.toList());
String key = UUID.randomUUID().toString().replaceAll("-", ""); String key = UUID.randomUUID().toString().replaceAll("-", "");
redisTemplate.opsForValue().set(ADDRESS_BOOK_TEMP_REDIS_KEY + key, JSON.toJSONString(appends), 30, TimeUnit.MINUTES); redisTemplate.opsForValue().set(ADDRESS_BOOK_TEMP_REDIS_KEY + key, JSON.toJSONString(appends), 30, TimeUnit.MINUTES);
excelDataVo.setKey(key); excelDataVo.setKey(key);
excelDataVo.setList(appends);
} }
return ResultJson.ok(excelDataVo); return ResultJson.ok(excelDataVo);
@ -117,19 +124,16 @@ public class AddressBookOldController {
throw new MyException("文件数据为空"); throw new MyException("文件数据为空");
} }
Set<String> set = appends.stream().map(vo -> vo.getName() + "_" + vo.getPhone()).collect(Collectors.toSet()); // Set<String> set = appends.stream().map(vo -> vo.getName() + "_" + vo.getPhone()).collect(Collectors.toSet());
if (set.size() != appends.size()){ // if (set.size() != appends.size()){
throw new MyException("联系人重复"); // throw new MyException("联系人重复");
} // }
LambdaQueryChainWrapper<AddressBookOld> deleteAll = service.lambdaQuery(); boolean r1 = service.remove(Wrappers.emptyWrapper());
deleteAll.gt(AddressBookOld::getId,0);
boolean r1 = service.remove(deleteAll);
if (!r1) { if (!r1) {
throw new MyException("通讯录数据删除失败"); throw new MyException("通讯录数据删除失败");
} }
if (!service.saveBatch(appends)) { if (!service.saveBatch(appends)) {
throw new MyException("表格数据新增失败"); throw new MyException("表格数据新增失败");
} }

View File

@ -0,0 +1,29 @@
package com.whdc.model.vo;
import com.whdc.model.entity.AddressBookOld;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* Description:
* Created by XuSan on 2024/5/28.
*
* @author XuSan
* @version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ExcelOldDataVo {
@ApiModelProperty(value = "数据")
private List<AddressBookOld> list;
@ApiModelProperty(value = "键")
private String key;
}

View File

@ -10,7 +10,7 @@ spring:
datasource: datasource:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: dm.jdbc.driver.DmDriver driver-class-name: dm.jdbc.driver.DmDriver
url: jdbc:dm://10.0.41.113:5236?schema=FXKH_TXL url: jdbc:dm://local.gunshiiot.com:5236?schema=FXKH_TXL
username: SYSDBA username: SYSDBA
password: SYSDBA001 password: SYSDBA001
# url: jdbc:dm://10.42.6.247:5236?schema=FXKH_TXL # url: jdbc:dm://10.42.6.247:5236?schema=FXKH_TXL
@ -39,11 +39,11 @@ spring:
# Redis # Redis
redis: redis:
database: 5 database: 5
# host: 10.42.6.75 host: 10.42.6.75
host: 127.0.0.1 # host: 127.0.0.1
port: 6379 port: 6379
password: # password:
# password: Whdc_890 password: Whdc_890
servlet: servlet:
multipart: multipart: