1. 改了n多

This commit is contained in:
zhaowenyuan 2024-07-02 11:36:43 +08:00
parent 83db6b9046
commit 553a0d9b4f
12 changed files with 214 additions and 125 deletions

View File

@ -1,6 +1,7 @@
package com.chushang.inspection.project.po; package com.chushang.inspection.project.po;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.chushang.common.mybatis.base.BaseEntity; import com.chushang.common.mybatis.base.BaseEntity;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -27,7 +28,7 @@ public class WrkProjectPayment extends BaseEntity {
/** /**
* 回款id * 回款id
*/ */
@TableField(value = "payment_id") @TableId(value = "payment_id")
private Long paymentId; private Long paymentId;
/** /**

View File

@ -53,7 +53,7 @@ public class InspectionConsumerService implements RocketMQListener<TaskInfo> {
String methodName = message.getMethodName(); String methodName = message.getMethodName();
String params = message.getParams(); String params = message.getParams();
Integer taskType = message.getTaskType(); Integer taskType = message.getTaskType();
SecurityContextHolder.setDeptId(message.getDeptId()); SecurityContextHolder.setDeptId(message.getDeptId()+"");
UpdateTaskDTO updateTask = new UpdateTaskDTO(); UpdateTaskDTO updateTask = new UpdateTaskDTO();
try { try {
// 包名+类名 // 包名+类名

View File

@ -1,11 +1,24 @@
package com.chushang.inspection.ins; package com.chushang.inspection.ins;
import com.chushang.inspection.work.vo.InspectionConfigVO; import cn.hutool.core.bean.BeanUtil;
import com.chushang.inspection.work.vo.WrkInfoDetailsVO; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.collection.ListUtil;
import com.chushang.common.core.constant.SecurityConstants;
import com.chushang.common.core.web.Result;
import com.chushang.inspection.work.vo.*;
import com.chushang.oss.feign.RemoteOssService;
import com.deepoove.poi.data.Pictures;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.*;
import java.util.stream.Collectors;
/** /**
* 生成 word, 需要 先试下默认的 * 生成 word, 需要 先试下默认的
@ -13,19 +26,63 @@ import java.util.Map;
* @date: 2024/6/29 14:44 * @date: 2024/6/29 14:44
*/ */
@Slf4j @Slf4j
@Service @Component("default")
public class DefaultGeneratedIns implements GeneratedIns{ public class DefaultGeneratedIns implements GeneratedIns{
@Override @Override
public void generated(Map<Long, WrkInfoDetailsVO> wrkMaps, InspectionConfigVO insConfig, String basePath) { public List<CompletableFuture<Void>> generated(Map<Long, WrkInfoDetailsVO> wrkMaps,
InspectionConfigVO insConfig,
String basePath,
RemoteOssService remoteOssService,
TemplateService templateService,
Executor executor) {
List<CompletableFuture<Void>> futures = new CopyOnWriteArrayList<>();
wrkMaps.forEach((wrkId, wrk)->{
WrkInfoVO wrkInfo = wrk.getWrkInfo();
WrkInfoStoreVO infoStore = wrk.getInfoStore();
WrkInfoTerminalVO terminal = wrk.getInfoTerminal();
List<WrkImgVO> images = wrk.getInfoImg();
CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
Map<String, Object> wrkInfoMap = BeanUtil.beanToMap(wrkInfo, Maps.newHashMap(), false, true);
Map<String, Object> wrkStoreMap = BeanUtil.beanToMap(infoStore, Maps.newHashMap(), false, true);
Map<String, Object> wrkTerminalMap = BeanUtil.beanToMap(terminal, Maps.newHashMap(), false, true);
HashMap<String, Object> data = new HashMap<>();
data.putAll(wrkInfoMap);
data.putAll(wrkStoreMap);
data.putAll(wrkTerminalMap);
// default 只生成签名文件? 应该生成全部
if (CollectionUtil.isNotEmpty(images)){
images.stream().filter(imgVO -> imgVO.getImgType() != null)
.forEach(imgVO -> {
Result<byte[]> result = remoteOssService.getFile(imgVO.getFid(), SecurityConstants.INNER);
if (result.isSuccess() && result.getData() != null){
data.put("img" + imgVO.getImgType(), Pictures.ofBytes(result.getData()).size(300, 280).create());
}
});
}
// 此时取远程模板
String fileName = generateAFileName(basePath, infoStore.getStoreNo(), wrkInfo.getLowerTaskName(), infoStore.getStoreName(), wrkInfo.getWorkNo() + "");
if (null != insConfig){
String templateFid = insConfig.getTemplateFid();
// 巡检单相关 数据
List<ConfigDataVO> details = insConfig.getDetails();
if (CollectionUtil.isNotEmpty(details)){
// 巡检单集合 --> 此处 直接根据key 获取对应的value, value 为对应的 拼接好的值,
// label 存储对应的数据, 比如 {}非常满意 {}比较满意 {}可以接受 {}不满意 {}非常不满意 ,
// 然后 根据传递过来的值, 去拼接 最终的value, , 并存储在对应的结果集中, 所以, 此处需要一个 result
Map<String, String> insMap =
details.stream().collect(Collectors.toMap(ConfigDataVO::getConfigKey, ConfigDataVO::getFinalResult));
// 巡检单信息
data.putAll(insMap);
}
// 生成模板
templateService.computeWord(fileName, templateFid, data);
}else {
templateService.computeWord(fileName, null, data);
}
}, executor);
futures.add(future);
});
return futures;
} }
/**
* 用于 注册
*/
@Override
public String register() {
return "default";
}
} }

