Browse Source

社群详情接口 init

dev
liuchuang 6 years ago
parent
commit
4610652a26
  1. 15
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java
  2. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java
  3. 7
      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. 13
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java
  6. 30
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupDetailForMobileEndFormDTO.java
  7. 62
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupDetailForMobileEndResultDTO.java
  8. 19
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java
  9. 13
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java
  10. 13
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java
  11. 7
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java
  12. 46
      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

@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
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.GroupDetailForMobileEndResultDTO;
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;
@ -83,4 +84,18 @@ public class ApiGroupController {
return groupService.listGroupsOfRecommend(userDetail);
}
/**
*
* 社群详情
*
* @params [userDetail, id]
* @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 15:14
*/
@GetMapping("detail/{id}")
public Result<GroupDetailForMobileEndResultDTO> detail(@LoginUser TokenDto userDetail, @PathVariable("id") String id) {
return groupService.getGroupDetail(userDetail, id);
}
}

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

@ -4,7 +4,9 @@ import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
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.form.GroupDetailForMobileEndFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO;
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;
@ -72,4 +74,16 @@ public interface GroupFeignClient {
*/
@GetMapping(value = "group/epdc-app/group/listOfRecommend", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GroupsOfRecommendResultDTO>> listGroupsOfRecommend(GroupsOfMineFormDTO formDto);
/**
*
* 社群详情
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO>
* @author liuchuang
* @since 2019/10/22 15:09
*/
@GetMapping(value = "group/epdc-app/group/detail", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<GroupDetailForMobileEndResultDTO> detail(GroupDetailForMobileEndFormDTO formDto);
}

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

@ -5,7 +5,9 @@ import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
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.form.GroupDetailForMobileEndFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO;
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;
@ -39,4 +41,9 @@ public class GroupFeignClientFallback implements GroupFeignClient {
public Result<List<GroupsOfRecommendResultDTO>> listGroupsOfRecommend(GroupsOfMineFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listGroupsOfRecommend", formDto);
}
@Override
public Result<GroupDetailForMobileEndResultDTO> detail(GroupDetailForMobileEndFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "detail", formDto);
}
}

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

@ -4,6 +4,7 @@ import com.elink.esua.epdc.common.token.dto.TokenDto;
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.GroupDetailForMobileEndResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO;
@ -61,4 +62,15 @@ public interface GroupService {
* @since 2019/10/22 13:54
*/
Result<List<GroupsOfRecommendResultDTO>> listGroupsOfRecommend(TokenDto userDetail);
/**
*
* 社群详情
*
* @params [userDetail, id]
* @return com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO
* @author liuchuang
* @since 2019/10/22 15:15
*/
Result<GroupDetailForMobileEndResultDTO> getGroupDetail(TokenDto userDetail, String id);
}

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

@ -8,8 +8,10 @@ import com.elink.esua.epdc.dto.group.GroupSettingStateDTO;
import com.elink.esua.epdc.dto.enums.GroupStateEnum;
import com.elink.esua.epdc.dto.enums.GroupUserStateEnum;
import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupDetailForMobileEndFormDTO;
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.GroupDetailForMobileEndResultDTO;
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;
@ -98,4 +100,15 @@ public class GroupServiceImpl implements GroupService {
formDto.setGridId(userDetail.getGridId());
return groupFeignClient.listGroupsOfRecommend(formDto);
}
@Override
public Result<GroupDetailForMobileEndResultDTO> getGroupDetail(TokenDto userDetail, String id) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
GroupDetailForMobileEndFormDTO formDto = new GroupDetailForMobileEndFormDTO();
formDto.setId(id);
formDto.setUserId(userDetail.getUserId());
return groupFeignClient.detail(formDto);
}
}

30
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupDetailForMobileEndFormDTO.java

