zoujiajian 2 лет назад
Родитель
Сommit
64869e9f4d

+ 28 - 3
netflix-service/src/main/java/com/cyksj/service/sys/impl/SysCorpFollowServiceImpl.java

@@ -9,11 +9,11 @@ import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.Jsons;
 import com.cyksj.mapper.SysCorpFollowMapper;
 import com.cyksj.mapper.SysCorpFollowRelateMapper;
+import com.cyksj.mapper.corp.CorpFollowMapper;
+import com.cyksj.mapper.manage.cms.CmsUserMapper;
 import com.cyksj.mapper.sys.SysConfigMapper;
 import com.cyksj.model.dto.YhServiceDto;
-import com.cyksj.model.entity.SysConfig;
-import com.cyksj.model.entity.SysCorpFollow;
-import com.cyksj.model.entity.SysCorpFollowRelate;
+import com.cyksj.model.entity.*;
 import com.cyksj.model.request.sys.SysCorpFollowReq;
 import com.cyksj.service.sys.SysConfigChangeRecordService;
 import com.cyksj.service.sys.SysCorpFollowService;
@@ -21,6 +21,7 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
@@ -39,6 +40,10 @@ public class SysCorpFollowServiceImpl extends ServiceImpl<SysCorpFollowMapper, S
 
 	private final SysConfigChangeRecordService sysConfigChangeRecordService;
 
+	private final CorpFollowMapper corpFollowMapper;
+
+	private final CmsUserMapper cmsUserMapper;
+
 	@Override
 	public void saveOrUpdateFollow(SysCorpFollowReq req) throws Exception {
 		SysCorpFollow sysCorpFollow = new SysCorpFollow();
@@ -99,6 +104,26 @@ public class SysCorpFollowServiceImpl extends ServiceImpl<SysCorpFollowMapper, S
 				sysConfigMapper.updateById(corpDutyServices);
 			} catch (Exception e) {
 			}
+
+			//同步企业客服对应后台客服关系
+			List<CorpFollow> corpFollows = corpFollowMapper.selectList(Wrappers.lambdaQuery(CorpFollow.class)
+					.in(CorpFollow::getUserid, followIds)
+					.isNull(CorpFollow::getCmsUserId));
+			if (CollUtil.isNotEmpty(corpFollows)) {
+				Map<String, List<SysCorpFollowRelate>> map = sysCorpFollowRelates.stream().collect(Collectors.groupingBy(SysCorpFollowRelate::getFollowId));
+				corpFollows.forEach(e -> {
+					List<SysCorpFollowRelate> sysCorpFollowRelates1 = map.get(e.getUserid());
+					if (CollUtil.isNotEmpty(sysCorpFollowRelates1)) {
+						SysCorpFollow sysCorpFollow = this.getById(sysCorpFollowRelates1.get(0).getMid());
+						CmsUser cmsUser = cmsUserMapper.selectOne(Wrappers.lambdaQuery(CmsUser.class)
+								.eq(CmsUser::getNickname, sysCorpFollow.getName()));
+						if (cmsUser != null) {
+							e.setCmsUserId(cmsUser.getId());
+							corpFollowMapper.updateById(e);
+						}
+					}
+				});
+			}
 		}
 	}