Parcourir la source

OA审批推送消息中心代码调整

fuyuchuan il y a 2 mois
Parent
commit
64fdfd8684

+ 21 - 3
service-oa/service-oa-biz/src/main/java/com/usky/oa/service/impl/OaApprovalServiceImpl.java

@@ -14,9 +14,11 @@ import com.usky.oa.mapper.OaApprovalMapper;
 import com.usky.oa.mapper.OaDocumentMapper;
 import com.usky.oa.service.OaApprovalService;
 import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.oa.service.utils.OaSendMessageCenter;
 import com.usky.oa.service.vo.OaApprovalCountVO;
 import com.usky.system.domain.SysUser;
 import org.apache.commons.lang3.StringUtils;
+import org.hibernate.validator.internal.constraintvalidators.bv.time.futureorpresent.FutureOrPresentValidatorForReadableInstant;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -46,6 +48,10 @@ public class OaApprovalServiceImpl extends AbstractCrudService<OaApprovalMapper,
     @Autowired
     private OaDocumentMapper oaDocumentMapper;
 
+    @Autowired
+    private OaSendMessageCenter oaSendMessageCenter;
+
+
     // 我的申请-待处理、已处理、我发起、我收到-统计(暂时统计近一年数据)
     @Override
     public OaApprovalCountVO approvalCount() {
@@ -128,12 +134,24 @@ public class OaApprovalServiceImpl extends AbstractCrudService<OaApprovalMapper,
             throw new BusinessException("审批类型错误,请重试!");
         }
 
+        String username = SecurityUtils.getUsername();
+
+        LocalDateTime now = LocalDateTime.now();
+
         oaApproval.setApprovalStatus(approvalStatus);
         oaApproval.setOpinion(opinion);
-        oaApproval.setApprovalDate(LocalDateTime.now());
-        oaApproval.setUpdateBy(SecurityUtils.getUsername());
-        oaApproval.setUpdateTime(LocalDateTime.now());
+        oaApproval.setApprovalDate(now);
+        oaApproval.setUpdateBy(username);
+        oaApproval.setUpdateTime(now);
         oaApprovalMapper.updateById(oaApproval);
+
+        int isPass = 1;
+        if (approvalStatus == 3) {
+            isPass = 0;
+        }
+
+        List<Long> receivers = Collections.singletonList(Long.valueOf(oaApproval.getProposer()));
+        oaSendMessageCenter.sendAsyncMessage(oaApproval.getCreateBy(), Long.valueOf(oaApproval.getProposer()), oaApproval.getId(), receivers, isPass);
     }
 
     // 待处理

+ 1 - 1
service-oa/service-oa-biz/src/main/java/com/usky/oa/service/impl/OaDocumentServiceImpl.java

@@ -217,7 +217,7 @@ public class OaDocumentServiceImpl extends AbstractCrudService<OaDocumentMapper,
 
         // 发送审批消息
         List<Long> receivers = Collections.singletonList(oaApproval.getApprovalUid());
-        oaSendMessageCenter.sendAsyncMessage(oaApproval.getCreateBy(), userId, oaApproval.getId(), receivers);
+        oaSendMessageCenter.sendAsyncMessage(oaApproval.getCreateBy(), userId, oaApproval.getId(), receivers,3);
     }
 
     // 获取单据类型

+ 2 - 2
service-oa/service-oa-biz/src/main/java/com/usky/oa/service/impl/OaJbdDocumentServiceImpl.java

@@ -103,7 +103,7 @@ public class OaJbdDocumentServiceImpl extends AbstractCrudService<OaJbdDocumentM
 
             // 发送审批消息
             List<Long> receivers = Collections.singletonList(oaApproval.getApprovalUid());
-            oaSendMessageCenter.sendAsyncMessage(oaApproval.getCreateBy(), userId, oaApproval.getId(), receivers);
+            oaSendMessageCenter.sendAsyncMessage(oaApproval.getCreateBy(), userId, oaApproval.getId(), receivers, 3);
         }
     }
 