@ -0,0 +1,30 @@
package com.elink.esua.epdc.dto.group.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
*
* 移动端-社群详情Form DTO
*
* @Authorliuchuang
* @Date2019/10/22 14:59
*/
@Data
public class GroupDetailForMobileEndFormDTO implements Serializable {
private static final long serialVersionUID = 143504049551089465L;
/**
* 社群ID
*/
@NotBlank(message = "社群ID不能为空")
private String id;
/**
* 用户ID
*/
@NotBlank(message = "用户ID不能为空")
private String userId;
}

62
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupDetailForMobileEndResultDTO.java

@ -0,0 +1,62 @@
package com.elink.esua.epdc.dto.group.result;
import lombok.Data;
import java.io.Serializable;
/**
*
* 移动端-社群详情Result DTO
*
* @Authorliuchuang
* @Date2019/10/22 14:53
*/
@Data
public class GroupDetailForMobileEndResultDTO implements Serializable {
private static final long serialVersionUID = -9095533656720281885L;
/**
* 社群ID
*/
private String id;
/**
* 社群名称
*/
private String groupName;
/**
* 社群头像
*/
private String groupAvatar;
/**
* 群主
*/
private String nickname;
/**
* 总人数
*/
private Integer totalNum;
/**
* 话题数量
*/
private Integer topicNum;
/**
* 转到党群议事话题数量
*/
private Integer changeToIssueNum;
/**
* 社群类别0党员群1自建群
*/
private String groupCategory;
/**
* 当前用户是否是群主01
*/
private String lordFlag;
}

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

@ -5,7 +5,9 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
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.GroupDetailForMobileEndFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO;
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;
@ -94,4 +96,21 @@ public class AppGroupController {
return new Result<List<GroupsOfRecommendResultDTO>>().ok(data);
}
/**
*
* 社群详情
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO>
* @author liuchuang
* @since 2019/10/22 15:07
*/
@GetMapping("detail")
public Result<GroupDetailForMobileEndResultDTO> detail(@RequestBody GroupDetailForMobileEndFormDTO formDto) {
//效验数据
ValidatorUtils.validateEntity(formDto);
GroupDetailForMobileEndResultDTO resultDto = groupService.getGroupDetailForMobileEnd(formDto);
return new Result<GroupDetailForMobileEndResultDTO>().ok(resultDto);
}
}

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

@ -20,7 +20,9 @@ package com.elink.esua.epdc.modules.group.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.group.GroupDetailDTO;
import com.elink.esua.epdc.dto.group.GroupManagementDTO;
import com.elink.esua.epdc.dto.group.form.GroupDetailForMobileEndFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO;
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;
@ -92,5 +94,16 @@ public interface GroupDao extends BaseDao<GroupEntity> {
* @since 2019/10/22 13:45
*/
List<GroupsOfRecommendResultDTO> selectListGroupsOfRecommend(GroupsOfMineFormDTO formDto);
/**
*
* 移动端-社群详情
*
* @params [formDto]
* @return com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO
* @author liuchuang
* @since 2019/10/22 15:02
*/
GroupDetailForMobileEndResultDTO selectOneOfGroupDetailForMobileEnd(GroupDetailForMobileEndFormDTO formDto);
}

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

@ -25,7 +25,9 @@ import com.elink.esua.epdc.dto.group.GroupDetailDTO;
import com.elink.esua.epdc.dto.group.GroupManagementDTO;
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.GroupDetailForMobileEndFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO;
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;
@ -155,4 +157,15 @@ public interface GroupService extends BaseService<GroupEntity> {
* @since 2019/10/22 13:46
*/
List<GroupsOfRecommendResultDTO> listGroupsOfRecommend(GroupsOfMineFormDTO formDto);
/**
*
* 移动端-社群详情
*
* @params [formDto]
* @return com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO
* @author liuchuang
* @since 2019/10/22 15:04
*/
GroupDetailForMobileEndResultDTO getGroupDetailForMobileEnd(GroupDetailForMobileEndFormDTO formDto);
}

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

