Browse Source

添加党建园地-推荐小组功能

master
zhaoqifeng 5 years ago
parent
commit
910ad6e79b
  1. 32
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/RecommendedListFormDTO.java
  2. 40
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/RecommendedListResultDTO.java
  3. 12
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java
  4. 9
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java
  5. 9
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java
  6. 16
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  7. 30
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml
  8. 22
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/GroupController.java
  9. 31
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java
  10. 25
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java
  11. 15
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/GroupService.java
  12. 14
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/GroupServiceImpl.java

32
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/RecommendedListFormDTO.java

@ -0,0 +1,32 @@
package com.epmet.resi.group.dto.group.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/21 15:39
*/
@Data
public class RecommendedListFormDTO implements Serializable {
private static final long serialVersionUID = -4205042052361059952L;
/**
* 客户ID
*/
private String customerId;
/**
* 网格ID
*/
private String gridId;
/**
* 用户ID
*/
private String userId;
/**
* 客户定制化显示几条传入几条
*/
private Integer pageSize;
}

40
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/RecommendedListResultDTO.java

@ -0,0 +1,40 @@
package com.epmet.resi.group.dto.group.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/21 15:41
*/
@Data
public class RecommendedListResultDTO implements Serializable {
private static final long serialVersionUID = -8909027543795476302L;
/**
* 小组id
*/
private String groupId;
/**
* 小组名称
*/
private String groupName;
/**
* 小组头像
*/
private String groupHeadPhoto;
/**
* 总成员数
*/
private String totalMember;
/**
* 党员总数
*/
private String totalPartyMember;
/**
* 组长名
*/
private String leaderName;
}

12
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java

@ -330,4 +330,16 @@ public class ResiGroupController {
public Result<ShouldVoteCountResultDTO> shouldVoteCount(@RequestBody ShouldVoteCountFormDTO formDTO){ public Result<ShouldVoteCountResultDTO> shouldVoteCount(@RequestBody ShouldVoteCountFormDTO formDTO){
return new Result<ShouldVoteCountResultDTO>().ok(resiGroupService.shouldVoteCount(formDTO)); return new Result<ShouldVoteCountResultDTO>().ok(resiGroupService.shouldVoteCount(formDTO));
} }
/**
* 党建园地-推荐小组
* @author zhaoqifeng
* @date 2020/5/21 15:50
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.resi.group.dto.group.result.RecommendedListResultDTO>>
*/
@PostMapping("recommendedlist")
public Result<List<RecommendedListResultDTO>> recommendedList(@RequestBody RecommendedListFormDTO formDTO) {
return new Result<List<RecommendedListResultDTO>>().ok(resiGroupService.recommendedList(formDTO));
}
} }

9
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java

@ -162,4 +162,13 @@ public interface ResiGroupDao extends BaseDao<ResiGroupEntity> {
* @author zxc * @author zxc
*/ */
ShouldVoteCountResultDTO shouldVoteCount(ShouldVoteCountFormDTO formDTO); ShouldVoteCountResultDTO shouldVoteCount(ShouldVoteCountFormDTO formDTO);
/**
* 党建园地-推荐小组
* @author zhaoqifeng
* @date 2020/5/21 15:55
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.RecommendedListResultDTO>
*/
List<RecommendedListResultDTO> selectListRecommendList(RecommendedListFormDTO formDTO);
} }

9
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java

@ -274,4 +274,13 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @author zxc * @author zxc
*/ */
ShouldVoteCountResultDTO shouldVoteCount(ShouldVoteCountFormDTO formDTO); ShouldVoteCountResultDTO shouldVoteCount(ShouldVoteCountFormDTO formDTO);
/**
* 党建园地-推荐小组
* @author zhaoqifeng
* @date 2020/5/21 15:51
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.RecommendedListResultDTO>
*/
List<RecommendedListResultDTO> recommendedList(RecommendedListFormDTO formDTO);
} }

16
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java