View File

@ -3,9 +3,13 @@ package com.chushang.inspection.ins;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.chushang.inspection.work.vo.InspectionConfigVO; import com.chushang.inspection.work.vo.InspectionConfigVO;
import com.chushang.inspection.work.vo.WrkInfoDetailsVO; import com.chushang.inspection.work.vo.WrkInfoDetailsVO;
import com.chushang.oss.feign.RemoteOssService;
import java.io.File; import java.io.File;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
/** /**
* 生成 模板 * 生成 模板
@ -20,7 +24,10 @@ public interface GeneratedIns {
/** /**
* 应当为 Map<Long, WrkInfoDetailsVO> map 结构 * 应当为 Map<Long, WrkInfoDetailsVO> map 结构
*/ */
void generated(Map<Long, WrkInfoDetailsVO> wrkMaps, InspectionConfigVO insConfig, String basePath); List<CompletableFuture<Void>> generated(Map<Long, WrkInfoDetailsVO> wrkMaps, InspectionConfigVO insConfig, String basePath,
RemoteOssService remoteOssService,
TemplateService templateService,
Executor executor);
default String generateAFileName(String path, String... value) { default String generateAFileName(String path, String... value) {
StringBuilder fileName = new StringBuilder(path); StringBuilder fileName = new StringBuilder(path);
@ -34,7 +41,4 @@ public interface GeneratedIns {
} }
return fileName.append(SUFFIX_NAME).toString(); return fileName.append(SUFFIX_NAME).toString();
} }
String register();
} }

View File

