Browse Source

推荐群列表接口 init

dev
liuchuang 6 years ago
parent
commit
15abbe1fb0
  1. 15
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java
  2. 13
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java
  3. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java
  4. 12
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java
  5. 15
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java
  6. 42
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupsOfRecommendResultDTO.java
  7. 18
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java
  8. 12
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java
  9. 12
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java
  10. 6
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java
  11. 27
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml

15
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java

@ -6,6 +6,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.GroupSettingStateDTO;
import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO;
import com.elink.esua.epdc.service.GroupService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -68,4 +69,18 @@ public class ApiGroupController {
return groupService.listGroupsOfMine(userDetail);
}
/**
*
* 推荐群列表
*
* @params [userDetail]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO>>
* @author liuchuang
* @since 2019/10/22 13:53
*/
@GetMapping("listOfRecommend")
public Result<List<GroupsOfRecommendResultDTO>> groupsOfRecommend(@LoginUser TokenDto userDetail) {
return groupService.listGroupsOfRecommend(userDetail);
}
}

13
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java

@ -6,6 +6,7 @@ import com.elink.esua.epdc.dto.group.GroupSettingStateDTO;
import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO;
import com.elink.esua.epdc.feign.fallback.GroupFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
@ -59,4 +60,16 @@ public interface GroupFeignClient {
*/
@GetMapping(value = "group/epdc-app/group/listOfMine", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GroupsOfMineResultDTO>> listGroupsOfMine(GroupsOfMineFormDTO formDto);
/**
*
* 推荐群列表
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO>>
* @author liuchuang
* @since 2019/10/22 13:51
*/
@GetMapping(value = "group/epdc-app/group/listOfRecommend", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GroupsOfRecommendResultDTO>> listGroupsOfRecommend(GroupsOfMineFormDTO formDto);
}

6
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java

@ -7,6 +7,7 @@ import com.elink.esua.epdc.dto.group.GroupSettingStateDTO;
import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO;
import com.elink.esua.epdc.feign.GroupFeignClient;
import org.springframework.stereotype.Component;
@ -33,4 +34,9 @@ public class GroupFeignClientFallback implements GroupFeignClient {
public Result<List<GroupsOfMineResultDTO>> listGroupsOfMine(GroupsOfMineFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listGroupsOfMine", formDto);
}
@Override
public Result<List<GroupsOfRecommendResultDTO>> listGroupsOfRecommend(GroupsOfMineFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listGroupsOfRecommend", formDto);
}
}

12
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java

@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.GroupSettingStateDTO;
import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO;
import java.util.List;
@ -49,4 +50,15 @@ public interface GroupService {
* @since 2019/10/21 17:21
*/
Result<List<GroupsOfMineResultDTO>> listGroupsOfMine(TokenDto userDetail);
/**
*
* 推荐群列表
*
* @params [userDetail]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO>>
* @author liuchuang
* @since 2019/10/22 13:54
*/
Result<List<GroupsOfRecommendResultDTO>> listGroupsOfRecommend(TokenDto userDetail);
}

15
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java

@ -11,6 +11,7 @@ import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.feign.GroupFeignClient;
import com.elink.esua.epdc.service.GroupService;
@ -78,9 +79,23 @@ public class GroupServiceImpl implements GroupService {
@Override
public Result<List<GroupsOfMineResultDTO>> listGroupsOfMine(TokenDto userDetail) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
GroupsOfMineFormDTO formDto = new GroupsOfMineFormDTO();
formDto.setUserId(userDetail.getUserId());
formDto.setGridId(userDetail.getGridId());
return groupFeignClient.listGroupsOfMine(formDto);
}
@Override
public Result<List<GroupsOfRecommendResultDTO>> listGroupsOfRecommend(TokenDto userDetail) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
GroupsOfMineFormDTO formDto = new GroupsOfMineFormDTO();
formDto.setUserId(userDetail.getUserId());
formDto.setGridId(userDetail.getGridId());
return groupFeignClient.listGroupsOfRecommend(formDto);
}
}

42
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupsOfRecommendResultDTO.java

@ -0,0 +1,42 @@
package com.elink.esua.epdc.dto.group.result;
import lombok.Data;
import java.io.Serializable;
/**
*
* 推荐群DTO
*
* @Authorliuchuang
* @Date2019/10/22 11:18
*/
@Data
public class GroupsOfRecommendResultDTO implements Serializable {
private static final long serialVersionUID = 9117108366107815457L;
/**
* 社群ID
*/
private String id;
/**
* 社群名称
*/
private String groupName;
/**
* 社群头像
*/
private String groupAvatar;
/**
* 总人数
*/
private String totalNum;
/**
* 党员人数
*/
private String partyMemberNum;
}

18
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java

