diff --git a/src/main/java/com/lz/modules/performance/controller/GitController.java b/src/main/java/com/lz/modules/performance/controller/GitController.java index a209f7f3..3fc8fe44 100644 --- a/src/main/java/com/lz/modules/performance/controller/GitController.java +++ b/src/main/java/com/lz/modules/performance/controller/GitController.java @@ -1,5 +1,7 @@ package com.lz.modules.performance.controller; +import com.google.common.collect.Lists; +import com.lz.modules.sys.dao.app.ResultRecordMapper; import org.eclipse.jgit.api.CloneCommand; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.LogCommand; @@ -17,6 +19,10 @@ import org.eclipse.jgit.treewalk.CanonicalTreeParser; import org.eclipse.jgit.treewalk.filter.PathFilterGroup; import org.seimicrawler.xpath.JXDocument; import org.seimicrawler.xpath.JXNode; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import java.io.BufferedReader; import java.io.File; @@ -33,203 +39,18 @@ import java.util.List; * @Desc: * @Date: 2020/12/17 17:06 */ +@RestController +@RequestMapping("/test") public class GitController { + @Autowired + private ResultRecordMapper resultRecordMapper; - /*public static void main(String[] args) throws Exception{ - - - //设置远程服务器上的用户名和密码 - UsernamePasswordCredentialsProvider usernamePasswordCredentialsProvider =new - UsernamePasswordCredentialsProvider("dujianchao31","Du1262707462"); - //克隆代码库命令 - CloneCommand cloneCommand = Git.cloneRepository(); - - Git git= cloneCommand.setURI("http://gitlab.ldxinyong.com/enterpriseManagement/lz_management/") //设置远程URI - .setBranch("version_performance_2.0") //设置clone下来的分支 - .setDirectory(new File("D:\\test\\")) //设置下载存放路径 - .setCredentialsProvider(usernamePasswordCredentialsProvider) //设置权限验证 - .call(); - }*/ - - public static void main(String[] args) throws Exception{ - UsernamePasswordCredentialsProvider usernamePasswordCredentialsProvider =new - UsernamePasswordCredentialsProvider("dujianchao31","Du1262707462"); - /* //git仓库地址 - Git git = new Git(new FileRepository("D:\\test\\"+"/.git")); - PullResult call = git.pull().setRemoteBranchName("version_performance_2.0"). - setCredentialsProvider(usernamePasswordCredentialsProvider).call();*/ - - //git仓库地址 - Git git = new Git(new FileRepository("D:\\test\\"+"/.git")); - + @GetMapping("/test") + public void test(){ + System.out.println(); } - public static AbstractTreeIterator prepareTreeParser(RevCommit commit){ - System.out.println(commit.getId()); - try (RevWalk walk = new RevWalk(new FileRepository("D:\\test\\"+"/.git"))) { - System.out.println(commit.getTree().getId()); - RevTree tree = walk.parseTree(commit.getTree().getId()); - CanonicalTreeParser oldTreeParser = new CanonicalTreeParser(); - try (ObjectReader oldReader = new FileRepository("D:\\test\\"+"/.git").newObjectReader()) { - oldTreeParser.reset(oldReader, tree.getId()); - } - - walk.dispose(); - - return oldTreeParser; - }catch (Exception e) { - // TODO: handle exception - } - return null; - } - - - //日志信息 - - public static void commit(Git git) throws Exception{ - List versions = new ArrayList<>(); - Iterable commits = git.log().all().call(); - int count = 0; - for (RevCommit commit : commits) { - System.out.println("LogCommit: " + commit); - System.out.println("提交信息:" + commit.getFullMessage()); - String version = commit.getName(); //版本号,用来查询详细信息 - versions.add(version); - System.out.println("版本号:" + commit.getName()); - PersonIdent authorIdent = commit.getAuthorIdent(); - System.out.println("作者:" + authorIdent.getName()); - System.out.println("邮箱:" + authorIdent.getEmailAddress()); - System.out.println("时间:" + authorIdent.getWhen()); - count++; - } - System.out.println("========="); - System.out.println("总计" + count); - } - - - //文件变动 - public void diff(Git git) throws Exception{ - List commitsList = new ArrayList<>(); - Iterable commits = git.log().all().call(); - for(RevCommit commit:commits){ - commitsList.add(commit); - } - - AbstractTreeIterator newTree = prepareTreeParser(commitsList.get(0)); - AbstractTreeIterator oldTree = prepareTreeParser(commitsList.get(1)); - - List diffEntries = git.diff().setNewTree(newTree).setOldTree(oldTree).call(); - DiffEntry.ChangeType changeType; - int add =0; - int copy =0; - int delete =0; - int modify =0; - int rename =0; - for(DiffEntry entry : diffEntries){ - changeType = entry.getChangeType(); - System.out.println("=====" + changeType); - switch (changeType) { - case ADD: - System.out.println(++add); - break; - case COPY: - System.out.println(++copy); - break; - case DELETE: - System.out.println(++delete); - break; - case MODIFY: - System.out.println(++modify); - break; - case RENAME: - System.out.println(rename++); - break; - } - } - - System.out.println("========="); - } - - public void webTest(){ - //域名 - String domain = ""; - //项目名 - String projectName = ""; - //分支名 - String branchName = ""; - //session - String session = ""; - //分页 ?limit=40&offset=120 - - try { - URLConnection urlConnection = new URL("http://gitlab.ldxinyong.com/enterpriseManagement/lz_management/commits/version_performance_2.0").openConnection(); - //URLConnection urlConnection = new URL("http://gitlab.ldxinyong.com/enterpriseManagement/lz_management/graphs/master").openConnection(); - HttpURLConnection connection = (HttpURLConnection) urlConnection; - connection.setRequestMethod("GET"); - connection.addRequestProperty("Host", "gitlab.ldxinyong.com"); - - connection.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0"); - - connection.addRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); - connection.addRequestProperty("Accept-Encoding", "gzip, deflate"); - connection.addRequestProperty("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); - connection.addRequestProperty("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.160 Safari/537.22"); - - //connection.addRequestProperty("Referer", "http://gitlab.ldxinyong.com/enterpriseManagement/lz_management/commits/master"); - - //connection.addRequestProperty("Connection", "keep-alive"); - - //connection.addRequestProperty("Upgrade-Insecure-Requests", "1"); - - //connection.addRequestProperty("If-None-Match", "W/\"352c90856827b53f3735109727c9f3a1\""); - - connection.addRequestProperty("Cookie", "_gitlab_session=4e14c53a8cb378a65fda996b0bc15021; sidebar_collapsed=false"); - connection.connect();// 连接会话 - // 获取输入流 - BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); - String line; - StringBuilder sb = new StringBuilder(); - while ((line = br.readLine()) != null) {// 循环读取流 - sb.append(line); - } - br.close();// 关闭流 - connection.disconnect();// 断开连接 - System.out.println(sb.toString()); - JXDocument document = JXDocument.create(sb.toString()); - JXNode jxNode = document.selNOne("//*[@id='commits-list']"); - List sel = jxNode.sel("//*[@class='commits-row']"); - for(JXNode jx:sel){ - List sel2 = jx.sel("//*[@class='commit flex-row js-toggle-container']"); - for(JXNode j:sel2){ - String avatar = j.sel("//img[@class='avatar s36 hidden-xs has-tooltip']/@src").get(0).toString(); - System.out.println("头像 " + avatar); - - String commit = j.sel("//a[@class='commit-row-message item-title']/text()").get(0).toString(); - System.out.println("摘要 " + commit); - - String name = j.sel("//a[@class='commit-author-link has-tooltip']/text()").get(0).toString(); - System.out.println("姓名 " + name); - - String time = j.sel("//time[@class='js-timeago']/@datetime").get(0).toString(); - System.out.println("时间 " + time); - - - String version = j.sel("//div[@class='label label-monospace']/text()").get(0).toString(); - System.out.println("版本 " + version); - - } - - - - } - System.out.println(); - - } catch (IOException e) { - e.printStackTrace(); - } - - } } diff --git a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java index 5efbf772..d1563429 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java @@ -267,18 +267,21 @@ public class AssessManagerServiceImpl implements AssessManagerService { return r; } - if(req.getChangeType() == 1){ - //删除本次考核任务 - resultRecordMapper.batchDeleteByStartIdAndStaffId(req.getStartId(),change); - evaluationStartStaffMapper.deleteEvaluationStartStaffChangeAssess(req.getStartId(),change); + if(req.getChangeType() == 1 && CollectionUtils.isNotEmpty(change)){ //删除钉钉任务 try { - List recordIds = resultRecordMapper.selectIdsByStartId(req.getStartId()); - String s = dingtalkBusiness.delWorkMSGWithStart(recordIds); - log.info("清除钉钉任务响应,res: " +s); + List recordIds = resultRecordMapper.selectIdsByStartIdAndStaffIds(req.getStartId(),change); + if(!CollectionUtils.isEmpty(recordIds)){ + log.info("删除resultRecordIds: " + JSON.toJSONString(recordIds)); + String s = dingtalkBusiness.delWorkMSGWithStart(recordIds); + log.info("清除钉钉任务响应,res: " +s); + } } catch (Exception e) { log.error("调用钉钉清除任务异常,e:" ,e); } + //删除本次考核任务 + resultRecordMapper.batchDeleteByStartIdAndStaffId(req.getStartId(),change); + evaluationStartStaffMapper.deleteEvaluationStartStaffChangeAssess(req.getStartId(),change); return R.ok(); } return R.ok(); diff --git a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java index 7108c81a..c10ef5a6 100644 --- a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java +++ b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java @@ -115,4 +115,6 @@ public interface ResultRecordMapper extends BaseMapper { List selectStaffIdsByFlowProcess(@Param("flowProcess") List flowProcess); List selectStaffIdsByStartIdAndFlowProcess(@Param("startId") Long startId, @Param("flowProcess") Long flowProcess); + + List selectIdsByStartIdAndStaffIds(@Param("startId")Long startId,@Param("staffIds") List staffIds); } \ No newline at end of file diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index fc56b8a5..0e48e09e 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -653,5 +653,15 @@ and flow_process 4 + +