|
@@ -1,5 +1,6 @@
|
|
|
package com.diagbot.facade;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.diagbot.client.UserServiceClient;
|
|
@@ -13,20 +14,24 @@ import com.diagbot.entity.OpenedProductsIndex;
|
|
|
import com.diagbot.entity.ServiceInfo;
|
|
|
import com.diagbot.entity.wrapper.LantoneProductWrapper;
|
|
|
import com.diagbot.entity.wrapper.OpendProductWrapper;
|
|
|
+import com.diagbot.entity.wrapper.ServiceInfoWrapper;
|
|
|
import com.diagbot.enums.AccessTypeEnum;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
import com.diagbot.enums.ProductAuditEnum;
|
|
|
+import com.diagbot.enums.ServiceTypeEnum;
|
|
|
import com.diagbot.enums.StatusEnum;
|
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
|
import com.diagbot.exception.CommonException;
|
|
|
import com.diagbot.service.impl.LantoneProductServiceImpl;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
import com.diagbot.util.DateUtil;
|
|
|
+import com.diagbot.util.EntityUtil;
|
|
|
import com.diagbot.util.UserUtils;
|
|
|
import com.diagbot.vo.AddProductsVO;
|
|
|
import com.diagbot.vo.LantoneProductSelectVO;
|
|
|
import com.diagbot.vo.OppendedProductVO;
|
|
|
import com.diagbot.vo.UpdateProductVO;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
@@ -127,6 +132,16 @@ public class LantoneProductFacade extends LantoneProductServiceImpl {
|
|
|
throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
|
|
|
"获取用户机构信息失败");
|
|
|
}
|
|
|
+
|
|
|
+ List<ServiceInfoWrapper> serviceInfoWrapperList = serviceInfoFacade.selectWrapperListByUserId(userId);
|
|
|
+ Map<Long, List<ServiceInfoWrapper>> serviceListMap = EntityUtil.makeEntityListMap(serviceInfoWrapperList, "productId");
|
|
|
+
|
|
|
+ QueryWrapper<ServiceInfo> qwServiceInfo = new QueryWrapper();
|
|
|
+ qwServiceInfo.eq("user_id", userId).
|
|
|
+ eq("type", ServiceTypeEnum.User_Create.getKey()).
|
|
|
+ eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
+ List<ServiceInfo> serviceInfoList = serviceInfoFacade.list(qwServiceInfo);
|
|
|
+
|
|
|
for (LantoneProductWrapper product : list) {
|
|
|
product.setOrganizationName(mapRespDTO.data.get(userId).getOrgName());
|
|
|
String[] accessType = product.getAccessType().split(",|,");
|
|
@@ -144,14 +159,19 @@ public class LantoneProductFacade extends LantoneProductServiceImpl {
|
|
|
product.setAccessTypeArray(accessTypeArray);
|
|
|
product.setChargeTypeArray(chargeTypeArray);
|
|
|
|
|
|
- String[] serviceIds = product.getServiceIds().split(",|,");
|
|
|
- Long[] lserviceIds = new Long[serviceIds.length];
|
|
|
- for (int i = 0; i < serviceIds.length; i++) {
|
|
|
- lserviceIds[i] = Long.parseLong(serviceIds[i]);
|
|
|
+ List<ServiceInfoWrapper> serviceWrappers = serviceListMap.get(product.getId());
|
|
|
+ Map<Long, ServiceInfoWrapper> serviceRelationMap = EntityUtil.makeEntityMap(serviceWrappers, "id");
|
|
|
+ if (serviceWrappers != null) {
|
|
|
+ List<ServiceInfo> serviceNoRelations = Lists.newArrayList();
|
|
|
+ for (ServiceInfo serviceInfo : serviceInfoList) {
|
|
|
+ if (!serviceRelationMap.containsKey(serviceInfo.getId())) {
|
|
|
+ serviceNoRelations.add(serviceInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ product.setServiceInfos(serviceNoRelations);
|
|
|
+ } else {
|
|
|
+ product.setServiceInfos(serviceInfoList);
|
|
|
}
|
|
|
-
|
|
|
- List<ServiceInfo> services = serviceInfoFacade.getServiceListNoRelation(lserviceIds);
|
|
|
- product.setServiceInfos(services);
|
|
|
}
|
|
|
return list;
|
|
|
}
|