Joburgess 5 years ago
parent
commit
6faf5b4abc

+ 6 - 0
edu-auth/edu-auth-server/src/main/resources/config/mybatis/SysMessageConfigMapper.xml

@@ -110,10 +110,16 @@
 		select count(*) from sys_message_config
 		<include refid="queryCondition" />
 	</select>
+
 	<select id="queryByType" resultMap="SysMessageConfig">
 		SELECT * FROM sys_message_config WHERE message_type_ = #{messageType}
 	</select>
+
     <select id="findContent" resultType="java.lang.String">
 		SELECT content_ FROM sys_message_config WHERE message_type_ = #{messageType}
 	</select>
+
+	<select id="queryByEvent" resultMap="SysMessageConfig">
+		SELECT * FROM sys_message_config WHERE event_ = #{event}
+	</select>
 </mapper>

+ 3 - 1
edu-common/src/main/java/com/keao/edu/common/dao/SysMessageConfigDao.java

@@ -14,5 +14,7 @@ public interface SysMessageConfigDao extends BaseDAO<Integer, SysMessageConfig>
 	 */
 	SysMessageConfig queryByType(@Param("messageType") String messageType);
 
+	SysMessageConfig queryByEvent(@Param("event") String event);
+
     String findContent(String messageType);
-}
+}

+ 4 - 2
edu-common/src/main/java/com/keao/edu/common/service/SysMessageConfigService.java

@@ -3,7 +3,6 @@ package com.keao.edu.common.service;
 
 import com.keao.edu.common.entity.SysMessageConfig;
 import com.keao.edu.common.enums.MessageTypeEnum;
-import com.keao.edu.common.service.BaseService;
 
 public interface SysMessageConfigService extends BaseService<Integer, SysMessageConfig> {
 
@@ -13,4 +12,7 @@ public interface SysMessageConfigService extends BaseService<Integer, SysMessage
 	 * @return
 	 */
 	SysMessageConfig queryByType(MessageTypeEnum type);
-}
+
+
+	SysMessageConfig queryByEvent(MessageTypeEnum type);
+}

+ 6 - 2
edu-common/src/main/java/com/keao/edu/common/service/impl/SysMessageConfigServiceImpl.java

@@ -25,5 +25,9 @@ public class SysMessageConfigServiceImpl extends BaseServiceImpl<Integer, SysMes
 	public SysMessageConfig queryByType(MessageTypeEnum type) {
 		return sysMessageConfigDao.queryByType(type.getCode());
 	}
-	
-}
+
+	@Override
+	public SysMessageConfig queryByEvent(MessageTypeEnum type) {
+		return sysMessageConfigDao.queryByEvent(type.getCode());
+	}
+}

+ 15 - 24
edu-common/src/main/java/com/keao/edu/common/service/impl/SysMessageServiceImpl.java

@@ -1,22 +1,6 @@
 package com.keao.edu.common.service.impl;
 
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.Set;
-
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Async;
-import org.springframework.stereotype.Service;
-
 import com.keao.edu.common.dal.BaseDAO;
 import com.keao.edu.common.dao.SysMessageDao;
 import com.keao.edu.common.entity.Mapper;
@@ -31,8 +15,16 @@ import com.keao.edu.common.service.SysMessageConfigService;
 import com.keao.edu.common.service.SysMessageService;
 import com.keao.edu.thirdparty.message.MessageSenderPlugin;
 import com.keao.edu.thirdparty.message.MessageSenderPluginContext;
