分组接口修改
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.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -92,4 +93,10 @@ public class TestCaseInfoController {
|
||||
|
||||
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 sign;
|
||||
}
|
||||
|
@ -1,12 +1,15 @@
|
||||
package cd.casic.ci.process.process.dataObject.pipgroup;
|
||||
|
||||
import cd.casic.framework.commons.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class PipGroup extends BaseDO {
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
private String groupName;
|
||||
/**
|
||||
|
@ -35,4 +35,6 @@ public class TestCaseInfo extends PipBaseElement {
|
||||
|
||||
// 描述信息
|
||||
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 com.baomidou.mybatisplus.extension.service.IService;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -34,4 +35,5 @@ public interface TestCaseInfoService extends IService<TestCaseInfo> {
|
||||
|
||||
List<String> findFileTypeList();
|
||||
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.dataObject.testCase.TestCaseInfo;
|
||||
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.enums.GlobalErrorCodeConstants;
|
||||
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.util.CollectionUtils;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@ -151,6 +154,27 @@ public class TestCaseInfoServiceImpl extends ServiceImpl<TestCaseInfoDao, TestCa
|
||||
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) {
|
||||
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方法 -->
|
||||
|
||||
<select id="getList" resultType="cd.casic.ci.process.dto.resp.group.GroupListResp">
|
||||
SELECT * FROM
|
||||
(SELECT * FROM pip_group
|
||||
UNION ALL
|
||||
(SELECT null AS id,
|
||||
"未分组" AS group_name,
|
||||
"PROJECT" AS type ,
|
||||
"" AS creator,
|
||||
NOW() AS create_time,
|
||||
NOW() AS update_time,
|
||||
"" AS updater)
|
||||
) pg
|
||||
LEFT JOIN
|
||||
(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)))
|
||||
SELECT id,
|
||||
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
|
||||
(SELECT null AS id,
|
||||
"未分组" AS group_name,
|
||||
"PROJECT" AS type ,
|
||||
"" AS creator,
|
||||
NOW() AS create_time,
|
||||
"" AS updater,
|
||||
NOW() AS update_time)
|
||||
) pg
|
||||
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)) )
|
||||
<where>
|
||||
<if test="groupName!=null and 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