@ -7,6 +7,7 @@ import com.elink.esua.epdc.dto.group.GroupSettingStateDTO;
import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO;
import com.elink.esua.epdc.modules.group.service.GroupService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -76,4 +77,21 @@ public class AppGroupController {
return new Result<List<GroupsOfMineResultDTO>>().ok(data);
}
/**
*
* 推荐群列表
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO>>
* @author liuchuang
* @since 2019/10/22 13:49
*/
@GetMapping("listOfRecommend")
public Result<List<GroupsOfRecommendResultDTO>> groupsOfRecommend(@RequestBody GroupsOfMineFormDTO formDto) {
//效验数据
ValidatorUtils.validateEntity(formDto);
List<GroupsOfRecommendResultDTO> data = groupService.listGroupsOfRecommend(formDto);
return new Result<List<GroupsOfRecommendResultDTO>>().ok(data);
}
}

12
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java

@ -22,6 +22,7 @@ import com.elink.esua.epdc.dto.group.GroupDetailDTO;
import com.elink.esua.epdc.dto.group.GroupManagementDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO;
import com.elink.esua.epdc.modules.group.entity.GroupEntity;
import org.apache.ibatis.annotations.Mapper;
@ -80,5 +81,16 @@ public interface GroupDao extends BaseDao<GroupEntity> {
* @since 2019/10/21 17:08
*/
List<GroupsOfMineResultDTO> selectListGroupsOfMine(GroupsOfMineFormDTO formDto);
/**
*
* 移动端-推荐群列表
*
* @params [formDto]
* @return java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO>
* @author liuchuang
* @since 2019/10/22 13:45
*/
List<GroupsOfRecommendResultDTO> selectListGroupsOfRecommend(GroupsOfMineFormDTO formDto);
}

12
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java

@ -27,6 +27,7 @@ import com.elink.esua.epdc.dto.group.GroupSettingStateDTO;
import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO;
import com.elink.esua.epdc.modules.group.entity.GroupEntity;
import java.util.List;
@ -143,4 +144,15 @@ public interface GroupService extends BaseService<GroupEntity> {
* @since 2019/10/21 17:09
*/
List<GroupsOfMineResultDTO> listGroupsOfMine(GroupsOfMineFormDTO formDto);
/**
*
* 移动端-推荐群列表
*
* @params [formDto]
* @return java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO>
* @author liuchuang
* @since 2019/10/22 13:46
*/
List<GroupsOfRecommendResultDTO> listGroupsOfRecommend(GroupsOfMineFormDTO formDto);
}

6
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java

@ -33,6 +33,7 @@ import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO;
import com.elink.esua.epdc.modules.async.NewsTask;
import com.elink.esua.epdc.modules.group.dao.GroupDao;
import com.elink.esua.epdc.modules.group.entity.GroupEntity;
@ -205,4 +206,9 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
return baseDao.selectListGroupsOfMine(formDto);
}
@Override
public List<GroupsOfRecommendResultDTO> listGroupsOfRecommend(GroupsOfMineFormDTO formDto) {
return baseDao.selectListGroupsOfRecommend(formDto);
}
}

27
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml

@ -63,7 +63,10 @@
gp.GROUP_CATEGORY,
gp.STATE,
COUNT( ugp1.ID ) AS totalNum,
SUM( ugp1.PARTY_MEMBER = '1' ) AS partyMemberNum,
CASE
WHEN SUM( ugp1.PARTY_MEMBER = '1' ) IS NULL THEN
0 ELSE SUM( ugp1.PARTY_MEMBER = '1' )
END AS partyMemberNum,
COUNT( ugpr.ID ) AS unreadTopicNum,
MAX( ugpr.TOPIC_SUBMIT_TIME ) AS latestTopicTime,
CASE
@ -97,5 +100,27 @@
latestTopicTime DESC
</select>
<select id="selectListGroupsOfRecommend" resultType="com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO">
SELECT
gp.ID,
gp.GROUP_NAME,
gp.GROUP_AVATAR,
COUNT( ugp1.ID ) AS totalNum,
CASE
WHEN SUM( ugp1.PARTY_MEMBER = '1' ) IS NULL THEN
0 ELSE SUM( ugp1.PARTY_MEMBER = '1' )
END AS partyMemberNum
FROM
epdc_group gp
LEFT JOIN epdc_user_group ugp1 ON gp.ID = ugp1.GROUP_ID
AND ugp1.DEL_FLAG = '0'
AND ugp1.STATE = 10
WHERE
gp.DEL_FLAG = '0'
AND gp.STATE IN ( 10, 15 )
AND gp.GRID_ID = #{gridId}
AND gp.ID NOT IN ( SELECT ugp.GROUP_ID FROM epdc_user_group ugp WHERE ugp.USER_ID = #{userId} AND ugp.DEL_FLAG = '0' AND ugp.STATE = 10 )
</select>
</mapper>
Loading…
Cancel
Save