@ -1,64 +1,100 @@
//package com.chushang.inspection.ins; package com.chushang.inspection.ins;
//
//import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
//import com.chushang.inspection.work.vo.InspectionConfigVO; import cn.hutool.core.io.FileUtil;
//import com.chushang.inspection.work.vo.WrkInfoDetailsVO; import cn.hutool.core.thread.ThreadUtil;
//import com.chushang.oss.config.UploadConfig; import cn.hutool.core.util.ZipUtil;
//import com.google.common.collect.Lists; import com.chushang.common.core.constant.SecurityConstants;
//import io.minio.MinioProperties; import com.chushang.common.core.web.Result;
//import lombok.extern.slf4j.Slf4j; import com.chushang.inspection.work.vo.InspectionConfigVO;
//import org.springframework.stereotype.Service; import com.chushang.inspection.work.vo.WrkInfoDetailsVO;
// import com.chushang.oss.config.UploadConfig;
//import javax.annotation.Resource; import com.chushang.oss.entity.dto.UploadBytesDTO;
//import java.io.File; import com.chushang.oss.entity.vo.FileSourceVo;
//import java.util.HashMap; import com.chushang.oss.feign.RemoteOssService;
//import java.util.List; import com.google.common.collect.Lists;
//import java.util.Map; import lombok.RequiredArgsConstructor;
//import java.util.concurrent.CompletableFuture; import lombok.extern.slf4j.Slf4j;
//import java.util.concurrent.CyclicBarrier; import org.springframework.stereotype.Service;
//
///** import javax.annotation.Resource;
// * 模板生成工厂 import java.io.File;
// * @auther: zhao import java.util.HashMap;
// * @date: 2024/7/1 9:33 import java.util.List;
// */ import java.util.Map;
//@Slf4j import java.util.concurrent.CompletableFuture;
//@Service import java.util.concurrent.CyclicBarrier;
//public class GeneratedInsFactory { import java.util.concurrent.ExecutorService;
// import java.util.concurrent.atomic.AtomicReference;
// private final DefaultGeneratedIns defaultGeneratedIns;
// /**
// public String getPath() { * 模板生成工厂
// return UploadConfig.getTmpPath() + File.separator + "download" + File.separator + "word" + File.separator; * @auther: zhao
// } * @date: 2024/7/1 9:33
// */
// private final Map<String, GeneratedIns> generatedInsMap; @Slf4j
// @Service
// GeneratedInsFactory(List<GeneratedIns> insList, DefaultGeneratedIns defaultGeneratedIns){ @RequiredArgsConstructor
// generatedInsMap = new HashMap<>(); public class GeneratedInsFactory {
// insList.forEach(ins-> generatedInsMap.put(ins.register(), ins)); private final TemplateService templateService;
// this.defaultGeneratedIns = defaultGeneratedIns; private final RemoteOssService remoteOssService;
// } private static final ExecutorService EXECUTOR = ThreadUtil.newExecutor(
// Runtime.getRuntime().availableProcessors() * 2,
// public void generated(Map<Long, WrkInfoDetailsVO> wrkMaps){ Runtime.getRuntime().availableProcessors() * 4,
// // 生成文件名 Integer.MAX_VALUE);
// List<CompletableFuture<Void>> supplyAsync = Lists.newCopyOnWriteArrayList(); private final Map<String, GeneratedIns> generatedInsMap;
// CyclicBarrier cyclicBarrier = new CyclicBarrier(wrkMaps.keySet().size()); public String getPath() {
// // 此处应当指定 需要生成的 路径 return UploadConfig.getTmpPath() + File.separator + "download" + File.separator + "word" + File.separator;
// wrkMaps.forEach((wrkId, wrk)->{ }
// // 生成普通巡检单 public String generated(Map<Long, WrkInfoDetailsVO> wrkMaps){
// GeneratedIns defaultGeneratedIns = generatedInsMap.get("default"); // 生成文件路径
// supplyAsync.addAll(defaultGeneratedIns.generated(wrkMaps, null, getPath(), EXECUTOR)); String basePath = getPath();
// AtomicReference<String> url = new AtomicReference<>(null);
// List<InspectionConfigVO> inspections = wrk.getInspections(); // 只能使用这种方式 -- 因为不确定需要生成的具体模板数量
// inspections.forEach(ins->{ List<CompletableFuture<Void>> supplyAsync = Lists.newCopyOnWriteArrayList();
// // 别名 // 此处 进行 压缩文件夹
// String alias = ins.getAlias(); // 此处应当指定 需要生成的 路径
// // 模板 wrkMaps.forEach((wrkId, wrk)->{
// String templateUrl = ins.getTemplateUrl(); // 生成普通巡检单
// GeneratedIns defaultGeneratedIns = generatedInsMap.get("default");
// }); // 生成默认的 word
// }); // 为null , 取默认 default 模板
// } supplyAsync.addAll(defaultGeneratedIns.generated(wrkMaps, null, getPath(), remoteOssService,templateService,EXECUTOR));
// List<InspectionConfigVO> inspections = wrk.getInspections();
//} inspections.forEach(ins->{
// 别名
String alias = ins.getAlias();
// 模板
GeneratedIns generatedIns = generatedInsMap.get(alias);
supplyAsync.addAll(generatedIns.generated(wrkMaps, ins, basePath,remoteOssService,templateService,EXECUTOR));
});
});
// 等待所有线程执行完成
CompletableFuture.allOf(supplyAsync.toArray(new CompletableFuture[0])).join();
log.info("所有线程 执行完毕");
if (FileUtil.exist(basePath)) {
File zip = ZipUtil.zip(basePath);
try {
// 上传文件到oss
Result<List<FileSourceVo>> listResult = remoteOssService.uploadBytes(UploadBytesDTO.builder()
.bytes(FileUtil.readBytes(zip))
.build(),
null,
false,
"",
"downFile", SecurityConstants.INNER);
// 不为空时, 说明 上传成功
if (listResult.isSuccess() && CollectionUtil.isNotEmpty(listResult.getData())){
log.info("上传成功");
url.set(listResult.getData().get(0).getFilePath());
}
}finally {
FileUtil.del(zip);
FileUtil.del(new File(basePath).getParent());
}
}
log.info("准备返回 {}" , url.get());
return url.get();
}
}

