Browse Source

Merge branch 'dev_1118' of http://121.42.41.42:7070/r/esua-epdc-cloud into dev_1118

dev
王金鹏 6 years ago
parent
commit
756f8eef05
  1. 32
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java
  2. 21
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java
  3. 12
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java
  4. 12
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java
  5. 5
      esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/WorkUserAuthorizationDTO.java
  6. 50
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/async/GroupTask.java
  7. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java
  8. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java
  9. 53
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  10. 1
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java
  11. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java
  12. 40
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueProgressResultDTO.java
  13. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java
  14. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java
  15. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java
  16. 25
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml
  17. 21
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupConstant.java
  18. 6
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupCreateFormDTO.java
  19. 5
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserFormDTO.java
  20. 29
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserPartyMemberFormDTO.java
  21. 14
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/UserFeignClient.java
  22. 6
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/UserFeignClientFallback.java
  23. 43
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java
  24. 2
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppUserGroupController.java
  25. 11
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java
  26. 22
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java
  27. 42
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java
  28. 34
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java
  29. 4
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml

32
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java

@ -0,0 +1,32 @@
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.CompleteDeptDTO;
import com.elink.esua.epdc.feign.fallback.GroupFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
/**
*
* 友邻社群模块调用
*
* @Authorliuchuang
* @Date2019/11/20 23:41
*/
@FeignClient(name = ServiceConstant.EPDC_GROUP_SERVER, fallback = GroupFeignClientFallback.class)
public interface GroupFeignClient {
/**
*
* 创建网格党员群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/21 0:01
*/
@PostMapping(value = "group/epdc-app/group/createParty", consumes = MediaType.APPLICATION_JSON_VALUE)
Result createPartyGroup(CompleteDeptDTO formDto);
}

21
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java

@ -0,0 +1,21 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.feign.GroupFeignClient;
import org.springframework.stereotype.Component;
/**
* @Authorliuchuang
* @Date2019/11/20 23:41
*/
@Component
public class GroupFeignClientFallback implements GroupFeignClient {
@Override
public Result createPartyGroup(CompleteDeptDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "createPartyGroup", formDto);
}
}

12
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java

@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant;
import com.elink.esua.epdc.commons.tools.enums.SuperAdminEnum;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.exception.RenException;
@ -26,6 +27,7 @@ import com.elink.esua.epdc.dto.SysDeptDTO;
import com.elink.esua.epdc.dto.SysSimpleDeptDTO;
import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.entity.SysDeptEntity;
import com.elink.esua.epdc.feign.GroupFeignClient;
import com.elink.esua.epdc.service.SysDeptService;
import com.elink.esua.epdc.service.SysUserService;
import lombok.extern.slf4j.Slf4j;
@ -51,6 +53,9 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
@Autowired
private SysUserService sysUserService;
@Autowired
private GroupFeignClient groupFeignClient;
@Override
public List<SysDeptDTO> list(Map<String, Object> params) {
//普通管理员,只能查询所属部门及子部门的数据
@ -103,6 +108,13 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
entity.setPids(getPidList(entity.getPid()));
insert(entity);
// 新建网格党支部时创建网格党员群
if (OrganizationTypeConstant.ORG_TYPE_GRID_PARTY.equals(dto.getTypeKey())) {
// 获取网格所有上级机构
Result<CompleteDeptDTO> completeDeptDtoResult = this.getCompleteDept(entity.getId().toString());
groupFeignClient.createPartyGroup(completeDeptDtoResult.getData());
}
}
@Override

12
esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java

