ioioio 4 years ago
parent
commit
00482889ac

+ 40 - 17
blade-service/blade-check/src/main/java/org/springblade/check/service/impl/AuditProecessServiceImpl.java

@@ -68,6 +68,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 
 	@Override
 	@Transactional
+	@GlobalTransactional
 	public void createFinanceProcess(AuditProecessDTO auditProecessDTO)
 	{
 		//查询最大批次号
@@ -91,6 +92,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 		//根据审批级次 生成 有多少调就生成多条审批流
 
 		pathsLevelsList.forEach(e->{
+
 			AuditProecess auditProecess=new AuditProecess();
 			auditProecess.setActId(auditProecessDTO.getActId());
 			//绑定业务主表id
@@ -112,6 +114,20 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 			//除了第一级是待审,其他都N
 			if(e.getLevelId()==1)
 			{
+				//开启之后, 给第一级推送消息
+
+					Message message=new Message();
+					message.setUserId(AuthUtil.getUserId());
+					message.setUserName(AuthUtil.getUserName());
+					message.setToUserId(Long.valueOf(auditProecessDTO.getSendUserId()));
+				    message.setMessageType(1);
+					message.setMessageBody("你有新的审批待操作,请及时处理");
+					R save = messageClient.save(message);
+					if(!save.isSuccess())
+					{
+						throw new SecurityException("发送消息失败");
+					}
+
 				auditProecess.setAuditStatus("S");
 			}
 
@@ -146,15 +162,15 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 			 throw new SecurityException("审批状态非待审,禁止操作");
 		}
 		//信息
-		Message message=new Message();
- 		message.setUserName(AuthUtil.getUserName());
-		message.setUserId(AuthUtil.getUserId());
-		message.setToUserId(auditProecess.getSendUserId());
-		message.setToUserName(auditProecess.getSendName());
-		message.setMessageType(1);
-		message.setTenantId(AuthUtil.getTenantId());
-		message.setCreateUser(AuthUtil.getUserId());
-		message.setCreateTime(new Date());
+		Message sendMessage=new Message();
+		sendMessage.setUserName(AuthUtil.getUserName());
+		sendMessage.setUserId(AuthUtil.getUserId());
+		sendMessage.setToUserId(auditProecess.getSendUserId());
+		sendMessage.setToUserName(auditProecess.getSendName());
+		sendMessage.setMessageType(1);
+		sendMessage.setTenantId(AuthUtil.getTenantId());
+		sendMessage.setCreateUser(AuthUtil.getUserId());
+		sendMessage.setCreateTime(new Date());
 
 		//用户操作 1.通过  2.驳回
 		Integer operate = auditProecess.getOperate();
@@ -193,9 +209,16 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 				}
 				proecess.setAuditStatus("S");
 				baseMapper.updateById(proecess);
+				Message message=new Message();
+				message.setUserName(AuthUtil.getUserName());
+				message.setUserId(AuthUtil.getUserId());
 				//消息通知下一级
-				message.setToUserId(proecess.getSendUserId());
-				message.setToUserName(proecess.getSendName());
+				message.setToUserId(Long.valueOf(proecess.getAuditUserId()));
+				message.setMessageType(1);
+				message.setTenantId(AuthUtil.getTenantId());
+				message.setCreateUser(AuthUtil.getUserId());
+				message.setCreateTime(new Date());
+
 				R save = messageClient.save(message);
 				if(!save.isSuccess())
 				{
@@ -213,8 +236,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 					throw new SecurityException("修改财务数据失败");
 				}
 
-				message.setMessageBody("您的请核未通过,请查看原因");
-				R save = messageClient.save(message);
+				sendMessage.setMessageBody("您的请核未通过,请查看原因");
+				R save = messageClient.save(sendMessage);
 				if(!save.isSuccess())
 				{
 					throw new SecurityException("发送消息失败");
@@ -237,8 +260,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 				}
 
 
-				message.setMessageBody("您的请核已通过,请继续操作");
-				R save = messageClient.save(message);
+				sendMessage.setMessageBody("您的请核已通过,请继续操作");
+				R save = messageClient.save(sendMessage);
 				if(!save.isSuccess())
 				{
 					throw new SecurityException("发送消息失败");
@@ -254,8 +277,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 				{
 					throw new SecurityException("修改财务数据失败");
 				}
-				message.setMessageBody("您的请核未通过,请查看原因");
-				R save = messageClient.save(message);
+				sendMessage.setMessageBody("您的请核未通过,请查看原因");
+				R save = messageClient.save(sendMessage);
 				if(!save.isSuccess())
 				{
 					throw new SecurityException("发送消息失败");

+ 11 - 1
blade-service/blade-client/src/main/java/org/springblade/client/message/controller/MessageController.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.client.message.controller;
 
+import com.alibaba.nacos.api.utils.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.annotations.Api;
@@ -110,7 +111,16 @@ public class MessageController extends BladeController {
 	@PostMapping("/save")
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "新增", notes = "传入message")
-	public R save(@Valid @RequestBody Message message) {
+	public R save(@Valid @RequestBody Message message)
+	{
+		if(message.getUserId()==null)
+		{
+			message.setUserId(AuthUtil.getUserId());
+		}
+		if(StringUtils.isBlank(message.getUserName()))
+		{
+			message.setUserName(AuthUtil.getUserName());
+		}
 		return R.status(messageService.save(message));
 	}