Browse Source

Merge remote-tracking branch 'origin/dev_1118' into dev_1118

# Conflicts:
#	esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
dev
李鹏飞 6 years ago
parent
commit
93b46af450
  1. 118
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/AppMenuDTO.java
  2. 62
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/AppRoleMenuDTO.java
  3. 36
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/enums/MenuTableEnum.java
  4. 109
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AppMenuController.java
  5. 94
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AppRoleMenuController.java
  6. 48
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/AppMenuDao.java
  7. 33
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/AppRoleMenuDao.java
  8. 97
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/AppMenuEntity.java
  9. 49
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/AppRoleMenuEntity.java
  10. 74
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/AppMenuExcel.java
  11. 50
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/AppRoleMenuExcel.java
  12. 47
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/AppMenuRedis.java
  13. 47
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/AppRoleMenuRedis.java
  14. 126
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/AppMenuService.java
  15. 95
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/AppRoleMenuService.java
  16. 132
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/AppMenuServiceImpl.java
  17. 104
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/AppRoleMenuServiceImpl.java
  18. 27
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysMenuServiceImpl.java
  19. 18
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/AppMenuDao.xml
  20. 15
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/AppRoleMenuDao.xml
  21. 2
      esua-epdc/epdc-gateway/pom.xml
  22. 1
      esua-epdc/epdc-gateway/src/main/resources/application.yml
  23. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java
  24. 33
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkIssueController.java
  25. 18
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkUserController.java
  26. 40
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  27. 39
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/WorkIssueFeignClient.java
  28. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  29. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/WorkIssueFeignClientFallback.java
  30. 27
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkIssueService.java
  31. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkUserService.java
  32. 30
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkIssueServiceImpl.java
  33. 9
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java
  34. 100
      esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/controller/ImportInShiBeiController.java
  35. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ImageConstant.java
  36. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDetailDTO.java
  37. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventsReviewFormDTO.java
  38. 2
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssuePendingResponseFormDTO.java
  39. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/controller/EpdcAppEventsController.java
  40. 42
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/controller/EpdcAppWorkEventsController.java
  41. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java
  42. 9
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java
  43. 29
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java
  44. 65
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppWorkIssueController.java
  45. 7
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java
  46. 10
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java
  47. 2
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml
  48. 5
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupDetailForMobileEndResultDTO.java
  49. 6
      esua-epdc/epdc-module/epdc-group/epdc-group-server/pom.xml
  50. 4
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/UserGroupDao.java
  51. 4
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/UserGroupService.java
  52. 9
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java
  53. 4
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java
  54. 6
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java
  55. 5
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml
  56. 10
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml
  57. 44
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
  58. 37
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
  59. 10
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  60. 35
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  61. 207
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

118
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/AppMenuDTO.java

@ -0,0 +1,118 @@
/**
* 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.dto;
import java.io.Serializable;
import java.util.Date;
import com.elink.esua.epdc.commons.tools.utils.TreeNode;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* APP菜单管理
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@Data
public class AppMenuDTO extends TreeNode<SysMenuDTO> implements Serializable {
private static final long serialVersionUID = -319379699436244053L;
/**
* id
*/
@NotNull(message = "{id.require}", groups = UpdateGroup.class)
private Long id;
/**
* 上级ID一级菜单为0
*/
@NotNull(message = "{sysmenu.pid.require}", groups = DefaultGroup.class)
private Long pid;
/**
* 菜单URL
*/
private String url;
/**
* 类型 0菜单 1按钮
*/
@Range(min = 0, max = 1, message = "{sysmenu.type.range}", groups = DefaultGroup.class)
private Integer type;
/**
* 菜单图标
*/
private String icon;
/**
* 权限标识sys:menu:save
*/
private String permissions;
/**
* 排序
*/
@Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class)
private Integer sort;
/**
* 删除标识 0未删除 1删除
*/
private Integer delFlag;
/**
* 创建者
*/
private Long creator;
/**
* 创建时间
*/
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date createDate;
/**
* 更新者
*/
private Long updater;
/**
* 更新时间
*/
private Date updateDate;
/**
* 菜单编码
*/
private String menuCode;
@NotBlank(message = "{sysmenu.name.require}", groups = DefaultGroup.class)
private String name;
}

62
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/AppRoleMenuDTO.java

@ -0,0 +1,62 @@
/**
* 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.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* APP角色菜单关系
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@Data
public class AppRoleMenuDTO implements Serializable {
private static final long serialVersionUID = 9222960342198691097L;
/**
* id
*/
private Long id;
/**
* 角色ID
*/
private Long roleId;
/**
* 菜单ID
*/
private Long menuId;
/**
* 创建者
*/
private Long creator;
/**
* 创建时间
*/
private Date createDate;
}

36
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/enums/MenuTableEnum.java

@ -0,0 +1,36 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.enums;
/**
* 菜单表枚举
*
* @author work@yujt.net.cn
* @date 2019/11/19 13:56
*/
public enum MenuTableEnum {
/**
* 菜单资源
*/
SYS("sys_menu"),
/**
* 非菜单资源
*/
APP("sys_app_menu");
private String value;
MenuTableEnum(String value) {
this.value = value;
}
public String value() {
return value;
}
}

109
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AppMenuController.java

@ -0,0 +1,109 @@
/**
* 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.controller;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
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.AppMenuDTO;
import com.elink.esua.epdc.excel.AppMenuExcel;
import com.elink.esua.epdc.service.AppMenuService;
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;
/**
* APP菜单管理
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@RestController
@RequestMapping("appmenu")
public class AppMenuController {
@Autowired
private AppMenuService appMenuService;
/**
* 获取APP菜单列表
*
* @param type 菜单类型 0菜单 1按钮 null全部
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.AppMenuDTO>>
* @author work@yujt.net.cn
* @date 2019/11/19 13:26
*/
@GetMapping("list")
public Result<List<AppMenuDTO>> list(Integer type) {
List<AppMenuDTO> list = appMenuService.getAppMenuList(type);
return new Result<List<AppMenuDTO>>().ok(list);
}
@GetMapping("{id}")
public Result<AppMenuDTO> get(@PathVariable("id") String id) {
AppMenuDTO data = appMenuService.get(id);
return new Result<AppMenuDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody AppMenuDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
appMenuService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody AppMenuDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
appMenuService.update(dto);
return new Result();
}
@DeleteMapping("{id}")
public Result delete(@PathVariable("id") Long id){
//效验数据
AssertUtils.isNull(id, "id");
//判断是否有子菜单或按钮
if(appMenuService.hasChileMenu(id)){
return new Result().error(ErrorCode.SUB_MENU_EXIST);
}
appMenuService.delete(id);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<AppMenuDTO> list = appMenuService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, AppMenuExcel.class);
}
}

94
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AppRoleMenuController.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.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.AppRoleMenuDTO;
import com.elink.esua.epdc.excel.AppRoleMenuExcel;
import com.elink.esua.epdc.service.AppRoleMenuService;
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;
/**
* APP角色菜单关系
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@RestController
@RequestMapping("approlemenu")
public class AppRoleMenuController {
@Autowired
private AppRoleMenuService appRoleMenuService;
@GetMapping("page")
public Result<PageData<AppRoleMenuDTO>> page(@RequestParam Map<String, Object> params) {
PageData<AppRoleMenuDTO> page = appRoleMenuService.page(params);
return new Result<PageData<AppRoleMenuDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<AppRoleMenuDTO> get(@PathVariable("id") String id) {
AppRoleMenuDTO data = appRoleMenuService.get(id);
return new Result<AppRoleMenuDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody AppRoleMenuDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
appRoleMenuService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody AppRoleMenuDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
appRoleMenuService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
appRoleMenuService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<AppRoleMenuDTO> list = appRoleMenuService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, AppRoleMenuExcel.class);
}
}

48
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/AppMenuDao.java

@ -0,0 +1,48 @@
/**
* 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.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.AppMenuDTO;
import com.elink.esua.epdc.entity.AppMenuEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 菜单管理
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@Mapper
public interface AppMenuDao extends BaseDao<AppMenuEntity> {
/**
* 获取app菜单列表
*
* @param type 菜单类型
* @param language 语言
* @return java.util.List<com.elink.esua.epdc.dto.AppMenuDTO>
* @author work@yujt.net.cn
* @date 2019/11/19 13:43
*/
List<AppMenuDTO> selectListAppMenu(@Param("type") Integer type, @Param("language") String language);
}

33
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/AppRoleMenuDao.java

@ -0,0 +1,33 @@
/**
* 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.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.AppRoleMenuEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 角色菜单关系
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@Mapper
public interface AppRoleMenuDao extends BaseDao<AppRoleMenuEntity> {
}

97
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/AppMenuEntity.java

@ -0,0 +1,97 @@
/**
* 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.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* APP菜单管理
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sys_app_menu")
public class AppMenuEntity extends BaseEntity {
private static final long serialVersionUID = 8343477172739451636L;
/**
* 上级ID一级菜单为0
*/
private Long pid;
/**
* 菜单URL
*/
private String url;
/**
* 类型 0菜单 1按钮
*/
private Integer type;
/**
* 菜单图标
*/
private String icon;
/**
* 权限标识sys:menu:save
*/
private String permissions;
/**
* 排序
*/
private Integer sort;
/**
* 删除标识 0未删除 1删除
*/
@TableField(fill = FieldFill.INSERT)
private Integer delFlag;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateDate;
/**
* 菜单编码
*/
private String menuCode;
}