-import com.keao.edu.thirdparty.message.provider.YimeiSmsPlugin;
 import com.keao.edu.util.string.MessageFormatter;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
 
 @Service
 public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> implements SysMessageService {
@@ -128,7 +120,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		if (userIds == null || userIds.size() == 0) {
 			throw new BizException("接收地址不能为空");
 		}
-		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(messageType);
+		SysMessageConfig messageConfig = sysMessageConfigService.queryByEvent(messageType);
 		if (messageConfig == null) {
 			throw new BizException("消息类型错误");
 		}else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
@@ -186,7 +178,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 				// 立即发送
 				if (triggerTime == null || date.after(triggerTime)) {
 					status = SendStatusEnum.SENDING;
-					if (debugMode == true || messageSenderPluginContext.batchSend(YimeiSmsPlugin.PLUGIN_NAME, subject, content, tos, memo,jpushType)) {
+					if (debugMode == true || messageSenderPluginContext.batchSend(jpushType, subject, content, tos, memo,jpushType)) {
 						status = SendStatusEnum.SUCCESSED;
 					} else {
 						status = SendStatusEnum.FAILED;
@@ -218,7 +210,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			throw new BizException("接收地址不能为空");
 		}
 		String[] tos = receivers.values().toArray(new String[receivers.size()]);
-		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type);
+		SysMessageConfig messageConfig = sysMessageConfigService.queryByEvent(type);
 		if (messageConfig == null) {
 			throw new BizException("消息类型错误");
 		}else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
@@ -227,13 +219,12 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		Date date = new Date();
 		SendStatusEnum status = SendStatusEnum.WAIT;
 		String errorMsg = null;
-		String pluginName = YimeiSmsPlugin.PLUGIN_NAME;
 		// 立即发送
 		if (triggerTime == null || date.after(triggerTime)) {
 			status = SendStatusEnum.SENDING;
 			try {
 				if (debugMode == true
-						|| messageSenderPluginContext.batchSend(pluginName, messageConfig.getDescription(),
+						|| messageSenderPluginContext.batchSend(jpushType, messageConfig.getDescription(),
 								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType)) {
 					status = SendStatusEnum.SUCCESSED;
 				} else {
@@ -245,7 +236,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 				LOGGER.warn("消息发送失败", e);
 			}
 		}
-		MessageSenderPlugin senderPlugin = messageSenderPluginContext.getMessageSenderPlugin(pluginName);
+		MessageSenderPlugin senderPlugin = messageSenderPluginContext.getMessageSenderPlugin(jpushType);
 		MessageSendMode mode = MessageSendMode.SMS;
 		if (senderPlugin.getSendMode().equals("PUSH")) {
 			mode = MessageSendMode.PUSH;
@@ -270,7 +261,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		if (triggerTime == null || date.after(triggerTime)) {
 			status = SendStatusEnum.SENDING;
 			try {
-				if (debugMode == true || messageSenderPluginContext.send(YimeiSmsPlugin.PLUGIN_NAME, receiver, title, content, url,jpushType)) {
+				if (debugMode == true || messageSenderPluginContext.send(jpushType, receiver, title, content, url,jpushType)) {
 					status = SendStatusEnum.SUCCESSED;
 				} else {
 					status = SendStatusEnum.FAILED;

+ 9 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/SysUserDao.java

@@ -6,7 +6,6 @@ import com.keao.edu.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
-import java.util.Set;
 
 public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 
@@ -71,4 +70,13 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	 * @param userType
 	 */
 	void updateUserType(@Param("userId") Integer userId, @Param("userType") String userType);
+
+	/**
+	 * @describe 根据部门获取用户
+	 * @author Joburgess
+	 * @date 2020.07.16
+	 * @param organId:
+	 * @return com.keao.edu.auth.api.entity.SysUser
+	 */
+	SysUser getWithOrgan(@Param("organId") Integer organId);
 }

+ 7 - 7
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamOrganizationRelationServiceImpl.java

@@ -11,6 +11,8 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.keao.edu.thirdparty.message.provider.JiguangPushPlugin;
+import com.keao.edu.user.dao.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -29,10 +31,6 @@ import com.keao.edu.common.exception.BizException;
 import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
 import com.keao.edu.common.tenant.TenantContextHolder;
-import com.keao.edu.user.dao.ExamOrganizationRelationDao;
-import com.keao.edu.user.dao.ExaminationBasicDao;
-import com.keao.edu.user.dao.OrganizationDao;
-import com.keao.edu.user.dao.TenantInfoDao;
 import com.keao.edu.user.dto.ExamOrganizationRelationExtraDto;
 import com.keao.edu.user.entity.ExamOrganizationRelation;
 import com.keao.edu.user.entity.ExaminationBasic;
@@ -69,6 +67,8 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 	private SysConfigService sysConfigService;
 	@Autowired
 	private TenantInfoDao tenantInfoDao;
+	@Autowired
+	private SysUserDao sysUserDao;
 
 	public static final Set<ExamStatusEnum> EDIT_ABLE_EXAM_STATUS=new HashSet<>(Arrays.asList(ExamStatusEnum.SETTING,ExamStatusEnum.NOT_START,ExamStatusEnum.APPLYING,ExamStatusEnum.APPLIED));
 
@@ -283,12 +283,12 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 
 			examOrgan.setSendUrlFlag(1);
 
-			SysUser student = sysUserFeignService.queryUserById(examOrgan.getOrganId());
+			SysUser organUser = sysUserDao.getWithOrgan(examOrgan.getOrganId());
 			Map<Integer, String> userPhoneMap = new HashMap<>();
-			userPhoneMap.put(examOrgan.getOrganId(), student.getPhone());
+			userPhoneMap.put(examOrgan.getOrganId(), organUser.getPhone());
 
 			SysMessageParams sysMessageParams=new SysMessageParams(MessageTypeEnum.EXAM_REGISTRATION_URL_PUSH,
-					userPhoneMap, null, 0, null, null,
+					userPhoneMap, null, 0, null, JiguangPushPlugin.PLUGIN_NAME,
 					tenantInfo.getName(), examinationBasic.getName(), expectRegistTime.toString(), examOrgan.getUrl());
 			sysMessageFeignService.batchSendMessage(sysMessageParams);
 		}

+ 9 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -187,6 +187,15 @@
 		LEFT JOIN sys_user_role sur ON e.user_id_ = sur.user_id_
 		WHERE e.user_id_ = #{userId} LIMIT 1
     </select>
+    <select id="getWithOrgan" resultMap="SysUser">
+        SELECT
+            *
+        FROM
+            sys_user su
+            LEFT JOIN organization o ON su.id_ = o.user_id_
+        WHERE
+            o.id_=#{organId}
+    </select>
 
     <insert id="batchAddEmployeeRole">
         INSERT INTO sys_user_role(user_id_,role_id_) VALUES (#{userId},#{roles})