View File

@ -14,7 +14,6 @@ import com.chushang.inspection.project.vo.DetailsVO;
import com.chushang.inspection.project.vo.InsConfigVO; import com.chushang.inspection.project.vo.InsConfigVO;
import com.chushang.inspection.project.service.InspectionConfigService; import com.chushang.inspection.project.service.InspectionConfigService;
import com.chushang.inspection.project.service.InspectionDetailService; import com.chushang.inspection.project.service.InspectionDetailService;
import com.chushang.oss.entity.dto.UploadBytesDTO;
import com.chushang.oss.entity.dto.UploadFileDTO; import com.chushang.oss.entity.dto.UploadFileDTO;
import com.chushang.oss.entity.vo.FileSourceVo; import com.chushang.oss.entity.vo.FileSourceVo;
import com.chushang.oss.feign.RemoteOssService; import com.chushang.oss.feign.RemoteOssService;
@ -41,8 +40,6 @@ public class InspectionConfigServiceImpl extends ServiceImpl<InspectionConfigMap
@Resource @Resource
InspectionDetailService detailService; InspectionDetailService detailService;
@Resource
RemoteOssService remoteOssService;
@Override @Override
@CachePut(key = "#alias") @CachePut(key = "#alias")
@ -82,20 +79,4 @@ public class InspectionConfigServiceImpl extends ServiceImpl<InspectionConfigMap
public void saveEntity(InspectionConfig config) { public void saveEntity(InspectionConfig config) {
save(config); save(config);
} }
/**
* 上传巡检单 信息
*/
@Override
public String uploadTemplate(MultipartFile file) {
// 上传模板信息
Result<List<FileSourceVo>> listResult =
remoteOssService.uploadFile(UploadFileDTO.builder()
.files(new MultipartFile[]{file})
.build(), null, null, null, "template", SecurityConstants.INNER);
if (listResult.isSuccess() && CollectionUtil.isNotEmpty(listResult.getData())){
return listResult.getData().get(0).getFilePath();
}
throw new ResultException("上传失败");
}
} }

View File