@ -14,6 +14,7 @@ import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserTokenFormDTO;
import com.elink.esua.epdc.common.token.util.CpUserDetailRedis;
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.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.log.SysLogLogin;
@ -142,6 +143,9 @@ public class AuthServiceImpl implements AuthService {
Result<UserDetail> result = userFeignClient.getByUsername(username);
UserDetail user = result.getData();
//授权信息
WorkUserAuthorizationDTO authorization = new WorkUserAuthorizationDTO();
//登录日志
SysLogLogin log = new SysLogLogin();
log.setType(LogTypeEnum.LOGIN.value());
@ -156,8 +160,8 @@ public class AuthServiceImpl implements AuthService {
log.setStatus(LoginStatusEnum.FAIL.value());
log.setCreatorName(username);
logProducer.saveLog(log);
return new Result<WorkUserAuthorizationDTO>().error("账号不存在");
authorization.setRegisterState(NumConstant.ZERO_STR);
return new Result<WorkUserAuthorizationDTO>().ok(authorization);
}
//密码错误
@ -176,7 +180,6 @@ public class AuthServiceImpl implements AuthService {
log.setCreator(user.getId());
log.setCreatorName(user.getUsername());
logProducer.saveLog(log);
return new Result<WorkUserAuthorizationDTO>().error("账号已停用");
}
@ -186,8 +189,6 @@ public class AuthServiceImpl implements AuthService {
//登录成功,生成token
String token = jwtUtils.generateToken(user.getId());
//授权信息
WorkUserAuthorizationDTO authorization = new WorkUserAuthorizationDTO();
authorization.setToken(token);
authorization.setExpire(jwtProperties.getExpire());
@ -203,6 +204,7 @@ public class AuthServiceImpl implements AuthService {
authorization.setDeptName(user.getDeptName());
authorization.setUserTagKey(user.getTypeKey());
authorization.setRegisterState(NumConstant.ONE_STR);
return new Result<WorkUserAuthorizationDTO>().ok(authorization);
}

5
esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/WorkUserAuthorizationDTO.java

@ -36,6 +36,11 @@ public class WorkUserAuthorizationDTO implements Serializable {
*/
private String userTagKey;
/**
* 注册状态 0-未注册1-已注册
*/
private String registerState;
/**
* 用户所有角色权限信息
*/

50
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/async/GroupTask.java

@ -0,0 +1,50 @@
package com.elink.esua.epdc.async;
import com.elink.esua.epdc.dto.group.form.GroupUserFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserPartyMemberFormDTO;
import com.elink.esua.epdc.feign.GroupFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
/**
*
* 友邻社群模块
*
* @Authorliuchuang
* @Date2019/11/21 10:19
*/
@Component
public class GroupTask {
@Autowired
private GroupFeignClient groupFeignClient;
/**
*
* 加入网格党员群
*
* @params []
* @return void
* @author liuchuang
* @since 2019/11/21 10:21
*/
@Async
public void joinGridPartyGroup(GroupUserFormDTO formDto) {
groupFeignClient.joinGridPartyGroup(formDto);
}
/**
*
* 更新社群用户党员标识并加入关联的所有网格党员群
*
* @params [formDto]
* @return void
* @author liuchuang
* @since 2019/11/21 11:12
*/
@Async
public void updateUserPartyMember(GroupUserPartyMemberFormDTO formDto) {
groupFeignClient.updateUserPartyMember(formDto);
}
}

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

@ -195,7 +195,7 @@ public interface GroupFeignClient {
/**
*
* 更新社群用户党员标识
* 更新社群用户党员标识并加入关联的所有网格党员群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
@ -204,4 +204,16 @@ public interface GroupFeignClient {
*/
@PostMapping(value = "group/epdc-app/usergroup/partyMember", consumes = MediaType.APPLICATION_JSON_VALUE)
Result updateUserPartyMember(GroupUserPartyMemberFormDTO formDto);
/**
*
* 用户加入党员群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/21 10:35
*/
@PostMapping(value = "group/epdc-app/group/joinPartyGroup", consumes = MediaType.APPLICATION_JSON_VALUE)
Result joinGridPartyGroup(GroupUserFormDTO formDto);
}

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

@ -94,4 +94,9 @@ public class GroupFeignClientFallback implements GroupFeignClient {
public Result updateUserPartyMember(GroupUserPartyMemberFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "updateUserPartyMember", formDto);
}
@Override
public Result joinGridPartyGroup(GroupUserFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "joinGridPartyGroup", formDto);
}
}

53
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -3,6 +3,7 @@ package com.elink.esua.epdc.service.impl;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import com.elink.esua.epdc.async.GroupTask;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.common.token.util.CpUserDetailRedis;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
@ -11,6 +12,7 @@ import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import com.elink.esua.epdc.commons.tools.utils.*;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.enums.GroupUserStateEnum;
import com.elink.esua.epdc.dto.epdc.EpdcCompleteAppUserDTO;
import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcGridLeaderRegisterFormDTO;
@ -20,6 +22,8 @@ import com.elink.esua.epdc.dto.epdc.result.EpdcUserGridResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.form.*;
import com.elink.esua.epdc.dto.group.form.GroupAddUserFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserPartyMemberFormDTO;
import com.elink.esua.epdc.dto.result.EpdcAppRegisterCallbackDTO;
import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO;
@ -83,7 +87,7 @@ public class AppUserServiceImpl implements AppUserService {
private RedisUtils redisUtils;
@Autowired
private GroupFeignClient groupFeignClient;
private GroupTask groupTask;
private static String USER_FACE = "https://epdc.elinkchina.com.cn/esua-epdc/static/default/default_user_face.png";
@ -218,6 +222,9 @@ public class AppUserServiceImpl implements AppUserService {
EpdcAppAuthorizationDTO authorization = this.packageEpdcAppAuthorization(tokenDto, newAppUser.getGrid(), AppUserStatesEnum.STATE_REGISTERED.value());
// 网格长加入网格党员群并设置为群主
this.joinGridPartyGroup(newAppUser, NumConstant.ONE_STR);
return new Result().ok(authorization);
}
@ -626,6 +633,10 @@ public class AppUserServiceImpl implements AppUserService {
}
userResult = registerBindGridResultDto.getData();
registeredUser = userResult.getUserDTO();
// 用户已认证为党员,绑定网格时加入该网格党员群
if (NumConstant.ONE_STR.equals(registeredUser.getPartyFlag())) {
this.joinGridPartyGroup(registeredUser, NumConstant.ZERO_STR);
}
}
// 已注册已绑定当前网格
@ -710,11 +721,19 @@ public class AppUserServiceImpl implements AppUserService {
tokenDto.setPartyFlag(user.getPartyFlag());
EpdcAppAuthorizationDTO authorizationDto = this.packageEpdcAppAuthorization(tokenDto, userGrid.getGrid(), userDto.getState());
// 更新社群用户党员标识
GroupUserPartyMemberFormDTO formDto = new GroupUserPartyMemberFormDTO();
formDto.setUserId(user.getId());
formDto.setPartyMember(user.getPartyFlag());
groupFeignClient.updateUserPartyMember(formDto);
// 更新社群用户党员标识并加入关联的所有网格党员群
if (NumConstant.ONE_STR.equals(user.getPartyFlag())) {
GroupUserPartyMemberFormDTO formDto = new GroupUserPartyMemberFormDTO();
formDto.setUserId(user.getId());
formDto.setPartyMember(user.getPartyFlag());
formDto.setNickname(user.getNickname());
formDto.setUserAvatar(user.getFaceImg());
formDto.setMobile(user.getMobile());
formDto.setDeptId(user.getGridId());
formDto.setState(GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue());
groupTask.updateUserPartyMember(formDto);
}
return new Result().ok(authorizationDto);
}
@ -847,4 +866,26 @@ public class AppUserServiceImpl implements AppUserService {
}
return null;
}
/**
*
* 用户加入网格党员群
*
* @params [userDto, lordFlag]
* @return void
* @author liuchuang
* @since 2019/11/21 10:58
*/
private void joinGridPartyGroup(UserDTO userDto, String lordFlag) {
GroupUserFormDTO formDto = new GroupUserFormDTO();
formDto.setUserId(userDto.getId());
formDto.setNickname(userDto.getNickname());
formDto.setUserAvatar(userDto.getFaceImg());
formDto.setMobile(userDto.getMobile());
formDto.setPartyMember(userDto.getPartyFlag());
formDto.setState(GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue());
formDto.setLordFlag(lordFlag);
formDto.setGridId(userDto.getGridId());
groupTask.joinGridPartyGroup(formDto);
}
}

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

