分组接口修改
This commit is contained in:
parent
8a62fe4e1c
commit
7a9ae989be
@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.PostMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -92,4 +93,10 @@ public class TestCaseInfoController {
|
|||||||
|
|
||||||
return CommonResult.success(respList);
|
return CommonResult.success(respList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/checkTestCaseExist")
|
||||||
|
public CommonResult<String> checkTestCaseExist(MultipartFile file){
|
||||||
|
String s = testCaseInfoService.checkTestCaseExist(file);
|
||||||
|
return CommonResult.success(s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,4 +24,6 @@ public class TestCaseInfoReq {
|
|||||||
|
|
||||||
// 描述信息
|
// 描述信息
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
private String sign;
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
package cd.casic.ci.process.process.dataObject.pipgroup;
|
package cd.casic.ci.process.process.dataObject.pipgroup;
|
||||||
|
|
||||||
import cd.casic.framework.commons.dataobject.BaseDO;
|
import cd.casic.framework.commons.dataobject.BaseDO;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
public class PipGroup extends BaseDO {
|
public class PipGroup extends BaseDO {
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
private String id;
|
private String id;
|
||||||
private String groupName;
|
private String groupName;
|
||||||
/**
|
/**
|
||||||
|
@ -35,4 +35,6 @@ public class TestCaseInfo extends PipBaseElement {
|
|||||||
|
|
||||||
// 描述信息
|
// 描述信息
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
private String sign;
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ import cd.casic.ci.process.process.dataObject.testCase.TestCaseInfo;
|
|||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -34,4 +35,5 @@ public interface TestCaseInfoService extends IService<TestCaseInfo> {
|
|||||||
|
|
||||||
List<String> findFileTypeList();
|
List<String> findFileTypeList();
|
||||||
List<TestCaseInfoResp> findByManagerIds(List<String> idList);
|
List<TestCaseInfoResp> findByManagerIds(List<String> idList);
|
||||||
|
String checkTestCaseExist(MultipartFile file);
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ import cd.casic.ci.process.process.converter.TestCaseInfoConverter;
|
|||||||
import cd.casic.ci.process.process.dao.testCase.TestCaseInfoDao;
|
import cd.casic.ci.process.process.dao.testCase.TestCaseInfoDao;
|
||||||
import cd.casic.ci.process.process.dataObject.testCase.TestCaseInfo;
|
import cd.casic.ci.process.process.dataObject.testCase.TestCaseInfo;
|
||||||
import cd.casic.ci.process.process.service.testCase.TestCaseInfoService;
|
import cd.casic.ci.process.process.service.testCase.TestCaseInfoService;
|
||||||
|
import cd.casic.ci.process.util.FileUtil;
|
||||||
import cd.casic.framework.commons.exception.ServiceException;
|
import cd.casic.framework.commons.exception.ServiceException;
|
||||||
import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
|
import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
@ -23,7 +24,9 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.util.ObjectUtils;
|
import org.springframework.util.ObjectUtils;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.InputStream;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -151,6 +154,27 @@ public class TestCaseInfoServiceImpl extends ServiceImpl<TestCaseInfoDao, TestCa
|
|||||||
return TestCaseInfoConverter.INSTANCE.toRespList(testCaseInfos);
|
return TestCaseInfoConverter.INSTANCE.toRespList(testCaseInfos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String checkTestCaseExist(MultipartFile file) {
|
||||||
|
try{
|
||||||
|
InputStream inputStream = file.getInputStream();
|
||||||
|
String md5Str = FileUtil.getMD5Str(inputStream);
|
||||||
|
if (checkMd5Exist(md5Str)) {
|
||||||
|
return md5Str;
|
||||||
|
}
|
||||||
|
} catch (Exception e ){
|
||||||
|
log.error("校验文件内容出现错误",e);
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
private Boolean checkMd5Exist(String sign){
|
||||||
|
if (StringUtils.isEmpty(sign)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
LambdaQueryWrapper<TestCaseInfo> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(TestCaseInfo::getSign,sign);
|
||||||
|
return testCaseInfoDao.exists(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
private void setUserName(TestCaseInfoResp testCaseInfoResp) {
|
private void setUserName(TestCaseInfoResp testCaseInfoResp) {
|
||||||
if (!StringUtils.isEmpty(testCaseInfoResp.getCreator())){
|
if (!StringUtils.isEmpty(testCaseInfoResp.getCreator())){
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
package cd.casic.ci.process.util;
|
||||||
|
|
||||||
|
import org.apache.commons.io.IOUtils;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.security.MessageDigest;
|
||||||
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
|
||||||
|
public class FileUtil {
|
||||||
|
public static String getMD5Str(InputStream inputStream) throws NoSuchAlgorithmException, IOException {
|
||||||
|
MessageDigest md = MessageDigest.getInstance("MD5");
|
||||||
|
byte[] buffer = new byte[1024];
|
||||||
|
int len = -1;
|
||||||
|
while((len=inputStream.read(buffer))!=-1){
|
||||||
|
md.update(buffer,0,len);
|
||||||
|
}
|
||||||
|
byte[] digest = md.digest();
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
for (byte b : digest) {
|
||||||
|
String format = String.format("%02x", b);
|
||||||
|
stringBuilder.append(format);
|
||||||
|
}
|
||||||
|
return stringBuilder.toString();
|
||||||
|
}
|
||||||
|
}
|
@ -7,20 +7,34 @@
|
|||||||
<!-- 这里暂时没有任何SQL方法 -->
|
<!-- 这里暂时没有任何SQL方法 -->
|
||||||
|
|
||||||
<select id="getList" resultType="cd.casic.ci.process.dto.resp.group.GroupListResp">
|
<select id="getList" resultType="cd.casic.ci.process.dto.resp.group.GroupListResp">
|
||||||
SELECT * FROM
|
SELECT id,
|
||||||
(SELECT * FROM pip_group
|
group_name,
|
||||||
|
type,
|
||||||
|
creator,
|
||||||
|
create_time,
|
||||||
|
updater,
|
||||||
|
update_time,
|
||||||
|
group_id,
|
||||||
|
IFNULL(count,0) `count` FROM
|
||||||
|
(SELECT
|
||||||
|
id,
|
||||||
|
group_name,
|
||||||
|
type,
|
||||||
|
creator,
|
||||||
|
create_time,
|
||||||
|
updater,
|
||||||
|
update_time
|
||||||
|
FROM pip_group
|
||||||
UNION ALL
|
UNION ALL
|
||||||
(SELECT null AS id,
|
(SELECT null AS id,
|
||||||
"未分组" AS group_name,
|
"未分组" AS group_name,
|
||||||
"PROJECT" AS type ,
|
"PROJECT" AS type ,
|
||||||
"" AS creator,
|
"" AS creator,
|
||||||
NOW() AS create_time,
|
NOW() AS create_time,
|
||||||
NOW() AS update_time,
|
"" AS updater,
|
||||||
"" AS updater)
|
NOW() AS update_time)
|
||||||
) pg
|
) pg
|
||||||
LEFT JOIN
|
LEFT JOIN (SELECT group_id,COUNT(*) count FROM pip_pipeline GROUP BY group_id) pl ON (pg.id = pl.group_id OR (ISNULL(pg.id) AND ISNULL(group_id)) )
|
||||||
(SELECT group_id,COUNT(*) count FROM pip_pipeline GROUP BY group_id) pl
|
|
||||||
ON ((pg.id = pl.group_id ) OR (ISNULL(pl.group_id) AND ISNULL(pl.group_id)))
|
|
||||||
<where>
|
<where>
|
||||||
<if test="groupName!=null and groupName!=''">
|
<if test="groupName!=null and groupName!=''">
|
||||||
AND pg.`group_name` LIKE CONCAT('%',#{groupName},'%')
|
AND pg.`group_name` LIKE CONCAT('%',#{groupName},'%')
|
||||||
|
28
ops-server/src/test/java/cd/casic/server/FileUtilTest.java
Normal file
28
ops-server/src/test/java/cd/casic/server/FileUtilTest.java
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package cd.casic.server;
|
||||||
|
|
||||||
|
import cd.casic.ci.process.util.FileUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.test.context.ActiveProfiles;
|
||||||
|
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
|
||||||
|
@SpringBootTest(classes = {OpsServerApplication.class})
|
||||||
|
@ActiveProfiles("local")
|
||||||
|
@Slf4j
|
||||||
|
public class FileUtilTest {
|
||||||
|
@Test
|
||||||
|
public void testMd5() throws IOException, NoSuchAlgorithmException {
|
||||||
|
FileInputStream fis = new FileInputStream("D:\\博彦科技-项目相关\\ops-pro\\ops-server\\target\\ops-server.jar");
|
||||||
|
String md5Str = FileUtil.getMD5Str(fis);
|
||||||
|
System.out.println(md5Str);
|
||||||
|
FileInputStream fis2 = new FileInputStream("D:\\博彦科技-项目相关\\ops-pro\\ops-server\\src\\test\\resources\\javaaaaa.zip");
|
||||||
|
String md5Str2 = FileUtil.getMD5Str(fis2);
|
||||||
|
System.out.println(md5Str2);
|
||||||
|
System.out.println(md5Str.equals(md5Str2));
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user