Browse Source

我的群列表接口 init

dev
liuchuang 6 years ago
parent
commit
ca748e4c9e
  1. 22
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java
  2. 17
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java
  3. 9
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java
  4. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java
  5. 12
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java
  6. 31
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupsOfMineFormDTO.java
  7. 68
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupsOfMineResultDTO.java
  8. 29
      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. 42
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml

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

@ -5,12 +5,12 @@ 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.GroupsOfMineResultDTO;
import com.elink.esua.epdc.service.GroupService;
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.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
@ -54,4 +54,18 @@ public class ApiGroupController {
return groupService.disbandGroup(formDto);
}
/**
*
* 我的群列表
*
* @params [userDetail]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO>>
* @author liuchuang
* @since 2019/10/21 17:20
*/
@GetMapping("listOfMine")
public Result<List<GroupsOfMineResultDTO>> groupsOfMine(@LoginUser TokenDto userDetail) {
return groupService.listGroupsOfMine(userDetail);
}
}

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

@ -4,11 +4,16 @@ 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.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.feign.fallback.GroupFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
/**
*
* 社群模块调用
@ -42,4 +47,16 @@ public interface GroupFeignClient {
*/
@PostMapping(value = "group/epdc-app/group/operate", consumes = MediaType.APPLICATION_JSON_VALUE)
Result disbandGroup(GroupSettingStateDTO formDto);
/**
*
* 我的群列表
*
* @params [formDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO>>
* @author liuchuang
* @since 2019/10/21 17:26
*/
@GetMapping(value = "group/epdc-app/group/listOfMine", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GroupsOfMineResultDTO>> listGroupsOfMine(GroupsOfMineFormDTO formDto);
}

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

@ -5,9 +5,13 @@ 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.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.feign.GroupFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Authorliuchuang
* @Date2019/10/17 14:40
@ -24,4 +28,9 @@ public class GroupFeignClientFallback implements GroupFeignClient {
public Result disbandGroup(GroupSettingStateDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "disbandGroup", formDto);
}
@Override
public Result<List<GroupsOfMineResultDTO>> listGroupsOfMine(GroupsOfMineFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listGroupsOfMine", formDto);
}
}

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

@ -4,6 +4,9 @@ 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.GroupsOfMineResultDTO;
import java.util.List;
/**
*
@ -35,4 +38,15 @@ public interface GroupService {
* @since 2019/10/21 9:51
*/
Result disbandGroup(GroupSettingStateDTO dto);
/**
*
* 我的群列表
*
* @params [userDetail]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO>>
* @author liuchuang
* @since 2019/10/21 17:21
*/
Result<List<GroupsOfMineResultDTO>> listGroupsOfMine(TokenDto userDetail);
}

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

@ -9,12 +9,16 @@ 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.GroupUserFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.feign.GroupFeignClient;
import com.elink.esua.epdc.service.GroupService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* 社群模块
@ -71,4 +75,12 @@ public class GroupServiceImpl implements GroupService {
dto.setState(GroupStateEnum.GROUP_STATE_DISBANDED.getValue());
return groupFeignClient.disbandGroup(dto);
}
@Override
public Result<List<GroupsOfMineResultDTO>> listGroupsOfMine(TokenDto userDetail) {
GroupsOfMineFormDTO formDto = new GroupsOfMineFormDTO();
formDto.setUserId(userDetail.getUserId());
formDto.setGridId(userDetail.getGridId());
return groupFeignClient.listGroupsOfMine(formDto);
}
}

31
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupsOfMineFormDTO.java

@ -0,0 +1,31 @@
package com.elink.esua.epdc.dto.group.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
*
* 我的群FormDTO
*
* @Authorliuchuang
* @Date2019/10/21 17:06
*/
@Data
public class GroupsOfMineFormDTO implements Serializable {
private static final long serialVersionUID = 6427160357602633892L;
/**
* 用户ID
*/
@NotBlank(message = "用户ID不能为空")
private String userId;
/**
* 网格ID
*/
@NotNull(message = "网格ID不能为空")
private Long gridId;
}

68
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupsOfMineResultDTO.java

@ -0,0 +1,68 @@
package com.elink.esua.epdc.dto.group.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*
* 我的群列表DTO
*
* @Authorliuchuang
* @Date2019/10/21 17:00
*/
@Data
public class GroupsOfMineResultDTO implements Serializable {
private static final long serialVersionUID = 346523775154631726L;
/**
* 社群ID
*/
private String id;
/**
* 社群名称
*/
private String groupName;
/**
* 社群头像
*/
private String groupAvatar;
/**
* 总人数
*/
private Integer totalNum;
/**
* 党员人数
*/
private Integer partyMemberNum;
/**
* 未读话题数量
*/
private Integer unreadTopicNum;
/**
* 最新一条话题发布时间yyyy-MM-dd HH:mm
*/
private Date latestTopicTime;
/**
* 社群类别0党员群1自建群
*/
private String groupCategory;
/**
* 社群状态0待审核5审核不通过10审核通过15禁言
*/
private Integer state;
/**
* 群名称下方的描述
*/
private String description;
}

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