@ -53,6 +53,7 @@ public class GroupServiceImpl implements GroupService {
formDto.setGrid(deptDTO.getGrid());
formDto.setGridId(deptDTO.getGridId());
formDto.setGroupCategory(NumConstant.ONE_STR);
formDto.setState(GroupStateEnum.GROUP_STATE_PENDING_REVIEW.getValue());
// 群主信息
GroupUserFormDTO groupUserFormDTO = new GroupUserFormDTO();
groupUserFormDTO.setUserId(userDetail.getUserId());

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

@ -5,6 +5,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserTokenFormDTO;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
@ -63,7 +64,9 @@ public class WorkUserServiceImpl implements WorkUserService {
}
SysUserDTO userDto = sysUserDtoResult.getData();
if (null == userDto) {
return new Result<WorkUserAuthorizationDTO>().error("用户不存在");
WorkUserAuthorizationDTO resultDto = new WorkUserAuthorizationDTO();
resultDto.setRegisterState(NumConstant.ZERO_STR);
return new Result<WorkUserAuthorizationDTO>().ok(resultDto);
}
return resourceFeignClient.getToken(ConvertUtils.sourceToTarget(userDto, WorkUserTokenFormDTO.class));

40
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueProgressResultDTO.java

@ -0,0 +1,40 @@
package com.elink.esua.epdc.dto.issue.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
*
* 议题处理进度后台和工作端用
*
* @Authorliuchuang
* @Date2019/11/21 15:08
*/
@Data
public class IssueProgressResultDTO implements Serializable {
private static final long serialVersionUID = 2739821096656995025L;
/**
* 状态
*/
private String state;
/**
* 时间
*/
private String createdTime;
/**
* 意见
*/
private String advice;
/**
* 操作人部门
*/
private String handlerDept;
/**
* 处理图片
*/
private List<String> images;
}

11
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java

@ -158,4 +158,15 @@ public interface IssueDao extends BaseDao<IssueEntity> {
* 工作端-议题详情
*/
WorkIssueDetailResultDTO selectOneWorkIssueDetail(String issueId);
/**
*
* 议题处理进度(后台/工作端用)
*
* @params [issueId]
* @return java.util.List<com.elink.esua.epdc.dto.issue.result.IssueProgressResultDTO>
* @author liuchuang
* @since 2019/11/21 15:16
*/
List<IssueProgressResultDTO> selectListIssueProgress(String issueId);
}

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

@ -237,4 +237,15 @@ public interface IssueService extends BaseService<IssueEntity> {
* 工作端-议题详情
*/
WorkIssueDetailResultDTO selectOneWorkIssueDetail(String issueId);
/**
*
* 议题处理进度(后台/工作端用)
*
* @params [issueId]
* @return java.util.List<com.elink.esua.epdc.dto.issue.result.IssueProgressResultDTO>
* @author liuchuang
* @since 2019/11/21 15:16
*/
List<IssueProgressResultDTO> listIssueProgress(String issueId);
}

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

@ -444,4 +444,9 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
public WorkIssueDetailResultDTO selectOneWorkIssueDetail(String issueId) {
return baseDao.selectOneWorkIssueDetail(issueId);
}
@Override
public List<IssueProgressResultDTO> listIssueProgress(String issueId) {
return baseDao.selectListIssueProgress(issueId);
}
}

