From 9644641fb99f14dd016161d061f9fc4d84208ffe Mon Sep 17 00:00:00 2001 From: yqy Date: Tue, 18 Jan 2022 10:41:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../baiye/model/dto/ClueQueryCriteria.java | 3 ++- .../model/dto/OrganizeQueryCriteria.java | 4 ++++ .../com/baiye/feign/SourceClueClient.java | 6 +++++ .../dto/OrganizeMemberDistributionDTO.java | 3 ++- .../service/impl/OrganizeServiceImpl.java | 22 +++++++++---------- .../module/controller/ClueController.java | 7 ++++++ .../module/dao/ClueMiddleRepository.java | 8 +++++++ .../com/baiye/module/service/ClueService.java | 9 ++++++++ .../module/service/impl/ClueServiceImpl.java | 14 +++++++++++- .../src/main/resources/application-dev.yml | 1 - .../src/main/resources/application-prod.yml | 6 +++++ 11 files changed, 68 insertions(+), 15 deletions(-) diff --git a/ad-platform-pojo/src/main/java/com/baiye/model/dto/ClueQueryCriteria.java b/ad-platform-pojo/src/main/java/com/baiye/model/dto/ClueQueryCriteria.java index 99fbab62..34f0cb33 100644 --- a/ad-platform-pojo/src/main/java/com/baiye/model/dto/ClueQueryCriteria.java +++ b/ad-platform-pojo/src/main/java/com/baiye/model/dto/ClueQueryCriteria.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; +import java.util.Set; /** @@ -35,7 +36,7 @@ public class ClueQueryCriteria { private Integer memberStatus; @ApiModelProperty(value = "选取的组员ID") - private List userIds; + private Set userIds; private Integer page; diff --git a/ad-platform-pojo/src/main/java/com/baiye/model/dto/OrganizeQueryCriteria.java b/ad-platform-pojo/src/main/java/com/baiye/model/dto/OrganizeQueryCriteria.java index 6cc47883..ae26c125 100644 --- a/ad-platform-pojo/src/main/java/com/baiye/model/dto/OrganizeQueryCriteria.java +++ b/ad-platform-pojo/src/main/java/com/baiye/model/dto/OrganizeQueryCriteria.java @@ -1,6 +1,7 @@ package com.baiye.model.dto; import com.baiye.annotation.Query; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -24,4 +25,7 @@ public class OrganizeQueryCriteria { private Long organizeId; private Long taskId; + + @ApiModelProperty("是否显示组长,0:不显示 1:显示") + private int isShowLeader = 0; } diff --git a/manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClient.java b/manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClient.java index 4c29bcf7..42dcdbe0 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClient.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/feign/SourceClueClient.java @@ -2,6 +2,7 @@ package com.baiye.feign; import com.baiye.model.dto.ClueQueryCriteria; import com.baiye.model.dto.DistributeResponseDTO; +import com.baiye.model.dto.OrganizeQueryCriteria; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.ResponseEntity; @@ -11,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; +import java.util.Set; /** * 资源服务 @@ -39,5 +41,9 @@ public interface SourceClueClient { @ApiOperation("修改组员") @GetMapping(API_PREFIX + "/updateMember") void updateMember(@RequestParam("userId") Long userId, @RequestParam(value = "replaceUserId") Long replaceUserId); + + @ApiOperation("查询组员ID") + @PostMapping(API_PREFIX + "/findMemberIdList") + ResponseEntity> findMemberIdList(OrganizeQueryCriteria organizeQueryCriteria); } diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/dto/OrganizeMemberDistributionDTO.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/dto/OrganizeMemberDistributionDTO.java index 67ba5d08..33032cd5 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/dto/OrganizeMemberDistributionDTO.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/dto/OrganizeMemberDistributionDTO.java @@ -10,6 +10,7 @@ import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.sql.Timestamp; import java.util.List; +import java.util.Set; /** * @author @@ -21,7 +22,7 @@ public class OrganizeMemberDistributionDTO { @NotEmpty(message = "组员不能为空") @ApiModelProperty("小组成员id集合") - private List userIds; + private Set userIds; @ApiModelProperty("资源标签") private List sourceLabel; diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java index e8fe9939..3a8f2a8c 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java @@ -148,7 +148,7 @@ public class OrganizeServiceImpl implements OrganizeService { // 重新分配资源 ClueQueryCriteria clueQueryCriteria = new ClueQueryCriteria(); clueQueryCriteria.setMemberId(userId); - clueQueryCriteria.setUserIds(organizeMemberId); + clueQueryCriteria.setUserIds((Set) organizeMemberId); sourceClueClient.queryOrganizeIdList(clueQueryCriteria); } } @@ -313,15 +313,9 @@ public class OrganizeServiceImpl implements OrganizeService { */ @Override public TaskOrganize queryDetails(OrganizeQueryCriteria organizeQueryCriteria) { - List userIds = new ArrayList<>(); TaskOrganize updateTaskOrganize = taskOrganizeRepository.findByOrganizeIdAndTaskId(organizeQueryCriteria.getOrganizeId(), organizeQueryCriteria.getTaskId()); - List organize = organizeUserRepository.findByOrganizeId(organizeQueryCriteria.getOrganizeId()); - organize.stream().forEach(c -> { - if (!c.getIsLeader()) { - userIds.add(c.getUserId()); - } - }); - List> list = findUser(userIds, null); + Set memberIdList = sourceClueClient.findMemberIdList(organizeQueryCriteria).getBody(); + List> list = findUser((List) memberIdList, null); updateTaskOrganize.setUserList(list); return updateTaskOrganize; } @@ -368,7 +362,7 @@ public class OrganizeServiceImpl implements OrganizeService { @Override @Transactional(rollbackFor = Exception.class) public ResponseEntity saveMemberDistribution(OrganizeMemberDistributionDTO organizeMemberDistributionDTO) { - List userIds = organizeMemberDistributionDTO.getUserIds(); + Set userIds = organizeMemberDistributionDTO.getUserIds(); Long organizeId = organizeMemberDistributionDTO.getOrganizeId(); Long taskId = organizeMemberDistributionDTO.getTaskId(); // 查询所有的组员 @@ -415,8 +409,9 @@ public class OrganizeServiceImpl implements OrganizeService { // 判断角色,管理员只查组长角色的用户 if (roleId != RoleNumberConstants.MINUS_EIGHT_NUMBER) { roles.add(RoleNumberConstants.MINUS_FIVE_NUMBER); + }else { + roles.add(RoleNumberConstants.MINUS_NINE_NUMBER); } - roles.add(RoleNumberConstants.MINUS_NINE_NUMBER); //查询角色下所有用户 List userDtoList = userService.findByManager(roles); //查询所有组员 @@ -438,6 +433,11 @@ public class OrganizeServiceImpl implements OrganizeService { } } } + // 小组分配资源时,显示组长自己的信息,组长给自己分配资源 + if (organizeQueryCriteria.getIsShowLeader() == 1){ + UserDto leaderUser = userService.findById(SecurityUtils.getCurrentUserId()); + userDtoList.add(leaderUser); + } return userDtoList; } diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/controller/ClueController.java b/services/ad-platform-source/src/main/java/com/baiye/module/controller/ClueController.java index f308b236..812b136e 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/controller/ClueController.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/controller/ClueController.java @@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; +import java.util.Set; @RequiredArgsConstructor @RestController @@ -92,6 +93,12 @@ public class ClueController { return CommonResponse.createBySuccess(); } + @ApiOperation("查询组员ID") + @PostMapping("/findMemberIdList") + public ResponseEntity> findMemberIdList(@RequestBody ClueMiddle clueMiddle) { + return new ResponseEntity<>(clueService.findMemberIdList(clueMiddle), HttpStatus.OK); + } + @ApiOperation("查询组员资源总数") @GetMapping("/queryMemberNum") public ResponseEntity queryMemberNum(@RequestParam("memberId") Long memberId) { diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueMiddleRepository.java b/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueMiddleRepository.java index eec47daa..7d83d777 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueMiddleRepository.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueMiddleRepository.java @@ -93,4 +93,12 @@ public interface ClueMiddleRepository extends JpaRepository, J * @return */ List findByMemberId(Long memberId); + + /** + * 查询组员 + * @param taskId + * @param organizeId + * @return + */ + List findByTaskIdAndOrganizeId(Long taskId, Long organizeId); } diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java b/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java index 058c5d75..3a0ff9d4 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java @@ -13,6 +13,7 @@ import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; +import java.util.Set; public interface ClueService { @@ -114,4 +115,12 @@ public interface ClueService { * @param replaceUserId */ void updateMember(Long userId, Long replaceUserId); + + /** + * 查询组员ID + * + * @param clueMiddle + * @return + */ + Set findMemberIdList(ClueMiddle clueMiddle); } diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java b/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java index f1d6a136..410ef98d 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java @@ -26,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.util.*; +import java.util.stream.Collectors; @Service @Slf4j @@ -107,7 +108,7 @@ public class ClueServiceImpl implements ClueService { clueMiddleList.stream().forEach(ct -> clueIds.add(ct.getClueId())); //小组内资源分配 //Map>:用户id -> 资源ID集合 - List>> maps = AverageDataUtil.averageData(clueIds, clueQueryCriteria.getUserIds()); + List>> maps = AverageDataUtil.averageData(clueIds, (List) clueQueryCriteria.getUserIds()); //批量更新组员信息 for (Map> map : maps) { for (Long userId : map.keySet()) { @@ -235,4 +236,15 @@ public class ClueServiceImpl implements ClueService { public void updateMember(Long userId, Long replaceUserId) { clueMiddleRepository.updateMember(userId, replaceUserId); } + + @Override + public Set findMemberIdList(ClueMiddle clueMiddle) { + if (clueMiddle.getTaskId() != null && clueMiddle.getOrganizeId() != null){ + List clueMiddleList = clueMiddleRepository.findByTaskIdAndOrganizeId(clueMiddle.getTaskId(), clueMiddle.getOrganizeId()); + Map> collect = clueMiddleList.stream().collect(Collectors.groupingBy(ClueMiddle::getMemberId)); + Set memberIdList = collect.keySet(); + return memberIdList; + } + return null; + } } diff --git a/services/ad-platform-source/src/main/resources/application-dev.yml b/services/ad-platform-source/src/main/resources/application-dev.yml index 8180abe1..53cfd157 100644 --- a/services/ad-platform-source/src/main/resources/application-dev.yml +++ b/services/ad-platform-source/src/main/resources/application-dev.yml @@ -66,7 +66,6 @@ storage: # symbol:/ url: C:\Users\Admin\Desktop\ de_symbol: \\ - se_symbol: \ download-template: /usr/local/webapp/ad-platform/ad-platform-source/custom.xlsx # 线程池配置 diff --git a/services/ad-platform-source/src/main/resources/application-prod.yml b/services/ad-platform-source/src/main/resources/application-prod.yml index 6c281974..d5b9b5b8 100644 --- a/services/ad-platform-source/src/main/resources/application-prod.yml +++ b/services/ad-platform-source/src/main/resources/application-prod.yml @@ -4,6 +4,12 @@ spring: nacos: discovery: server-addr: ${NACOS_HOST:118.178.137.129}:${NACOS_PORT:8848} + + redis: + database: 2 + host: 118.178.137.129 + timeout: 5000 + datasource: druid: db-type: com.alibaba.druid.pool.DruidDataSource