@@ -146,7 +146,7 @@ public class OaJbdDocumentServiceImpl extends AbstractCrudService<OaJbdDocumentM
 
             // 发送审批消息
             List<Long> receivers = Collections.singletonList(oaApproval.getApprovalUid());
-            oaSendMessageCenter.sendAsyncMessage(oaApproval.getCreateBy(), userId, oaApproval.getId(), receivers);
+            oaSendMessageCenter.sendAsyncMessage(oaApproval.getCreateBy(), userId, oaApproval.getId(), receivers, 3);
         }
     }
 

+ 2 - 2
service-oa/service-oa-biz/src/main/java/com/usky/oa/service/impl/OaQjdDocumentServiceImpl.java

@@ -116,7 +116,7 @@ public class OaQjdDocumentServiceImpl extends AbstractCrudService<OaQjdDocumentM
 
             // 发送审批消息
             List<Long> receivers = Collections.singletonList(oaApproval.getApprovalUid());
-            oaSendMessageCenter.sendAsyncMessage(oaApproval.getCreateBy(), userId, oaApproval.getId(), receivers);
+            oaSendMessageCenter.sendAsyncMessage(oaApproval.getCreateBy(), userId, oaApproval.getId(), receivers, 3);
         }
     }
 
@@ -162,7 +162,7 @@ public class OaQjdDocumentServiceImpl extends AbstractCrudService<OaQjdDocumentM
 
             // 发送审批消息
             List<Long> receivers = Collections.singletonList(oaApproval.getApprovalUid());
-            oaSendMessageCenter.sendAsyncMessage(oaApproval.getCreateBy(), userId, oaApproval.getId(), receivers);
+            oaSendMessageCenter.sendAsyncMessage(oaApproval.getCreateBy(), userId, oaApproval.getId(), receivers, 3);
         }
     }
 

+ 24 - 2
service-oa/service-oa-biz/src/main/java/com/usky/oa/service/utils/OaSendMessageCenter.java

@@ -34,10 +34,21 @@ public class OaSendMessageCenter {
 
     private static final String INFO_TITLE = "审批提醒";
     private static final String INFO_CONTENT = "的申请";
+    private static final String INFO_APPROVE_FAIL = "审核不通过";
+    private static final String INFO_APPROVE_SUCCESS = "审核通过";
     private static final int INFO_TYPE = 3;
 
+    /**
+     * 异步发送消息
+     *
+     * @param username 提交人账号名
+     * @param submitterId 提交人id
+     * @param id 数据id
+     * @param receivers 接收人userId集合
+     * @param isPass 是否通过(0:不通过,1:通过)
+     */
     @Async
-    public void sendAsyncMessage(String username, Long submitterId, Integer id, List<Long> receivers) {
+    public void sendAsyncMessage(String username, Long submitterId, Integer id, List<Long> receivers, Integer isPass) {
 
         log.info(username + "的申请开始发送消息中心-----------------------------------");
 
@@ -47,7 +58,18 @@ public class OaSendMessageCenter {
         SysUser nickName = sysUserMapper.selectOne(nickNameQuery);
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("infoTitle", INFO_TITLE);
-        jsonObject.put("infoContent", nickName.getNickName() + INFO_CONTENT);
+
+        switch (isPass) {
+            case 0:
+                jsonObject.put("infoContent", nickName.getNickName() + INFO_APPROVE_FAIL);
+                break;
+            case 1:
+                jsonObject.put("infoContent", nickName.getNickName() + INFO_APPROVE_SUCCESS);
+                break;
+            default:
+                jsonObject.put("infoContent", nickName.getNickName() + INFO_CONTENT);
+        }
+
         jsonObject.put("infoType", INFO_TYPE);
         jsonObject.put("id", id);
         jsonObject.put("infoTypeName", INFO_TITLE);