25
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml

@ -354,6 +354,31 @@
CREATED_TIME DESC
</select>
<resultMap id="issueProgressMap" type="com.elink.esua.epdc.dto.issue.result.IssueProgressResultDTO">
<result property="state" column="STATE"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="advice" column="ADVICE"/>
<result property="handlerDept" column="HANDLER_DEPT"/>
<collection property="images" ofType="java.lang.String">
<result property="image" column="IMG_URL"/>
</collection>
</resultMap>
<select id="selectListIssueProgress" resultMap="issueProgressMap">
SELECT
hd.STATE,
hd.CREATED_TIME,
hd.ADVICE,
hd.HANDLER_DEPT,
img.IMG_URL
FROM
epdc_issue_handle hd
LEFT JOIN epdc_img img ON hd.ID = img.REFERENCE_ID
AND img.DEL_FLAG = '0'
WHERE
hd.DEL_FLAG = '0'
AND hd.ISSUE_ID = #{issueId}
</select>
<select id="selectOneIssueCategoryStatistics" resultType="com.elink.esua.epdc.dto.issue.result.IssueCategoryStatisticsResultDTO">
SELECT
COUNT( issue.ID ) AS issueNum,

21
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupConstant.java

@ -0,0 +1,21 @@
package com.elink.esua.epdc.dto.constant;
/**
*
* 友邻社群常量
*
* @Authorliuchuang
* @Date2019/11/21 14:12
*/
public interface GroupConstant {
/**
* 网格党员群名称后缀
*/
String PARTY_GROUP_NAME_SUFFIX = "党员群";
/**
* 网格党员群默认头像
*/
String PARTY_GROUP_AVATAR = "https://epdc.elinkchina.com.cn/esua-epdc/static/default/default_party_group_avatar.png";
}

