|
@@ -0,0 +1,55 @@
|
|
|
+package com.fire.order.service.impl;
|
|
|
+
|
|
|
+
|
|
|
+import com.fire.dto.CustomerInfo;
|
|
|
+import com.fire.dto.FlowAppInfo;
|
|
|
+import com.fire.order.data.DataPool;
|
|
|
+import com.fire.order.mapper.CustomerInfoMapper;
|
|
|
+import com.fire.order.mapper.FlowAppInfoMapper;
|
|
|
+import com.fire.order.service.CustomerService;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 客户服务实现层
|
|
|
+ *
|
|
|
+ * @author ZJQ 2021年5月14日17:13:54
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class CustomerServiceImpl implements CustomerService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private FlowAppInfoMapper flowAppInfoMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private CustomerInfoMapper customerInfoMapper;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 缓存客户信息
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void cacheCustomer() {
|
|
|
+ //查询所有的客户信息和所有的接入信息
|
|
|
+ List<FlowAppInfo> appInfos = flowAppInfoMapper.queryAll();
|
|
|
+ List<CustomerInfo> customerInfos = customerInfoMapper.queryAll();
|
|
|
+ if (appInfos != null && customerInfos != null) {
|
|
|
+ //将客户信息List 转换为客户id为key的map 如果存在重复key,以后出现的为准
|
|
|
+ Map<Long, CustomerInfo> customerInfoMap = customerInfos.stream().collect(Collectors.toMap(CustomerInfo::getCustomerId, a -> a, (k1, k2) -> k2));
|
|
|
+ //遍历接入信息,将对应客户信息放入接入信息中
|
|
|
+ for (FlowAppInfo appInfo : appInfos) {
|
|
|
+ if (appInfo != null && appInfo.getCustomerId() != null) {
|
|
|
+ CustomerInfo customerInfo = customerInfoMap.get(appInfo.getCustomerId());
|
|
|
+ appInfo.setCustomerInfo(customerInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //将接入信息list 转换为appId为key的map 如果存在重复key,以后出现的为准
|
|
|
+ DataPool.flowAppInfoMap = appInfos.stream().collect(Collectors.toMap(FlowAppInfo::getAppId, a -> a, (k1, k2) -> k2));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|