This commit is contained in:
huangzj
2023-06-20 14:21:15 +08:00
parent f7640d202c
commit c01a9d2c4b
13 changed files with 141 additions and 65 deletions

View File

@@ -25,6 +25,8 @@ public class CsConfigurationParm {
@NotBlank(message="组态项目名称不能为空")
private String name;
private String remark;
@Data

View File

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.constraints.NotBlank;
@@ -26,11 +27,7 @@ public class CsPageParm {
@ApiModelProperty(value="组态项目id")
private String pid;
/**
* 组态页面名称
*/
@ApiModelProperty(value="组态页面名称")
private String name;
private MultipartFile multipartFile;
/**
* 组态页面文件路径

View File

@@ -31,6 +31,10 @@ public class CsConfigurationPO extends BaseEntity {
@TableField(value = "`name`")
private String name;
@TableField(value = "remark")
private String remark;
/**
* 状态 0:删除 1:正常
*/

View File

@@ -28,6 +28,9 @@ public class CsConfigurationVO extends BaseEntity {
@ApiModelProperty(value = "操作人")
private String operater;
@ApiModelProperty(value = "备注")
private String remark;
/**
* 状态 0:删除 1:正常
*/

View File

@@ -16,6 +16,8 @@ import org.springframework.validation.annotation.Validated;
import com.njcn.csharmonic.param.CsPageParm;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* (cs_page)表控制层
*
@@ -31,19 +33,18 @@ public class CsPagePOController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/add")
@ApiOperation("新增组态页面")
@ApiImplicitParam(name = "csPageParm", value = "新增组态项目参数", required = true)
public HttpResult<CsPageVO> add(@RequestBody @Validated CsPageParm csPageParm){
// @ApiImplicitParam(name = "csPageParm", value = "新增组态项目参数", required = true)
public HttpResult<Boolean> add( @Validated CsPageParm csPageParm){
String methodDescribe = getMethodDescribe("add");
CsPageVO csPageVO = csPagePOService.add (csPageParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csPageVO, methodDescribe);
boolean flag = csPagePOService.add (csPageParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/audit")
@ApiOperation("修改组态页面")
@ApiImplicitParam(name = "auditParm", value = "修改组态项目参数", required = true)
public HttpResult<Boolean> audit(@RequestBody @Validated CsPageParm.CsPageParmAuditParam auditParm){
public HttpResult<Boolean> audit( @Validated CsPageParm.CsPageParmAuditParam auditParm){
String methodDescribe = getMethodDescribe("audit");
boolean save = csPagePOService.audit (auditParm);

View File

@@ -6,6 +6,8 @@ import com.njcn.csharmonic.param.CsPageParm;
import com.njcn.csharmonic.pojo.po.CsPagePO;
import com.njcn.csharmonic.pojo.vo.CsPageVO;
import java.util.List;
/**
*
* Description:
@@ -17,7 +19,7 @@ import com.njcn.csharmonic.pojo.vo.CsPageVO;
public interface CsPagePOService extends IService<CsPagePO>{
CsPageVO add(CsPageParm csPageParm);
boolean add(CsPageParm csPageParm);
boolean audit(CsPageParm.CsPageParmAuditParam auditParm);

View File

@@ -1,5 +1,7 @@
package com.njcn.csharmonic.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.Query;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -21,18 +23,17 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
*
* Description:
* Date: 2023/5/31 14:31【需求编号】
*
@@ -48,39 +49,60 @@ public class CsPagePOServiceImpl extends ServiceImpl<CsPagePOMapper, CsPagePO> i
@Override
@Transactional(rollbackFor = {Exception.class})
public CsPageVO add(CsPageParm csPageParm) {
CsPagePO csPagePO = new CsPagePO();
CsPageVO csPageVO = new CsPageVO();
csPagePO.setPid(csPageParm.getPid());
csPagePO.setStatus("1");
csPagePO.setName(csPageParm.getName());
InputStream inputStream = this.writeJsonStringToInputStream(csPageParm.getJsonFile());
String s = fileStorageUtil.uploadStream(inputStream, HarmonicConstant.CONFIGURATIONPATH, HarmonicConstant.CONFIGURATIONNAME);
csPagePO.setPath(s);
this.save(csPagePO);
BeanUtils.copyProperties(csPagePO, csPageVO);
InputStream fileStream = fileStorageUtil.getFileStream(csPagePO.getPath());
String text = new BufferedReader(
new InputStreamReader(fileStream, StandardCharsets.UTF_8))
.lines()
.collect(Collectors.joining("\n"));
csPageVO.setPath(text);
return csPageVO;
public boolean add(CsPageParm csPageParm) {
List<CsPageVO> list = new ArrayList<>();
QueryWrapper<CsPagePO> csPagePOQueryWrapper = new QueryWrapper<>();
String pid = csPageParm.getPid();
csPagePOQueryWrapper.eq("pid",pid);
this.getBaseMapper().delete(csPagePOQueryWrapper);
InputStream inputStream = null;
MultipartFile multipartFile = csPageParm.getMultipartFile();
try {
inputStream = multipartFile.getInputStream(); // 获取文件的输入流
String text = new BufferedReader(
new InputStreamReader(inputStream, StandardCharsets.UTF_8))
.lines()
.collect(Collectors.joining("\n"));
List<CsPagePO> csPagePOS = JSON.parseArray(text, CsPagePO.class);
csPagePOS.forEach(temp->{
String s = fileStorageUtil.uploadStream(writeJsonStringToInputStream(temp.getPath()),HarmonicConstant.CONFIGURATIONPATH, HarmonicConstant.CONFIGURATIONNAME);
temp.setPid(pid);
temp.setStatus("1");
temp.setPath(s);
this.save(temp);
});
} catch (IOException e) {
throw new RuntimeException(e);
}
finally {
try {
inputStream.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return true;
}
@Override
@Transactional(rollbackFor = {Exception.class})
public boolean audit(CsPageParm.CsPageParmAuditParam auditParm) {
CsPagePO csPagePO = new CsPagePO();
CsPagePO byId = this.getById(auditParm.getId());
fileStorageUtil.deleteFile(byId.getPath());
BeanUtils.copyProperties(auditParm, csPagePO);
if(StringUtils.isNotBlank(auditParm.getJsonFile())){
InputStream inputStream = this.writeJsonStringToInputStream(auditParm.getJsonFile());
String s = fileStorageUtil.uploadStream(inputStream, HarmonicConstant.CONFIGURATIONPATH, HarmonicConstant.CONFIGURATIONNAME);
csPagePO.setPath(s);
}
return this.updateById(csPagePO);
// CsPagePO csPagePO = new CsPagePO();
// CsPagePO byId = this.getById(auditParm.getId());
// fileStorageUtil.deleteFile(byId.getPath());
// BeanUtils.copyProperties(auditParm, csPagePO);
// String s = fileStorageUtil.uploadMultipart(auditParm.getMultipartFile(), HarmonicConstant.CONFIGURATIONPATH);
//
// csPagePO.setPath(s);
//
// return this.updateById(csPagePO);
return true;
}
@Override
@@ -94,14 +116,14 @@ public class CsPagePOServiceImpl extends ServiceImpl<CsPagePOMapper, CsPagePO> i
IPage<CsPagePO> pageData = this.page(new Page<>(csPageParam.getPageNum(), csPageParam.getPageSize()), queryWrapper);
List<String> collect1 = pageData.getRecords().stream().map(CsPagePO::getCreateBy).collect(Collectors.toList());
Map<String, String> collect2;
if(!CollectionUtils.isEmpty(collect1)){
List<User> data = userFeignClient.getUserByIdList(collect1).getData();
collect2 = data.stream().collect(Collectors.toMap(User::getId, User::getName, (e1, e2) -> e1 + "," + e2));
} else {
collect2 = new HashMap<>();
}
// Map<String, String> collect2;
// if(!CollectionUtils.isEmpty(collect1)){
// List<User> data = userFeignClient.getUserByIdList(collect1).getData();
// collect2 = data.stream().collect(Collectors.toMap(User::getId, User::getName, (e1, e2) -> e1 + "," + e2));
//
// } else {
// collect2 = new HashMap<>();
// }
List<CsPageVO> collect = pageData.getRecords().stream().map(temp -> {
CsPageVO csPageVO = new CsPageVO();
CsConfigurationPO csConfigurationPO = csConfigurationMapper.selectById(temp.getPid());
@@ -113,7 +135,7 @@ public class CsPagePOServiceImpl extends ServiceImpl<CsPagePOMapper, CsPagePO> i
.lines()
.collect(Collectors.joining("\n"));
csPageVO.setPath(text);
csPageVO.setOperater(collect2.get(csPageVO.getCreateBy()));
// csPageVO.setOperater(collect2.get(csPageVO.getCreateBy()));
return csPageVO;
}).collect(Collectors.toList());
returnpage.setRecords(collect);