Browse Source

pc指派时志愿者列表修改为,当前组织及下级所有志愿者.

master
yinzuomei 4 years ago
parent
commit
609f2b05dc
  1. 8
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/VolunteerInfoDao.java
  2. 11
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/VolunteerInfoEntity.java
  3. 10
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java
  4. 10
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/VolunteerInfoDao.xml

8
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/VolunteerInfoDao.java

@ -74,12 +74,4 @@ public interface VolunteerInfoDao extends BaseDao<VolunteerInfoEntity> {
* @date 2020.08.13 10:06
**/
List<String> selectVolunteerIds(@Param("customerId")String customerId);
/**
*
* @param customerId
* @param pids 查询当前组织及下级所有的志愿者
* @return
*/
List<String> selectVolunteerByPids(@Param("customerId") String customerId, @Param("pids") String pids);
}

11
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/VolunteerInfoEntity.java

@ -18,13 +18,10 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 志愿者信息
*
@ -67,4 +64,12 @@ public class VolunteerInfoEntity extends BaseEpmetEntity {
* 志愿者注册所在网格名称
*/
private String gridName;
/**
* 网格所属的组织id
*/
private String pid;
/**
* 网格的所有上级
*/
private String pids;
}

10
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java

@ -68,6 +68,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
@ -256,12 +257,17 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl<VolunteerInfoDao,
}else{
pids=staffInfo.getAgencyPIds().concat(StrConstant.COLON).concat(staffInfo.getAgencyId());
}
LambdaQueryWrapper<VolunteerInfoEntity> query=new LambdaQueryWrapper<>();
query.eq(VolunteerInfoEntity::getCustomerId,customerId);
query.likeRight(VolunteerInfoEntity::getPids,pids);
query.select(VolunteerInfoEntity::getUserId);
query.orderByAsc(VolunteerInfoEntity::getCreatedTime);
Set<String> userIds = baseDao.selectObjs(query).stream().map(o->o.toString()).collect(Collectors.toSet());
List<OptionDTO> resultList = new ArrayList<>();
List<String> userIds = baseDao.selectVolunteerByPids(customerId,pids);
if (CollectionUtils.isEmpty(userIds)) {
return resultList;
}
Result<List<UserBaseInfoResultDTO>> userInfoRes = epmetUserOpenFeignClient.queryUserBaseInfo(userIds);
Result<List<UserBaseInfoResultDTO>> userInfoRes = epmetUserOpenFeignClient.queryUserBaseInfo(new ArrayList<>(userIds));
if (userInfoRes.success() && CollectionUtils.isNotEmpty(userInfoRes.getData())) {
Map<String, UserBaseInfoResultDTO> userMap = userInfoRes.getData().stream().collect(Collectors.toMap(UserBaseInfoResultDTO::getUserId, Function.identity()));
for (String userId : userIds) {

10
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/VolunteerInfoDao.xml

@ -75,14 +75,4 @@
AND CUSTOMER_ID = #{customerId}
order by CREATED_TIME asc
</select>
<select id="selectVolunteerByPids" parameterType="map" resultType="java.lang.String">
SELECT
distinct USER_ID
FROM volunteer_info
WHERE DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
and pids like concat(#{pids},'%')
order by CREATED_TIME asc
</select>
</mapper>

Loading…
Cancel
Save