• bladex中服务远程调用


    //api中接口

     //实现类

     

     //需要调用的远程服务的接口

     

     //需要远程调用服务的实现类

     

    package org.springblade.flow.business.service.impl;
    
    import lombok.AllArgsConstructor;
    import org.flowable.task.api.Task;
    import org.springblade.core.secure.utils.AuthUtil;
    import org.springblade.core.tool.utils.Func;
    import org.springblade.flow.business.service.ISendWeChatMsg;
    import org.springblade.resource.entity.WeChatSendMsgTextParam;
    import org.springblade.resource.feign.IWeChatClient;
    import org.springblade.system.user.cache.UserCache;
    import org.springblade.system.user.entity.User;
    import org.springframework.stereotype.Service;
    
    import java.text.MessageFormat;
    import java.util.List;
    import java.util.Map;
    
    import static org.springblade.core.launch.constant.FlowConstant.TASK_USR_PREFIX;
    
    @Service
    @AllArgsConstructor
    public class SendWeChatMsg implements ISendWeChatMsg {
    
    	private IWeChatClient weChatClient;
    
    	@Override
    	//发送消息
    	public void sendWeChatMsg(List<Task> curTasks,List<Task> nextTasks,String msgType){
    		if(Func.isEmpty(nextTasks)||Func.isNull(nextTasks)){
    			return ;
    		}
    		Map<String, Object> map = nextTasks.get(0).getProcessVariables();
    		String subject = "";
    		String orderCode = "";
    		String formName ="";
    		if(Func.isNotEmpty(map)) {
    			if (map.containsKey("subject")) {
    				subject = map.get("subject").toString();
    			}
    			if (map.containsKey("orderCode")) {
    				orderCode = map.get("orderCode").toString();
    			}
    			if (map.containsKey("formName")) {
    				formName = map.get("formName").toString();
    			}
    		}
    		String userId ="";
    		String userName = "";
    		if(Func.isNotEmpty(curTasks)) {
    			Task task = curTasks.get(0);
    			String assignee = task.getAssignee();
    			if(Func.isNotEmpty(assignee)){
    				if(assignee.contains(TASK_USR_PREFIX)){
    					User fromUser = UserCache.getUserByTaskUser(assignee);
    					if(Func.isNotEmpty(fromUser)) {
    						userId = String.valueOf(fromUser.getId());
    						userName = fromUser.getName();
    					}
    				}
    				else if(Func.isNumeric(assignee)){
    					userId = assignee;
    					User user = UserCache.getUser(Long.valueOf(assignee));
    					if(Func.isNotEmpty(user)){
    						userName = user.getName();
    					}
    				}
    				else {
    					userId = String.valueOf(AuthUtil.getUserId());
    					User user = UserCache.getUser(AuthUtil.getUserId());
    					if(Func.isNotEmpty(user)){
    						userName = user.getName();
    					}
    				}
    			}
    			else {
    				userId = String.valueOf(AuthUtil.getUserId());
    				User user = UserCache.getUser(AuthUtil.getUserId());
    				if(Func.isNotEmpty(user)){
    					userName = user.getName();
    				}
    			}
    		}
    
    		String weChatId ="";
    		if(Func.isNotEmpty(nextTasks)) {
    			for(Task task : nextTasks) {
    				String assignee = task.getAssignee();
    				if(Func.isNotEmpty(assignee)){
    					if(assignee.contains(TASK_USR_PREFIX)){
    						User toUser = UserCache.getUserByTaskUser(assignee);
    						if(Func.isNotEmpty(toUser)) {
    							if(Func.isNotEmpty(weChatId)){
    								weChatId = weChatId+","+toUser.getWeChatId();
    							}
    							else{
    								weChatId = toUser.getWeChatId();
    							}
    						}
    					}
    					else if(Func.isNumeric(assignee)){
    						User toUser = UserCache.getUser(Long.valueOf(assignee));
    						if(Func.isNotEmpty(toUser)){
    							if(Func.isNotEmpty(weChatId)){
    								weChatId = weChatId+","+toUser.getWeChatId();
    							}
    							else{
    								weChatId = toUser.getWeChatId();
    							}
    						}
    					}
    				}
    			}
    		}
    
    		if(Func.isNotEmpty(weChatId)){
    			if("textCard".equals(msgType)){
    
    			}
    			else if("news".equals(msgType)){
    
    			}
    			else{
    				//默认text
    				WeChatSendMsgTextParam text = new WeChatSendMsgTextParam();
    				String subjectFormat = "您有新接收的{0}代办事务,请处理: 主题 - {1} 单号 - {2} ";
    				String content = MessageFormat.format(subjectFormat,formName,subject,orderCode);
    				text.setTouser(weChatId);
    				text.setContent(content);
    				weChatClient.sendTextMsgFlow(userId,userName,subject,text);
    			}
    		}
    
    	}
    
    	@Override
    	//发送消息
    	public void sendWeChatMsg(String taskUser,List<Task> nextTasks,String msgType){
    		if(Func.isEmpty(nextTasks)||Func.isNull(nextTasks)){
    			return ;
    		}
    		Map<String, Object> map = nextTasks.get(0).getProcessVariables();
    		String subject = "";
    		String orderCode = "";
    		String formName ="";
    		if(Func.isNotEmpty(map)) {
    			if (map.containsKey("subject")) {
    				subject = map.get("subject").toString();
    			}
    			if (map.containsKey("orderCode")) {
    				orderCode = map.get("orderCode").toString();
    			}
    			if (map.containsKey("formName")) {
    				formName = map.get("formName").toString();
    			}
    		}
    		String userId ="";
    		String userName = "";
    		if(Func.isNotEmpty(taskUser)) {
    			String assignee = taskUser;
    			if(Func.isNotEmpty(assignee)){
    				if(assignee.contains(TASK_USR_PREFIX)){
    					User fromUser = UserCache.getUserByTaskUser(assignee);
    					if(Func.isNotEmpty(fromUser)) {
    						userId = String.valueOf(fromUser.getId());
    						userName = fromUser.getName();
    					}
    				}
    				else if(Func.isNumeric(assignee)){
    					userId = assignee;
    					User user = UserCache.getUser(Long.valueOf(assignee));
    					if(Func.isNotEmpty(user)){
    						userName = user.getName();
    					}
    				}
    				else {
    					userId = String.valueOf(AuthUtil.getUserId());
    					User user = UserCache.getUser(AuthUtil.getUserId());
    					if(Func.isNotEmpty(user)){
    						userName = user.getName();
    					}
    				}
    			}
    			else {
    				userId = String.valueOf(AuthUtil.getUserId());
    				User user = UserCache.getUser(AuthUtil.getUserId());
    				if(Func.isNotEmpty(user)){
    					userName = user.getName();
    				}
    			}
    		}
    
    		String weChatId ="";
    		if(Func.isNotEmpty(nextTasks)) {
    			for(Task task : nextTasks) {
    				String assignee = task.getAssignee();
    				if(Func.isNotEmpty(assignee)){
    					if(assignee.contains(TASK_USR_PREFIX)){
    						User toUser = UserCache.getUserByTaskUser(assignee);
    						if(Func.isNotEmpty(toUser)) {
    							if(Func.isNotEmpty(weChatId)){
    								weChatId = weChatId+","+toUser.getWeChatId();
    							}
    							else{
    								weChatId = toUser.getWeChatId();
    							}
    						}
    					}
    					else if(Func.isNumeric(assignee)){
    						User toUser = UserCache.getUser(Long.valueOf(assignee));
    						if(Func.isNotEmpty(toUser)){
    							if(Func.isNotEmpty(weChatId)){
    								weChatId = weChatId+","+toUser.getWeChatId();
    							}
    							else{
    								weChatId = toUser.getWeChatId();
    							}
    						}
    					}
    				}
    			}
    		}
    
    		if(Func.isNotEmpty(weChatId)){
    			if("textCard".equals(msgType)){
    
    			}
    			else if("news".equals(msgType)){
    
    			}
    			else{
    				//默认text
    				WeChatSendMsgTextParam text = new WeChatSendMsgTextParam();
    				String subjectFormat = "您有新接收的{0}代办事务,请处理: 主题 - {1} 单号 - {2} ";
    				String content = MessageFormat.format(subjectFormat,formName,subject,orderCode);
    				text.setTouser(weChatId);
    				text.setContent(content);
    				weChatClient.sendTextMsgFlow(userId,userName,subject,text);
    			}
    		}
    
    	}
    
    	@Override
    	public void sendEndWeChatMsg(List<Task> curTasks, List<Task> nextTasks, String msgType) {
    		if(Func.isEmpty(nextTasks)||Func.isNull(nextTasks)){
    			return ;
    		}
    		Map<String, Object> map = nextTasks.get(0).getProcessVariables();
    		String subject = "";
    		String orderCode = "";
    		String formName ="";
    		String ccUser ="";
    		if(Func.isNotEmpty(map)) {
    			if (map.containsKey("subject")) {
    				subject = map.get("subject").toString();
    			}
    			if (map.containsKey("orderCode")) {
    				orderCode = map.get("orderCode").toString();
    			}
    			if (map.containsKey("formName")) {
    				formName = map.get("formName").toString();
    			}
    			if (map.containsKey("ccUser")) {
    				ccUser = map.get("ccUser").toString();
    			}
    		}
    		String userId ="";
    		String userName = "";
    		if(Func.isNotEmpty(curTasks)) {
    			String assignee = curTasks.get(0).getAssignee();
    			if(Func.isNotEmpty(assignee)){
    				if(assignee.contains(TASK_USR_PREFIX)){
    					User fromUser = UserCache.getUserByTaskUser(assignee);
    					if(Func.isNotEmpty(fromUser)) {
    						userId = String.valueOf(fromUser.getId());
    						userName = fromUser.getName();
    					}
    				}
    				else if(Func.isNumeric(assignee)){
    					userId = assignee;
    					User user = UserCache.getUser(Long.valueOf(assignee));
    					if(Func.isNotEmpty(user)){
    						userName = user.getName();
    					}
    				}
    				else {
    					userId = String.valueOf(AuthUtil.getUserId());
    					User user = UserCache.getUser(AuthUtil.getUserId());
    					if(Func.isNotEmpty(user)){
    						userName = user.getName();
    					}
    				}
    			}
    			else {
    				userId = String.valueOf(AuthUtil.getUserId());
    				User user = UserCache.getUser(AuthUtil.getUserId());
    				if(Func.isNotEmpty(user)){
    					userName = user.getName();
    				}
    			}
    		}
    
    		String weChatId ="";
    		if(Func.isNotEmpty(ccUser)){
    			String[] toTaskUserArray = Func.toStrArray(ccUser);
    			for(int index = 0 ; index< toTaskUserArray.length;index++){
    				String toTaskUser = toTaskUserArray[index];
    				User toUser = null;
    				if(toTaskUser.contains(TASK_USR_PREFIX)){
    					toUser = UserCache.getUserByTaskUser(toTaskUser);
    				}
    				else if(Func.isNumeric(toTaskUser)) {
    					toUser = UserCache.getUser(Long.valueOf(toTaskUser));
    				}
    				if(Func.isNotEmpty(toUser)&&Func.isNotEmpty(toUser.getWeChatId())) {
    					if(Func.isNotEmpty(weChatId)){
    						weChatId = weChatId+","+toUser.getWeChatId();
    					}
    					else{
    						weChatId = toUser.getWeChatId();
    					}
    				}
    			}
    		}
    
    		if(Func.isNotEmpty(weChatId)){
    			if("textCard".equals(msgType)){
    
    			}
    			else if("news".equals(msgType)){
    
    			}
    			else{
    				//默认text
    				WeChatSendMsgTextParam text = new WeChatSendMsgTextParam();
    				String subjectFormat = "您有新接收的{0}抄送事务,请处理: 主题 - {1} 单号 - {2} ";
    				String content = MessageFormat.format(subjectFormat,formName,subject,orderCode);
    				text.setTouser(weChatId);
    				text.setContent(content);
    				weChatClient.sendTextMsgFlow(userId,userName,subject,text);
    			}
    		}
    	}
    
    	@Override
    	public void sendEndWeChatMsg(String taskUser, Map<String,Object> map, String msgType) {
    		if(Func.isEmpty(map)||Func.isNull(map)){
    			return ;
    		}
    		String subject = "";
    		String orderCode = "";
    		String formName ="";
    		String ccUser ="";
    		if(Func.isNotEmpty(map)) {
    			if (map.containsKey("subject")) {
    				subject = map.get("subject").toString();
    			}
    			if (map.containsKey("orderCode")) {
    				orderCode = map.get("orderCode").toString();
    			}
    			if (map.containsKey("formName")) {
    				formName = map.get("formName").toString();
    			}
    			if (map.containsKey("ccUser")) {
    				ccUser = map.get("ccUser").toString();
    			}
    		}
    		String userId ="";
    		String userName = "";
    		if(Func.isNotEmpty(taskUser)) {
    			String assignee = taskUser;
    			if(Func.isNotEmpty(assignee)){
    				if(assignee.contains(TASK_USR_PREFIX)){
    					User fromUser = UserCache.getUserByTaskUser(assignee);
    					if(Func.isNotEmpty(fromUser)) {
    						userId = String.valueOf(fromUser.getId());
    						userName = fromUser.getName();
    					}
    				}
    				else if(Func.isNumeric(assignee)){
    					userId = assignee;
    					User user = UserCache.getUser(Long.valueOf(assignee));
    					if(Func.isNotEmpty(user)){
    						userName = user.getName();
    					}
    				}
    				else {
    					userId = String.valueOf(AuthUtil.getUserId());
    					User user = UserCache.getUser(AuthUtil.getUserId());
    					if(Func.isNotEmpty(user)){
    						userName = user.getName();
    					}
    				}
    			}
    			else {
    				userId = String.valueOf(AuthUtil.getUserId());
    				User user = UserCache.getUser(AuthUtil.getUserId());
    				if(Func.isNotEmpty(user)){
    					userName = user.getName();
    				}
    			}
    		}
    
    		String weChatId ="";
    		if(Func.isNotEmpty(ccUser)){
    			String[] toTaskUserArray = Func.toStrArray(ccUser);
    			for(int index = 0 ; index< toTaskUserArray.length;index++){
    				String toTaskUser = toTaskUserArray[index];
    				User toUser = null;
    				if(toTaskUser.contains(TASK_USR_PREFIX)){
    					toUser = UserCache.getUserByTaskUser(toTaskUser);
    				}
    				else if(Func.isNumeric(toTaskUser)) {
    					toUser = UserCache.getUser(Long.valueOf(toTaskUser));
    				}
    				if(Func.isNotEmpty(toUser)&&Func.isNotEmpty(toUser.getWeChatId())) {
    					if(Func.isNotEmpty(weChatId)){
    						weChatId = weChatId+","+toUser.getWeChatId();
    					}
    					else{
    						weChatId = toUser.getWeChatId();
    					}
    				}
    			}
    		}
    
    		if(Func.isNotEmpty(weChatId)){
    			if("textCard".equals(msgType)){
    
    			}
    			else if("news".equals(msgType)){
    
    			}
    			else{
    				//默认text
    				WeChatSendMsgTextParam text = new WeChatSendMsgTextParam();
    				String subjectFormat = "您有新接收的{0}抄送事务,请处理: 主题 - {1} 单号 - {2} ";
    				String content = MessageFormat.format(subjectFormat,formName,subject,orderCode);
    				text.setTouser(weChatId);
    				text.setContent(content);
    				weChatClient.sendTextMsgFlow(userId,userName,subject,text);
    			}
    		}
    	}
    }
    

      

  • 相关阅读:
    进程与线程(二)(线程池)
    进程与线程(一)(基本定义和demo)
    SpringBoot的整合(二、整合redis)
    SpringBoot的整合(一、定时任务task)
    Thymeleaf的学习(二)(常用标签的使用方法)
    程序员常用单词词汇汇总
    程序员代码打字练习题库
    浅谈原型对象和原型链(源于学习整理笔记)
    JS中this的四种用法
    VS code自定义用户代码片段snippet
  • 原文地址:https://www.cnblogs.com/xianz666/p/14510175.html
Copyright © 2020-2023  润新知