49
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/AppRoleMenuEntity.java

@ -0,0 +1,49 @@
/**
* 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.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* APP角色菜单关系
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sys_app_role_menu")
public class AppRoleMenuEntity extends BaseEntity {
private static final long serialVersionUID = 5439181968297858519L;
/**
* 角色ID
*/
private Long roleId;
/**
* 菜单ID
*/
private Long menuId;
}

74
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/AppMenuExcel.java

@ -0,0 +1,74 @@
/**
* 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.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 菜单管理
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@Data
public class AppMenuExcel {
@Excel(name = "id")
private Long id;
@Excel(name = "上级ID,一级菜单为0")
private Long pid;
@Excel(name = "菜单URL")
private String url;
@Excel(name = "类型 0:菜单 1:按钮")
private Integer type;
@Excel(name = "菜单图标")
private String icon;
@Excel(name = "权限标识,如:sys:menu:save")
private String permissions;
@Excel(name = "排序")
private Integer sort;
@Excel(name = "删除标识 0:未删除 1:删除")
private Integer delFlag;
@Excel(name = "创建者")
private Long creator;
@Excel(name = "创建时间")
private Date createDate;
@Excel(name = "更新者")
private Long updater;
@Excel(name = "更新时间")
private Date updateDate;
@Excel(name = "菜单编码")
private String menuCode;
}

50
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/AppRoleMenuExcel.java

@ -0,0 +1,50 @@
/**
* 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.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 角色菜单关系
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@Data
public class AppRoleMenuExcel {
@Excel(name = "id")
private Long id;
@Excel(name = "角色ID")
private Long roleId;
@Excel(name = "菜单ID")
private Long menuId;
@Excel(name = "创建者")
private Long creator;
@Excel(name = "创建时间")
private Date createDate;
}

47
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/AppMenuRedis.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.redis;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 菜单管理
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@Component
public class AppMenuRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

47
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/AppRoleMenuRedis.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.redis;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 角色菜单关系
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@Component
public class AppRoleMenuRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

126
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/AppMenuService.java

@ -0,0 +1,126 @@
/**
* 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.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.AppMenuDTO;
import com.elink.esua.epdc.entity.AppMenuEntity;
import java.util.List;
import java.util.Map;
/**
* APP菜单管理
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
public interface AppMenuService extends BaseService<AppMenuEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<AppMenuDTO>
* @author generator
* @date 2019-11-19
*/
PageData<AppMenuDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<AppMenuDTO>
* @author generator
* @date 2019-11-19
*/
List<AppMenuDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return AppMenuDTO
* @author generator
* @date 2019-11-19
*/
AppMenuDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2019-11-19
*/
void save(AppMenuDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2019-11-19
*/
void update(AppMenuDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2019-11-19
*/
void delete(String[] ids);
/**
* 获取APP菜单列表
*
* @param type 菜单类型 0菜单 1按钮 null全部
* @return java.util.List<com.elink.esua.epdc.dto.AppMenuDTO>
* @author work@yujt.net.cn
* @date 2019/11/19 13:27
*/
List<AppMenuDTO> getAppMenuList(Integer type);
/**
* 根据ID删除
*
* @param id 菜单ID
* @return void
* @author work@yujt.net.cn
* @date 2019/11/19 14:31
*/
void delete(Long id);
/**
* 判断是否有子级菜单
*
* @param id 菜单ID
* @return boolean
* @author work@yujt.net.cn
* @date 2019/11/19 14:30
*/
boolean hasChileMenu(Long id);
}

95
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/AppRoleMenuService.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.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.AppRoleMenuDTO;
import com.elink.esua.epdc.entity.AppRoleMenuEntity;
import java.util.List;
import java.util.Map;
/**
* APP角色菜单关系
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
public interface AppRoleMenuService extends BaseService<AppRoleMenuEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<AppRoleMenuDTO>
* @author generator
* @date 2019-11-19
*/
PageData<AppRoleMenuDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<AppRoleMenuDTO>
* @author generator
* @date 2019-11-19
*/
List<AppRoleMenuDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return AppRoleMenuDTO
* @author generator
* @date 2019-11-19
*/
AppRoleMenuDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2019-11-19
*/
void save(AppRoleMenuDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2019-11-19
*/
void update(AppRoleMenuDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2019-11-19
*/
void delete(String[] ids);
}

132
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/AppMenuServiceImpl.java

@ -0,0 +1,132 @@
/**
* 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.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.enums.DelFlagEnum;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
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.commons.tools.utils.HttpContextUtils;
import com.elink.esua.epdc.commons.tools.utils.TreeUtils;
import com.elink.esua.epdc.dao.AppMenuDao;
import com.elink.esua.epdc.dto.AppMenuDTO;
import com.elink.esua.epdc.entity.AppMenuEntity;
import com.elink.esua.epdc.enums.MenuTableEnum;
import com.elink.esua.epdc.service.AppMenuService;
import com.elink.esua.epdc.service.SysLanguageService;
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 java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* APP菜单管理
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@Service
public class AppMenuServiceImpl extends BaseServiceImpl<AppMenuDao, AppMenuEntity> implements AppMenuService {
@Autowired
private SysLanguageService sysLanguageService;
@Override
public PageData<AppMenuDTO> page(Map<String, Object> params) {
IPage<AppMenuEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, AppMenuDTO.class);
}
@Override
public List<AppMenuDTO> list(Map<String, Object> params) {
List<AppMenuEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, AppMenuDTO.class);
}
@Override
public List<AppMenuDTO> getAppMenuList(Integer type) {
List<AppMenuDTO> menuList = baseDao.selectListAppMenu(type, HttpContextUtils.getLanguage());
return TreeUtils.build(menuList, Constant.MENU_ROOT);
}
private QueryWrapper<AppMenuEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<AppMenuEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public AppMenuDTO get(String id) {
AppMenuEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, AppMenuDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(AppMenuDTO dto) {
AppMenuEntity entity = ConvertUtils.sourceToTarget(dto, AppMenuEntity.class);
insert(entity);
sysLanguageService.saveOrUpdate(MenuTableEnum.APP.value(), entity.getId(), "name", dto.getName(), HttpContextUtils.getLanguage());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(AppMenuDTO dto) {
AppMenuEntity entity = ConvertUtils.sourceToTarget(dto, AppMenuEntity.class);
updateById(entity);
sysLanguageService.saveOrUpdate(MenuTableEnum.APP.value(), entity.getId(), "name", dto.getName(), HttpContextUtils.getLanguage());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 物理删除(没有使用@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public void delete(Long id) {
baseDao.deleteById(id);
}
@Override
public boolean hasChileMenu(Long id) {
QueryWrapper<AppMenuEntity> wrapper = new QueryWrapper<>();
wrapper.eq("pid", id)
.eq(FieldConstant.DEL_FLAG, DelFlagEnum.NORMAL.value());
Integer selectCount = baseDao.selectCount(wrapper);
return selectCount > NumConstant.ZERO;
}
}

104
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/AppRoleMenuServiceImpl.java

@ -0,0 +1,104 @@
/**
* 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.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.dao.AppRoleMenuDao;
import com.elink.esua.epdc.dto.AppRoleMenuDTO;
import com.elink.esua.epdc.entity.AppRoleMenuEntity;
import com.elink.esua.epdc.redis.AppRoleMenuRedis;
import com.elink.esua.epdc.service.AppRoleMenuService;
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 java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* APP角色菜单关系
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@Service
public class AppRoleMenuServiceImpl extends BaseServiceImpl<AppRoleMenuDao, AppRoleMenuEntity> implements AppRoleMenuService {
@Autowired
private AppRoleMenuRedis appRoleMenuRedis;
@Override
public PageData<AppRoleMenuDTO> page(Map<String, Object> params) {
IPage<AppRoleMenuEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, AppRoleMenuDTO.class);
}
@Override
public List<AppRoleMenuDTO> list(Map<String, Object> params) {
List<AppRoleMenuEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, AppRoleMenuDTO.class);
}
private QueryWrapper<AppRoleMenuEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<AppRoleMenuEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public AppRoleMenuDTO get(String id) {
AppRoleMenuEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, AppRoleMenuDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(AppRoleMenuDTO dto) {
AppRoleMenuEntity entity = ConvertUtils.sourceToTarget(dto, AppRoleMenuEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(AppRoleMenuDTO dto) {
AppRoleMenuEntity entity = ConvertUtils.sourceToTarget(dto, AppRoleMenuEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

27
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysMenuServiceImpl.java

@ -1,8 +1,8 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* <p>
* https://www.renren.io
*
* <p>
* 版权所有侵权必究
*/
@ -21,6 +21,7 @@ import com.elink.esua.epdc.commons.tools.utils.TreeUtils;
import com.elink.esua.epdc.dao.SysMenuDao;
import com.elink.esua.epdc.dto.SysMenuDTO;
import com.elink.esua.epdc.entity.SysMenuEntity;
import com.elink.esua.epdc.enums.MenuTableEnum;
import com.elink.esua.epdc.enums.MenuTypeEnum;
import com.elink.esua.epdc.redis.SysMenuRedis;
import com.elink.esua.epdc.service.SysLanguageService;
@ -84,7 +85,7 @@ public class SysMenuServiceImpl extends BaseServiceImpl<SysMenuDao, SysMenuEntit
SysMenuEntity entity = ConvertUtils.sourceToTarget(dto, SysMenuEntity.class);
//上级菜单不能为自身
if(entity.getId().equals(entity.getPid())){
if (entity.getId().equals(entity.getPid())) {
throw new RenException(ErrorCode.SUPERIOR_MENU_ERROR);
}
@ -126,9 +127,9 @@ public class SysMenuServiceImpl extends BaseServiceImpl<SysMenuDao, SysMenuEntit
List<SysMenuEntity> menuList;
//系统管理员,拥有最高权限
if(userDetail.getSuperAdmin() == SuperAdminEnum.YES.value()){
if (userDetail.getSuperAdmin() == SuperAdminEnum.YES.value()) {
menuList = baseDao.getMenuList(type, HttpContextUtils.getLanguage());
}else {
} else {
menuList = baseDao.getUserMenuList(userDetail.getId(), type, HttpContextUtils.getLanguage());
}
@ -140,7 +141,7 @@ public class SysMenuServiceImpl extends BaseServiceImpl<SysMenuDao, SysMenuEntit
@Override
public List<SysMenuDTO> getUserMenuNavList(UserDetail userDetail) {
List<SysMenuDTO> menuList = sysMenuRedis.getUserMenuNavList(userDetail.getId());
if(menuList == null){
if (menuList == null) {
menuList = getUserMenuList(userDetail, MenuTypeEnum.MENU.value());
sysMenuRedis.setUserMenuNavList(userDetail.getId(), menuList);
@ -153,21 +154,21 @@ public class SysMenuServiceImpl extends BaseServiceImpl<SysMenuDao, SysMenuEntit
public Set<String> getUserPermissions(UserDetail userDetail) {
//用户权限列表
Set<String> permsSet = sysMenuRedis.getUserPermissions(userDetail.getId());
if(permsSet != null){
if (permsSet != null) {
return permsSet;
}
//超级管理员,拥有最高权限
List<SysMenuEntity> menuList;
if(userDetail.getSuperAdmin() == SuperAdminEnum.YES.value()){
if (userDetail.getSuperAdmin() == SuperAdminEnum.YES.value()) {
menuList = baseDao.getMenuList(MenuTypeEnum.BUTTON.value(), HttpContextUtils.getLanguage());
}else{
} else {
menuList = baseDao.getUserMenuList(userDetail.getId(), MenuTypeEnum.BUTTON.value(), HttpContextUtils.getLanguage());
}
permsSet = new HashSet<>();
for(SysMenuEntity menu : menuList){
if(StringUtils.isNotBlank(menu.getPermissions())){
for (SysMenuEntity menu : menuList) {
if (StringUtils.isNotBlank(menu.getPermissions())) {
permsSet.add(menu.getPermissions());
}
}
@ -185,8 +186,8 @@ public class SysMenuServiceImpl extends BaseServiceImpl<SysMenuDao, SysMenuEntit
return ConvertUtils.sourceToTarget(menuList, SysMenuDTO.class);
}
private void saveLanguage(Long tableId, String fieldName, String fieldValue){
sysLanguageService.saveOrUpdate("sys_menu", tableId, fieldName, fieldValue, HttpContextUtils.getLanguage());
private void saveLanguage(Long tableId, String fieldName, String fieldValue) {
sysLanguageService.saveOrUpdate(MenuTableEnum.SYS.value(), tableId, fieldName, fieldValue, HttpContextUtils.getLanguage());
}
}

18
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/AppMenuDao.xml

@ -0,0 +1,18 @@
<?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.dao.AppMenuDao">
<select id="selectListAppMenu" resultType="com.elink.esua.epdc.dto.AppMenuDTO">
SELECT
m.*,
l.field_value AS `NAME`
FROM
sys_app_menu m
LEFT JOIN sys_language l ON m.id = l.table_id AND l.table_name = 'sys_app_menu' AND l.field_name = 'name' AND l.LANGUAGE = #{language}
WHERE m.del_flag = 0
<if test="type != null">AND m.type = #{type}</if>
ORDER BY m.sort ASC
</select>
</mapper>

15
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/AppRoleMenuDao.xml

@ -0,0 +1,15 @@
<?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.dao.AppRoleMenuDao">
<resultMap type="com.elink.esua.epdc.entity.AppRoleMenuEntity" id="appRoleMenuMap">
<result property="id" column="id"/>
<result property="roleId" column="role_id"/>
<result property="menuId" column="menu_id"/>
<result property="creator" column="creator"/>
<result property="createDate" column="create_date"/>
</resultMap>
</mapper>

2
esua-epdc/epdc-gateway/pom.xml

@ -117,7 +117,7 @@
<!--<gateway.routes.epdc-user-server.uri>lb://epdc-user-server</gateway.routes.epdc-user-server.uri>-->
<gateway.routes.epdc-user-server.uri>http://127.0.0.1:9068</gateway.routes.epdc-user-server.uri>
<gateway.routes.epdc-demo-server.uri>lb://epdc-demo-server</gateway.routes.epdc-demo-server.uri>
<gateway.routes.epdc-group-server.uri>http://127.0.0.1:9064</gateway.routes.epdc-group-server.uri>
<gateway.routes.epdc-group-server.uri>http://127.0.0.1:9063</gateway.routes.epdc-group-server.uri>
<!--<gateway.routes.epdc-group-server.uri>lb://epdc-group-server</gateway.routes.epdc-group-server.uri>-->
<gateway.routes.epdc-websocket-server.uri>lb://epdc-websocket-server</gateway.routes.epdc-websocket-server.uri>
<!-- nacos -->

1
esua-epdc/epdc-gateway/src/main/resources/application.yml

@ -87,7 +87,6 @@ spring:
uri: @gateway.routes.epdc-group-server.uri@
order: 9
predicates:
- Path=/group/**
- Path=${server.servlet.context-path}/group/**
filters:
- StripPrefix=1

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

@ -137,7 +137,7 @@ public class ApiGroupController {
* @since 2019/10/23 9:13
*/
@GetMapping("listOfMember")
public Result<List<GroupUserListResultDTO>> listOfMember(@RequestBody GroupUsersFormDTO formDto) {
public Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto) {
return groupService.listOfMember(formDto);
}

33
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkIssueController.java

@ -3,6 +3,7 @@ package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.category.EventCategoryDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO;
@ -14,6 +15,9 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 工作端-议题管理模块
*/
@RestController
@RequestMapping("work/event/")
public class ApiWorkIssueController {
@ -22,27 +26,52 @@ public class ApiWorkIssueController {
private WorkIssueService workIssueService;
/**
*议题数据统计
* @param formDto
* @return
*/
@GetMapping("issue/statistics")
public Result<IssueStateStatisticsResultDTO> statistics(@RequestBody IssueStateStatisticsFormDTO formDto) {
return workIssueService.stateStatistics(formDto);
}
/**
*待回应列表
* @param formDto
* @return
*/
@GetMapping("issue/list")
public Result<List<IssuePendingResponseResultDTO>> list(@RequestBody IssuePendingResponseFormDTO formDto) {
return workIssueService.listIssuePendingResponse(formDto);
}
/**
*事件详情
* @param id
* @return
*/
@GetMapping("event/detail/{id}")
public Result<EventAppDetailResultDTO> detail(@PathVariable("id") String id) {
return workIssueService.detail(id);
}
/**
*事件分类
* @return
*/
@GetMapping("event/categoryList")
public Result<List<EventCategoryDTO>> categoryList() {
return workIssueService.categoryList();
}
/**
*事件审核
* @return
*/
@PostMapping("event/review")
public Result review(EpdcEventsReviewFormDTO dto) {
return workIssueService.review(dto);
}
}

18
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkUserController.java

@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
* 工作端用户登录用户管理相关接口
@ -72,9 +73,20 @@ public class ApiWorkUserController {
* @date 2019/11/18 13:53
*/
@GetMapping("list")
public Result<List<EpdcWorkUserResultDTO>> getUserList(@LoginUser TokenDto userDetail, EpdcWorkUserFromDTO
workUserFromDto) {
public Result<List<EpdcWorkUserResultDTO>> getUserList(@LoginUser TokenDto userDetail, EpdcWorkUserFromDTO workUserFromDto) {
return workUserService.listWorkLlist(userDetail, workUserFromDto);
}
/***
* 查询待认证用户数量
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.Integer>
* @author qushutong
* @date 2019/11/19 10:54
*/
@GetMapping("unauthorizedAmount")
public Result<Integer> unauthorizedAmount(@LoginUser TokenDto userDetail,@RequestParam Map<String,Object> params){
return workUserService.getUnauthorizedAmount(userDetail,params);
}
}

40
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -11,12 +11,10 @@ import com.elink.esua.epdc.dto.epdc.result.EpdcWorkUserResultDTO;
import com.elink.esua.epdc.feign.fallback.UserFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* appuser端接口
@ -252,29 +250,32 @@ public interface UserFeignClient {
@PostMapping("app-user/epdc-app/user/updateWxInfo")
Result updateWxInfo(UserDTO userDTO);
/**
* 获取居民详情已认证或待认证提交信息待审核的居民用户
* @param userId 用户Id
* @return
*/
@GetMapping("app-user/epdc-app/user/residentDetail/{userId}")
Result<EpdcResidentDetailResultDTO> residentDetail(@PathVariable("userId") String userId);
/**
* 获取居民详情已认证或待认证提交信息待审核的居民用户
*
* @param userId 用户Id
* @return
*/
@GetMapping("app-user/epdc-app/user/residentDetail/{userId}")
Result<EpdcResidentDetailResultDTO> residentDetail(@PathVariable("userId") String userId);
/**
* 认证用户用户信息审核
*
* @param formDTO
* @return
*/
@PostMapping("app-user/epdc-app/user/authenticateResident")
Result authenticateResident(EpdcAppAuthenticateResidentFormDTO formDTO);
Result authenticateResident(EpdcAppAuthenticateResidentFormDTO formDTO);
/**
* 获取党员详情已认证或未认证的党员用户
* @param userId
* @return
*/
@GetMapping("app-user/epdc-app/user/partyMemberDetail")
Result<EpdcPartyMemberDetailDto> partyMemberDetail(String userId);
@GetMapping("app-user/epdc-app/user/partyMemberDetail/{userId}")
Result<EpdcPartyMemberDetailDto> partyMemberDetail(@PathVariable("userId")String userId);
/***
* 用户列表
* @param workUserFromDto
@ -284,4 +285,15 @@ public interface UserFeignClient {
*/
@GetMapping("app-user/epdc-app/user/list")
Result<List<EpdcWorkUserResultDTO>> getWorkUserList(EpdcWorkUserFromDTO workUserFromDto);
/***
* 查询待认证用户数量
* @param parame
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.Integer>
* @author qushutong
* @date 2019/11/19 11:02
*/
@GetMapping("app-user/epdc-app/user/unauthorizedAmount")
Result<Integer> getUnauthorizedAmount(@RequestParam Map<String, Object> parame);
}

39
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/WorkIssueFeignClient.java

@ -3,16 +3,16 @@ package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.category.EventCategoryDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.form.*;
import com.elink.esua.epdc.dto.issue.result.*;
import com.elink.esua.epdc.feign.fallback.IssueFeignClientFallback;
import com.elink.esua.epdc.feign.fallback.WorkIssueFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
@ -20,16 +20,43 @@ import java.util.List;
@FeignClient(name = ServiceConstant.EPDC_EVENTS_SERVER, fallback = WorkIssueFeignClientFallback.class)
public interface WorkIssueFeignClient {
@GetMapping(value = "events/epdc-app/issue/stateStatistics", consumes = MediaType.APPLICATION_JSON_VALUE)
/**
* 议题数据统计
* @param formDto
* @return
*/
@GetMapping(value = "events/epdc-app/work/issue/stateStatistics", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<IssueStateStatisticsResultDTO> stateStatistics(IssueStateStatisticsFormDTO formDto);
@GetMapping(value = "events/epdc-app/issue/listIssuePendingResponse", consumes = MediaType.APPLICATION_JSON_VALUE)
/**
* 待回应列表
* @param formDto
* @return
*/
@GetMapping(value = "events/epdc-app/work/issue/listIssuePendingResponse", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<IssuePendingResponseResultDTO>> listIssuePendingResponse(IssuePendingResponseFormDTO formDto);
@GetMapping(value = "events/epdc-app/event/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
/**
* 事件详情
* @param id
* @return
*/
@GetMapping(value = "events/epdc-app/work/event/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<EventAppDetailResultDTO> detail(@PathVariable String id);
@GetMapping(value = "events/epdc-app/issue/categoryList", consumes = MediaType.APPLICATION_JSON_VALUE)
/**
* 事件分类
* @return
*/
@GetMapping(value = "events/epdc-app/work/issue/categoryList", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<EventCategoryDTO>> categoryList();
/**
* 事件审核
* @param dto
* @return
*/
@PostMapping(value = "events/epdc-app/work/event/review", consumes = MediaType.APPLICATION_JSON_VALUE)
Result review(EpdcEventsReviewFormDTO dto);
}

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

@ -12,6 +12,7 @@ import com.elink.esua.epdc.feign.UserFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/**
* @author yujintao
@ -140,4 +141,9 @@ public class UserFeignClientFallback implements UserFeignClient {
public Result<List<EpdcWorkUserResultDTO>> getWorkUserList(EpdcWorkUserFromDTO workUserFromDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getWorkUserList", workUserFromDto);
}
@Override
public Result<Integer> getUnauthorizedAmount(Map<String, Object> parame) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUnauthorizedAmount", parame);
}
}

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

@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.category.EventCategoryDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.form.*;
import com.elink.esua.epdc.dto.issue.result.*;
@ -40,4 +41,9 @@ public class WorkIssueFeignClientFallback implements WorkIssueFeignClient {
public Result<List<EventCategoryDTO>> categoryList() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "categoryList", "");
}
@Override
public Result review(EpdcEventsReviewFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "review", dto);
}
}

27
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkIssueService.java

@ -20,6 +20,7 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.category.EventCategoryDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO;
@ -30,11 +31,37 @@ import java.util.List;
public interface WorkIssueService {
/**
*议题数据统计
* @param formDto
* @return
*/
Result<IssueStateStatisticsResultDTO> stateStatistics(IssueStateStatisticsFormDTO formDto);
/**
*待回应列表
* @param formDto
* @return
*/
Result<List<IssuePendingResponseResultDTO>> listIssuePendingResponse(IssuePendingResponseFormDTO formDto);
/**
*事件详情
* @param id
* @return
*/
Result<EventAppDetailResultDTO> detail(String id);
/**
*事件分类
* @return
*/
Result<List<EventCategoryDTO>> categoryList();
/**
* 事件审核
* @param dto
* @return
*/
Result review(EpdcEventsReviewFormDTO dto);
}

10
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkUserService.java

@ -9,6 +9,7 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcWorkUserFromDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcWorkUserResultDTO;
import java.util.List;
import java.util.Map;
/**
* 工作端用户登录用户管理 相关业务接口
@ -45,4 +46,13 @@ public interface WorkUserService {
* @date 2019/11/18 13:39
*/
Result<List<EpdcWorkUserResultDTO>> listWorkLlist(TokenDto userDetail, EpdcWorkUserFromDTO workUserFromDto);
/***
* 查询待认证用户数量
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.Integer>
* @author qushutong
* @date 2019/11/19 10:56
*/
Result<Integer> getUnauthorizedAmount(TokenDto userDetail, Map<String,Object> parame);
}

30
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkIssueServiceImpl.java

@ -19,6 +19,7 @@ package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.category.EventCategoryDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO;
@ -38,23 +39,52 @@ public class WorkIssueServiceImpl implements WorkIssueService {
@Autowired
private WorkIssueFeignClient workIssueFeignClient;
/**
*议题数据统计
* @param formDto
* @return
*/
@Override
public Result<IssueStateStatisticsResultDTO> stateStatistics(IssueStateStatisticsFormDTO formDto) {
return workIssueFeignClient.stateStatistics(formDto);
}
/**
*待回应列表
* @param formDto
* @return
*/
@Override
public Result<List<IssuePendingResponseResultDTO>> listIssuePendingResponse(IssuePendingResponseFormDTO formDto) {
return workIssueFeignClient.listIssuePendingResponse(formDto);
}
/**
*事件详情
* @param id
* @return
*/
@Override
public Result<EventAppDetailResultDTO> detail(String id) {
return workIssueFeignClient.detail(id);
}
/**
*事件分类
* @return
*/
@Override
public Result<List<EventCategoryDTO>> categoryList() {
return workIssueFeignClient.categoryList();
}
/**
* 事件审核
* @param dto
* @return
*/
@Override
public Result review(EpdcEventsReviewFormDTO dto) {
return workIssueFeignClient.review(dto);
}
}

9
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java

@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* 工作端用户登录用户管理 相关业务实现
@ -69,6 +70,14 @@ public class WorkUserServiceImpl implements WorkUserService {
@Override
public Result<List<EpdcWorkUserResultDTO>> listWorkLlist(TokenDto userDetail, EpdcWorkUserFromDTO workUserFromDto) {
workUserFromDto.setUserId(userDetail.getUserId());
workUserFromDto.setDeptId(userDetail.getGridId());
return userFeignClient.getWorkUserList(workUserFromDto);
}
@Override
public Result<Integer> getUnauthorizedAmount(TokenDto userDetail, Map<String, Object> parame) {
parame.put("userId",userDetail.getUserId());
parame.put("deptId",userDetail.getGridId());
return userFeignClient.getUnauthorizedAmount(parame);
}
}

100
esua-epdc/epdc-module/epdc-demo/epdc-demo-server/src/main/java/com/elink/esua/epdc/controller/ImportInShiBeiController.java

@ -1,100 +0,0 @@
package com.elink.esua.epdc.controller;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.commons.tools.utils.Result;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.CharEncoding;
import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
import org.apache.http.ParseException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.util.List;
import java.util.Map;
/**
* @author work@yujt.net.cn
* @date 1 1
*/
@Slf4j
@RestController
@RequestMapping("inshibei")
public class ImportInShiBeiController {
@GetMapping("coterie/batchSave")
public Result importExcel(MultipartFile file, String userId, String token) {
ImportParams importParams = new ImportParams();
importParams.setHeadRows(1);
try {
List<Map<String, String>> articleList = ExcelImportUtil.importExcel(file.getInputStream(), Map.class, importParams);
for (Map<String, String> objectMap : articleList) {
postWithParam(userId, token, objectMap.get("content"), objectMap.get("type"));
}
} catch (Exception e) {
e.printStackTrace();
}
return new Result();
}
private void postWithParam(String userId, String token, String detail, String type) throws Exception {
CloseableHttpClient httpClient = HttpClients.createDefault();
JSONObject json = new JSONObject();
json.put("userId", userId);
json.put("token", token);
json.put("detail", detail);
json.put("coterieType", type);
HttpPost httpPost = new HttpPost("http://hxb.elinkit.com.cn/InShiBei/rest/coterie/save");
StringEntity stringEntity = new StringEntity(json.toJSONString(), CharEncoding.UTF_8);
stringEntity.setContentEncoding(CharEncoding.UTF_8);
// 发送json数据需要设置contentType
stringEntity.setContentType(MediaType.APPLICATION_JSON_UTF8_VALUE);
httpPost.setEntity(stringEntity);
getStringResult(httpClient.execute(httpPost));
}
private static String getStringResult(CloseableHttpResponse response) {
String result = null;
try {
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
HttpEntity httpEntity = response.getEntity();
result = EntityUtils.toString(httpEntity, CharEncoding.UTF_8);
} else {
log.error("拉取失败,错误编码为:" + response.getStatusLine().getStatusCode());
}
} catch (ParseException e) {
log.error("getResult方法格式转换异常ParseException");
e.printStackTrace();
} catch (IOException e) {
log.error("getResult方法IO异常IOException");
e.printStackTrace();
} finally {
try {
if (null != response) {
response.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
}

5
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ImageConstant.java

@ -21,4 +21,9 @@ public interface ImageConstant {
* 图片类型-事件拒绝
*/
public final static String TYPE_IMAGE_BIZ_EVENTS_REJECT = "eventsReject";
/**
* 图片类型-议题处理
*/
public final static String TYPE_IMAGE_BIZ_ISSUE_HANDLE = "issueHandle";
}

6
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDetailDTO.java

@ -28,8 +28,14 @@ public class EpdcEventsDetailDTO implements Serializable {
*/
private String mobile;
/**
* 用户头像
*/
private String userFace;
/**
* 党员标志
*/
private String partyFlag;
/**

3
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventsReviewFormDTO.java

@ -6,6 +6,7 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;
/**
* 审核事件提交表单DTO
@ -35,4 +36,6 @@ public class EpdcEventsReviewFormDTO implements Serializable {
*/
@Size(min = 1, max = 500, message = "处理意见在500字以内")
private String advice;
private List<String> images;
}

2
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssuePendingResponseFormDTO.java

@ -8,6 +8,8 @@ import java.util.List;
@Data
public class IssuePendingResponseFormDTO implements Serializable {
private Integer state;
private Long deptId;
private List deptIdList;

6
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/controller/EpdcAppEventsController.java

@ -5,7 +5,6 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
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.DefaultGroup;
import com.elink.esua.epdc.dto.events.EpdcEventsDetailDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
import org.springframework.beans.factory.annotation.Autowired;
@ -37,9 +36,4 @@ public class EpdcAppEventsController {
return new Result();
}
@GetMapping("{id}")
public Result<EpdcEventsDetailDTO> detail(@PathVariable("id") String id){
EpdcEventsDetailDTO data = epdcEventsService.getEvent(id);
return new Result<EpdcEventsDetailDTO>().ok(data);
}
}

42
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/controller/EpdcAppWorkEventsController.java

@ -0,0 +1,42 @@
package com.elink.esua.epdc.modules.events.controller;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.events.EpdcEventsDetailDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping(Constant.EPDC_APP + "work/event")
public class EpdcAppWorkEventsController {
@Autowired
private EpdcEventsService epdcEventsService;
/**
* 事件详情
* @param id
* @return
*/
@GetMapping("{id}")
public Result<EpdcEventsDetailDTO> detail(@PathVariable("id") String id){
EpdcEventsDetailDTO data = epdcEventsService.getEvent(id);
return new Result<EpdcEventsDetailDTO>().ok(data);
}
/**
* 事件审核
* @Params: [dto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result
* @Author: liuchuang
* @Date: 2019/9/5 9:02
*/
@PostMapping("review")
public Result eventReview(@RequestBody EpdcEventsReviewFormDTO dto) {
ValidatorUtils.validateEntity(dto);
return epdcEventsService.eventReview(dto);
}
}

11
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java

@ -182,8 +182,19 @@ public interface EpdcEventsService extends BaseService<EpdcEventsEntity> {
*/
void initMenuNotice();
/**
* 根据状态和网格id查询书量
* @param deptIdList
* @param state
* @return
*/
int selectCountOfEventState(List<Long> deptIdList, int state);
/**
* 待回应列表
* @param formDto
* @return
*/
Result<List<IssuePendingResponseResultDTO>> listIssuePendingResponse(@RequestBody IssuePendingResponseFormDTO formDto);
}

9
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java

@ -176,6 +176,9 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
// 更新事件表审核状态
updateById(entity);
String imageType = ImageConstant.TYPE_IMAGE_BIZ_EVENTS_REJECT;
String referenceId = dto.getId();
EpdcEventsEntity eventsEntity = baseDao.selectById(dto.getId());
// 组装发送消息内容
@ -208,7 +211,13 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
// 发送菜单消息-议题待处理
issueService.sendIssueHandleMenuNotice(issueEntity.getGridId(), null);
referenceId = issueHandleEntity.getId();
imageType = ImageConstant.TYPE_IMAGE_BIZ_ISSUE_HANDLE;
}
imgService.saveImages(dto.getImages(),referenceId,imageType);
// 插入部门响应记录
deptRespondTask.saveEventDeptRespond(dto);
// 事件来源-友邻社群-话题转议题

29
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java

@ -3,19 +3,15 @@ package com.elink.esua.epdc.modules.issue.controller;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.category.EventCategoryDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.form.*;
import com.elink.esua.epdc.dto.issue.result.*;
import com.elink.esua.epdc.modules.category.service.EventCategoryService;
import com.elink.esua.epdc.modules.issue.service.EventUserAttitudeService;
import com.elink.esua.epdc.modules.issue.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 移动端-议题表
@ -32,8 +28,6 @@ public class EpdcAppIssueController {
@Autowired
private EventUserAttitudeService eventUserAttitudeService;
@Autowired
private EventCategoryService eventCategoryService;
/**
* 最新最热列表
@ -122,27 +116,4 @@ public class EpdcAppIssueController {
return issueService.getEventDetail(eventId);
}
/**
* 议题状态统计
* @param formDto
* @return
*/
@GetMapping("stateStatistics")
public Result<IssueStateStatisticsResultDTO> stateStatistics(@RequestBody IssueStateStatisticsFormDTO formDto) {
return issueService.stateStatistics(formDto);
}
@GetMapping("listIssuePendingResponse")
public Result<List<IssuePendingResponseResultDTO>> listIssuePendingResponse(@RequestBody IssuePendingResponseFormDTO formDto) {
return issueService.listIssuePendingResponse(formDto);
}
@GetMapping("categoryList")
public Result<List<EventCategoryDTO>> categoryList() {
Map params = new HashMap<>();
List<EventCategoryDTO> list = eventCategoryService.list(params);
return new Result<List<EventCategoryDTO>>().ok(list);
}
}

65
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppWorkIssueController.java

@ -0,0 +1,65 @@
package com.elink.esua.epdc.modules.issue.controller;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.category.EventCategoryDTO;
import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssuePendingResponseResultDTO;
import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO;
import com.elink.esua.epdc.modules.category.service.EventCategoryService;
import com.elink.esua.epdc.modules.issue.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping(Constant.EPDC_APP + "work/issue")
public class EpdcAppWorkIssueController {
@Autowired
private IssueService issueService;
@Autowired
private EventCategoryService eventCategoryService;
/**
* 议题状态统计
* @param formDto
* @return
*/
@GetMapping("stateStatistics")
public Result<IssueStateStatisticsResultDTO> stateStatistics(@RequestBody IssueStateStatisticsFormDTO formDto) {
return issueService.stateStatistics(formDto);
}
/**
*待回应列表
* @param formDto
* @return
*/
@GetMapping("listIssuePendingResponse")
public Result<List<IssuePendingResponseResultDTO>> listIssuePendingResponse(@RequestBody IssuePendingResponseFormDTO formDto) {
return issueService.listIssuePendingResponse(formDto);
}
/**
*事件分类
* @return
*/
@GetMapping("categoryList")
public Result<List<EventCategoryDTO>> categoryList() {
Map params = new HashMap<>();
List<EventCategoryDTO> list = eventCategoryService.list(params);
return new Result<List<EventCategoryDTO>>().ok(list);
}
}

7
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java

@ -215,11 +215,16 @@ public interface IssueService extends BaseService<IssueEntity> {
void sendIssueHandleMenuNotice(Long deptId, Long userId);
/**
* 移动-议题状态统计
* 工作-议题状态统计
* @param formDto
* @return
*/
Result<IssueStateStatisticsResultDTO> stateStatistics(@RequestBody IssueStateStatisticsFormDTO formDto);
/**
* 工作端-待回应列表
* @param formDto
* @return
*/
Result<List<IssuePendingResponseResultDTO>> listIssuePendingResponse(@RequestBody IssuePendingResponseFormDTO formDto);
}

10
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java

@ -376,6 +376,11 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
return itemEntity;
}
/**
*议题数据统计
* @param formDto
* @return
*/
@Override
public Result<IssueStateStatisticsResultDTO> stateStatistics(IssueStateStatisticsFormDTO formDto) {
List<Long> list;
@ -399,6 +404,11 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
return new Result<IssueStateStatisticsResultDTO>().ok(dto);
}
/**
*待回应列表
* @param formDto
* @return
*/
@Override
public Result<List<IssuePendingResponseResultDTO>> listIssuePendingResponse(IssuePendingResponseFormDTO formDto) {
return epdcEventsService.listIssuePendingResponse(formDto);

2
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml

@ -283,7 +283,7 @@
<foreach collection="deptIdList" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
AND EVENT_STATE = 0
AND EVENT_STATE = #{state}
<if test="formDto.timestamp != null">
<![CDATA[ AND DATE_FORMAT(t1.CREATED_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{formDto.timestamp}
</if>

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

@ -30,6 +30,11 @@ public class GroupDetailForMobileEndResultDTO implements Serializable {
*/
private String groupAvatar;
/**
* 社群介绍
*/
private String groupIntroduction;
/**
* 群主
*/

6
esua-epdc/epdc-module/epdc-group/epdc-group-server/pom.xml

@ -108,7 +108,7 @@
<properties>
<spring.profiles.active>dev</spring.profiles.active>
<server.port>9064</server.port>
<server.port>9063</server.port>
<spring.redis.index>2</spring.redis.index>
<spring.redis.host>47.104.224.45</spring.redis.host>
@ -131,7 +131,7 @@
<properties>
<spring.profiles.active>test</spring.profiles.active>
<server.port>9064</server.port>
<server.port>9063</server.port>
<spring.redis.index>2</spring.redis.index>
<spring.redis.host>47.104.224.45</spring.redis.host>
@ -154,7 +154,7 @@
<properties>
<spring.profiles.active>prod</spring.profiles.active>
<server.port>9064</server.port>
<server.port>9063</server.port>
<!-- redis配置 -->
<spring.redis.index>8</spring.redis.index>

4
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/UserGroupDao.java

@ -85,12 +85,12 @@ public interface UserGroupDao extends BaseDao<UserGroupEntity> {
*
* 获取社群成员信息
*
* @params [groupId, userId, state]
* @params [groupId, userId, states]
* @return com.elink.esua.epdc.dto.group.UserGroupDTO
* @author liuchuang
* @since 2019/10/23 13:47
*/
UserGroupDTO selectOnOfUserInfo(String groupId, String userId, Integer state);
UserGroupDTO selectOnOfUserInfo(String groupId, String userId, int[] states);
/**
*

4
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/UserGroupService.java

@ -138,12 +138,12 @@ public interface UserGroupService extends BaseService<UserGroupEntity> {
*
* 获取社群成员信息
*
* @params [groupId, userId, state]
* @params [groupId, userId, states]
* @return com.elink.esua.epdc.dto.group.UserGroupDTO
* @author liuchuang
* @since 2019/10/23 13:46
*/
UserGroupDTO getGroupUserInfo(String groupId, String userId, Integer state);
UserGroupDTO getGroupUserInfo(String groupId, String userId, int[] states);
/**
*

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

@ -258,7 +258,8 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
@Override
public Result modifyMemberState(GroupUserRemoveOrQuitFormDTO formDto) {
// 获取成员信息
UserGroupDTO userGroupDto = userGroupService.getGroupUserInfo(formDto.getGroupId(), formDto.getOperatorId(), GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue());
int[] states = {GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()};
UserGroupDTO userGroupDto = userGroupService.getGroupUserInfo(formDto.getGroupId(), formDto.getOperatorId(), states);
// 获取群主信息
UserGroupDTO lordGroupDto = userGroupService.getLordInfoByGroupId(formDto.getGroupId());
// 获取社群信息
@ -297,6 +298,12 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
@Override
@Transactional(rollbackFor = Exception.class)
public Result applyForGroup(GroupApplyFormDTO formDto) {
// 检查用户是否已申请入群
int[] states = {GroupUserStateEnum.GROUP_USER_STATE_PENDING_REVIEW.getValue(), GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()};
UserGroupDTO userGroupDto = userGroupService.getGroupUserInfo(formDto.getGroupId(), formDto.getUserId(), states);
if (null != userGroupDto) {
return new Result().error("您已申请过加入该社群,请等待群主审核");
}
UserGroupEntity userGroupEntity = ConvertUtils.sourceToTarget(formDto, UserGroupEntity.class);
userGroupEntity.setLordFlag(NumConstant.ZERO_STR);
userGroupEntity.setState(GroupUserStateEnum.GROUP_USER_STATE_PENDING_REVIEW.getValue());

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

@ -137,8 +137,8 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
}
@Override
public UserGroupDTO getGroupUserInfo(String groupId, String userId, Integer state) {
return baseDao.selectOnOfUserInfo(groupId, userId, state);
public UserGroupDTO getGroupUserInfo(String groupId, String userId, int[] states) {
return baseDao.selectOnOfUserInfo(groupId, userId, states);
}
@Override

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

@ -201,7 +201,8 @@ public class TopicServiceImpl extends BaseServiceImpl<TopicDao, TopicEntity> imp
// 群主关闭话题
if (NumConstant.ZERO_STR.equals(operatorUser)) {
// 获取用户信息
UserGroupDTO userDto = userGroupService.getGroupUserInfo(topicDto.getGroupId(), formDto.getUserId(), GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue());
int[] states = {GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()};
UserGroupDTO userDto = userGroupService.getGroupUserInfo(topicDto.getGroupId(), formDto.getUserId(), states);
if (null == userDto || !NumConstant.ONE_STR.equals(userDto.getLordFlag())) {
return new Result().error("您不是群主,不可以关闭话题");
}
@ -358,7 +359,8 @@ public class TopicServiceImpl extends BaseServiceImpl<TopicDao, TopicEntity> imp
return new Result().error("话题转议题失败,当前社群已解散");
}
// 校验用户身份
UserGroupDTO userDto = userGroupService.getGroupUserInfo(topicDto.getGroupId(), userId, GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue());
int[] states = {GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()};
UserGroupDTO userDto = userGroupService.getGroupUserInfo(topicDto.getGroupId(), userId, states);
if (null == userDto || !NumConstant.ONE_STR.equals(userDto.getLordFlag())) {
return new Result().error("您不是群主,不可以转为议题");
}

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

@ -95,7 +95,7 @@
WHERE
gp.DEL_FLAG = '0'
AND gp.GRID_ID = #{gridId}
<![CDATA[ AND gp.STATE >= ]]> 20
<![CDATA[ AND gp.STATE <> ]]> 20
GROUP BY
gp.ID
ORDER BY
@ -127,7 +127,7 @@
GROUP BY
gp.ID
ORDER BY
latestTopicTime DESC
MAX( tp.CREATED_TIME ) DESC
</select>
<select id="selectOneOfGroupDetailForMobileEnd" resultType="com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO">
@ -136,6 +136,7 @@
gp.GROUP_NAME,
gp.GROUP_AVATAR,
gp.GROUP_CATEGORY,
gp.GROUP_INTRODUCTION,
COUNT( ugp.ID ) AS totalNum,
ugp1.NICKNAME,
ugp2.LORD_FLAG,

10
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml

@ -43,10 +43,10 @@
<if test="state == 10">
CONVERT(NICKNAME USING gbk) ASC,
</if>
ASC CREATED_TIME DESC
CREATED_TIME DESC
</select>
<select id="selectOneOfLordByGroupId" resultType="com.elink.esua.epdc.dto.group.UserGroupDTO">
<select id="selectOneOfLordInfoByGroupId" resultType="com.elink.esua.epdc.dto.group.UserGroupDTO">
SELECT
ID,
GROUP_ID,
@ -70,7 +70,11 @@
</update>
<select id="selectOnOfUserInfo" resultType="com.elink.esua.epdc.dto.group.UserGroupDTO">
SELECT * FROM epdc_user_group WHERE DEL_FLAG = '0' AND GROUP_ID = #{groupId} AND USER_ID = #{userId} AND STATE = #{state}
SELECT * FROM epdc_user_group WHERE DEL_FLAG = '0' AND GROUP_ID = #{groupId} AND USER_ID = #{userId}
AND STATE in
<foreach item="state" collection="states" open="(" separator="," close=")">
#{state}
</foreach>
</select>
<select id="selectListOfGroupUserIdsByState" resultType="string">

44
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java

@ -18,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* 对移动端开放
@ -170,7 +171,7 @@ public class EpdcAppUserController {
/**
* 社群添加好友列表
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO>>
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO>>
* @params [formDto]
* @author liuchuang
* @since 2019/10/23 16:22
@ -254,33 +255,37 @@ public class EpdcAppUserController {
/**
* 获取居民详情已认证或待认证提交信息待审核的居民用户
*
* @param userId 用户Id
* @return
*/
@GetMapping("residentDetail/{userId}")
public Result<EpdcResidentDetailResultDTO> residentDetail(@PathVariable("userId") String userId){
public Result<EpdcResidentDetailResultDTO> residentDetail(@PathVariable("userId") String userId) {
return userService.residentDetail(userId);
}
/**
* 获取党员详情已认证或未认证的党员用户
*
* @param userId
* @return
*/
@GetMapping("partyMemberDetail/{userId}")
public Result<EpdcPartyMemberDetailDto> partyMemberDetail(@PathVariable("userId") String userId){
public Result<EpdcPartyMemberDetailDto> partyMemberDetail(@PathVariable("userId") String userId) {
return userService.partyMemberDetail(userId);
}
/**
* 认证用户用户信息审核
* @param formDTO
* @return
*/
@PostMapping("authenticateResident")
public Result authenticateResident(@RequestBody EpdcAppAuthenticateResidentFormDTO formDTO){
return userService.authenticateResident(formDTO);
}
/**
* 认证用户用户信息审核
*
* @param formDTO
* @return
*/
@PostMapping("authenticateResident")
public Result authenticateResident(@RequestBody EpdcAppAuthenticateResidentFormDTO formDTO) {
return userService.authenticateResident(formDTO);
}
/***
* 用户列表
* @param workUserFromDto
@ -289,7 +294,20 @@ public class EpdcAppUserController {
* @date 2019/11/18 13:47
*/
@GetMapping("list")
public Result<List<EpdcWorkUserResultDTO>> getWorkUserList(@RequestBody EpdcWorkUserFromDTO workUserFromDto){
public Result<List<EpdcWorkUserResultDTO>> getWorkUserList(@RequestBody EpdcWorkUserFromDTO workUserFromDto) {
return userService.getWorkUserList(workUserFromDto);
}
/***
* 查询待认证用户数量
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.Integer>
* @author qushutong
* @date 2019/11/19 13:25
*/
@GetMapping("unauthorizedAmount")
public Result<Integer> unauthorizedAmount(@RequestParam Map<String, Object> params) {
return userService.getAnauthorizedAmount(params);
}
}

37
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java

@ -104,38 +104,51 @@ public interface UserDao extends BaseDao<UserEntity> {
/**
* 获取居民详情已认证或待认证提交信息待审核的居民用户
*
* @param userId 用户Id
* @return
*/
EpdcResidentDetailResultDTO residentDetailByUserId(@Param("userId")String userId);
EpdcResidentDetailResultDTO residentDetailByUserId(@Param("userId") String userId);
/**
* 获取党员详情已认证或未认证的党员用户
*
* @param userId
* @return
*/
EpdcPartyMemberDetailDto partyMemberDetailByUserId(@Param("userId")String userId);
EpdcPartyMemberDetailDto partyMemberDetailByUserId(@Param("userId") String userId);
/**
* 未认证的党员用户
*
* @param userId
* @return
*/
EpdcPartyMemberDetailDto partyMemberDetailFaild(@Param("userId")String userId);
EpdcPartyMemberDetailDto partyMemberDetailFaild(@Param("userId") String userId);
/**
* 通过用户ID获取党员身份证号
*
* @param userId
* @return
*/
String getPartyMemberIdNoByUserID(@Param("userId")String userId);
/***
* 用户党员待审核列表
* @param workUserFromDto
* @return java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcWorkUserResultDTO>
* @author qushutong
* @date 2019/11/18 19:28
*/
String getPartyMemberIdNoByUserID(@Param("userId") String userId);
/***
* 用户党员待审核列表
* @param workUserFromDto
* @return java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcWorkUserResultDTO>
* @author qushutong
* @date 2019/11/18 19:28
*/
List<EpdcWorkUserResultDTO> selectWorkUserList(EpdcWorkUserFromDTO workUserFromDto);
/***
* 查询待认证用户数量
* @param params
* @return java.lang.Integer
* @author qushutong
* @date 2019/11/19 13:31
*/
Integer selectOneAnauthorizedAmount(Map<String, Object> params);
}

10
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -229,4 +229,14 @@ public interface UserService extends BaseService<UserEntity> {
* @date 2019/11/18 14:00
*/
Result<List<EpdcWorkUserResultDTO>> getWorkUserList(EpdcWorkUserFromDTO workUserFromDto);
/***
* 查询待认证用户数量
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.Integer>
* @author qushutong
* @date 2019/11/19 13:28
*/
Result<Integer> getAnauthorizedAmount(Map<String,Object> params);
}

35
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -508,7 +508,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
*/
@Override
public Result<EpdcResidentDetailResultDTO> residentDetail(String userId) {
if(StringUtils.isBlank(userId)){
if (StringUtils.isBlank(userId)) {
return new Result<EpdcResidentDetailResultDTO>().error("用户Id不能为空");
}
EpdcResidentDetailResultDTO dto = this.baseDao.residentDetailByUserId(userId);
@ -522,19 +522,21 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
*/
@Override
public Result authenticateResident(EpdcAppAuthenticateResidentFormDTO formDTO) {
if(StringUtils.isBlank(formDTO.getAuthenticatedFlag())){
formDTO.setAuthenticatedFlag("0");
}
UserDTO userDTO=this.get(formDTO.getUserId());
if(null!=userDTO){
if("0".equals(formDTO.getAuthenticatedFlag())){//不通过
userDTO.setState(AppUserStatesEnum.STATE_INFORMATION_NOT_PASSED.value());
}else if("1".equals(formDTO.getAuthenticatedFlag())){//通过
userDTO.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value());
}
this.update(userDTO);
}
return new Result();
if (StringUtils.isBlank(formDTO.getAuthenticatedFlag())) {
formDTO.setAuthenticatedFlag(YesOrNoEnum.NO.value());
}
UserDTO userDTO = this.get(formDTO.getUserId());
if (null != userDTO) {
if (YesOrNoEnum.NO.value().equals(formDTO.getAuthenticatedFlag())) {//不通过
userDTO.setState(AppUserStatesEnum.STATE_INFORMATION_NOT_PASSED.value());
} else if (YesOrNoEnum.YES.value().equals(formDTO.getAuthenticatedFlag())) {//通过
userDTO.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value());
} else {
throw new RenException("是否认证通过数据不匹配");
}
this.update(userDTO);
}
return new Result();
}
/**
@ -578,4 +580,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return new Result<List<EpdcWorkUserResultDTO>>().ok(epdcWorkUserResultDTOS);
}
@Override
public Result<Integer> getAnauthorizedAmount(Map<String, Object> params) {
return new Result<Integer>().ok(baseDao.selectOneAnauthorizedAmount(params));
}
}

207
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

@ -62,40 +62,43 @@
</select>
<select id="selectListUserDto" resultType="com.elink.esua.epdc.dto.UserDTO">
SELECT
u.id,
u.REAL_NAME,
u.MOBILE,
u.REGISTER_TIME,
IDENTITY_NO,
ADDRESS,
STATE,
PARTY_FLAG,
CONCAT(
ifnull(ug.STREET,''),
'-',ug.COMMUNITY,
'-',ug.GRID
) AS myGridName
u.id,
u.REAL_NAME,
u.MOBILE,
u.REGISTER_TIME,
IDENTITY_NO,
ADDRESS,
STATE,
PARTY_FLAG
u.id,
u.REAL_NAME,
u.MOBILE,
u.REGISTER_TIME,
IDENTITY_NO,
STATE,
PARTY_FLAG
FROM
epdc_user u
LEFT JOIN epdc_user_grid_relation ug ON u.ID = ug.USER_ID
epdc_user u
LEFT JOIN epdc_user_grid_relation ug ON u.ID = ug.USER_ID
where
u.del_flag = '0'
<if test="startTime != '' and endTime != ''"> and u.register_time between #{startTime} and #{endTime}</if>
<if test="state != '' and state != null"> and u.state = #{state}</if>
<if test="realName != '' and realName != null"> and u.real_name like '%${realName}%'</if>
<if test="mobile != '' and mobile != null"> and u.mobile like '%${mobile}%'</if>
<if test="identityNo != '' and identityNo != null"> and u.identity_no like '%${identityNo}%'</if>
<if test="partyFlag != '' and partyFlag != null"> and u.party_flag = #{partyFlag}</if>
<if test="streetId != '' and streetId != null"> and ug.street_id = #{streetId}</if>
<if test="communityId != '' and communityId != null"> and ug.community_id = #{communityId}</if>
<if test="gridId != '' and gridId != null"> and ug.grid_id = #{gridId}</if>
u.del_flag = '0'
<if test="startTime != '' and endTime != ''">and u.register_time between #{startTime} and #{endTime}</if>
<if test="state != '' and state != null">and u.state = #{state}</if>
<if test="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
<if test="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
<if test="identityNo != '' and identityNo != null">and u.identity_no like '%${identityNo}%'</if>
<if test="partyFlag != '' and partyFlag != null">and u.party_flag = #{partyFlag}</if>
<if test="streetId != '' and streetId != null">and ug.street_id = #{streetId}</if>
<if test="communityId != '' and communityId != null">and ug.community_id = #{communityId}</if>
<if test="gridId != '' and gridId != null">and ug.grid_id = #{gridId}</if>
GROUP BY
u.ID
u.ID
ORDER BY
u.register_time desc
u.register_time desc
</select>
<!-- 根据userId获取居民详情(已认证或待认证(提交信息待审核)的居民用户) -->
<resultMap id="EpdcResidentDetailResultDtoMap" type="com.elink.esua.epdc.dto.epdc.result.EpdcResidentDetailResultDTO">
<resultMap id="EpdcResidentDetailResultDtoMap"
type="com.elink.esua.epdc.dto.epdc.result.EpdcResidentDetailResultDTO">
<id column="id" property="userId"/>
<result column="REAL_NAME" property="realName"/>
<result column="IDENTITY_NO" property="identityNo"/>
@ -104,7 +107,7 @@
<result column="DWELLING_PLACE" property="dwellingPlace"/>
<result column="PARTY_FLAG" property="partyFlag"/>
<result column="state" property="state"/>
<collection property="gridList" ofType="com.elink.esua.epdc.dto.epdc.result.EpdcResidentDetailGridResultDTO" >
<collection property="gridList" ofType="com.elink.esua.epdc.dto.epdc.result.EpdcResidentDetailGridResultDTO">
<result column="completeName" property="completeName"/>
<result column="leaderFlag" property="leaderFlag"/>
</collection>
@ -132,53 +135,53 @@
<select id="selectListOfInviteUsers" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO">
SELECT
ID AS userId,
NICKNAME,
FACE_IMG AS userAvatar,
PARTY_FLAG AS partyMember,
MOBILE
ID AS userId,
NICKNAME,
FACE_IMG AS userAvatar,
PARTY_FLAG AS partyMember,
MOBILE
FROM
epdc_user
epdc_user
WHERE
DEL_FLAG = '0'
AND GRID_ID = #{gridId}
AND ID NOT IN
<foreach item="userId" collection="userIds" open="(" separator="," close=")">
#{userId}
</foreach>
<if test="mobile != null and mobile != ''">
and MOBILE = #{mobile}
</if>
<if test="road != null and road != ''">
and ROAD like concat('%', #{road}, '%')
</if>
<if test="lastName != null and lastName != ''">
and LAST_NAME like concat('%', #{lastName}, '%')
</if>
DEL_FLAG = '0'
AND GRID_ID = #{gridId}
AND ID NOT IN
<foreach item="userId" collection="userIds" open="(" separator="," close=")">
#{userId}
</foreach>
<if test="mobile != null and mobile != ''">
and MOBILE = #{mobile}
</if>
<if test="road != null and road != ''">
and ROAD like concat('%', #{road}, '%')
</if>
<if test="lastName != null and lastName != ''">
and LAST_NAME like concat('%', #{lastName}, '%')
</if>
ORDER BY
CONVERT(NICKNAME USING gbk) ASC,
REGISTER_TIME
CONVERT(NICKNAME USING gbk) ASC,
REGISTER_TIME
</select>
<resultMap id="partMemberDetail" type="com.elink.esua.epdc.dto.epdc.result.EpdcPartyMemberDetailDto">
<id column="userId" property="userId" />
<result column="realName" property="realName" />
<result column="identityNo" property="identityNo" />
<result column="road" property="road" />
<result column="villageName" property="villageName" />
<result column="dwellingPlace" property="dwellingPlace" />
<result column="authenticatedFlag" property="authenticatedFlag" />
<result column="streetName" property="streetName" />
<result column="communityName" property="communityName" />
<result column="gridName" property="gridName" />
<result column="partyFlag" property="partyFlag" />
<result column="cadreFlag" property="cadreFlag" />
<collection property="gridList" ofType="com.elink.esua.epdc.dto.epdc.result.EpdcResidentDetailGridResultDTO" >
<id column="userId" property="userId"/>
<result column="realName" property="realName"/>
<result column="identityNo" property="identityNo"/>
<result column="road" property="road"/>
<result column="villageName" property="villageName"/>
<result column="dwellingPlace" property="dwellingPlace"/>
<result column="authenticatedFlag" property="authenticatedFlag"/>
<result column="streetName" property="streetName"/>
<result column="communityName" property="communityName"/>
<result column="gridName" property="gridName"/>
<result column="partyFlag" property="partyFlag"/>
<result column="cadreFlag" property="cadreFlag"/>
<collection property="gridList" ofType="com.elink.esua.epdc.dto.epdc.result.EpdcResidentDetailGridResultDTO">
<result column="completeName" property="completeName"/>
<result column="leaderFlag" property="leaderFlag"/>
</collection>
<collection property="tagNameList" ofType="java.lang.String" >
<result column="tagName" />
<collection property="tagNameList" ofType="java.lang.String">
<result column="tagName"/>
</collection>
</resultMap>
@ -205,11 +208,11 @@
LEFT JOIN epdc_user eu ON eu.IDENTITY_NO = epm.IDENTITY_NO
LEFT JOIN epdc_party_tag_relation eptr ON eptr.PARTY_ID = epm.ID
LEFT JOIN epdc_user_tag eut ON eut.ID = eptr.TAG_ID
AND eut.DEL_FLAG = '0'
LEFT JOIN epdc_user_grid_relation eugr on eugr.USER_ID = eu.ID
WHERE
eu.DEL_FLAG = '0'
AND epm.DEL_FLAG = '0'
AND eptr.DEL_FLAG = '0'
AND eu.ID = #{userId}
</select>
@ -242,6 +245,30 @@
AND epaf.DEL_FLAG = '0'
AND eu.ID = #{userId}
</select>
<select id="selectWorkUserList" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcWorkUserResultDTO">
SELECT
u.ID as userId,
u.NICKNAME as nickname,
u.REGISTER_TIME as registerTime,
u.FACE_IMG as faceImg
FROM
epdc_user_grid_relation ug_l
LEFT JOIN epdc_user_grid_relation ug_r ON ug_l.GRID_ID = ug_r.GRID_ID
LEFT JOIN epdc_user u ON ug_r.USER_ID = u.ID
WHERE
ug_l.USER_ID = #{userId}
AND ug_l.LEADER_FLAG = '1'
AND u.STATE = #{authenticatedFlag}
<if test='allGridFlag=="0"'>
AND ug_r.GRID_ID = #{deptId}
</if>
AND u.CREATED_TIME &lt;= STR_TO_DATE( #{timestamp}, '%Y-%m-%d %H:%i:%s' )
GROUP BY
u.ID
ORDER BY
u.CREATED_TIME DESC
LIMIT #{pageIndex},#{pageSize}
</select>
<!-- 通过用户ID获取党员身份证号 -->
<select id="getPartyMemberIdNoByUserID" resultType="java.lang.String">
@ -255,4 +282,48 @@
AND eu.id = #{userId}
</select>
<!--获取用户列表-->
<select id="selectWorkUserList" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcWorkUserResultDTO">
SELECT
u.ID as userId,
u.NICKNAME as nickname,
u.REGISTER_TIME as registerTime,
u.FACE_IMG as faceImg
FROM
epdc_user_grid_relation ug_l
LEFT JOIN epdc_user_grid_relation ug_r ON ug_l.GRID_ID = ug_r.GRID_ID
LEFT JOIN epdc_user u ON ug_r.USER_ID = u.ID
WHERE
ug_l.USER_ID = #{userId}
AND ug_l.LEADER_FLAG = '1'
AND u.STATE = #{authenticatedFlag}
AND u.PART_FLAG = #{partyFlag}
<if test='allGridFlag=="0"'>
AND ug_r.GRID_ID = #{deptId}
</if>
AND u.CREATED_TIME &lt;= STR_TO_DATE( #{timestamp}, '%Y-%m-%d %H:%i:%s' )
GROUP BY
u.ID
ORDER BY
u.CREATED_TIME DESC
LIMIT #{pageIndex},#{pageSize}
</select>
<!--查询待认证用户数量-->
<select id="selectOneAnauthorizedAmount" resultType="Integer">
SELECT
COUNT(u.ID)
FROM
epdc_user_grid_relation ug_l
LEFT JOIN epdc_user_grid_relation ug_r ON ug_l.GRID_ID = ug_r.GRID_ID
LEFT JOIN epdc_user u ON ug_r.USER_ID = u.ID
WHERE
ug_l.USER_ID = #{userId}
AND ug_l.LEADER_FLAG = '1'
AND u.STATE = '1'
<if test='allGridFlag=="0"'>
AND ug_r.GRID_ID = #{deptId}
</if>
</select>
</mapper>

Loading…
Cancel
Save