@ -5,12 +5,13 @@ 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.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.modules.group.service.GroupService;
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.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
@ -44,7 +45,7 @@ public class AppGroupController {
/**
*
* 禁言解禁解散社群
* 解散社群
*
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
@ -57,4 +58,22 @@ public class AppGroupController {
ValidatorUtils.validateEntity(dto);
return groupService.modifyGroupState(dto);
}
/**
*
* 我的群列表
*
* @params [formDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO>>
* @author liuchuang
* @since 2019/10/21 17:18
*/
@GetMapping("listOfMine")
public Result<List<GroupsOfMineResultDTO>> groupsOfMine(@RequestBody GroupsOfMineFormDTO formDto) {
//效验数据
ValidatorUtils.validateEntity(formDto);
List<GroupsOfMineResultDTO> data = groupService.listGroupsOfMine(formDto);
return new Result<List<GroupsOfMineResultDTO>>().ok(data);
}
}

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

@ -20,6 +20,8 @@ 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.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.modules.group.entity.GroupEntity;
import org.apache.ibatis.annotations.Mapper;
@ -67,5 +69,16 @@ public interface GroupDao extends BaseDao<GroupEntity> {
* @since 2019/10/21 10:32
*/
GroupDetailDTO selectOneOfGroupDetail(String id);
/**
*
* 移动端-我的群列表
*
* @params [formDTO]
* @return java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO>
* @author liuchuang
* @since 2019/10/21 17:08
*/
List<GroupsOfMineResultDTO> selectListGroupsOfMine(GroupsOfMineFormDTO formDto);
}

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

@ -25,6 +25,8 @@ 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.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
import com.elink.esua.epdc.modules.group.entity.GroupEntity;
import java.util.List;
@ -130,4 +132,15 @@ public interface GroupService extends BaseService<GroupEntity> {
* @since 2019/10/21 9:31
*/
Result modifyGroupState(GroupSettingStateDTO dto);
/**
*
* 移动端-我的群列表
*
* @params [formDTO]
* @return java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO>
* @author liuchuang
* @since 2019/10/21 17:09
*/
List<GroupsOfMineResultDTO> listGroupsOfMine(GroupsOfMineFormDTO 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.GroupsOfMineFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
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;
@ -198,4 +200,9 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
return new Result().error("操作失败");
}
@Override
public List<GroupsOfMineResultDTO> listGroupsOfMine(GroupsOfMineFormDTO formDto) {
return baseDao.selectListGroupsOfMine(formDto);
}
}

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

@ -55,5 +55,47 @@
AND gp.ID = #{id}
</select>
<select id="selectListGroupsOfMine" resultType="com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO">
SELECT
gp.ID,
gp.GROUP_NAME,
gp.GROUP_AVATAR,
gp.GROUP_CATEGORY,
gp.STATE,
COUNT( ugp1.ID ) AS totalNum,
SUM( ugp1.PARTY_MEMBER = '1' ) AS partyMemberNum,
COUNT( ugpr.ID ) AS unreadTopicNum,
MAX( ugpr.TOPIC_SUBMIT_TIME ) AS latestTopicTime,
CASE
WHEN gp.STATE = 0 THEN
'网格长会尽快审核您创建的社群,请耐心等待'
WHEN gp.STATE = 5 THEN
gp.PROCESSING_OPINIONS
WHEN ( gp.STATE = 10 AND COUNT( ugp1.ID ) <![CDATA[ <= ]]> 1 AND gp.GROUP_CATEGORY = '1' ) THEN
'您的社群审核已通过,快加好友进来吧' ELSE ''
END AS description
FROM
epdc_group gp
RIGHT JOIN epdc_user_group ugp ON gp.ID = ugp.GROUP_ID
AND ugp.DEL_FLAG = '0'
AND ugp.USER_ID = #{userId}
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
LEFT JOIN epdc_group_topic_user_read ugpr ON gp.ID = ugpr.GROUP_ID
AND ugpr.DEL_FLAG = '0'
AND ugpr.USER_ID = #{userId}
AND ugpr.READ_FLAG = '0'
WHERE
gp.DEL_FLAG = '0'
AND gp.GRID_ID = #{gridId}
<![CDATA[ AND gp.STATE >= ]]> 20
GROUP BY
gp.ID
ORDER BY
latestTopicTime DESC
</select>
</mapper>
Loading…
Cancel
Save