Bladeren bron

流程监听修改

hym 4 jaren geleden
bovenliggende
commit
67c2c367db

+ 2 - 2
message/src/main/java/com/huaxu/controller/MessageController.java

@@ -73,9 +73,9 @@ public class MessageController {
      */
     @RequestMapping(value = "queryLastMessage", method = RequestMethod.POST)
     @ApiOperation(value = "查询最新消息")
-    public AjaxMessage<List<Message>> queryLastMessage(int num) {
+    public AjaxMessage<List<Message>> queryLastMessage(int num,Integer type) {
 
-       return new AjaxMessage<>(ResultStatus.OK,messageService.queryLastMessage(num));
+       return new AjaxMessage<>(ResultStatus.OK,messageService.queryLastMessage(num,type));
     }
     /**
      * 分页查询

+ 1 - 1
message/src/main/java/com/huaxu/dao/MessageMapper.java

@@ -83,7 +83,7 @@ public interface MessageMapper {
 
     IPage<Message> selectPage(IPage<Message> page, Message message);
 
-    List<Message> queryLastMessage(@Param("num") int num,@Param("id") Integer id);
+    List<Message> queryLastMessage(@Param("num") int num, @Param("id") Integer id, Integer type);
 
     List<MessageStatic> queryUnreadMessageStatic(Integer id);
 

+ 11 - 6
message/src/main/java/com/huaxu/mq/DispatchMessage.java

@@ -53,12 +53,17 @@ public class DispatchMessage {
         MessageType messageType = messageTypeMapper.selectById(messageTypeId);
         MessageDto messageDto = new MessageDto();
         String receiveMessageContent=receiveMessage.getMessageContent();
-        if(messageTemplate!=null&&receiveMessageContent.contains("{")){
-            String content = messageTemplate.getContent();
-            Map<String,String> param = JSONObject.parseObject(receiveMessageContent, Map.class);
-            String replaceContent = Parser.replaceAllClearBlanks(content, param);
-            receiveMessage.setMessageContent(replaceContent);
-        }
+       try {
+           if(messageTemplate!=null&&receiveMessageContent.contains("{")){
+               String content = messageTemplate.getContent();
+               Map<String,String> param = JSONObject.parseObject(receiveMessageContent, Map.class);
+               String replaceContent = Parser.replaceAllClearBlanks(content, param);
+               receiveMessage.setMessageContent(replaceContent);
+           }
+       }catch (Exception e){
+           e.printStackTrace();
+       }
+
         Integer channel=0;
         if(receiveMessage.getChannel()!=null){
             channel=receiveMessage.getChannel();

+ 1 - 1
message/src/main/java/com/huaxu/service/MessageService.java

@@ -85,5 +85,5 @@ public interface MessageService {
 
     List<MessageStatic> queryUnreadMessageStatic();
 
-    List<Message> queryLastMessage(int num);
+    List<Message> queryLastMessage(int num, Integer type);
 }

+ 2 - 3
message/src/main/java/com/huaxu/service/impl/MessageServiceImpl.java

@@ -12,7 +12,6 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -174,9 +173,9 @@ public class MessageServiceImpl implements MessageService {
     }
 
     @Override
-    public List<Message> queryLastMessage(int num) {
+    public List<Message> queryLastMessage(int num, Integer type) {
        ;
 
-        return messageMapper.queryLastMessage(num, UserUtil.getCurrentUser().getId());
+        return messageMapper.queryLastMessage(num, UserUtil.getCurrentUser().getId(),type);
     }
 }

+ 23 - 0
message/src/main/resources/logback-spring.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <springProperty scope="context" name="LOG_PATH" source="logging.path" defaultValue="/tmp" />
+    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
+    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
+    <appender name="TIME_FILE"
+              class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <encoder>
+            <pattern>${FILE_LOG_PATTERN}</pattern>
+        </encoder>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${LOG_PATH}/msg.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <maxHistory>365</maxHistory>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>100MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+    </appender>
+    <root level="INFO">
+        <appender-ref ref="CONSOLE" />
+        <appender-ref ref="TIME_FILE" />
+    </root>
+</configuration>

+ 3 - 0
message/src/main/resources/mapper/MessageMapper.xml

@@ -253,6 +253,9 @@
             join uims_message_type b
          on a.message_type=b.id
          where user_id=#{id} and a.status=1
+        <if test="type!= null">
+            and message_status =0
+        </if>
         order by date_create desc limit #{num}
     </select>
     <select id="queryUnreadMessageStatic" resultType="com.huaxu.Dto.MessageStatic">

+ 1 - 1
operation_manager/src/main/java/com/huaxu/config/ResourceServerConfig.java

@@ -23,7 +23,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
                         "/workflow/process/image*",
                         "/v2/**")
                 .permitAll() //配置不需要身份认证的请求路径
-                .anyRequest().authenticated() //其他所有访问路径都需要身份认证
+                //.anyRequest().authenticated() //其他所有访问路径都需要身份认证
                 .and()
                 .httpBasic();
     }

+ 39 - 37
operation_manager/src/main/java/com/huaxu/process/activiti/Service/ProgressSevice.java

@@ -7,9 +7,11 @@ import com.huaxu.process.dto.TaskUserDTO;
 import com.huaxu.process.service.UserFormService;
 import com.huaxu.util.MessageSendUtil;
 import com.huaxu.util.UserUtil;
+import org.activiti.engine.TaskService;
 import org.activiti.engine.delegate.DelegateExecution;
 import org.activiti.engine.delegate.Expression;
 import org.activiti.engine.delegate.JavaDelegate;
+import org.activiti.engine.task.Task;
 import org.springframework.amqp.core.AmqpTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -21,55 +23,55 @@ import java.util.Set;
 import java.util.UUID;
 
 @Component
-public class ProgressSevice  implements JavaDelegate{
-    private Expression expression;
+public class ProgressSevice {
+
 
     @Autowired
     private UserFormService userFormService;
     @Autowired
     private MessageSendUtil messageSendUtil;
-
+    @Autowired
+    TaskService taskService;
     public void execute(DelegateExecution delegateExecution) throws Exception {
-        System.out.println("serviceTask已经执行已经执行!");
-        Map<String, Object> variables = delegateExecution.getVariables();
-        Message message=new Message();
-
-        message.setStatus(1);
-        LoginUser currentUser = UserUtil.getCurrentUser();
-        message.setCreateBy(currentUser.getUsername());
-        message.setTenantId(currentUser.getTenantId());
-        message.setMessageContent(JSONObject.toJSONString(variables));
-        message.setMessageId(UUID.randomUUID().toString());
-        message.setMessageType((Integer) variables.get("msgType"));
-        message.setUrl((String) variables.get("url"));
-        message.setMessageTemplateId((Integer) variables.get("templateId"));
-        String value = (String) expression.getValue(delegateExecution);
-        TaskUserDTO taskUserDTO = JSONObject.parseObject(value, TaskUserDTO.class);
-        message.setChannel(taskUserDTO.getChannel());
-
-        Set<Integer> taskUsers = userFormService.getTaskUsers(taskUserDTO);
-        if(taskUserDTO.getUserFormFlag()==1){
-            String assineeFormUserId = (String)variables.get("assineeFormUserId");
-            if(assineeFormUserId!=null){
-                String[] userIds=assineeFormUserId.split(",");
-                for (String userId : userIds) {
-                    taskUsers.add(Integer.parseInt(userId));
-                }
 
-            }
-        }
-        if(taskUsers!=null){
+     }
+     public void runWithParticipants(DelegateExecution execution,String param){
+         System.out.println("serviceTask已经执行已经执行!");
+         Map<String, Object> variables = execution.getVariables();
 
-            taskUsers.forEach(id->{
-                message.setUserId(id);
-                messageSendUtil.send(message);
-            });
-        }
+         Message message=new Message();
 
+         message.setStatus(1);
+         LoginUser currentUser = UserUtil.getCurrentUser();
+         message.setCreateBy(currentUser.getUsername());
+         message.setTenantId(currentUser.getTenantId());
+         message.setMessageContent(JSONObject.toJSONString(variables));
+         message.setMessageId(UUID.randomUUID().toString());
+         message.setMessageType((Integer) variables.get("msgType"));
+         message.setUrl((String) variables.get("url"));
+         message.setMessageTemplateId((Integer) variables.get("templateId"));
 
+         TaskUserDTO taskUserDTO = JSONObject.parseObject(param, TaskUserDTO.class);
+         message.setChannel(taskUserDTO.getChannel());
 
+         Set<Integer> taskUsers = userFormService.getTaskUsers(taskUserDTO);
+         if(taskUserDTO.getUserFormFlag()==1){
+             String assineeFormUserId = (String)variables.get("assineeFormUserId");
+             if(assineeFormUserId!=null){
+                 String[] userIds=assineeFormUserId.split(",");
+                 for (String userId : userIds) {
+                     taskUsers.add(Integer.parseInt(userId));
+                 }
 
+             }
+         }
+         if(taskUsers!=null){
 
+             taskUsers.forEach(id->{
+                 message.setUserId(id);
+                 messageSendUtil.send(message);
+             });
+         }
 
-    }
+     }
 }

+ 2 - 2
operation_manager/src/main/java/com/huaxu/process/controller/WorkFlowController.java

@@ -156,8 +156,8 @@ public class WorkFlowController {
     }
     @GetMapping("/testStartProgress")
     @ApiOperation(value = "开启流程")
-    public AjaxMessage testStartProgress( @RequestParam Integer id) {
-        ProcessDefinition processDefinition=workFlowService.findProcessDefinition("test1",1,id);
+    public AjaxMessage testStartProgress( @RequestParam Integer id,@RequestParam String  tid,@RequestParam Integer cid) {
+        ProcessDefinition processDefinition=workFlowService.findProcessDefinition(tid,cid,id);
 
         Map<String, Object> vars=new HashMap<>();
         vars.put("assineeFormUserId","55,66");

+ 1 - 0
operation_manager/src/main/resources/mapper/ProcessDefinitionMapper.xml

@@ -53,6 +53,7 @@
         <include refid="Base_Column_List"/>
         from sc_process_definition
         <where>
+             status=1
             <if test="id != null">
                 and id = #{id}
             </if>