@ -12,6 +12,7 @@ import com.alibaba.nacos.shaded.com.google.common.collect.Maps;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.chushang.common.core.constant.SecurityConstants; import com.chushang.common.core.constant.SecurityConstants;
import com.chushang.common.core.util.StringUtils;
import com.chushang.common.core.util.TreeUtils; import com.chushang.common.core.util.TreeUtils;
import com.chushang.common.core.web.Result; import com.chushang.common.core.web.Result;
import com.chushang.common.excel.utils.ExcelUtils; import com.chushang.common.excel.utils.ExcelUtils;
@ -74,9 +75,13 @@ public class PollingTaskServiceImpl extends ServiceImpl<PollingTaskMapper, Polli
searchNum = topTask.getSearchNum(); searchNum = topTask.getSearchNum();
} }
} }
taskSql.likeLeft(PollingTask::getSearchNum, searchNum); taskSql.likeRight(StringUtils.isNotBlank(searchNum), PollingTask::getSearchNum, searchNum);
List<TaskVO> taskVOS = listObjs(taskSql, p -> convert(((PollingTask) p))); List<PollingTask> list = list(taskSql);
return TreeUtils.build(taskVOS); if (CollectionUtil.isNotEmpty(list)){
List<TaskVO> collect = list.stream().map(this::convert).collect(Collectors.toList());
return TreeUtils.build(collect);
}
return new ArrayList<>();
} }
@Override @Override
@ -88,15 +93,21 @@ public class PollingTaskServiceImpl extends ServiceImpl<PollingTaskMapper, Polli
.and(w -> w.isNull(PollingTask::getEndTime) .and(w -> w.isNull(PollingTask::getEndTime)
.or().ge(PollingTask::getEndTime, LocalDateTime.now())); .or().ge(PollingTask::getEndTime, LocalDateTime.now()));
List<String> searchNums = listObjs(searchNumSql, p -> ((PollingTask) p).getSearchNum()); List<PollingTask> list = list(searchNumSql);
if (CollectionUtil.isNotEmpty(searchNums)){ List<String> searchNums;
if (CollectionUtil.isNotEmpty(list)){
searchNums = list.stream().map(PollingTask::getSearchNum).toList();
}else {
return new ArrayList<>(); return new ArrayList<>();
} }
Set<String> searchNumSet = searchNums.stream().map(s -> s.split("-")[0] + '-').distinct().collect(Collectors.toSet());
searchNums = searchNums.stream().map(s -> s.split("-")[0] + '-').distinct().collect(Collectors.toList());
LambdaQueryWrapper<PollingTask> topSql = WrapperUtils.builder(commonParam, commonParam); LambdaQueryWrapper<PollingTask> topSql = WrapperUtils.builder(commonParam, commonParam);
topSql.in(CollectionUtil.isNotEmpty(searchNums), PollingTask::getSearchNum, searchNums); topSql.in(CollectionUtil.isNotEmpty(searchNumSet), PollingTask::getSearchNum, searchNumSet);
return listObjs(topSql, p->convert(((PollingTask)p))); List<PollingTask> topList = list(topSql);
if (CollectionUtil.isNotEmpty(topList)){
return topList.stream().map(this::convert).collect(Collectors.toList());
}
return new ArrayList<>();
} }
@Override @Override
@ -128,6 +139,8 @@ public class PollingTaskServiceImpl extends ServiceImpl<PollingTaskMapper, Polli
public Long saveTask(TaskDTO task) { public Long saveTask(TaskDTO task) {
PollingTask pollingTask = BeanUtil.copyProperties(task, PollingTask.class); PollingTask pollingTask = BeanUtil.copyProperties(task, PollingTask.class);
processIndexes(pollingTask); processIndexes(pollingTask);
// 填充 部门id
// pollingTask.setDeptId(SecurityUtils.getDeptId());
save(pollingTask); save(pollingTask);
return pollingTask.getId(); return pollingTask.getId();
} }
@ -317,7 +330,7 @@ public class PollingTaskServiceImpl extends ServiceImpl<PollingTaskMapper, Polli
max = max == null ? 1 : max + 1; max = max == null ? 1 : max + 1;
task.setSearchNum(max + "-"); task.setSearchNum(max + "-");
task.setSearchIndex(max); task.setSearchIndex(max);
task.setLevel(1); task.setLevel(max);
} }
} }

