Browse Source

运营端用-ElementTree结构的Agency列表接口

dev_shibei_match
liushaowen 5 years ago
parent
commit
9025367bdb
  1. 22
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
  2. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  3. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
  4. 29
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
  5. 10
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

22
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java

@ -17,7 +17,9 @@
package com.epmet.controller;
import com.baomidou.mybatisplus.extension.api.R;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
@ -32,10 +34,13 @@ import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.excel.CustomerAgencyExcel;
import com.epmet.service.CustomerAgencyService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank;
import java.util.List;
import java.util.Map;
@ -242,4 +247,19 @@ public class CustomerAgencyController {
public Result<StaffInAgencyListResultDTO> staffInAgencyList(@LoginUser TokenDto tokenDTO) {
return new Result<StaffInAgencyListResultDTO>().ok(customerAgencyService.staffInAgencyList(tokenDTO.getUserId()));
}
}
/**
* @Description 对外接口根据customerId返回Element UI中Tree结构的agency列表
* @param customerId
* @return com.epmet.commons.tools.utils.Result
* @Author liushaowen
* @Date 2020/11/6 13:51
*/
@PostMapping("getAgencyElementTree")
public Result<AgencyElementTreeResultDTO> getAgencyElementTree(String customerId){
if (StringUtils.isBlank(customerId)){
throw new RenException("customerId不能为空");
}
return new Result<AgencyElementTreeResultDTO>().ok(customerAgencyService.getAgencyElementTree(customerId));
}
}

12
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -175,4 +175,14 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
* @Description 查询工作人员所属组织信息
**/
AgencyResultDTO selectAgencyByStaffId(@Param("staffId") String staffId);
}
/**
* @Description 返回elementTree结构的agency树
* @param customerId
* @param pid
* @return java.util.List<com.epmet.dto.result.AgencyElementTreeResultDTO.Agency>
* @Author liushaowen
* @Date 2020/11/6 14:57
*/
List<AgencyElementTreeResultDTO.Agency> getAgencyElementTree(@Param("customerId") String customerId,@Param("pid") String pid);
}

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java

@ -213,4 +213,13 @@ public interface CustomerAgencyService extends BaseService<CustomerAgencyEntity>
* @Description 工作端-查询当前人员所属组织及所有下级组织
**/
StaffInAgencyListResultDTO staffInAgencyList(String staffId);
}
/**
* @Description 运营端-返回element ui - tree 结构agency列表
* @param customerId
* @return com.epmet.dto.result.AgencyElementTreeResultDTO
* @Author liushaowen
* @Date 2020/11/6 14:02
*/
AgencyElementTreeResultDTO getAgencyElementTree(String customerId);
}

29
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java

@ -994,4 +994,31 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
return resultDTO;
}
}
/**
* @param customerId
* @return com.epmet.dto.result.AgencyElementTreeResultDTO
* @Description 运营端-返回element ui - tree 结构agency列表
* @Author liushaowen
* @Date 2020/11/6 14:02
*/
@Override
public AgencyElementTreeResultDTO getAgencyElementTree(String customerId) {
List<AgencyElementTreeResultDTO.Agency> agencyList = baseDao.getAgencyElementTree(customerId, "0");
Set<String> defaultKeys = new HashSet<>();
traversalAgencyList(agencyList,0,defaultKeys);
AgencyElementTreeResultDTO dto = new AgencyElementTreeResultDTO();
dto.setList(agencyList);
dto.setDefaultKeys(defaultKeys);
return dto;
}
private void traversalAgencyList(List<AgencyElementTreeResultDTO.Agency> agencyList,int times,Set<String> set){
if (agencyList.size() > 0 && times < 2){
for (AgencyElementTreeResultDTO.Agency list : agencyList) {
set.add(list.getId());
times++;
traversalAgencyList(list.getChildren(),times,set);
}
}
}
}

10
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -290,4 +290,12 @@
AND csa.user_id = #{staffId}
</select>
</mapper>
<resultMap id="elementTreeAgency" type="com.epmet.dto.result.AgencyElementTreeResultDTO$Agency">
<id column="ID" property="id"></id>
<result column="ORGANIZATION_NAME" property="label"></result>
<collection property="children" select="getAgencyElementTree" column="{pid=id,customerId=customer_id}"></collection>
</resultMap>
<select id="getAgencyElementTree" resultMap="elementTreeAgency">
select id,organization_name,customer_id from customer_agency where pid = #{pid} and customer_id = #{customerId}
</select>
</mapper>

Loading…
Cancel
Save