6
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupCreateFormDTO.java

@ -75,6 +75,12 @@ public class GroupCreateFormDTO implements Serializable {
*/
@NotNull(message = "用户网格ID不能为空")
private Long gridId;
/**
* 社群状态
*/
private Integer state;
/**
* 群主信息
*/

5
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserFormDTO.java

@ -52,4 +52,9 @@ public class GroupUserFormDTO implements Serializable {
* 处理意见
*/
private String auditOpinion;
/**
* 网格ID
*/
private Long gridId;
}

29
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserPartyMemberFormDTO.java

@ -18,10 +18,35 @@ public class GroupUserPartyMemberFormDTO implements Serializable {
*/
@NotBlank(message = "用户ID不能为空")
private String userId;
/**
* 用户昵称
*/
@NotBlank(message = "用户昵称不能为空")
private String nickname;
/**
* 用户头像
*/
@NotBlank(message = "用户头像不能为空")
private String userAvatar;
/**
* 用户手机号
*/
private String mobile;
/**
* 群主标识 01
*/
private String lordFlag;
/**
* 党员标识 01
*/
@NotBlank(message = "党员标识不能为空")
private String partyMember;
/**
* 状态 0待审核5审核不通过10审核通过15已退群20已移除
*/
private Integer state;
/**
* 部门ID
*/
private Long deptId;
}

14
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/UserFeignClient.java

@ -2,11 +2,13 @@ package com.elink.esua.epdc.modules.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.UserGridRelationDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO;
import com.elink.esua.epdc.modules.feign.fallback.UserFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
@ -31,4 +33,16 @@ public interface UserFeignClient {
*/
@GetMapping("app-user/epdc-app/user/getInviteUserList")
Result<List<EpdcUserGroupInviteResultDTO>> getInviteUserList(EpdcUserGroupInviteFormDTO formDto);
/**
*
* 获取用户所有网格
*
* @params [userId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.UserGridRelationDTO>>
* @author liuchuang
* @since 2019/11/21 12:07
*/
@GetMapping("app-user/usergrid/listUserGrid/{userId}")
Result<List<UserGridRelationDTO>> listUserGrid(@PathVariable("userId") String userId);
}

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

@ -3,6 +3,7 @@ package com.elink.esua.epdc.modules.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO;
import com.elink.esua.epdc.modules.feign.UserFeignClient;
@ -21,4 +22,9 @@ public class UserFeignClientFallback implements UserFeignClient {
public Result<List<EpdcUserGroupInviteResultDTO>> getInviteUserList(EpdcUserGroupInviteFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getInviteUserList", formDto);
}
@Override
public Result<List<UserGridRelationDTO>> listUserGrid(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "listUserGrid", userId);
}
}

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

