Browse Source

离职交接

zouxuan 3 years ago
parent
commit
e0d6a8718a

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/EmployeeService.java

@@ -11,6 +11,7 @@ import com.ym.mec.common.service.BaseService;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.ExecutionException;
 
 public interface EmployeeService extends BaseService<Integer, Employee> {
 

+ 37 - 22
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -36,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.util.*;
+import java.util.concurrent.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -300,7 +301,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void level(List<EmployeeLevelDto> employeeLevelDtos) {
+	public void level(List<EmployeeLevelDto> employeeLevelDtos){
 		Integer levelUserId = employeeLevelDtos.get(0).getLevelUserId();
 		List<ImGroupModel> educationGroupModels = new ArrayList<>();
 		//获取用户需要加入的群组列表
@@ -389,31 +390,45 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		employeeDao.updateUserDemissionDate(levelUserId);
 		//冻结用户
 		employeeDao.updateUserLock(levelUserId,1);
-		//获取用户担任教务老师、维修技师的所有乐团列表
-		List<String> musicGroupIds = employeeDao.queryMusicGroupIdByUserId(levelUserId);
-		//获取用户担任教务老师的所有网管课列表
-		List<String> practiceGroupIds = employeeDao.queryPracticeGroupIdByUserId(levelUserId);
-		//获取用户担任教务老师的所有VIP课列表
-		List<String> vipGroupIds = employeeDao.queryVipGroupIdByUserId(levelUserId);
-		if(musicGroupIds.size() > 0){
-			for (String musicGroupId : musicGroupIds) {
-				imUserFriendService.refreshGroupImUserFriend(musicGroupId, GroupType.MUSIC);
+		ExecutorService executor = Executors.newFixedThreadPool(20);
+		CompletableFuture<Boolean> refreshUserFriend = CompletableFuture.supplyAsync(()->{
+			//获取用户担任教务老师、维修技师的所有乐团列表
+			List<String> musicGroupIds = employeeDao.queryMusicGroupIdByUserId(levelUserId);
+			//获取用户担任教务老师的所有网管课列表
+			List<String> practiceGroupIds = employeeDao.queryPracticeGroupIdByUserId(levelUserId);
+			//获取用户担任教务老师的所有VIP课列表
+			List<String> vipGroupIds = employeeDao.queryVipGroupIdByUserId(levelUserId);
+			Boolean refreshFlag = false;
+			if(musicGroupIds.size() > 0){
+				for (String musicGroupId : musicGroupIds) {
+					imUserFriendService.refreshGroupImUserFriend(musicGroupId, GroupType.MUSIC);
+				}
+				refreshFlag = true;
 			}
-		}
-		if(practiceGroupIds.size() > 0){
-			for (String musicGroupId : practiceGroupIds) {
-				imUserFriendService.refreshGroupImUserFriend(musicGroupId, GroupType.PRACTICE);
+			if(practiceGroupIds.size() > 0){
+				for (String musicGroupId : practiceGroupIds) {
+					imUserFriendService.refreshGroupImUserFriend(musicGroupId, GroupType.PRACTICE);
+				}
+				refreshFlag = true;
 			}
-		}
-		if(vipGroupIds.size() > 0){
-			for (String musicGroupId : vipGroupIds) {
-				imUserFriendService.refreshGroupImUserFriend(musicGroupId, GroupType.VIP);
+			if(vipGroupIds.size() > 0){
+				for (String musicGroupId : vipGroupIds) {
+					imUserFriendService.refreshGroupImUserFriend(musicGroupId, GroupType.VIP);
+				}
+				refreshFlag = true;
 			}
+			return refreshFlag;
+		},executor);
+		Boolean join = refreshUserFriend.join();
+		if(join){
+			refreshUserFriend.thenRunAsync(()->{
+				//更新群成员数量
+				imGroupDao.updateMemberNum();
+				//删除重复的群成员
+				imGroupMemberService.delRepeat();
+			});
 		}
-		//更新群成员数量
-		imGroupDao.updateMemberNum();
-		//删除重复的群成员
-		imGroupMemberService.delRepeat();
+		executor.shutdown();
 	}
 
 	@Override

+ 7 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysTenantConfigServiceImpl.java

@@ -52,13 +52,13 @@ public class SysTenantConfigServiceImpl extends BaseServiceImpl<Integer, SysTena
 
 	@Override
 	public String getTenantConfigValue(String paramName,Integer tenantId) {
-		RBucket<ConcurrentHashMap<Integer,ConcurrentHashMap<String,String>>> bucket = redissonClient.getBucket(tenantKey);
-		ConcurrentHashMap<Integer, ConcurrentHashMap<String, String>> tenantConfigMap = bucket.get();
-		ConcurrentHashMap<String, String> map = tenantConfigMap.get(tenantId);
-		if(map != null){
-			return map.get(paramName);
-		}
-		applicationEventPublisher.publishEvent(new TenantConfigChangeEvent(this,tenantId));
+//		RBucket<ConcurrentHashMap<Integer,ConcurrentHashMap<String,String>>> bucket = redissonClient.getBucket(tenantKey);
+//		ConcurrentHashMap<Integer, ConcurrentHashMap<String, String>> tenantConfigMap = bucket.get();
+//		ConcurrentHashMap<String, String> map = tenantConfigMap.get(tenantId);
+//		if(map != null){
+//			return map.get(paramName);
+//		}
+//		applicationEventPublisher.publishEvent(new TenantConfigChangeEvent(this,tenantId));
 		return sysTenantConfigDao.getConfigValue(paramName,tenantId);
 	}
 

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/PracticeGroupSellPriceMapper.xml

@@ -69,7 +69,7 @@
 			<if test="twiceActivityPrice != null">
 				twice_activity_price = #{twiceActivityPrice},
 			</if>
-			update_time_=NOW
+			update_time_= NOW()
 		</set>
 		WHERE organ_id_ = #{organId} and tenant_id_ = #{tenantId}
 	</update>

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/PracticeGroupSellPriceController.java

@@ -25,8 +25,6 @@ import com.ym.mec.common.page.QueryInfo;
 @RestController
 public class PracticeGroupSellPriceController extends BaseController {
 
-	@Autowired
-	private SysUserFeignService sysUserFeignService;
 
 	@Autowired
 	private PracticeGroupSellPriceService practiceGroupSellPriceService;