@ -843,6 +843,22 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
return baseDao.shouldVoteCount(formDTO); return baseDao.shouldVoteCount(formDTO);
} }
@Override
public List<RecommendedListResultDTO> recommendedList(RecommendedListFormDTO formDTO) {
//显示当前网格内所有当前用户还未加入的组,以组的人数由高到低排序;如果人数相同,以话题数由多到少排序
List<RecommendedListResultDTO> recommendGroupList = baseDao.selectListRecommendList(formDTO);
recommendGroupList.forEach(dto -> {
Result<UserResiInfoResultDTO> groupLeaderUserInfo = this.getGroupLeaderUserInfo(dto.getGroupId());
if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) {
dto.setLeaderName(groupLeaderUserInfo.getData().getShowName());
} else {
logger.warn("组长注册信息查询失败" + groupLeaderUserInfo.getMsg());
}
});
return recommendGroupList;
}
/** /**
* @Description 给加入此网格的网格长发送消息 * @Description 给加入此网格的网格长发送消息
* @param msg * @param msg

30
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml

@ -322,4 +322,34 @@
AND rg.del_flag = 0 AND rg.del_flag = 0
AND rg.grid_id = #{gridId} AND rg.grid_id = #{gridId}
</select> </select>
<select id="selectListRecommendList" resultType="com.epmet.resi.group.dto.group.result.RecommendedListResultDTO"
parameterType="com.epmet.resi.group.dto.group.form.RecommendedListFormDTO">
SELECT
rg.id AS groupId,
rg.GROUP_HEAD_PHOTO AS groupHeadPhoto,
rg.GROUP_NAME AS groupName,
rgs.TOTAL_MEMBERS AS totalMember,
rgs.TOTAL_PARTY_MEMBERS AS totalPartyMember
FROM
resi_group rg
LEFT JOIN resi_group_statistical rgs ON ( rg.id = rgs.RESI_GROUP_ID )
WHERE
rg.DEL_FLAG = '0'
AND rgs.DEL_FLAG = '0'
and rg.id not in (
SELECT
rgm.RESI_GROUP_ID
FROM
resi_group_member rgm
WHERE
rgm.DEL_FLAG = '0'
AND rgm.`STATUS` !='removed'
AND rgm.CUSTOMER_USER_ID = #{userId}
)
and rg.CUSTOMER_ID=#{customerId}
and rg.GRID_ID=#{gridId}
and rg.STATE ='approved'
order by totalMember desc,rgs.TOTAL_TOPICS desc
LIMIT #{pageSize}
</select>
</mapper> </mapper>

22
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/GroupController.java

@ -1,10 +1,19 @@
package com.epmet.controller; package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.group.dto.group.form.RecommendedListFormDTO;
import com.epmet.resi.group.dto.group.result.RecommendedListResultDTO;
import com.epmet.service.GroupService; import com.epmet.service.GroupService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/** /**
* @dscription 党建园地-小组Controller * @dscription 党建园地-小组Controller
* @author sun * @author sun
@ -16,5 +25,16 @@ public class GroupController {
@Autowired @Autowired
private GroupService groupService; private GroupService groupService;
/**
* 党建园地-推荐小组
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.group.dto.group.result.RecommendedListResultDTO>>
* @author zhaoqifeng
* @date 2020/5/21 15:50
*/
@PostMapping("recommendedlist")
public Result<List<RecommendedListResultDTO>> recommendedList(@LoginUser TokenDto tokenDto, @RequestBody RecommendedListFormDTO formDTO) {
return new Result<List<RecommendedListResultDTO>>().ok(groupService.recommendedList(tokenDto, formDTO));
}
} }

31
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java

@ -0,0 +1,31 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.fallback.ResiGroupFeignClientFallBack;
import com.epmet.resi.group.dto.group.form.RecommendedListFormDTO;
import com.epmet.resi.group.dto.group.result.RecommendedListResultDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/4/17 15:24
*/
@FeignClient(name = ServiceConstant.RESI_GROUP_SERVER, fallback = ResiGroupFeignClientFallBack.class)
public interface ResiGroupFeignClient {
/**
* 党建园地-推荐小组
* @author zhaoqifeng
* @date 2020/5/21 15:50
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.resi.group.dto.group.result.RecommendedListResultDTO>>
*/
@PostMapping("/resi/group/group/recommendedlist")
Result<List<RecommendedListResultDTO>> recommendedList(@RequestBody RecommendedListFormDTO formDTO);
}

25
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java

@ -0,0 +1,25 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.*;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/4/17 15:27
*/
@Component
public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient {
@Override
public Result<List<RecommendedListResultDTO>> recommendedList(RecommendedListFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "recommendedList", formDTO);
}
}

15
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/GroupService.java

@ -1,8 +1,23 @@
package com.epmet.service; package com.epmet.service;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.resi.group.dto.group.form.RecommendedListFormDTO;
import com.epmet.resi.group.dto.group.result.RecommendedListResultDTO;
import java.util.List;
/** /**
* @dscription 党建园地-小组Service * @dscription 党建园地-小组Service
* @author sun * @author sun
*/ */
public interface GroupService { public interface GroupService {
/**
* 党建园地-推荐小组
* @author zhaoqifeng
* @date 2020/5/21 16:35
* @param tokenDto
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.RecommendedListResultDTO>
*/
List<RecommendedListResultDTO> recommendedList(TokenDto tokenDto, RecommendedListFormDTO formDTO);
} }

14
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/GroupServiceImpl.java

@ -1,12 +1,26 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.resi.group.dto.group.form.RecommendedListFormDTO;
import com.epmet.resi.group.dto.group.result.RecommendedListResultDTO;
import com.epmet.service.GroupService; import com.epmet.service.GroupService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @dscription 党建园地-小组ServiceImpl * @dscription 党建园地-小组ServiceImpl
* @author sun * @author sun
*/ */
@Service @Service
public class GroupServiceImpl implements GroupService { public class GroupServiceImpl implements GroupService {
@Autowired
ResiGroupFeignClient resiGroupFeignClient;
@Override
public List<RecommendedListResultDTO> recommendedList(TokenDto tokenDto, RecommendedListFormDTO formDTO) {
formDTO.setUserId(tokenDto.getUserId());
return resiGroupFeignClient.recommendedList(formDTO).getData();
}
} }

Loading…
Cancel
Save