Browse Source

警民相关业务

hotfix/yujt_opt
zhangyuan 5 years ago
parent
commit
a17c1f08e9
  1. 45
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/group/controller/GroupController.java
  2. 20
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/group/dao/GroupDao.java
  3. 65
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/group/service/GroupService.java
  4. 44
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/group/service/impl/GroupServiceImpl.java
  5. 94
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/controller/PoliceController.java
  6. 44
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/dao/PoliceDao.java
  7. 96
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/entity/PoliceEntity.java
  8. 89
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/excel/PoliceExcel.java
  9. 47
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/redis/PoliceRedis.java
  10. 95
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/service/PoliceService.java
  11. 145
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/service/impl/PoliceServiceImpl.java
  12. 31
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/topic/controller/TopicController.java
  13. 32
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/topic/dao/TopicDao.java
  14. 43
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/topic/service/TopicService.java
  15. 7
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicServiceImpl.java
  16. 329
      epdc-cloud-property/src/main/resources/mapper/group/GroupDao.xml
  17. 51
      epdc-cloud-property/src/main/resources/mapper/police/PoliceDao.xml
  18. 52
      epdc-cloud-property/src/main/resources/mapper/topic/TopicDao.xml

45
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/group/controller/GroupController.java

@ -52,29 +52,43 @@ public class GroupController {
private GroupService groupService;
/**
*
* 社群列表 状态state 0待审核5审核不通过10审核通过15禁言20已解散
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.group.GroupDTO>>
* @params [params]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.group.GroupDTO>>
* @author liuchuang
* @since 2019/10/11 14:53
*/
@GetMapping("page")
@DataFilter(tableAlias = "gp", deptId = "grid_id", prefix = "AND", isPendingCreator = false)
public Result<PageData<GroupManagementDTO>> page(@RequestParam Map<String, Object> params){
public Result<PageData<GroupManagementDTO>> page(@RequestParam Map<String, Object> params) {
PageData<GroupManagementDTO> page = groupService.page(params);
return new Result<PageData<GroupManagementDTO>>().ok(page);
}
/**
* 警群信息
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.group.GroupDTO>>
* @params [params]
* @author liuchuang
* @since 2019/10/11 14:53
*/
@GetMapping("policepage")
@DataFilter(tableAlias = "gp", deptId = "grid_id", prefix = "AND", isPendingCreator = false)
public Result<PageData<GroupManagementDTO>> policePage(@RequestParam Map<String, Object> params) {
PageData<GroupManagementDTO> page = groupService.policePage(params);
return new Result<PageData<GroupManagementDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<GroupDTO> get(@PathVariable("id") String id){
public Result<GroupDTO> get(@PathVariable("id") String id) {
GroupDTO data = groupService.get(id);
return new Result<GroupDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody GroupDTO dto){
public Result save(@RequestBody GroupDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
groupService.save(dto);
@ -82,7 +96,7 @@ public class GroupController {
}
@PutMapping
public Result update(@RequestBody GroupDTO dto){
public Result update(@RequestBody GroupDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
groupService.update(dto);
@ -90,7 +104,7 @@ public class GroupController {
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
groupService.delete(ids);
@ -104,26 +118,24 @@ public class GroupController {
}
/**
*
* 社群审核详情信息
*
* @params [id]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.group.GroupDetailDTO>
* @params [id]
* @author liuchuang
* @since 2019/10/21 10:32
*/
@GetMapping("detail/{id}")
public Result<GroupDetailDTO> detail(@PathVariable("id") String id){
public Result<GroupDetailDTO> detail(@PathVariable("id") String id) {
GroupDetailDTO data = groupService.getGroupDetail(id);
return new Result<GroupDetailDTO>().ok(data);
}
/**
*
* 审核禁言解禁解散社群
*
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [dto]
* @author liuchuang
* @since 2019/10/21 9:31
*/
@ -135,11 +147,10 @@ public class GroupController {
}
/**
*
* 获取网格下所有社群
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.group.GroupListDTO>>
* @params []
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.group.GroupListDTO>>
* @author liuchuang
* @since 2019/11/12 9:30
*/
@ -150,11 +161,10 @@ public class GroupController {
}
/**
*
* 排行榜-活跃度
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.group.GroupActivityDTO>>
* @params [params]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.group.GroupActivityDTO>>
* @author liuchuang
* @since 2019/11/12 16:10
*/
@ -166,11 +176,10 @@ public class GroupController {
}
/**
*
* 排行榜-群成员数量
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.group.GroupMemberDTO>>
* @params [params]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.group.GroupMemberDTO>>
* @author liuchuang
* @since 2019/11/12 16:11
*/

20
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/group/dao/GroupDao.java

@ -50,6 +50,16 @@ public interface GroupDao extends BaseDao<GroupEntity> {
*/
List<GroupManagementDTO> selectListOfGroups(Map<String, Object> params);
/**
* 社群列表
*
* @return java.util.List<com.elink.esua.epdc.dto.group.GroupDTO>
* @params [params]
* @author liuchuang
* @since 2019/10/11 14:54
*/
List<GroupManagementDTO> selectPoliceListOfGroups(Map<String, Object> params);
/**
* 查询社群名称重复数量
*
@ -110,6 +120,16 @@ public interface GroupDao extends BaseDao<GroupEntity> {
*/
List<GroupListDTO> selectListOfGroupByGridId(Long deptId);
/**
* 获取警群社区下所有社群
*
* @return java.util.List<com.elink.esua.epdc.dto.group.GroupListDTO>
* @params [deptId]
* @author liuchuang
* @since 2019/11/12 9:35
*/
List<GroupListDTO> selectListOfGroupByDeptId(Long deptId);
/**
* 排行榜-活跃度
*

65
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/group/service/GroupService.java

@ -48,6 +48,16 @@ public interface GroupService extends BaseService<GroupEntity> {
*/
PageData<GroupManagementDTO> page(Map<String, Object> params);
/**
* 默认分页 社群列表
*
* @param params
* @return PageData<GroupDTO>
* @author generator
* @date 2019-10-10
*/
PageData<GroupManagementDTO> policePage(Map<String, Object> params);
/**
* 默认查询
*
@ -99,176 +109,160 @@ public interface GroupService extends BaseService<GroupEntity> {
void delete(String[] ids);
/**
*
* 移动端-创建社群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/10/17 14:57
*/
Result saveGroup(GroupCreateFormDTO formDto);
/**
*
* 社群审核详情信息
*
* @params [id]
* @return com.elink.esua.epdc.dto.group.GroupDetailDTO
* @params [id]
* @author liuchuang
* @since 2019/10/21 10:32
*/
GroupDetailDTO getGroupDetail(String id);
/**
*
* 禁言解禁解散社群
*
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [dto]
* @author liuchuang
* @since 2019/10/21 9:31
*/
Result modifyGroupState(GroupSettingStateDTO dto);
/**
*
* 移动端-我的群列表
*
* @params [formDTO]
* @return java.util.List<com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO>
* @params [formDTO]
* @author liuchuang
* @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>
* @params [formDto]
* @author liuchuang
* @since 2019/10/22 13:46
*/
List<GroupsOfRecommendResultDTO> listGroupsOfRecommend(GroupsOfMineFormDTO formDto);
/**
*
* 移动端-社群详情
*
* @params [formDto]
* @return com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO
* @params [formDto]
* @author liuchuang
* @since 2019/10/22 15:04
*/
GroupDetailForMobileEndResultDTO getGroupDetailForMobileEnd(GroupDetailForMobileEndFormDTO formDto);
/**
*
* 移动端-修改群介绍
*
* @params [userDetail, formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [userDetail, formDto]
* @author liuchuang
* @since 2019/10/22 15:34
*/
Result modifyIntroduction(GroupIntroductionFormDTO formDto);
/**
*
* 移动端-修改群头像
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/10/22 17:31
*/
Result modifyAvatar(GroupModifyAvatarFormDTO formDto);
/**
*
* 移动端-社群成员列表待审核/审核通过
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/10/23 9:19
*/
Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto);
/**
*
* 移动端-操作社群成员
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/10/23 11:01
*/
Result modifyMemberState(GroupUserRemoveOrQuitFormDTO formDto);
/**
*
* 申请入群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/11/11 14:07
*/
Result applyForGroup(GroupApplyFormDTO formDto);
/**
*
* 获取网格下所有社群
*
* @params [deptId]
* @return java.util.List<com.elink.esua.epdc.dto.group.GroupListDTO>
* @params [deptId]
* @author liuchuang
* @since 2019/11/12 9:33
*/
List<GroupListDTO> listOfGroupByGridId(Long deptId);
/**
*
* 排行榜-活跃度
*
* @params [params]
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.group.GroupActivityDTO>
* @params [params]
* @author liuchuang
* @since 2019/11/12 16:14
*/
PageData<GroupActivityDTO> listGroupOrderByActivity(Map<String, Object> params);
/**
*
* 排行榜-群成员数量
*
* @params [params]
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.group.GroupMemberDTO>
* @params [params]
* @author liuchuang
* @since 2019/11/12 16:14
*/
PageData<GroupMemberDTO> listGroupOrderByMember(Map<String, Object> params);
/**
*
* 根据网格ID获取网格党员群
*
* @params [gridId]
* @return com.elink.esua.epdc.dto.group.GroupDTO
* @params [gridId]
* @author liuchuang
* @since 2019/11/20 22:51
*/
GroupDTO getPartyGroupInfoByGridId(Long gridId);
/**
*
* 用户加入党员群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/11/21 10:39
*/
@ -276,19 +270,18 @@ public interface GroupService extends BaseService<GroupEntity> {
/**
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<java.lang.String>>
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < java.lang.String>>
* @Author yinzuomei
* @Description 查询已经建立党员群的网格id
* @Date 2019/12/19 13:04
**/
Result<List<String>> listPartyMemberGridId();
Result<List<String>> listPartyMemberGridId();
/**
*
* 邻里党群修改组织机构信息
*
* @params [dto]
* @return void
* @params [dto]
* @author liuchuang
* @since 2020/3/7 1:23
*/

44
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/group/service/impl/GroupServiceImpl.java

@ -102,6 +102,13 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
return new PageData<>(list, page.getTotal());
}
@Override
public PageData<GroupManagementDTO> policePage(Map<String, Object> params) {
IPage<GroupManagementDTO> page = getPage(params);
List<GroupManagementDTO> list = baseDao.selectPoliceListOfGroups(params);
return new PageData<>(list, page.getTotal());
}
@Override
public List<GroupDTO> list(Map<String, Object> params) {
List<GroupEntity> entityList = baseDao.selectList(getWrapper(params));
@ -109,8 +116,8 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
return ConvertUtils.sourceToTarget(entityList, GroupDTO.class);
}
private QueryWrapper<GroupEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
private QueryWrapper<GroupEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<GroupEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@ -204,7 +211,7 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_NOT_PASSED);
// 社群审批不通过发送短信
this.groupManagementSmsNotification(dto,dto.getId());
this.groupManagementSmsNotification(dto, dto.getId());
}
// 社群审核通过
if (GroupStateEnum.GROUP_STATE_EXAMINATION_PASSED.getValue().equals(dto.getState())
@ -215,7 +222,7 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
informationFormDTO.setRelBusinessContent("快去加好友吧");
// 社群审批通过发送短信
this.groupManagementSmsNotification(dto,dto.getId());
this.groupManagementSmsNotification(dto, dto.getId());
}
// 解散
if (GroupStateEnum.GROUP_STATE_DISBANDED.getValue().equals(dto.getState())) {
@ -228,7 +235,7 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
if (sendNotice) {
// 获取群成员列表
List<GroupUserListResultDTO> userListResultDTOS = userGroupService.listOfUserGroup(dto.getId(), GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue());
for (GroupUserListResultDTO usersDTO:
for (GroupUserListResultDTO usersDTO :
userListResultDTOS) {
if (!usersDTO.getUserId().equals(dto.getUserId())) {
EpdcInformationFormDTO notice = ConvertUtils.sourceToTarget(informationFormDTO, EpdcInformationFormDTO.class);
@ -323,7 +330,7 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
informationFormDTO.setUserId(formDto.getUserId());
informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_USER_REMOVED_MEMBER);
informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_USER_REMOVED_MEMBER);
} else if (GroupUserStateEnum.GROUP_USER_STATE_RETIRED.getValue().equals(formDto.getState())){
} else if (GroupUserStateEnum.GROUP_USER_STATE_RETIRED.getValue().equals(formDto.getState())) {
// 退出社群
if (NumConstant.ONE_STR.equals(userGroupDto.getLordFlag())) {
return new Result().error("操作失败,群主不可以退出社群");
@ -388,7 +395,7 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
public Result joinGridPartyGroup(List<GroupUserFormDTO> formDtoList) {
List<UserGroupEntity> insertEntity = new ArrayList<>();
List<UserGroupEntity> updateEntity = new ArrayList<>();
for (GroupUserFormDTO formDto:
for (GroupUserFormDTO formDto :
formDtoList) {
// 校验信息
if (!this.checkGroupUserInfo(formDto)) {
@ -446,8 +453,8 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
}
GroupEntity entity = ConvertUtils.sourceToTarget(formDto, GroupEntity.class);
if (insert(entity)) {
if(null!=formDto.getGroupUserFormDTOList()){
for(GroupUserFormDTO groupUserFormDTO:formDto.getGroupUserFormDTOList()) {
if (null != formDto.getGroupUserFormDTOList()) {
for (GroupUserFormDTO groupUserFormDTO : formDto.getGroupUserFormDTOList()) {
// 保存用户
UserGroupDTO userGroupDTO = ConvertUtils.sourceToTarget(groupUserFormDTO, UserGroupDTO.class);
userGroupDTO.setGroupId(entity.getId());
@ -471,11 +478,10 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
}
/**
*
* 校验信息
*
* @params [formDto]
* @return boolean
* @params [formDto]
* @author liuchuang
* @since 2019/12/19 16:39
*/
@ -499,7 +505,7 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
* @Author: zy
* @Date: 2020-01-08
*/
private void groupManagementSmsNotification(GroupSettingStateDTO dto, String groupId){
private void groupManagementSmsNotification(GroupSettingStateDTO dto, String groupId) {
//根据社区id,获取用户手机号
String mobile = baseDao.queryGroupUserMOBILE(groupId);
List<String> list = new ArrayList<>();
@ -509,7 +515,7 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
sms.setMobiles(list);
if (GroupStateEnum.GROUP_STATE_EXAMINATION_PASSED.getValue().equals(dto.getState())) { // 社群审核通过
sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_GROUP_PASSED);
}else if (GroupStateEnum.GROUP_STATE_AUDIT_NOT_PASSED.getValue().equals(dto.getState())){ // 社群审核不通过
} else if (GroupStateEnum.GROUP_STATE_AUDIT_NOT_PASSED.getValue().equals(dto.getState())) { // 社群审核不通过
sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_GROUP_NOT_PASS);
}
issueOverseeResultsTask.sendSmsNotice(sms);
@ -546,17 +552,16 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
}
/**
*
* 组织机构信息处理
*
* @params [dto, topicList]
* @return java.util.List<com.elink.esua.epdc.modules.group.entity.GroupEntity>
* @params [dto, topicList]
* @author liuchuang
* @since 2020/3/7 2:14
*/
private List<GroupEntity> handleOrganizationInfo(OrganizationModifyDTO dto, List<GroupDTO> groupList) {
List<GroupEntity> entities = new ArrayList<>();
for (GroupDTO group: groupList) {
for (GroupDTO group : groupList) {
GroupEntity entity = new GroupEntity();
if (StringUtils.isNotEmpty(group.getParentDeptIds()) && StringUtils.isNotEmpty(group.getParentDeptNames())) {
List<String> parentDeptIds = Arrays.asList(group.getParentDeptIds().split(","));
@ -587,23 +592,22 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
}
/**
*
* 生成新的党员群名称
*
* @params [partyGroups]
* @return java.util.List<com.elink.esua.epdc.modules.group.entity.GroupEntity>
* @params [partyGroups]
* @author liuchuang
* @since 2020/3/7 12:08
*/
private List<GroupEntity> createPartyGroupName(List<GroupDTO> partyGroups) {
List<GroupEntity> groupEntities = new ArrayList<>();
for (GroupDTO group: partyGroups) {
for (GroupDTO group : partyGroups) {
String[] allDeptNames = group.getAllDeptNames().split("-");
int len = allDeptNames.length;
if (len == 4) {
GroupEntity entity = new GroupEntity();
entity.setId(group.getId());
entity.setGroupName(allDeptNames[len-2]+allDeptNames[len-1]+"党员群");
entity.setGroupName(allDeptNames[len - 2] + allDeptNames[len - 1] + "党员群");
groupEntities.add(entity);
}
}

94
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/controller/PoliceController.java

@ -0,0 +1,94 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.police.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.dto.police.PoliceDTO;
import com.elink.esua.epdc.modules.police.excel.PoliceExcel;
import com.elink.esua.epdc.modules.police.service.PoliceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 民警表
*
* @author zhangyuan qu@elink-cn.com
* @since v1.0.0 2020-05-21
*/
@RestController
@RequestMapping("police")
public class PoliceController {
@Autowired
private PoliceService policeService;
@GetMapping("page")
public Result<PageData<PoliceDTO>> page(@RequestParam Map<String, Object> params){
PageData<PoliceDTO> page = policeService.page(params);
return new Result<PageData<PoliceDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<PoliceDTO> get(@PathVariable("id") String id){
PoliceDTO data = policeService.get(id);
return new Result<PoliceDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody PoliceDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
policeService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody PoliceDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
policeService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
policeService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<PoliceDTO> list = policeService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, PoliceExcel.class);
}
}

44
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/dao/PoliceDao.java

@ -0,0 +1,44 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.police.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.police.entity.PoliceEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* 民警表
*
* @author zhangyuan qu@elink-cn.com
* @since v1.0.0 2020-05-21
*/
@Mapper
public interface PoliceDao extends BaseDao<PoliceEntity> {
/**
* 民警列表
*
* @return java.util.List<com.elink.esua.epdc.dto.pr.PoliceEntity>
* @params [params]
* @author zhangyuan
* @since 2019/10/11 14:54
*/
List<PoliceEntity> selectListOfPolice(Map<String, Object> params);
}

96
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/entity/PoliceEntity.java

@ -0,0 +1,96 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.police.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 民警表
*
* @author zhangyuan qu@elink-cn.com
* @since v1.0.0 2020-05-21
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("epdc_police")
public class PoliceEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 民警名称
*/
private String policeName;
/**
* 民警照片地址
*/
private String policeAvatar;
/**
* 民警联系方式
*/
private String policeTel;
/**
* 警号
*/
private String policeNo;
/**
* 民警所在机构名称
*/
private String deptName;
/**
* 民警所在机构id此处存储社区id
*/
private Long deptId;
/**
* 是否展示 0否 1是
*/
private String displayFlag;
/**
* 所有部门ID
*/
private String allDeptIds;
/**
* 所有部门名称
*/
private String allDeptNames;
/**
* 父所有部门
*/
private String parentDeptIds;
/**
* 父所有部门
*/
private String parentDeptNames;
}

89
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/excel/PoliceExcel.java

@ -0,0 +1,89 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.police.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 民警表
*
* @author zhangyuan qu@elink-cn.com
* @since v1.0.0 2020-05-21
*/
@Data
public class PoliceExcel {
@Excel(name = "主键")
private String id;
@Excel(name = "民警名称")
private String policeName;
@Excel(name = "民警照片地址")
private String policeAvatar;
@Excel(name = "民警联系方式")
private String policeTel;
@Excel(name = "警号")
private String policeNo;
@Excel(name = "民警所在机构名称")
private String deptName;
@Excel(name = "民警所在机构id(此处存储社区id)")
private Long deptId;
@Excel(name = "是否展示 0否 ,1是")
private String displayFlag;
@Excel(name = "删除标记 0:未删除,1:已删除")
private String delFlag;
@Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "创建人")
private String createdBy;
@Excel(name = "创建时间")
private Date createdTime;
@Excel(name = "更新人")
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
@Excel(name = "所有部门ID")
private String allDeptIds;
@Excel(name = "所有部门名称")
private String allDeptNames;
@Excel(name = "父所有部门")
private String parentDeptIds;
@Excel(name = "父所有部门")
private String parentDeptNames;
}

47
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/redis/PoliceRedis.java

@ -0,0 +1,47 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.police.redis;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 民警表
*
* @author zhangyuan qu@elink-cn.com
* @since v1.0.0 2020-05-21
*/
@Component
public class PoliceRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

95
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/service/PoliceService.java

@ -0,0 +1,95 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.police.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.police.PoliceDTO;
import com.elink.esua.epdc.modules.police.entity.PoliceEntity;
import java.util.List;
import java.util.Map;
/**
* 民警表
*
* @author zhangyuan qu@elink-cn.com
* @since v1.0.0 2020-05-21
*/
public interface PoliceService extends BaseService<PoliceEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<PoliceDTO>
* @author generator
* @date 2020-05-21
*/
PageData<PoliceDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<PoliceDTO>
* @author generator
* @date 2020-05-21
*/
List<PoliceDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return PoliceDTO
* @author generator
* @date 2020-05-21
*/
PoliceDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-05-21
*/
void save(PoliceDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-05-21
*/
void update(PoliceDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-05-21
*/
void delete(String[] ids);
}

145
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/service/impl/PoliceServiceImpl.java

@ -0,0 +1,145 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.police.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.dto.constant.GroupConstant;
import com.elink.esua.epdc.dto.enums.GroupStateEnum;
import com.elink.esua.epdc.dto.group.GroupListDTO;
import com.elink.esua.epdc.modules.group.dao.GroupDao;
import com.elink.esua.epdc.modules.group.entity.GroupEntity;
import com.elink.esua.epdc.modules.police.dao.PoliceDao;
import com.elink.esua.epdc.dto.police.PoliceDTO;
import com.elink.esua.epdc.modules.police.entity.PoliceEntity;
import com.elink.esua.epdc.modules.police.redis.PoliceRedis;
import com.elink.esua.epdc.modules.police.service.PoliceService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 民警表
*
* @author zhangyuan qu@elink-cn.com
* @since v1.0.0 2020-05-21
*/
@Service
public class PoliceServiceImpl extends BaseServiceImpl<PoliceDao, PoliceEntity> implements PoliceService {
@Autowired
private PoliceRedis policeRedis;
@Resource
private GroupDao groupDao;
@Override
public PageData<PoliceDTO> page(Map<String, Object> params) {
IPage<PoliceEntity> page = getPage(params);
List<PoliceEntity> entityList = baseDao.selectListOfPolice(params);
List<PoliceDTO> list = ConvertUtils.sourceToTarget(entityList, PoliceDTO.class);
return new PageData<>(list, page.getTotal());
}
@Override
public List<PoliceDTO> list(Map<String, Object> params) {
List<PoliceEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, PoliceDTO.class);
}
private QueryWrapper<PoliceEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<PoliceEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public PoliceDTO get(String id) {
PoliceEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, PoliceDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(PoliceDTO dto) {
PoliceEntity entity = ConvertUtils.sourceToTarget(dto, PoliceEntity.class);
// TODO 冗余字段。
insert(entity);
List<GroupListDTO> groupList = groupDao.selectListOfGroupByDeptId(entity.getDeptId());
if (groupList.size() == 0) {
// 创民警的同时创建群
GroupEntity groupEntity = new GroupEntity();
// TODO 冗余字段。
groupEntity.setReferenceBusinessId(entity.getId());
groupEntity.setState(GroupStateEnum.GROUP_STATE_EXAMINATION_PASSED.getValue());
groupEntity.setGroupAvatar(GroupConstant.PROPERTY_GROUP_AVATAR);
groupEntity.setGroupName(entity.getDeptName() + "警民群");
groupEntity.setGroupCategory(GroupConstant.POLICE_GROUP_CATEGORY);
groupEntity.setGrid(entity.getDeptName());
groupEntity.setGridId(entity.getDeptId());
groupDao.insert(groupEntity);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(PoliceDTO dto) {
PoliceEntity entity = ConvertUtils.sourceToTarget(dto, PoliceEntity.class);
updateById(entity);
List<GroupListDTO> groupList = groupDao.selectListOfGroupByDeptId(entity.getDeptId());
if (groupList.size() == 0) {
// 创民警的同时创建群
GroupEntity groupEntity = new GroupEntity();
// TODO 冗余字段。
groupEntity.setReferenceBusinessId(entity.getId());
groupEntity.setState(GroupStateEnum.GROUP_STATE_EXAMINATION_PASSED.getValue());
groupEntity.setGroupAvatar(GroupConstant.PROPERTY_GROUP_AVATAR);
groupEntity.setGroupName(entity.getDeptName() + "警民群");
groupEntity.setGroupCategory(GroupConstant.POLICE_GROUP_CATEGORY);
groupEntity.setGrid(entity.getDeptName());
groupEntity.setGridId(entity.getDeptId());
groupDao.insert(groupEntity);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

31
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/topic/controller/TopicController.java

@ -56,19 +56,26 @@ public class TopicController {
@GetMapping("page")
@DataFilter(tableAlias = "temp", deptId = "grid_id", prefix = "AND", isPendingCreator = false)
public Result<PageData<TopicDTO>> page(@RequestParam Map<String, Object> params){
public Result<PageData<TopicDTO>> page(@RequestParam Map<String, Object> params) {
PageData<TopicDTO> page = topicService.listTopic(params);
return new Result<PageData<TopicDTO>>().ok(page);
}
@GetMapping("policepage")
@DataFilter(tableAlias = "temp", deptId = "grid_id", prefix = "AND", isPendingCreator = false)
public Result<PageData<TopicDTO>> policePage(@RequestParam Map<String, Object> params) {
PageData<TopicDTO> page = topicService.listPoliceTopic(params);
return new Result<PageData<TopicDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<TopicDTO> get(@PathVariable("id") String id){
public Result<TopicDTO> get(@PathVariable("id") String id) {
TopicDTO data = topicService.get(id);
return new Result<TopicDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody TopicDTO dto){
public Result save(@RequestBody TopicDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
topicService.save(dto);
@ -76,7 +83,7 @@ public class TopicController {
}
@PutMapping
public Result update(@RequestBody TopicDTO dto){
public Result update(@RequestBody TopicDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
topicService.update(dto);
@ -84,7 +91,7 @@ public class TopicController {
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
topicService.delete(ids);
@ -92,18 +99,17 @@ public class TopicController {
}
@GetMapping("export")
@DataFilter(tableAlias = "temp", deptId = "grid_id", prefix = "AND", isPendingCreator = false)
@DataFilter(tableAlias = "temp", deptId = "grid_id", prefix = "AND", isPendingCreator = false)
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<TopicDTO> list = topicService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, TopicExcel.class);
}
/**
*
* 关闭话题
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/11/7 17:39
*/
@ -114,11 +120,10 @@ public class TopicController {
}
/**
*
* 话题转议题回调
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/11/11 10:48
*/
@ -133,11 +138,10 @@ public class TopicController {
}
/**
*
* 更新话题状态
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/11/11 13:37
*/
@ -148,11 +152,10 @@ public class TopicController {
}
/**
*
* 话题详情
*
* @params [id]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.topic.TopicDetailDTO>
* @params [id]
* @author liuchuang
* @since 2019/11/12 10:22
*/

32
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/topic/dao/TopicDao.java

@ -47,88 +47,90 @@ public interface TopicDao extends BaseDao<TopicEntity> {
void updateCommentNum(String id);
/**
*
* 移动端-话题详情
*
* @params [id]
* @return com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO
* @params [id]
* @author liuchuang
* @since 2019/11/7 15:32
*/
TopicDetailResultDTO selectOneOfTopicDetailById(String id);
/**
*
* 移动端-话题列表
*
* @params [formDto]
* @return java.util.List<com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>
* @params [formDto]
* @author liuchuang
* @since 2019/11/11 15:14
*/
List<TopicListResultDTO> selectListOfTopic(TopicListFormDTO formDto);
/**
*
* 话题转议题详情数据
*
* @params [id]
* @return com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO
* @params [id]
* @author liuchuang
* @since 2019/11/8 15:11
*/
EpdcEventSubmitFormDTO selectOneOfTopicForChangeToIssue(String id);
/**
*
* 话题列表
*
* @params [params]
* @return java.util.List<com.elink.esua.epdc.dto.topic.TopicDTO>
* @params [params]
* @author liuchuang
* @since 2019/11/12 9:45
*/
List<TopicDTO> selectListTopic(Map<String, Object> params);
/**
* 警群话题列表
*
* @return java.util.List<com.elink.esua.epdc.dto.topic.TopicDTO>
* @params [params]
* @author liuchuang
* @since 2019/11/12 9:45
*/
List<TopicDTO> selectPoliceListTopic(Map<String, Object> params);
/**
* 话题详情
*
* @params [id]
* @return com.elink.esua.epdc.dto.topic.TopicDetailDTO
* @params [id]
* @author liuchuang
* @since 2019/11/12 10:25
*/
TopicDetailDTO selectOneOfTopic(String id);
/**
*
* 查询需要修改组织机构信息事件
*
* @params [deptId]
* @return java.util.List<com.elink.esua.epdc.dto.topic.TopicDTO>
* @params [deptId]
* @author liuchuang
* @since 2020/3/7 2:08
*/
List<TopicDTO> selectListOfOrganizationInfo(String deptId);
/**
*
* 更新网格名称
*
* @params [newDeptName, deptId]
* @return void
* @params [newDeptName, deptId]
* @author liuchuang
* @since 2020/3/7 1:20
*/
void updateGridByDeptId(String newDeptName, Long deptId);
/**
*
* 批量更新话题表党员群名称
*
* @params [groups]
* @return void
* @params [groups]
* @author liuchuang
* @since 2020/3/7 12:22
*/

43
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/topic/service/TopicService.java

@ -52,16 +52,25 @@ public interface TopicService extends BaseService<TopicEntity> {
PageData<TopicDTO> page(Map<String, Object> params);
/**
*
* 话题列表
*
* @params [params]
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.topic.TopicDTO>
* @params [params]
* @author liuchuang
* @since 2019/11/12 9:43
*/
PageData<TopicDTO> listTopic(Map<String, Object> params);
/**
* 警群话题列表
*
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.topic.TopicDTO>
* @params [params]
* @author liuchuang
* @since 2019/11/12 9:43
*/
PageData<TopicDTO> listPoliceTopic(Map<String, Object> params);
/**
* 默认查询
*
@ -73,11 +82,10 @@ public interface TopicService extends BaseService<TopicEntity> {
List<TopicDTO> list(Map<String, Object> params);
/**
*
* 移动端-话题列表
*
* @params [formDto]
* @return java.util.List<com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>
* @params [formDto]
* @author liuchuang
* @since 2019/11/11 15:08
*/
@ -130,99 +138,90 @@ public interface TopicService extends BaseService<TopicEntity> {
void updateCommentNum(String id);
/**
*
* 移动端-发布话题
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/11/6 15:53
*/
Result saveTopic(TopicSubmitFormDTO formDto);
/**
*
* 移动端-话题详情
*
* @params [id]
* @return com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO
* @params [id]
* @author liuchuang
* @since 2019/11/7 15:34
*/
TopicDetailResultDTO getTopicDetailById(TopicDetailFormDTO formDto);
/**
*
* 关闭话题
*
* @params [formDto, operatorUser操作人0-群主1-网格长]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto, operatorUser操作人0-群主1-网格长]
* @author liuchuang
* @since 2019/11/7 16:50
*/
Result modifyTopicState(TopicCloseFormDTO formDto, String operatorUser);
/**
*
* 话题审核记录
*
* @params [topicId]
* @return java.util.List<com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO>
* @params [topicId]
* @author liuchuang
* @since 2019/11/8 9:35
*/
List<TopicAuditRecordResultDTO> listOfTopicAuditRecord(String topicId);
/**
*
* 移动端-转议题
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/11/8 10:41
*/
Result changeToIssue(TopicChangeToIssueFormDTO formDto);
/**
*
* 话题转议题回调
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [formDto]
* @author liuchuang
* @since 2019/11/11 10:50
*/
Result reviewCallback(TopicReviewFormDTO formDto);
/**
*
* 话题详情
*
* @params [id]
* @return com.elink.esua.epdc.dto.topic.TopicDetailDTO
* @params [id]
* @author liuchuang
* @since 2019/11/12 10:24
*/
TopicDetailDTO getDetail(String id);
/**
*
* 话题修改组织机构信息
*
* @params [dto]
* @return void
* @params [dto]
* @author liuchuang
* @since 2020/3/7 1:23
*/
void modifyOrganizationInfo(OrganizationModifyDTO dto);
/**
*
* 更新话题表党员群名称
*
* @params [groups]
* @return void
* @params [groups]
* @author liuchuang
* @since 2020/3/7 12:20
*/

7
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicServiceImpl.java

@ -122,6 +122,13 @@ public class TopicServiceImpl extends BaseServiceImpl<TopicDao, TopicEntity> imp
return new PageData<>(list, page.getTotal());
}
@Override
public PageData<TopicDTO> listPoliceTopic(Map<String, Object> params) {
IPage<TopicDTO> page = getPage(params);
List<TopicDTO> list = baseDao.selectPoliceListTopic(params);
return new PageData<>(list, page.getTotal());
}
@Override
public List<TopicDTO> list(Map<String, Object> params) {
return baseDao.selectListTopic(params);

329
epdc-cloud-property/src/main/resources/mapper/group/GroupDao.xml

@ -5,37 +5,72 @@
<select id="selectListOfGroups" resultType="com.elink.esua.epdc.dto.group.GroupManagementDTO">
SELECT
gp.ID,
gp.GROUP_NAME,
gp.GROUP_CATEGORY,
gp.CREATED_TIME,
ugp.NICKNAME,
gp.STATE
gp.ID,
gp.GROUP_NAME,
gp.GROUP_CATEGORY,
gp.CREATED_TIME,
ugp.NICKNAME,
gp.STATE
FROM
epdc_group gp
LEFT JOIN epdc_user_group ugp ON ugp.GROUP_ID = gp.ID
AND ugp.DEL_FLAG = '0'
AND ugp.LORD_FLAG = '1'
epdc_group gp
LEFT JOIN epdc_user_group ugp ON ugp.GROUP_ID = gp.ID
AND ugp.DEL_FLAG = '0'
AND ugp.LORD_FLAG = '1'
WHERE
gp.DEL_FLAG = '0'
AND gp.GROUP_CATEGORY = '2'
<if test="state != null and state != ''">
AND gp.STATE = #{state}
</if>
<if test="gridId != null and gridId != ''">
AND (gp.GRID_ID = #{gridId}
OR find_in_set(#{gridId},gp.ALL_DEPT_IDS))
</if>
<if test="streetId != null and streetId != ''">
AND (find_in_set(#{streetId},gp.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},gp.ALL_DEPT_IDS))
</if>
<if test="communityId != null and communityId != ''">
AND (find_in_set(#{communityId},gp.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},gp.ALL_DEPT_IDS))
</if>
gp.DEL_FLAG = '0'
AND gp.GROUP_CATEGORY = '2'
<if test="state != null and state != ''">
AND gp.STATE = #{state}
</if>
<if test="gridId != null and gridId != ''">
AND (gp.GRID_ID = #{gridId}
OR find_in_set(#{gridId},gp.ALL_DEPT_IDS))
</if>
<if test="streetId != null and streetId != ''">
AND (find_in_set(#{streetId},gp.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},gp.ALL_DEPT_IDS))
</if>
<if test="communityId != null and communityId != ''">
AND (find_in_set(#{communityId},gp.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},gp.ALL_DEPT_IDS))
</if>
ORDER BY
gp.GROUP_CATEGORY, gp.CREATED_TIME DESC
gp.GROUP_CATEGORY, gp.CREATED_TIME DESC
</select>
<select id="selectPoliceListOfGroups" resultType="com.elink.esua.epdc.dto.group.GroupManagementDTO">
SELECT
gp.ID,
gp.GROUP_NAME,
gp.GROUP_CATEGORY,
gp.CREATED_TIME,
ugp.NICKNAME,
gp.STATE
FROM
epdc_group gp
LEFT JOIN epdc_user_group ugp ON ugp.GROUP_ID = gp.ID
AND ugp.DEL_FLAG = '0'
AND ugp.LORD_FLAG = '1'
WHERE
gp.DEL_FLAG = '0'
AND gp.GROUP_CATEGORY = '3'
<if test="state != null and state != ''">
AND gp.STATE = #{state}
</if>
<if test="gridId != null and gridId != ''">
AND (gp.GRID_ID = #{gridId}
OR find_in_set(#{gridId},gp.ALL_DEPT_IDS))
</if>
<if test="streetId != null and streetId != ''">
AND (find_in_set(#{streetId},gp.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},gp.ALL_DEPT_IDS))
</if>
<if test="communityId != null and communityId != ''">
AND (find_in_set(#{communityId},gp.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},gp.ALL_DEPT_IDS))
</if>
ORDER BY
gp.GROUP_CATEGORY, gp.CREATED_TIME DESC
</select>
<select id="selectListOfRepeatGroupName" resultType="long">
@ -59,53 +94,53 @@
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( DISTINCT ugp1.ID ) AS totalNum,-->
<!-- COUNT(DISTINCT ugp2.ID) AS partyMemberNum,-->
<!-- COUNT( DISTINCT ugpr.ID ) AS unreadTopicNum,-->
<!-- MAX( tp.CREATED_TIME ) AS latestTopicTime,-->
<!-- CASE-->
<!-- WHEN gp.STATE = 0 THEN-->
<!-- '网格长会尽快审核您创建的社群,请耐心等待'-->
<!-- WHEN gp.STATE = 5 THEN-->
<!-- gp.PROCESSING_OPINIONS-->
<!-- WHEN ( gp.STATE = 10 AND COUNT( DISTINCT ugp1.ID ) <![CDATA[ <= ]]> 1 AND gp.GROUP_CATEGORY = '1' AND COUNT(DISTINCT tp.ID) = 0 ) 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_user_group ugp2 ON gp.ID = ugp2.GROUP_ID-->
<!-- AND ugp2.DEL_FLAG = '0'-->
<!-- AND ugp2.STATE = 10-->
<!-- AND ugp2.PARTY_MEMBER = '1'-->
<!-- 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'-->
<!-- 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}-->
<!-- <![CDATA[ AND gp.STATE <> ]]> 20-->
<!-- GROUP BY-->
<!-- gp.ID-->
<!-- ORDER BY-->
<!-- MAX( tp.CREATED_TIME ) DESC-->
<!-- </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( DISTINCT ugp1.ID ) AS totalNum,-->
<!-- COUNT(DISTINCT ugp2.ID) AS partyMemberNum,-->
<!-- COUNT( DISTINCT ugpr.ID ) AS unreadTopicNum,-->
<!-- MAX( tp.CREATED_TIME ) AS latestTopicTime,-->
<!-- CASE-->
<!-- WHEN gp.STATE = 0 THEN-->
<!-- '网格长会尽快审核您创建的社群,请耐心等待'-->
<!-- WHEN gp.STATE = 5 THEN-->
<!-- gp.PROCESSING_OPINIONS-->
<!-- WHEN ( gp.STATE = 10 AND COUNT( DISTINCT ugp1.ID ) <![CDATA[ <= ]]> 1 AND gp.GROUP_CATEGORY = '1' AND COUNT(DISTINCT tp.ID) = 0 ) 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_user_group ugp2 ON gp.ID = ugp2.GROUP_ID-->
<!-- AND ugp2.DEL_FLAG = '0'-->
<!-- AND ugp2.STATE = 10-->
<!-- AND ugp2.PARTY_MEMBER = '1'-->
<!-- 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'-->
<!-- 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}-->
<!-- <![CDATA[ AND gp.STATE <> ]]> 20-->
<!-- GROUP BY-->
<!-- gp.ID-->
<!-- ORDER BY-->
<!-- MAX( tp.CREATED_TIME ) DESC-->
<!-- </select>-->
<select id="selectListGroupsOfMine" resultType="com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO">
SELECT
@ -178,37 +213,38 @@ ORDER BY
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( DISTINCT ugp1.ID ) AS totalNum,-->
<!-- COUNT( DISTINCT ugp2.ID ) 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-->
<!-- LEFT JOIN epdc_user_group ugp2 ON gp.ID = ugp2.GROUP_ID-->
<!-- AND ugp2.DEL_FLAG = '0'-->
<!-- AND ugp2.STATE = 10-->
<!-- AND ugp2.PARTY_MEMBER = '1'-->
<!-- 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.GROUP_CATEGORY = '1'-->
<!-- 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-->
<!-- MAX( tp.CREATED_TIME ) DESC-->
<!-- </select>-->
<!-- <select id="selectListGroupsOfRecommend" resultType="com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO">-->
<!-- SELECT-->
<!-- gp.ID,-->
<!-- gp.GROUP_NAME,-->
<!-- gp.GROUP_AVATAR,-->
<!-- COUNT( DISTINCT ugp1.ID ) AS totalNum,-->
<!-- COUNT( DISTINCT ugp2.ID ) 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-->
<!-- LEFT JOIN epdc_user_group ugp2 ON gp.ID = ugp2.GROUP_ID-->
<!-- AND ugp2.DEL_FLAG = '0'-->
<!-- AND ugp2.STATE = 10-->
<!-- AND ugp2.PARTY_MEMBER = '1'-->
<!-- 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.GROUP_CATEGORY = '1'-->
<!-- 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-->
<!-- MAX( tp.CREATED_TIME ) DESC-->
<!-- </select>-->
<select id="selectListGroupsOfRecommend" resultType="com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO">
<select id="selectListGroupsOfRecommend"
resultType="com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO">
SELECT
gp.ID,
gp.GROUP_NAME,
@ -231,7 +267,8 @@ ORDER BY
MAX( tp.CREATED_TIME ) DESC
</select>
<select id="selectOneOfGroupDetailForMobileEnd" resultType="com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO">
<select id="selectOneOfGroupDetailForMobileEnd"
resultType="com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO">
SELECT
gp.ID,
gp.GROUP_NAME,
@ -278,28 +315,40 @@ ORDER BY
AND GRID_ID = #{deptId}
</select>
<select id="selectListOfGroupByDeptId" resultType="com.elink.esua.epdc.dto.group.GroupListDTO">
SELECT
ID AS groupId,
GROUP_NAME AS groupName
FROM
epdc_group
WHERE
DEL_FLAG = '0'
AND STATE IN ( 10, 15 )
AND GRID_ID = #{deptId}
</select>
<select id="selectListOfGroupOrderByActivity" resultType="com.elink.esua.epdc.dto.group.GroupActivityDTO">
SELECT
gp.GROUP_NAME,
gp.ALL_DEPT_NAMES
gp.GROUP_NAME,
gp.ALL_DEPT_NAMES
FROM
epdc_group gp
LEFT JOIN (
SELECT
tc.GROUP_ID,
( tc.COMMENT_NUM + tc.BROWSE_NUM + SUM( tcm.LIKE_COUNT ) + SUM( tcm.UN_LIKE_COUNT ) ) AS attitudeNum
FROM
epdc_topic tc
LEFT JOIN epdc_topic_comment tcm ON tc.ID = tcm.TOPIC_ID
AND tcm.DEL_FLAG = '0'
WHERE
tc.DEL_FLAG = '0'
group by
tc.ID
) tmp ON gp.ID = tmp.GROUP_ID
epdc_group gp
LEFT JOIN (
SELECT
tc.GROUP_ID,
( tc.COMMENT_NUM + tc.BROWSE_NUM + SUM( tcm.LIKE_COUNT ) + SUM( tcm.UN_LIKE_COUNT ) ) AS attitudeNum
FROM
epdc_topic tc
LEFT JOIN epdc_topic_comment tcm ON tc.ID = tcm.TOPIC_ID
AND tcm.DEL_FLAG = '0'
WHERE
gp.DEL_FLAG = '0'
AND gp.STATE IN ( 10, 15 )
tc.DEL_FLAG = '0'
group by
tc.ID
) tmp ON gp.ID = tmp.GROUP_ID
WHERE
gp.DEL_FLAG = '0'
AND gp.STATE IN ( 10, 15 )
<if test="gridId != null and gridId != ''">
AND (gp.GRID_ID = #{gridId}
OR find_in_set(#{gridId},gp.ALL_DEPT_IDS))
@ -316,27 +365,27 @@ ORDER BY
AND DATE_FORMAT( gp.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if>
GROUP BY
gp.ID
gp.ID
ORDER BY
SUM( tmp.attitudeNum ) DESC,
gp.CREATED_TIME DESC
SUM( tmp.attitudeNum ) DESC,
gp.CREATED_TIME DESC
</select>
<select id="selectListOfGroupOrderByMember" resultType="com.elink.esua.epdc.dto.group.GroupMemberDTO">
SELECT
gp.GROUP_NAME,
gp.GROUP_NAME,
CASE
WHEN COUNT( up.ID ) IS NULL THEN
0 ELSE COUNT( up.ID ) END AS memberNum,
gp.ALL_DEPT_NAMES
WHEN COUNT( up.ID ) IS NULL THEN
0 ELSE COUNT( up.ID ) END AS memberNum,
gp.ALL_DEPT_NAMES
FROM
epdc_group gp
LEFT JOIN epdc_user_group up ON gp.ID = up.GROUP_ID
AND up.DEL_FLAG = '0'
AND up.STATE = 10
epdc_group gp
LEFT JOIN epdc_user_group up ON gp.ID = up.GROUP_ID
AND up.DEL_FLAG = '0'
AND up.STATE = 10
WHERE
gp.DEL_FLAG = '0'
AND gp.STATE IN ( 10, 15 )
gp.DEL_FLAG = '0'
AND gp.STATE IN ( 10, 15 )
<if test="gridId != null and gridId != ''">
AND (gp.GRID_ID = #{gridId}
OR find_in_set(#{gridId},gp.ALL_DEPT_IDS))
@ -353,10 +402,10 @@ ORDER BY
AND DATE_FORMAT( gp.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if>
GROUP BY
gp.ID
gp.ID
ORDER BY
memberNum DESC,
gp.CREATED_TIME DESC
memberNum DESC,
gp.CREATED_TIME DESC
</select>
<select id="selectOnePartyGroupInfoByGridId" resultType="com.elink.esua.epdc.dto.group.GroupDTO">

51
epdc-cloud-property/src/main/resources/mapper/police/PoliceDao.xml

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.elink.esua.epdc.modules.police.dao.PoliceDao">
<resultMap type="com.elink.esua.epdc.modules.police.entity.PoliceEntity" id="policeMap">
<result property="id" column="ID"/>
<result property="policeName" column="POLICE_NAME"/>
<result property="policeAvatar" column="POLICE_AVATAR"/>
<result property="policeTel" column="POLICE_TEL"/>
<result property="policeNo" column="POLICE_NO"/>
<result property="deptName" column="DEPT_NAME"/>
<result property="deptId" column="DEPT_ID"/>
<result property="displayFlag" column="DISPLAY_FLAG"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="allDeptIds" column="ALL_DEPT_IDS"/>
<result property="allDeptNames" column="ALL_DEPT_NAMES"/>
<result property="parentDeptIds" column="PARENT_DEPT_IDS"/>
<result property="parentDeptNames" column="PARENT_DEPT_NAMES"/>
</resultMap>
<sql id="Base_Column_List">
ID, POLICE_NAME, POLICE_AVATAR, POLICE_TEL, POLICE_NO, DEPT_ID, DEPT_NAME,
DISPLAY_FLAG CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME,
ALL_DEPT_IDS, ALL_DEPT_NAMES, PARENT_DEPT_IDS, PARENT_DEPT_NAMES
</sql>
<select id="selectListOfPolice" resultType="com.elink.esua.epdc.modules.police.entity.PoliceEntity">
SELECT
<include refid="Base_Column_List" />
FROM
epdc_police ep
WHERE
ep.DEL_FLAG = '0'
<if test="policeName != null and policeName != ''">
AND ep.POLICE_NAME like CONCAT( '%', #{policeName}, '%' )
</if>
<if test="policeNo != null and policeNo != ''">
AND ep.POLICE_NO like CONCAT( '%', #{policeNo}, '%' )
</if>
<if test="deptId != null and deptId != ''">
AND (ep.DEPT_ID = #{deptId}
OR find_in_set(#{deptId},ep.ALL_DEPT_IDS))
</if>
ORDER BY
ep.CREATED_TIME DESC
</select>
</mapper>

52
epdc-cloud-property/src/main/resources/mapper/topic/TopicDao.xml

@ -237,6 +237,58 @@
</if>
</select>
<select id="selectPoliceListTopic" resultType="com.elink.esua.epdc.dto.topic.TopicDTO">
SELECT
temp.ID,
temp.NICKNAME,
temp.CREATED_TIME,
temp.TOPIC_CONTENT,
temp.COMMENT_NUM,
temp.BROWSE_NUM,
( temp.BROWSE_NUM + temp.COMMENT_NUM ) AS participantsNum,
temp.STATE
FROM
epdc_topic temp
WHERE
temp.DEL_FLAG = '0'
AND temp.STATE IN ( 0, 5, 20)
AND temp.GROUP_CATEGORY = '3'
<if test="associatedType != null and associatedType != ''">
AND temp.STATE in (0,5,10,15)
</if>
<if test="streetId != null and streetId != ''">
AND (find_in_set(#{streetId},temp.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},temp.ALL_DEPT_IDS))
</if>
<if test="communityId != null and communityId != ''">
AND (find_in_set(#{communityId},temp.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},temp.ALL_DEPT_IDS))
</if>
<if test="gridId != null and gridId != ''">
AND (temp.GRID_ID = #{gridId}
OR find_in_set(#{gridId},temp.ALL_DEPT_IDS))
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT( temp.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if>
<if test="groupId != null and groupId != ''">
AND temp.GROUP_ID = #{groupId}
</if>
<if test="keyword != null and keyword != ''">
AND temp.TOPIC_CONTENT like concat('%', trim(#{keyword}), '%')
</if>
ORDER BY
<if test="orderType == 0">
temp.CREATED_TIME DESC
</if>
<if test="orderType == 1">
temp.BROWSE_NUM DESC
</if>
<if test="orderType == 2">
temp.COMMENT_NUM DESC
</if>
</select>
<resultMap id="topicDetail" type="com.elink.esua.epdc.dto.topic.TopicDetailDTO">
<result property="nickname" column="NICKNAME"/>
<result property="createdTime" column="CREATED_TIME"/>

Loading…
Cancel
Save