Переглянути джерело

Merge remote-tracking branch 'origin/dev/one' into dev/one

wangyu 6 роки тому
батько
коміт
4543c97979

+ 41 - 2
diagbotman-service/src/main/java/com/diagbot/entity/wrapper/LantoneProductWrapper.java

@@ -33,11 +33,50 @@ public class LantoneProductWrapper extends LantoneProduct {
     /**
      * 计费方式
      */
-    private String [] chargeTypeArray;
+    private String[] chargeTypeArray;
     /**
      * 接入方式(1:嵌入式,2:接口方式,3:online)
      */
-    private String [] accessTypeArray;
+    private String[] accessTypeArray;
+
+    /**
+     * 机构名称
+     */
+    private String organizationName;
+
+    /**
+     * 关联的service
+     */
+    private String serviceIds;
+
+    /**
+     * 关联的service
+     */
+    private Long[] services;
+
+    public Long[] getServices() {
+        return services;
+    }
+
+    public void setServices(Long[] services) {
+        this.services = services;
+    }
+
+    public String getServiceIds() {
+        return serviceIds;
+    }
+
+    public void setServiceIds(String serviceIds) {
+        this.serviceIds = serviceIds;
+    }
+
+    public String getOrganizationName() {
+        return organizationName;
+    }
+
+    public void setOrganizationName(String organizationName) {
+        this.organizationName = organizationName;
+    }
 
     public String[] getChargeTypeArray() {
         return chargeTypeArray;

+ 30 - 2
diagbotman-service/src/main/java/com/diagbot/facade/LantoneProductFacade.java

@@ -11,6 +11,7 @@ import com.diagbot.entity.OpenedProducts;
 import com.diagbot.entity.OpenedProductsIndex;
 import com.diagbot.entity.wrapper.LantoneProductWrapper;
 import com.diagbot.entity.wrapper.OpendProductWrapper;
+import com.diagbot.enums.AccessTypeEnum;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.StatusEnum;
 import com.diagbot.exception.CommonErrorCode;
@@ -112,9 +113,36 @@ public class LantoneProductFacade extends LantoneProductServiceImpl {
     public List<LantoneProductWrapper> opendedProductByCurrentUser() {
         Long userId = Long.parseLong(UserUtils.getCurrentPrincipleID());
         List<LantoneProductWrapper> list = this.opendedProductByUserId(userId);
+        List<Long> userIdList = new ArrayList<>();
+        userIdList.add(userId);
+        RespDTO<Map<Long, UserOrgDTO>> mapRespDTO = userServiceClient.getUserAndOrg(userIdList);
+        if (mapRespDTO == null || !"0".equals(mapRespDTO.code)) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                    "获取用户机构信息失败");
+        }
         for (LantoneProductWrapper product : list) {
-            product.setAccessTypeArray(product.getAccessType().split(",|,"));
-            product.setChargeTypeArray(product.getChargeType().split(",|,"));
+            product.setOrganizationName(mapRespDTO.data.get(userId).getOrgName());
+            String[] accessType = product.getAccessType().split(",|,");
+            String[] chargeType = product.getChargeType().split(",|,");
+            String[] accessTypeArray = new String[accessType.length];
+            String[] chargeTypeArray = new String[chargeType.length];
+
+            for (int i = 0; i < accessType.length; i++) {
+                accessTypeArray[i] = AccessTypeEnum.getName(Integer.parseInt(accessType[i]));
+            }
+            for (int i = 0; i < chargeType.length; i++) {
+                chargeTypeArray[i] = AccessTypeEnum.getName(Integer.parseInt(chargeType[i]));
+            }
+
+            product.setAccessTypeArray(accessTypeArray);
+            product.setChargeTypeArray(chargeTypeArray);
+
+            String[] serviceIds = product.getServiceIds().split(",|,");
+            Long[] services = new Long[serviceIds.length];
+            for (int i = 0; i < serviceIds.length; i++) {
+                services[i] = Long.parseLong(serviceIds[i]);
+            }
+            product.setServices(services);
         }
         return list;
     }

+ 16 - 5
diagbotman-service/src/main/resources/mapper/LantoneProductMapper.xml

@@ -40,6 +40,7 @@
         <result column="end_time" property="endTime"/>
         <result column="opened_service_status" property="openedServiceStatus"/>
         <result column="time" property="time"/>
+        <result column="service_ids" property="serviceIds"/>
     </resultMap>
 
     <!--根据用户id查询用户是否有开通产品-->
@@ -77,10 +78,20 @@
 
     <!--根据用户查询已开通产品-->
     <select id="opendedProductByUserId" resultMap="BaseResultWrapperMap" parameterType="java.lang.Long">
-        select a.*,b.start_time,b.end_time,b.service_status as opened_service_status,c.time from diag_lantone_product a,diag_opened_products b,diag_product_order c,diag_order_details d
-        where a.id=b.product_id and a.id=d.product_id and c.num=d.order_num
-        and d.audit_status=1
-        and a.is_deleted='N' and b.is_deleted='N' and c.is_deleted='N' and d.is_deleted='N'
-        and b.user_id=#{userId}  and c.user_id=#{userId}  and d.user_id=#{userId}
+        select a.*,b.start_time,b.end_time,b.service_status as opened_service_status,c.time,t.service_ids
+        from diag_lantone_product a,diag_opened_products b,diag_product_order c,diag_order_details d,
+        (SELECT product_id,GROUP_CONCAT(service_id) as service_ids
+            FROM diag_product_service t1,diag_service_info t2
+            WHERE t1.service_id = t2.id
+            AND t1.is_deleted = 'N'
+            AND t2.is_deleted = 'N'
+            AND t2.user_id = #{userId}
+            AND t2.type = 1
+            GROUP BY t1.product_id) t
+        where a.id=b.product_id and a.id=d.product_id and a.id=t.product_id
+			  and c.num=d.order_num
+              and d.audit_status=1
+              and a.is_deleted='N' and b.is_deleted='N' and c.is_deleted='N' and d.is_deleted='N'
+              and b.user_id=#{userId}  and c.user_id=#{userId}  and d.user_id=#{userId}
     </select>
 </mapper>