View File

@ -98,8 +98,8 @@ public class FiveStoreServiceImpl extends ServiceImpl<FiveStoreMapper, FiveStore
try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()){ try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()){
ExcelUtils.exportList(outputStream, FiveStoreVO.class, listFiveStores, "五统一商户明细"); ExcelUtils.exportList(outputStream, FiveStoreVO.class, listFiveStores, "五统一商户明细");
// 上传到oss fileStore 是五统一的商户文件 // 上传到oss fileStore 是五统一的商户文件
Result<List<FileSourceVo>> listResult = ossService.uploadFile(UploadBytesDTO.builder() Result<List<FileSourceVo>> listResult = ossService.uploadBytes(UploadBytesDTO.builder()
.bytes(outputStream.toByteArray()).build(), "五统一商户明细导出.xlsx", false, "", "fileStore", SecurityConstants.INNER); .bytes(outputStream.toByteArray()).build(), "五统一商户明细导出.xlsx", false, "", "fiveStore", SecurityConstants.INNER);
if (listResult.isSuccess() && CollectionUtil.isNotEmpty(listResult.getData())){ if (listResult.isSuccess() && CollectionUtil.isNotEmpty(listResult.getData())){
List<FileSourceVo> data = listResult.getData(); List<FileSourceVo> data = listResult.getData();

View File

@ -3,7 +3,6 @@ package com.chushang.inspection.work.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.chushang.common.core.constant.SecurityConstants; import com.chushang.common.core.constant.SecurityConstants;
import com.chushang.common.core.exception.ResultException; import com.chushang.common.core.exception.ResultException;
import com.chushang.common.core.exception.utils.AssertUtil; import com.chushang.common.core.exception.utils.AssertUtil;
@ -11,11 +10,7 @@ import com.chushang.common.core.util.StringUtils;
import com.chushang.common.core.web.Result; import com.chushang.common.core.web.Result;
import com.chushang.common.mybatis.utils.WrapperUtils; import com.chushang.common.mybatis.utils.WrapperUtils;
import com.chushang.inspection.work.dto.ImageDTO; import com.chushang.inspection.work.dto.ImageDTO;
import com.chushang.inspection.work.po.WrkInfo;
import com.chushang.inspection.work.po.WrkInfoStoreRecord;
import com.chushang.inspection.work.service.WrkImgService; import com.chushang.inspection.work.service.WrkImgService;
import com.chushang.inspection.work.service.WrkInfoService;
import com.chushang.inspection.work.service.WrkInfoStoreRecordService;
import com.chushang.inspection.work.vo.WrkImgVO; import com.chushang.inspection.work.vo.WrkImgVO;
import com.chushang.oss.entity.dto.UploadBytesDTO; import com.chushang.oss.entity.dto.UploadBytesDTO;
import com.chushang.oss.entity.vo.FileSourceVo; import com.chushang.oss.entity.vo.FileSourceVo;
@ -49,7 +44,7 @@ public class WrkImgServiceImpl extends ServiceImpl<WrkImgMapper, WrkImg> impleme
{ {
try { try {
// locationAddress 用于添加水印 // locationAddress 用于添加水印
Result<List<FileSourceVo>> listResult = remoteOssService.uploadFile(UploadBytesDTO.builder() Result<List<FileSourceVo>> listResult = remoteOssService.uploadBytes(UploadBytesDTO.builder()
.bytes(file.getBytes()).build(), .bytes(file.getBytes()).build(),
file.getOriginalFilename(), file.getOriginalFilename(),
StringUtils.isNotEmpty(locationAddress), StringUtils.isNotEmpty(locationAddress),

View File

@ -327,9 +327,9 @@ public class WrkInfoPhoneServiceImpl extends ServiceImpl<WrkInfoPhoneMapper, Wrk
if (CollectionUtil.isNotEmpty(errList)) { if (CollectionUtil.isNotEmpty(errList)) {
try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()){ try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()){
ExcelUtils.exportList(outputStream, WrkInfoPhoneImportDTO.class, errList,"电话工单导入异常"); ExcelUtils.exportList(outputStream, WrkInfoPhoneImportDTO.class, errList,"电话工单导入异常");
Result<List<FileSourceVo>> ossResult = remoteOssService.uploadFile( Result<List<FileSourceVo>> ossResult = remoteOssService.uploadBytes(
UploadBytesDTO.builder().bytes(outputStream.toByteArray()).build() UploadBytesDTO.builder().bytes(outputStream.toByteArray()).build()
, "", null, null, "", SecurityConstants.INNER); , "", null, null, "importFile", SecurityConstants.INNER);
if (ossResult.isSuccess() && CollectionUtil.isNotEmpty(ossResult.getData())){ if (ossResult.isSuccess() && CollectionUtil.isNotEmpty(ossResult.getData())){
List<FileSourceVo> data = ossResult.getData(); List<FileSourceVo> data = ossResult.getData();
FileSourceVo fileSourceVo = data.get(0); FileSourceVo fileSourceVo = data.get(0);
@ -348,8 +348,8 @@ public class WrkInfoPhoneServiceImpl extends ServiceImpl<WrkInfoPhoneMapper, Wrk
{ {
WrkInfoPhone wrkInfoPhone = new WrkInfoPhone(); WrkInfoPhone wrkInfoPhone = new WrkInfoPhone();
wrkInfoPhone.setDelState(false); wrkInfoPhone.setDelState(false);
// 理论上这个应该是框架 进行赋值的
String userName = wrkInfoPhoneImportDTO.getUserName(); String userName = wrkInfoPhoneImportDTO.getUserName();
// 理论上这个应该是框架 进行赋值的
wrkInfoPhone.setDeptId(SecurityContextHolder.getDeptId()); wrkInfoPhone.setDeptId(SecurityContextHolder.getDeptId());
wrkInfoPhone.setUserId(idByUsernames.get(userName)); wrkInfoPhone.setUserId(idByUsernames.get(userName));
wrkInfoPhone.setUserName(userName); wrkInfoPhone.setUserName(userName);

View File

@ -2,6 +2,7 @@ package com.chushang.oss.consumer;
import com.chushang.common.core.constant.SecurityConstants; import com.chushang.common.core.constant.SecurityConstants;
import com.chushang.common.core.constant.ServiceConstant; import com.chushang.common.core.constant.ServiceConstant;
import com.chushang.common.core.context.SecurityContextHolder;
import com.chushang.common.core.util.SpringUtils; import com.chushang.common.core.util.SpringUtils;
import com.chushang.common.core.web.AjaxResult; import com.chushang.common.core.web.AjaxResult;
import com.chushang.common.core.web.Result; import com.chushang.common.core.web.Result;
@ -43,6 +44,7 @@ public class OssConsumerService implements RocketMQListener<TaskInfo> {
String methodName = message.getMethodName(); String methodName = message.getMethodName();
String params = message.getParams(); String params = message.getParams();
Integer taskType = message.getTaskType(); Integer taskType = message.getTaskType();
SecurityContextHolder.setDeptId(message.getDeptId()+"");
UpdateTaskDTO updateTask = new UpdateTaskDTO(); UpdateTaskDTO updateTask = new UpdateTaskDTO();
try { try {
// 包名+类名 // 包名+类名

View File

@ -46,7 +46,7 @@ public class TaskConsumerService implements RocketMQListener<TaskInfo> {
String methodName = message.getMethodName(); String methodName = message.getMethodName();
String params = message.getParams(); String params = message.getParams();
Integer taskType = message.getTaskType(); Integer taskType = message.getTaskType();
SecurityContextHolder.setDeptId(message.getDeptId()); SecurityContextHolder.setDeptId(message.getDeptId()+"");
UpdateTaskDTO updateTask = new UpdateTaskDTO(); UpdateTaskDTO updateTask = new UpdateTaskDTO();
try { try {
// 包名+类名 // 包名+类名