Bläddra i källkod

盖章修改,修改超时问题

xuefy 3 år sedan
förälder
incheckning
00b5bb8e97

+ 15 - 4
sc-service/src/main/java/com/huyi/service/credit/controller/OwnMessageController.java

@@ -728,7 +728,7 @@ public class OwnMessageController extends BaseController {
         //姓名
         String userName = sysUser.getNickName();
 
-        //把已办放在上面,不然之后生成的盖章待办都会改为已办
+        //先查询需要修改的待办,最后改,放在这改的话,有事务会锁表,后面生成待办就超时
         //盖章待办改为已办
         Long beginTimeA = System.currentTimeMillis();
         System.out.println("修改待办开始,时间:"+beginTimeA);
@@ -737,9 +737,7 @@ public class OwnMessageController extends BaseController {
         queryWrapperA.eq(SysNotice::getType,"00");
         queryWrapperA.eq(SysNotice::getWorkType,"03");
         queryWrapperA.eq(SysNotice::getStatus,"0");
-        SysNotice noticeA = new SysNotice();
-        noticeA.setStatus("1");
-        sysNoticeService.update(noticeA,queryWrapperA);
+        List<SysNotice> noticeList =  sysNoticeService.findSysNotices(queryWrapperA);
         Long beginTimeB= System.currentTimeMillis();
         System.out.println("修改待办结束,时间:"+beginTimeB);
         //核心开立
@@ -1024,6 +1022,19 @@ public class OwnMessageController extends BaseController {
             }
 
         }
+
+        //修改待办为已办
+        if(noticeList.size() > 0) {
+            //提取主键
+            List<String> idList = CommonUtil.getIdFromList(noticeList,"noticeId");
+            LambdaQueryWrapper<SysNotice> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.in(SysNotice::getNoticeId,idList);
+            SysNotice notice = new SysNotice();
+            notice.setStatus("1");
+            sysNoticeService.update(notice,queryWrapper);
+        }
+
+
         Long beginTimeC= System.currentTimeMillis();
         System.out.println("盖章结束,时间:"+beginTimeC);
         /**-------- 盖章完成修改融信状态并且发起审批 结束--------**/