Your Name лет назад: 2
Родитель
Сommit
85cd2c258f

+ 40 - 0
java110-bean/src/main/java/com/java110/dto/resource/ResourceStoreTypeDto.java

@@ -4,6 +4,7 @@ import com.java110.dto.PageDto;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @ClassName FloorDto
@@ -15,6 +16,11 @@ import java.util.Date;
  **/
 public class ResourceStoreTypeDto extends PageDto implements Serializable {
 
+
+    private String parentRstId;
+    private String parentName;
+    private String parentDescription;
+
     private String rstId;
     private String name;
     private String description;
@@ -23,6 +29,8 @@ public class ResourceStoreTypeDto extends PageDto implements Serializable {
     private String statusCd = "0";
     private String parentId = "0"; //父级id,默认为0
 
+    private List<ResourceStoreTypeDto> subTypes;
+
     public String getRstId() {
         return rstId;
     }
@@ -78,4 +86,36 @@ public class ResourceStoreTypeDto extends PageDto implements Serializable {
     public void setParentId(String parentId) {
         this.parentId = parentId;
     }
+
+    public String getParentRstId() {
+        return parentRstId;
+    }
+
+    public void setParentRstId(String parentRstId) {
+        this.parentRstId = parentRstId;
+    }
+
+    public String getParentName() {
+        return parentName;
+    }
+
+    public void setParentName(String parentName) {
+        this.parentName = parentName;
+    }
+
+    public String getParentDescription() {
+        return parentDescription;
+    }
+
+    public void setParentDescription(String parentDescription) {
+        this.parentDescription = parentDescription;
+    }
+
+    public List<ResourceStoreTypeDto> getSubTypes() {
+        return subTypes;
+    }
+
+    public void setSubTypes(List<ResourceStoreTypeDto> subTypes) {
+        this.subTypes = subTypes;
+    }
 }

+ 10 - 1
java110-db/src/main/resources/mapper/store/ResourceStoreTypeServiceDaoImplMapper.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="resourceResourceStoreTypeTypeServiceDaoImpl">
+<mapper namespace="resourceStoreTypeServiceDaoImpl">
 
     <!-- 保存物品类型信息 add by wuxw 2018-07-03 -->
     <insert id="saveBusinessResourceStoreTypeInfo" parameterType="Map">
@@ -150,4 +150,13 @@
             and t.parent_id= #{parentId}
         </if>
     </select>
+
+    <select id="queryResourceStoreTypeTree" parameterType="Map" resultType="Map">
+        select t.rst_id rstId,t.name,t.description ,rst.rst_id parentRstId,rst.name parentRstName,rst.description parentDescription
+        from resource_store_type t
+        inner join resource_store_type rst on t.parent_id = rst.rst_id and rst.status_cd = '0'
+        where t.parent_id != '0'
+        and t.status_cd = '0'
+        and t.store_id= #{storeId}
+    </select>
 </mapper>

+ 3 - 0
java110-interface/src/main/java/com/java110/intf/store/IResourceStoreTypeInnerServiceSMO.java

@@ -39,4 +39,7 @@ public interface IResourceStoreTypeInnerServiceSMO {
      */
     @RequestMapping(value = "/queryResourceStoreTypesCount", method = RequestMethod.POST)
     int queryResourceStoreTypesCount(@RequestBody ResourceStoreTypeDto resourceResourceStoreTypeTypeDto);
+
+    @RequestMapping(value = "/queryResourceStoreTypeTree", method = RequestMethod.POST)
+    List<ResourceStoreTypeDto> queryResourceStoreTypeTree(@RequestBody ResourceStoreTypeDto resourceStoreTypeDto);
 }

+ 92 - 0
service-store/src/main/java/com/java110/store/cmd/resourceStore/ListResourceStoreTypeTreeCmd.java

@@ -0,0 +1,92 @@
+package com.java110.store.cmd.resourceStore;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.CmdContextUtils;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.resource.ResourceStoreTypeDto;
+import com.java110.intf.store.IResourceStoreTypeInnerServiceSMO;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 查询类型树
+ */
+@Java110Cmd(serviceCode = "resourceStore.listResourceStoreTypeTree")
+public class ListResourceStoreTypeTreeCmd extends Cmd {
+
+    @Autowired
+    private IResourceStoreTypeInnerServiceSMO resourceStoreTypeInnerServiceSMOImpl;
+
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+        String storeId = CmdContextUtils.getStoreId(context);
+        Assert.hasLength(storeId, "未包含商户ID");
+        reqJson.put("storeId", storeId);
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+
+        ResourceStoreTypeDto resourceStoreTypeDto = BeanConvertUtil.covertBean(reqJson, ResourceStoreTypeDto.class);
+
+        List<ResourceStoreTypeDto> storeTypeDtos = resourceStoreTypeInnerServiceSMOImpl.queryResourceStoreTypeTree(resourceStoreTypeDto);
+
+        if (storeTypeDtos == null || storeTypeDtos.size() < 1) {
+            return;
+        }
+
+
+        List<ResourceStoreTypeDto> storeTypes = new ArrayList<>();
+        ResourceStoreTypeDto tResourceStoreTypeDto = null;
+        List<ResourceStoreTypeDto> subStoreTypes = null;
+        for (ResourceStoreTypeDto tmpResourceStoreTypeDto : storeTypeDtos) {
+
+            //todo 一级分类
+            tResourceStoreTypeDto = getParentResoureceStoreTypes(storeTypes, tmpResourceStoreTypeDto);
+
+            //todo 如果现在就是一级分类 跳过
+            if (tmpResourceStoreTypeDto.getRstId().equals(tResourceStoreTypeDto.getRstId())) {
+                continue;
+            }
+
+            if (tResourceStoreTypeDto.getSubTypes() == null) {
+                tResourceStoreTypeDto.setSubTypes(new ArrayList<>());
+            }
+            subStoreTypes = tResourceStoreTypeDto.getSubTypes();
+            subStoreTypes.add(tmpResourceStoreTypeDto);
+        }
+
+        context.setResponseEntity(ResultVo.createResponseEntity(storeTypes));
+
+
+    }
+
+    private ResourceStoreTypeDto getParentResoureceStoreTypes(List<ResourceStoreTypeDto> storeTypes, ResourceStoreTypeDto tmpResourceStoreTypeDto) {
+        //todo 没有数据直接写入
+        if (storeTypes.size() < 1) {
+            storeTypes.add(tmpResourceStoreTypeDto);
+            return tmpResourceStoreTypeDto;
+        }
+
+        for (ResourceStoreTypeDto storeType : storeTypes) {
+            if (storeType.getRstId().equals(tmpResourceStoreTypeDto.getParentRstId())) {
+                return storeType;
+            }
+        }
+        storeTypes.add(tmpResourceStoreTypeDto);
+        return tmpResourceStoreTypeDto;
+    }
+}

+ 14 - 7
service-store/src/main/java/com/java110/store/dao/IResourceStoreTypeServiceDao.java

@@ -1,6 +1,7 @@
 package com.java110.store.dao;
 
 
+import com.java110.dto.resource.ResourceStoreTypeDto;
 import com.java110.utils.exception.DAOException;
 
 
@@ -11,23 +12,24 @@ import java.util.Map;
  * 物品类型组件内部之间使用,没有给外围系统提供服务能力
  * 物品类型服务接口类,要求全部以字符串传输,方便微服务化
  * 新建客户,修改客户,删除客户,查询客户等功能
- *
+ * <p>
  * Created by wuxw on 2016/12/27.
  */
 public interface IResourceStoreTypeServiceDao {
 
     /**
      * 保存 物品类型信息
+     *
      * @param businessResourceStoreTypeInfo 物品类型信息 封装
      * @throws DAOException 操作数据库异常
      */
     void saveBusinessResourceStoreTypeInfo(Map businessResourceStoreTypeInfo) throws DAOException;
 
 
-
     /**
      * 查询物品类型信息(business过程)
      * 根据bId 查询物品类型信息
+     *
      * @param info bId 信息
      * @return 物品类型信息
      * @throws DAOException DAO异常
@@ -35,21 +37,19 @@ public interface IResourceStoreTypeServiceDao {
     List<Map> getBusinessResourceStoreTypeInfo(Map info) throws DAOException;
 
 
-
-
     /**
      * 保存 物品类型信息 Business数据到 Instance中
+     *
      * @param info
      * @throws DAOException DAO异常
      */
     void saveResourceStoreTypeInfoInstance(Map info) throws DAOException;
 
 
-
-
     /**
      * 查询物品类型信息(instance过程)
      * 根据bId 查询物品类型信息
+     *
      * @param info bId 信息
      * @return 物品类型信息
      * @throws DAOException DAO异常
@@ -57,9 +57,9 @@ public interface IResourceStoreTypeServiceDao {
     List<Map> getResourceStoreTypeInfo(Map info) throws DAOException;
 
 
-
     /**
      * 修改物品类型信息
+     *
      * @param info 修改信息
      * @throws DAOException DAO异常
      */
@@ -74,4 +74,11 @@ public interface IResourceStoreTypeServiceDao {
      */
     int queryResourceStoreTypesCount(Map info);
 
+    /**
+     * 查询类型树形
+     *
+     * @param info
+     * @return
+     */
+    List<Map> queryResourceStoreTypeTree(Map info);
 }

+ 14 - 4
service-store/src/main/java/com/java110/store/dao/impl/ResourceStoreTypeServiceDaoImpl.java

@@ -1,6 +1,7 @@
 package com.java110.store.dao.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.resource.ResourceStoreTypeDto;
 import com.java110.utils.constant.ResponseConstant;
 import com.java110.utils.exception.DAOException;
 import com.java110.utils.util.DateUtil;
@@ -68,7 +69,7 @@ public class ResourceStoreTypeServiceDaoImpl extends BaseServiceDao implements I
     public void saveResourceStoreTypeInfoInstance(Map info) throws DAOException {
         logger.debug("保存物品类型信息Instance 入参 info : {}",info);
 
-        int saveFlag = sqlSessionTemplate.insert("resourceResourceStoreTypeTypeServiceDaoImpl.saveResourceStoreTypeInfoInstance",info);
+        int saveFlag = sqlSessionTemplate.insert("resourceStoreTypeServiceDaoImpl.saveResourceStoreTypeInfoInstance",info);
 
         if(saveFlag < 1){
             throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存物品类型信息Instance数据失败:"+ JSONObject.toJSONString(info));
@@ -86,7 +87,7 @@ public class ResourceStoreTypeServiceDaoImpl extends BaseServiceDao implements I
     public List<Map> getResourceStoreTypeInfo(Map info) throws DAOException {
         logger.debug("查询物品类型信息 入参 info : {}",info);
 
-        List<Map> businessResourceStoreTypeInfos = sqlSessionTemplate.selectList("resourceResourceStoreTypeTypeServiceDaoImpl.getResourceStoreTypeInfo",info);
+        List<Map> businessResourceStoreTypeInfos = sqlSessionTemplate.selectList("resourceStoreTypeServiceDaoImpl.getResourceStoreTypeInfo",info);
 
         return businessResourceStoreTypeInfos;
     }
@@ -101,7 +102,7 @@ public class ResourceStoreTypeServiceDaoImpl extends BaseServiceDao implements I
     public void updateResourceStoreTypeInfoInstance(Map info) throws DAOException {
         logger.debug("修改物品类型信息Instance 入参 info : {}",info);
 
-        int saveFlag = sqlSessionTemplate.update("resourceResourceStoreTypeTypeServiceDaoImpl.updateResourceStoreTypeInfoInstance",info);
+        int saveFlag = sqlSessionTemplate.update("resourceStoreTypeServiceDaoImpl.updateResourceStoreTypeInfoInstance",info);
 
         if(saveFlag < 1){
             throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改物品类型信息Instance数据失败:"+ JSONObject.toJSONString(info));
@@ -117,7 +118,7 @@ public class ResourceStoreTypeServiceDaoImpl extends BaseServiceDao implements I
     public int queryResourceStoreTypesCount(Map info) {
         logger.debug("查询物品类型数据 入参 info : {}",info);
 
-        List<Map> businessResourceStoreTypeInfos = sqlSessionTemplate.selectList("resourceResourceStoreTypeTypeServiceDaoImpl.queryResourceStoreTypesCount", info);
+        List<Map> businessResourceStoreTypeInfos = sqlSessionTemplate.selectList("resourceStoreTypeServiceDaoImpl.queryResourceStoreTypesCount", info);
         if (businessResourceStoreTypeInfos.size() < 1) {
             return 0;
         }
@@ -125,5 +126,14 @@ public class ResourceStoreTypeServiceDaoImpl extends BaseServiceDao implements I
         return Integer.parseInt(businessResourceStoreTypeInfos.get(0).get("count").toString());
     }
 
+    @Override
+    public List<Map> queryResourceStoreTypeTree(Map info) {
+        logger.debug("查询物品类型数据 入参 info : {}",info);
+
+        List<Map> infos = sqlSessionTemplate.selectList("resourceStoreTypeServiceDaoImpl.queryResourceStoreTypeTree", info);
+
+        return infos;
+    }
+
 
 }

+ 6 - 0
service-store/src/main/java/com/java110/store/smo/impl/ResourceStoreTypeInnerServiceSMOImpl.java

@@ -94,6 +94,12 @@ public class ResourceStoreTypeInnerServiceSMOImpl extends BaseServiceSMO impleme
         return resourceResourceStoreTypeTypeServiceDaoImpl.queryResourceStoreTypesCount(BeanConvertUtil.beanCovertMap(resourceResourceStoreTypeTypeDto));
     }
 
+    @Override
+    public List<ResourceStoreTypeDto> queryResourceStoreTypeTree(@RequestBody ResourceStoreTypeDto resourceStoreTypeDto) {
+        return BeanConvertUtil.covertBeanList(
+                resourceResourceStoreTypeTypeServiceDaoImpl.queryResourceStoreTypeTree(BeanConvertUtil.beanCovertMap(resourceStoreTypeDto)), ResourceStoreTypeDto.class);
+    }
+
     public IResourceStoreTypeServiceDao getResourceStoreTypeServiceDaoImpl() {
         return resourceResourceStoreTypeTypeServiceDaoImpl;
     }