@ -1,8 +1,13 @@
package com.elink.esua.epdc.modules.group.controller;
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.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.constant.GroupConstant;
import com.elink.esua.epdc.dto.enums.GroupStateEnum;
import com.elink.esua.epdc.dto.enums.GroupUserStateEnum;
import com.elink.esua.epdc.dto.group.GroupSettingStateDTO;
import com.elink.esua.epdc.dto.group.form.*;
@ -43,6 +48,29 @@ public class AppGroupController {
return groupService.saveGroup(formDto);
}
/**
*
* 创建网格党员群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/21 0:01
*/
@PostMapping("createParty")
public Result createPartyGroup(@RequestBody CompleteDeptDTO formDto) {
GroupCreateFormDTO groupCreateFormDto = ConvertUtils.sourceToTarget(formDto, GroupCreateFormDTO.class);
groupCreateFormDto.setArea(formDto.getDistrict());
groupCreateFormDto.setAreaId(formDto.getDistrictId());
groupCreateFormDto.setGroupName(formDto.getCommunity().concat(formDto.getGrid()).concat(GroupConstant.PARTY_GROUP_NAME_SUFFIX));
groupCreateFormDto.setGroupAvatar(GroupConstant.PARTY_GROUP_AVATAR);
groupCreateFormDto.setGroupIntroduction(formDto.getStreet().concat(formDto.getCommunity()).concat(formDto.getGrid()));
groupCreateFormDto.setGroupCategory(NumConstant.ZERO_STR);
groupCreateFormDto.setState(GroupStateEnum.GROUP_STATE_EXAMINATION_PASSED.getValue());
return groupService.saveGroup(groupCreateFormDto);
}
/**
*
* 解散社群
@ -201,4 +229,19 @@ public class AppGroupController {
return groupService.applyForGroup(formDto);
}
/**
*
* 用户加入党员群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/21 10:35
*/
@PostMapping("joinPartyGroup")
public Result joinGridPartyGroup(@RequestBody GroupUserFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return groupService.joinGridPartyGroup(formDto);
}
}

2
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppUserGroupController.java

@ -74,7 +74,7 @@ public class AppUserGroupController {
/**
*
* 更新社群用户党员标识
* 更新社群用户党员标识并加入关联的所有网格党员群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result

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

@ -137,5 +137,16 @@ public interface GroupDao extends BaseDao<GroupEntity> {
* @since 2019/11/12 16:14
*/
List<GroupMemberDTO> selectListOfGroupOrderByMember(Map<String, Object> params);
/**
*
* 根据网格ID获取网格党员群
*
* @params [gridId]
* @return com.elink.esua.epdc.dto.group.GroupDTO
* @author liuchuang
* @since 2019/11/20 22:54
*/
GroupDTO selectOnePartyGroupInfoByGridId(Long gridId);
}

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

@ -250,4 +250,26 @@ public interface GroupService extends BaseService<GroupEntity> {
*/
PageData<GroupMemberDTO> listGroupOrderByMember(Map<String, Object> params);
/**
*
* 根据网格ID获取网格党员群
*
* @params [gridId]
* @return com.elink.esua.epdc.dto.group.GroupDTO
* @author liuchuang
* @since 2019/11/20 22:51
*/
GroupDTO getPartyGroupInfoByGridId(Long gridId);
/**
*
* 用户加入党员群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/21 10:39
*/
Result joinGridPartyGroup(GroupUserFormDTO formDto);
}

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

