Explorar el Código

fix: 组织架构获取成员信息

zhaomuran hace 4 meses
padre
commit
bdcbec1dc3

+ 1 - 1
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/controller/FrameworkController.java

@@ -28,7 +28,7 @@ public class FrameworkController {
     @Operation(summary = "查询人员")
     @GetMapping("/supports/framework/personnel/{id}")
     public ResponseDTO<List<FrameworkDTO>> supportsPersonnelQuery(@PathVariable("id") Long id){
-        return frameworkService.supportsPersonnelQuery(id);
+        return ResponseDTO.ok(frameworkService.supportsPersonnelQuery(id));
     }
 
 

+ 13 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/dto/BlinkActivityMemberDTO.java

@@ -3,6 +3,8 @@ package com.wx.blink.backend.domain.dto;
 import com.wx.blink.base.common.domain.BaseEntity;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class BlinkActivityMemberDTO extends BaseEntity {
 
@@ -35,4 +37,15 @@ public class BlinkActivityMemberDTO extends BaseEntity {
      * 活动ID
      */
     private Long activityId;
+
+    /**
+     * 营销人
+     */
+    private List<FrameworkDTO> marketerDTOs;
+
+    /**
+     * 营销团队
+     */
+    private List<FrameworkDTO> marketingTeamDTOs;
+
 }

+ 18 - 3
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/manager/BlinkActivityMemberServiceImpl.java

@@ -4,10 +4,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.wx.blink.backend.domain.dataobject.BlinkActivityMemberDO;
 import com.wx.blink.backend.domain.dto.BlinkActivityMemberDTO;
+import com.wx.blink.backend.domain.dto.FrameworkDTO;
 import com.wx.blink.backend.domain.qry.BlinkActivityMemberQry;
 import com.wx.blink.backend.objectmapper.BlinkActivityMemberMapper;
 import com.wx.blink.backend.repository.BlinkActivityMemberRepository;
 import com.wx.blink.backend.service.IBlinkActivityMemberService;
+import com.wx.blink.backend.service.IFrameworkService;
 import com.wx.blink.base.common.domain.PageResult;
 import com.wx.blink.base.common.domain.ResponseDTO;
 import com.wx.blink.base.common.util.BlinkEntityUtil;
@@ -25,6 +27,8 @@ public class BlinkActivityMemberServiceImpl extends ServiceImpl<BlinkActivityMem
     private BlinkActivityMemberRepository repository;
     @Resource
     private BlinkActivityMemberMapper mapper;
+    @Resource
+    private IFrameworkService frameworkService;
 
     /**
      * 新增成员
@@ -57,10 +61,21 @@ public class BlinkActivityMemberServiceImpl extends ServiceImpl<BlinkActivityMem
      */
     @Override
     public ResponseDTO<BlinkActivityMemberDTO> supportsActivityMemberQuery(Long id) {
-        BlinkActivityMemberDTO activityMemberDTO = repository.supportsActivityMemberQuery(id);
-        if (!Objects.nonNull(activityMemberDTO)) {
-            return ResponseDTO.dataErrorParam("成员信息不存在!请检查");
+        // 验证留资客户是否存在
+        BlinkActivityMemberDO memberDO = repository.queryByMarketer(null, id, Boolean.FALSE);
+        if (!Objects.nonNull(memberDO)) {
+            return ResponseDTO.dataErrorParam("留资客户不存在!请检查");
         }
+        // 查询营销人
+        List<FrameworkDTO> marketer = frameworkService.supportsGroupQuery(id);
+        // 查询营销团队
+        List<FrameworkDTO> marketingTeam = frameworkService.supportsPersonnelQuery(id);
+        // 生成DO
+        BlinkActivityMemberDTO activityMemberDTO = new BlinkActivityMemberDTO();
+        mapper.toBlinkActivityMemberDTO(memberDO, activityMemberDTO);
+        activityMemberDTO.setMarketerDTOs(marketer);
+        activityMemberDTO.setMarketingTeamDTOs(marketingTeam);
+        // 查询营销团队
         return ResponseDTO.ok(activityMemberDTO);
     }
 

+ 27 - 5
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/manager/FrameworkServiceImpl.java

@@ -50,11 +50,8 @@ public class FrameworkServiceImpl implements IFrameworkService {
      * @return
      */
     @Override
-    public ResponseDTO<List<FrameworkDTO>> supportsPersonnelQuery(Long id) {
+    public List<FrameworkDTO> supportsPersonnelQuery(Long id) {
         PersonnelDO employeeDO = pRepository.selectById(id);
-        if (!Objects.nonNull(employeeDO)){
-            return ResponseDTO.dataErrorParam("数据不存在!请检查");
-        }
         List<DepartmentDTO> departmentDTOSChild = dRepository.queryDepartmentByDepartmentId(employeeDO.getDepartmentId());
         Set<Long> ids = departmentDTOSChild.stream().map(DepartmentDTO::getParentId)
                 .collect(Collectors.toSet());
@@ -79,7 +76,32 @@ public class FrameworkServiceImpl implements IFrameworkService {
             }
             frameworkDTOS.add(frameworkDTO);
         }
-        return ResponseDTO.ok(frameworkDTOS);
+        return frameworkDTOS;
+    }
+
+    /**
+     * 查询人员
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public List<FrameworkDTO> supportsGroupQuery(Long id) {
+        PersonnelDO employeeDO = pRepository.selectById(id);
+        List<DepartmentDTO> departmentDTO = dRepository.queryDepartmentByDepartmentId(employeeDO.getDepartmentId());
+        List<FrameworkDTO> frameworkDTOS = new ArrayList<>();
+        for (DepartmentDTO dto : departmentDTO) {
+            FrameworkDTO frameworkDTO = new FrameworkDTO();
+            if (dto.getDepartmentId().equals(employeeDO.getDepartmentId())){
+                frameworkDTO.setId(employeeDO.getEmployeeId());
+                frameworkDTO.setName(employeeDO.getActualName());
+                frameworkDTO.setNodeType("USER");
+                frameworkDTO.setParentId(dto.getDepartmentId());
+                frameworkDTO.setParentName(dto.getName());
+            }
+            frameworkDTOS.add(frameworkDTO);
+        }
+        return frameworkDTOS;
     }
 
     /**

+ 9 - 1
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/service/IFrameworkService.java

@@ -22,5 +22,13 @@ public interface IFrameworkService {
      * @param id
      * @return
      */
-    ResponseDTO<List<FrameworkDTO>> supportsPersonnelQuery(Long id);
+    List<FrameworkDTO> supportsPersonnelQuery(Long id);
+
+    /**
+     * 查询人员
+     *
+     * @param id
+     * @return
+     */
+    List<FrameworkDTO> supportsGroupQuery(Long id);
 }