liupeng 4 rokov pred
rodič
commit
4cc4c9aaf9

+ 12 - 0
code/sapparent/sapservice/src/main/java/org/fouram/job/MessageSchedule.java

@@ -24,6 +24,7 @@ public class MessageSchedule {
 			if (messageUsers.isEmpty()) {
 				return;
 			}
+			// 入职
 			List<SapUser> sapUsers = sapUserService.selectNotSendEntryMessageList();
 			StringBuffer messageContent = null;
 			for (SapUser sapUser : sapUsers) {
@@ -34,6 +35,17 @@ public class MessageSchedule {
 						.append("<a href=\"https://studybom.suggest.vip/#/userSync/list\">立即同步</a>");
 				sapUserService.sendEntryMessage(messageContent.toString(), sapUser, messageUsers);
 			}
+			// 离职
+			sapUsers = sapUserService.selectNotSendLeaveMessageList();
+			messageContent = null;
+			for (SapUser sapUser : sapUsers) {
+				messageContent = new StringBuffer();
+				messageContent.append("有一个新员工离职,待同步企业微信").append("\n").append("员工姓名:").append(sapUser.getName())
+						.append("\n").append("手机号:").append(sapUser.getFormatMobile()).append("\n").append("邮箱:")
+						.append(sapUser.getRealEmail()).append("\n")
+						.append("<a href=\"https://studybom.suggest.vip/#/userSync/list\">立即同步</a>");
+				sapUserService.sendLeaveMessage(messageContent.toString(), sapUser, messageUsers);
+			}
 		} catch (Exception e) {
 			LoggerUtil.error(e);
 		}

+ 11 - 0
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapUserMapper.xml

@@ -164,4 +164,15 @@
 		set sendEntryMessageFlag=#{sendEntryMessageFlag} 
 		where userId=#{userId}
 	</update>
+	
+	<select id="selectNotSendLeaveMessageList" resultType="SapUser">
+		select * from sap_user 
+		where isPrimary = 1 and delFlag = 0 and sendLeaveMessageFlag = 0 and result = 'LEAVE'
+	</select>
+
+	<update id="updateSendLeaveMessageFlag">
+		update sap_user 
+		set sendLeaveMessageFlag=#{sendLeaveMessageFlag} 
+		where userId=#{userId}
+	</update>
 </mapper>

+ 19 - 0
code/sapparent/sapservice/src/main/java/org/fouram/service/SapUserService.java

@@ -501,4 +501,23 @@ public class SapUserService extends BaseService {
 		SapUser sapUser = SapUser.builder().userId(userId).sendEntryMessageFlag(sendEntryMessageFlag).build();
 		update("SapUserMapper.updateSendEntryMessageFlag", sapUser);
 	}
+	
+	@SuppressWarnings("unchecked")
+	public List<SapUser> selectNotSendLeaveMessageList() throws Exception {
+		return (List<SapUser>) findList("SapUserMapper.selectNotSendLeaveMessageList", null);
+	}
+	
+	@Transactional
+	public void sendLeaveMessage(String messageContent, SapUser sapUser, List<SapMessageUser> sapMessageUsers)
+			throws Exception {
+		for (SapMessageUser sapMessageUser : sapMessageUsers) {
+			WXCpMessageUtil.send(messageContent, sapMessageUser.getUserId());
+		}
+		updateSendLeaveMessageFlag(sapUser.getUserId(), true);
+	}
+	
+	private void updateSendLeaveMessageFlag(String userId, boolean sendEntryMessageFlag) throws Exception {
+		SapUser sapUser = SapUser.builder().userId(userId).sendEntryMessageFlag(sendEntryMessageFlag).build();
+		update("SapUserMapper.updateSendLeaveMessageFlag", sapUser);
+	}
 }

+ 1 - 1
code/sapparent/sapservice/src/main/resources/spring/quartz.xml

@@ -33,7 +33,7 @@
 	</bean>
 	<bean id="messageTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">  
 		<property name="jobDetail" ref="messageJob" />
-		<property name="cronExpression" value="0 * * * * ?" />
+		<property name="cronExpression" value="0 0 10 * * ?" />
 	</bean>
 	
 	<bean id="schedulerFactorys" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">