@ -124,9 +124,12 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
}
GroupEntity entity = ConvertUtils.sourceToTarget(formDto, GroupEntity.class);
if (insert(entity)) {
UserGroupDTO userGroupDTO = ConvertUtils.sourceToTarget(formDto.getGroupUserFormDTO(), UserGroupDTO.class);
userGroupDTO.setGroupId(entity.getId());
userGroupService.save(userGroupDTO);
if (null != formDto.getGroupUserFormDTO()) {
// 保存群主
UserGroupDTO userGroupDTO = ConvertUtils.sourceToTarget(formDto.getGroupUserFormDTO(), UserGroupDTO.class);
userGroupDTO.setGroupId(entity.getId());
userGroupService.save(userGroupDTO);
}
}
return new Result();
}
@ -332,4 +335,37 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
List<GroupMemberDTO> list = baseDao.selectListOfGroupOrderByMember(params);
return new PageData<>(list, page.getTotal());
}
@Override
public GroupDTO getPartyGroupInfoByGridId(Long gridId) {
return baseDao.selectOnePartyGroupInfoByGridId(gridId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result joinGridPartyGroup(GroupUserFormDTO formDto) {
// 获取网格党员群
GroupDTO groupDto = this.getPartyGroupInfoByGridId(formDto.getGridId());
if (null == groupDto) {
return new Result().error("网格党员群不存在");
}
// 校验用户是否已加入党员群
int[] states = {GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()};
UserGroupDTO userGroupDto = userGroupService.getGroupUserInfo(groupDto.getId(), formDto.getUserId(), states);
if (null == userGroupDto) {
UserGroupEntity userGroupEntity = ConvertUtils.sourceToTarget(formDto, UserGroupEntity.class);
userGroupEntity.setGroupId(groupDto.getId());
userGroupService.insert(userGroupEntity);
} else {
// 更新用户为党员群群主
if (NumConstant.ZERO_STR.equals(userGroupDto.getLordFlag()) && NumConstant.ONE_STR.equals(formDto.getLordFlag())) {
UserGroupEntity userGroupEntity = new UserGroupEntity();
userGroupEntity.setId(userGroupDto.getId());
userGroupEntity.setLordFlag(formDto.getLordFlag());
userGroupService.updateById(userGroupEntity);
}
}
return new Result();
}
}

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

@ -25,6 +25,7 @@ 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.Result;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.constant.GroupNoticeConstant;
import com.elink.esua.epdc.dto.enums.GroupUserStateEnum;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
@ -243,7 +244,40 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
@Override
@Transactional(rollbackFor = Exception.class)
public Result modifyGroupUsersPartyMember(GroupUserPartyMemberFormDTO formDto) {
// 更新社群用户关系表用户党员标识为党员
baseDao.updateGroupUsersPartyMember(formDto);
// 获取用户绑定的全部网格信息
Result<List<UserGridRelationDTO>> listResult = userFeignClient.listUserGrid(formDto.getUserId());
if (!listResult.success()) {
return new Result().error("获取用户绑定网格信息失败");
}
for (UserGridRelationDTO dto:
listResult.getData()) {
// 获取网格党员群信息
GroupDTO groupDto = groupService.getPartyGroupInfoByGridId(dto.getGridId());
if (null != groupDto) {
// 校验用户是否已加入党员群
int[] states = {GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()};
UserGroupDTO userGroupDto = this.getGroupUserInfo(groupDto.getId(), formDto.getUserId(), states);
if (null != userGroupDto) {
// 更新用户为党员群群主
if (NumConstant.ZERO_STR.equals(userGroupDto.getLordFlag()) && NumConstant.ONE_STR.equals(dto.getLeaderFlag())) {
UserGroupEntity userGroupEntity = new UserGroupEntity();
userGroupEntity.setId(userGroupDto.getId());
userGroupEntity.setLordFlag(dto.getLeaderFlag());
this.updateById(userGroupEntity);
}
} else {
// 插入党员群
UserGroupEntity entity = ConvertUtils.sourceToTarget(formDto, UserGroupEntity.class);
entity.setGroupId(groupDto.getId());
entity.setLordFlag(dto.getLeaderFlag());
this.insert(entity);
}
}
}
return new Result();
}

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

@ -252,4 +252,8 @@
gp.CREATED_TIME DESC
</select>
<select id="selectOnePartyGroupInfoByGridId" resultType="com.elink.esua.epdc.dto.group.GroupDTO">
SELECT * FROM epdc_group WHERE DEL_FLAG = '0' AND GROUP_CATEGORY = '0' AND GRID_ID = #{gridId}
</select>
</mapper>
Loading…
Cancel
Save