@ -30,7 +30,9 @@ import com.elink.esua.epdc.dto.group.*;
import com.elink.esua.epdc.dto.enums.GroupStateEnum;
import com.elink.esua.epdc.dto.enums.GroupUserStateEnum;
import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupDetailForMobileEndFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO;
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;
@ -211,4 +213,9 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
return baseDao.selectListGroupsOfRecommend(formDto);
}
@Override
public GroupDetailForMobileEndResultDTO getGroupDetailForMobileEnd(GroupDetailForMobileEndFormDTO formDto) {
return baseDao.selectOneOfGroupDetailForMobileEnd(formDto);
}
}

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

@ -68,7 +68,7 @@
0 ELSE SUM( ugp1.PARTY_MEMBER = '1' )
END AS partyMemberNum,
COUNT( ugpr.ID ) AS unreadTopicNum,
MAX( ugpr.TOPIC_SUBMIT_TIME ) AS latestTopicTime,
MAX( tp.CREATED_TIME ) AS latestTopicTime,
CASE
WHEN gp.STATE = 0 THEN
'网格长会尽快审核您创建的社群,请耐心等待'
@ -90,6 +90,8 @@
AND ugpr.DEL_FLAG = '0'
AND ugpr.USER_ID = #{userId}
AND ugpr.READ_FLAG = '0'
LEFT JOIN epdc_topic tp ON gp.ID = tp.GROUP_ID
AND tp.DEL_FLAG = '0'
WHERE
gp.DEL_FLAG = '0'
AND gp.GRID_ID = #{gridId}
@ -97,7 +99,7 @@
GROUP BY
gp.ID
ORDER BY
latestTopicTime DESC
MAX( tp.CREATED_TIME ) DESC
</select>
<select id="selectListGroupsOfRecommend" resultType="com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO">
@ -115,11 +117,51 @@
LEFT JOIN epdc_user_group ugp1 ON gp.ID = ugp1.GROUP_ID
AND ugp1.DEL_FLAG = '0'
AND ugp1.STATE = 10
LEFT JOIN epdc_topic tp ON gp.ID = tp.GROUP_ID
AND tp.DEL_FLAG = '0'
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 )
GROUP BY
gp.ID
ORDER BY
latestTopicTime DESC
</select>
<select id="selectOneOfGroupDetailForMobileEnd" resultType="com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO">
SELECT
gp.ID,
gp.GROUP_NAME,
gp.GROUP_AVATAR,
gp.GROUP_CATEGORY,
COUNT( ugp.ID ) AS totalNum,
ugp1.NICKNAME,
ugp2.LORD_FLAG,
COUNT( tp.ID ) AS topicNum,
CASE
WHEN SUM( tp.STATE = 15 OR tp.STATE = 20 ) IS NULL THEN
0 ELSE SUM( tp.STATE = 15 OR tp.STATE = 20 )
END AS changeToIssueNum
FROM
epdc_group gp
LEFT JOIN epdc_user_group ugp ON gp.ID = ugp.GROUP_ID
AND ugp.DEL_FLAG = '0'
AND ugp.STATE = 10
LEFT JOIN epdc_user_group ugp1 ON gp.ID = ugp1.GROUP_ID
AND ugp1.DEL_FLAG = '0'
AND ugp1.STATE = 10
AND ugp1.LORD_FLAG = '1'
LEFT JOIN epdc_user_group ugp2 ON gp.ID = ugp2.GROUP_ID
AND ugp2.DEL_FLAG = '0'
AND ugp2.STATE = 10
AND ugp2.USER_ID = #{userId}
LEFT JOIN epdc_topic tp ON gp.ID = tp.GROUP_ID
AND tp.DEL_FLAG = '0'
WHERE
gp.DEL_FLAG = '0'
AND gp.ID = #{id}
</select>

Loading…
Cancel
Save