Browse Source

Merge branch 'pt' of https://gitee.com/ccsens_s/ccsenscloud into pt

master
zhizhi wu 5 years ago
parent
commit
08b94ad0bc
  1. 3
      tall/src/main/java/com/ccsens/tall/bean/dto/MemberDto.java
  2. 4
      tall/src/main/java/com/ccsens/tall/bean/dto/ProjectDto.java
  3. 40
      tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java
  4. 10
      tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java
  5. 2
      tall/src/main/java/com/ccsens/tall/bean/vo/RingVo.java
  6. 3
      tall/src/main/java/com/ccsens/tall/config/SpringConfig.java
  7. 2
      tall/src/main/java/com/ccsens/tall/persist/dao/ProMemberDao.java
  8. 32
      tall/src/main/java/com/ccsens/tall/persist/dao/SysRingMsgDao.java
  9. 9
      tall/src/main/java/com/ccsens/tall/service/IProRoleService.java
  10. 2
      tall/src/main/java/com/ccsens/tall/service/IRingService.java
  11. 59
      tall/src/main/java/com/ccsens/tall/service/ProMemberService.java
  12. 76
      tall/src/main/java/com/ccsens/tall/service/ProRoleService.java
  13. 25
      tall/src/main/java/com/ccsens/tall/service/ProjectService.java
  14. 41
      tall/src/main/java/com/ccsens/tall/service/RingService.java
  15. 2
      tall/src/main/java/com/ccsens/tall/service/UserService.java
  16. 17
      tall/src/main/java/com/ccsens/tall/web/MemberRoleController.java
  17. 4
      tall/src/main/java/com/ccsens/tall/web/RingController.java
  18. 82
      tall/src/main/java/com/ccsens/tall/web/RoleController.java
  19. 4
      tall/src/main/resources/application.yml
  20. 44
      tall/src/main/resources/mapper_dao/ProMemberDao.xml
  21. 36
      tall/src/main/resources/mapper_dao/SysRingMsgDao.xml
  22. 26
      util/src/main/java/com/ccsens/util/WebConstant.java
  23. 1
      util/src/test/java/com/ccsens/util/Base64Test.java

3
tall/src/main/java/com/ccsens/tall/bean/dto/MemberDto.java

@ -40,14 +40,13 @@ public class MemberDto {
@Data
@ApiModel("修改成员信息")
public static class UpdateMemberInfo{
@NotNull(message = "成员id不能为空")
@ApiModelProperty("成员id")
private Long memberId;
@ApiModelProperty("成员名")
private String memberName;
@ApiModelProperty("成员手机号")
private String phone;
@ApiModelProperty("所属角色的id")
private List<Long> roleId;
@ApiModelProperty("奖惩干系人id")
private Long stakeholderId;
}

4
tall/src/main/java/com/ccsens/tall/bean/dto/ProjectDto.java

@ -67,8 +67,8 @@ public class ProjectDto {
@ApiModelProperty("被修改的项目的地址")
private String address;
@ApiModelProperty("项目开始时间")
private String beginTime;
private Long beginTime;
@ApiModelProperty("项目结束时间")
private String endTime;
private Long endTime;
}
}

40
tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java

@ -0,0 +1,40 @@
package com.ccsens.tall.bean.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@Data
public class RoleDto {
@Data
@ApiModel("添加角色")
public static class SaveRole{
@NotNull(message = "项目不能为空")
@ApiModelProperty("项目id")
private Long projectId;
@NotEmpty(message = "角色名不能为空")
@ApiModelProperty("角色名")
private String roleName;
}
@Data
@ApiModel("修改角色信息")
public static class UpdateRole{
@NotNull(message = "角色Id不能为空")
@ApiModelProperty("角色id")
private Long roleId;
@ApiModelProperty("角色名")
private String roleName;
}
@Data
@ApiModel("给角色添加成员")
public static class SaveMember{
@ApiModelProperty("成员Id")
private Long memberId;
}
}

10
tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java

@ -92,11 +92,15 @@ public class ProjectVo {
@ApiModelProperty("未处理的消息总数")
private Integer totalNum;
@ApiModelProperty("ring消息")
private Integer ringNum;
private Integer ringNum = 0;
@ApiModelProperty("check消息")
private Integer checkNum;
private Integer checkNum = 0;
@ApiModelProperty("交付物消息")
private Integer deliverNum;
private Integer deliverNum = 0;
public Integer getTotalNum(){
return ringNum + checkNum + deliverNum;
}
}
@ApiModel

2
tall/src/main/java/com/ccsens/tall/bean/vo/RingVo.java

@ -29,7 +29,7 @@ public class RingVo {
private String value;
@ApiModelProperty("消息发送时间")
private Long time;
@ApiModelProperty("是否是自己发送的消息")
@ApiModelProperty("是否是自己发送的消息 0否 1是")
private Integer mine;
@ApiModelProperty("未读数量")
private Integer unread;

3
tall/src/main/java/com/ccsens/tall/config/SpringConfig.java

@ -157,7 +157,8 @@ public class SpringConfig implements WebMvcConfigurer {
.addPathPatterns("/hardware/**")
.addPathPatterns("/labels/**")
.addPathPatterns("/charts/**")
.addPathPatterns("/ring/**");
.addPathPatterns("/ring/**")
.addPathPatterns("/roles/**");
//super.addInterceptors(registry);
}

2
tall/src/main/java/com/ccsens/tall/persist/dao/ProMemberDao.java

@ -29,4 +29,6 @@ public interface ProMemberDao extends ProMemberMapper{
List<ProMember> selectMemberByRoleId(@Param("roleId")Long roleId);
List<ProjectVo.MembersByProject> selectMembersByProjectId(@Param("projectId")Long projectId);
ProjectVo.MembersByProject getMemberInfoByMemberId(@Param("memberId")Long memberId);
}

32
tall/src/main/java/com/ccsens/tall/persist/dao/SysRingMsgDao.java

@ -10,11 +10,43 @@ import java.util.List;
@Repository
public interface SysRingMsgDao extends SysRingMsgMapper {
/**
* 查找项目下关于自己的ring消息
* @param userId userId
* @param projectId 项目id
* @return 消息详情
*/
List<RingVo.RingInfo> selectRingInfoByProject(@Param("userId")Long userId, @Param("projectId")Long projectId);
/**
* 获取用户在项目内的角色id
* @param userId userId
* @param projectId 项目id
* @return 角色id
*/
List<Long> selectRoleIdByUserId(@Param("userId")Long userId, @Param("projectId")Long projectId);
/**
* 获取ring消息的每个接收者的信息和读取的情况
* @param messageId ring消息id
* @return 接收者信息
*/
List<RingVo.MsgReceiveRole> ringReceiveRole(@Param("messageId")Long messageId);
/**
* 透过消息id查找消息详情
* @param userId userId
* @param projectId 项目id
* @param msgId ring消息id
* @return ring消息信息
*/
List<RingVo.RingInfo> selectRingInfoByRingMsgId(@Param("userId")Long userId, @Param("projectId")Long projectId, @Param("msgId")Long msgId);
/**
* 查找用户在项目下的未读ring消息的数量
* @param userId userId
* @param projectId 项目id
* @return 未读的消息的数量
*/
Integer getRingUnreadNum(@Param("userId")Long userId, @Param("projectId")Long projectId);
}

9
tall/src/main/java/com/ccsens/tall/service/IProRoleService.java

@ -1,5 +1,6 @@
package com.ccsens.tall.service;
import com.ccsens.tall.bean.dto.RoleDto;
import com.ccsens.tall.bean.po.ProRole;
import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.bean.vo.TaskVo;
@ -25,4 +26,12 @@ public interface IProRoleService {
void deleteRole(Long userId,Long roleId) throws Exception;
void deleteRoleByProjectId(Long projectId) throws Exception;
void saveRole(Long currentUserId, RoleDto.SaveRole saveRole);
void updateRole(Long currentUserId, RoleDto.UpdateRole updateRole);
void saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember);
void deleteMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember);
}

2
tall/src/main/java/com/ccsens/tall/service/IRingService.java

@ -15,7 +15,7 @@ public interface IRingService {
* @return 返回发送的消息详细信息
* @throws Exception json异常
*/
RingVo.RingInfoByReturn sendRingMsg(Long currentUserId, RingDto.RingSendDto ringSendDto) throws Exception;
RingVo.RingInfo sendRingMsg(Long currentUserId, RingDto.RingSendDto ringSendDto) throws Exception;
/**
* 查找ring消息

59
tall/src/main/java/com/ccsens/tall/service/ProMemberService.java

@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.ccsens.tall.bean.dto.MemberDto;
import com.ccsens.tall.bean.dto.MemberRoleDto;
import com.ccsens.tall.bean.po.*;
@ -22,6 +23,9 @@ import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* @author
*/
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
@ -52,9 +56,8 @@ public class ProMemberService implements IProMemberService {
}
@Override
public List<ProjectVo.MembersByProject> selectMembersByProjectId(Long projectId) throws Exception {
List<ProjectVo.MembersByProject> members = proMemberDao.selectMembersByProjectId(projectId);
return members;
public List<ProjectVo.MembersByProject> selectMembersByProjectId(Long projectId) {
return proMemberDao.selectMembersByProjectId(projectId);
}
/**
@ -62,7 +65,7 @@ public class ProMemberService implements IProMemberService {
*/
@Override
public Boolean userIsBelongRole(Long userId, Long roleId) {
Boolean flag = false;
boolean flag = false;
//如果该角色是全体成员返回true
ProRole role = proRoleDao.selectByPrimaryKey(roleId);
if(role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)){
@ -86,7 +89,7 @@ public class ProMemberService implements IProMemberService {
* 获取用户在项目中所属的所有角色
*/
@Override
public List<ProRole> selectRolesByUserIdAndProjectId(Long userId, Long projectId) throws Exception {
public List<ProRole> selectRolesByUserIdAndProjectId(Long userId, Long projectId) {
List<ProRole> roleList = proRoleDao.selectRolesByProjectIdAndUserId(projectId, userId);
if(CollectionUtil.isEmpty(roleList)){
@ -104,11 +107,11 @@ public class ProMemberService implements IProMemberService {
@Override
public MemberVo.MemberInfo getProMemberByProjectIdAndUserId(Long projectId, Long currentUserId) throws Exception {
public MemberVo.MemberInfo getProMemberByProjectIdAndUserId(Long projectId, Long currentUserId) {
return proMemberDao.selectByProjectIdAndUserId(projectId,currentUserId);
}
@Override
public List<MemberVo.MemberInfo> getAuthedMemberByProjectId(Long projectId) throws Exception {
public List<MemberVo.MemberInfo> getAuthedMemberByProjectId(Long projectId) {
return proMemberDao.selectAuthedMemberByProjectId(projectId);
}
@ -116,7 +119,7 @@ public class ProMemberService implements IProMemberService {
* 查找用户在项目下对应的成员
*/
@Override
public ProMember selectByUserId(Long userId, Long projectId) throws Exception {
public ProMember selectByUserId(Long userId, Long projectId) {
ProMember member = null;
ProMemberExample memberExample = new ProMemberExample();
memberExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(projectId);
@ -132,7 +135,6 @@ public class ProMemberService implements IProMemberService {
*/
@Override
public List<ProMember> selectByRole(Long roleId){
List<ProMember> memberList = new ArrayList<>();
ProRole role = proRoleDao.selectByPrimaryKey(roleId);
if(ObjectUtil.isNull(role)){
throw new BaseException(CodeEnum.NOT_ROLE);
@ -159,9 +161,9 @@ public class ProMemberService implements IProMemberService {
/**
* 查询用户在项目中的成员信息
* @param userId
* @param projectId
* @return
* @param userId 用户id
* @param projectId 项目id
* @return 返回成员信息
*/
@Override
public MemberVo.MemberInfo getMemberByUserIdAndProjectId(Long userId, Long projectId) {
@ -178,8 +180,8 @@ public class ProMemberService implements IProMemberService {
/**
* 游戏中查询用户的信息
* @param userId
* @return
* @param userId 用户id
* @return 返回成员信息
*/
@Override
public MemberVo.MemberInfo getUserInfoByUserId(Long userId) {
@ -275,9 +277,9 @@ public class ProMemberService implements IProMemberService {
}
//检查操作者的权限
int power = proRoleService.selectPowerByRoleName(currentUserId, proMember.getProjectId());
// if (power < 2) {
// throw new BaseException(CodeEnum.NOT_POWER);
// }
if (power < 2) {
throw new BaseException(CodeEnum.NOT_POWER);
}
//修改成员状态来删除
proMember.setRecStatus((byte) 2);
proMemberDao.updateByPrimaryKeySelective(proMember);
@ -305,7 +307,28 @@ public class ProMemberService implements IProMemberService {
@Override
public ProjectVo.MembersByProject updateMemberInfo(Long currentUserId, MemberDto.UpdateMemberInfo updateMemberInfo) {
return null;
//查找要修改的成员
ProMember proMember = proMemberDao.selectByPrimaryKey(updateMemberInfo.getMemberId());
if(ObjectUtil.isNull(proMember)){
throw new BaseException(CodeEnum.NOT_MEMBER);
}
//检查操作者的权限,权限不足或不是成员本人,不可以修改
int power = proRoleService.selectPowerByRoleName(currentUserId, proMember.getProjectId());
if (power < 2 && proMember.getUserId().longValue() != currentUserId.longValue()) {
throw new BaseException(CodeEnum.NOT_POWER);
}
if(StrUtil.isNotEmpty(updateMemberInfo.getMemberName())){
proMember.setNickname(updateMemberInfo.getMemberName());
}
if(StrUtil.isNotEmpty(updateMemberInfo.getPhone())){
proMember.setPhone(updateMemberInfo.getPhone());
}
if(ObjectUtil.isNotNull(updateMemberInfo.getStakeholderId())){
proMember.setStakeholderId(updateMemberInfo.getStakeholderId());
}
proMemberDao.updateByPrimaryKeySelective(proMember);
//查找被修改的成员的信息并返回
return proMemberDao.getMemberInfoByMemberId(updateMemberInfo.getMemberId());
}

76
tall/src/main/java/com/ccsens/tall/service/ProRoleService.java

@ -1,7 +1,10 @@
package com.ccsens.tall.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.ccsens.tall.bean.dto.RoleDto;
import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.bean.vo.TaskVo;
@ -15,6 +18,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@ -23,24 +27,26 @@ import java.util.List;
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class ProRoleService implements IProRoleService {
@Autowired
@Resource
private ProRoleDao proRoleDao;
@Autowired
@Resource
private ProShowDao proShowDao;
@Autowired
@Resource
private ProMemberDao proMemberDao;
@Autowired
@Resource
private ProMemberRoleDao memberRoleDao;
@Autowired
@Resource
private ProRoleExcludeDao excludeDao;
@Autowired
@Resource
private SysProjectDao projectDao;
@Autowired
@Resource
private IProMemberService proMemberService;
@Autowired
@Resource
private IProTaskDetailService taskDetailService;
@Autowired
@Resource
private IUserService userService;
@Resource
private Snowflake snowflake;
@Override
public void saveProRole(ProRole proRole) {
@ -325,4 +331,56 @@ public class ProRoleService implements IProRoleService {
// proRoleDao.deleteByPrimaryKey(roleId);
}
@Override
public void saveRole(Long currentUserId, RoleDto.SaveRole saveRole) {
//检查操作者的权限
int power = selectPowerByRoleName(currentUserId, saveRole.getProjectId());
if (power < 2) {
throw new BaseException(CodeEnum.NOT_POWER);
}
//获取项目下的“普通成员”一级角色的id
Long parentId = null;
ProRoleExample proRoleExample = new ProRoleExample();
proRoleExample.createCriteria().andProjectIdEqualTo(saveRole.getProjectId()).andNameEqualTo(WebConstant.ROLE_NAME.Member.value);
List<ProRole> memberRoleList = proRoleDao.selectByExample(proRoleExample);
if(CollectionUtil.isNotEmpty(memberRoleList)){
parentId = memberRoleList.get(0).getId();
}
//添加角色
ProRole role = new ProRole();
role.setId(snowflake.nextId());
role.setProjectId(saveRole.getProjectId());
role.setName(saveRole.getRoleName());
role.setParentId(parentId);
proRoleDao.insertSelective(role);
}
@Override
public void updateRole(Long currentUserId, RoleDto.UpdateRole updateRole) {
//查找角色
ProRole proRole = proRoleDao.selectByPrimaryKey(updateRole.getRoleId());
if(ObjectUtil.isNull(proRole)){
throw new BaseException(CodeEnum.NOT_ROLE);
}
//检查操作者的权限
int power = selectPowerByRoleName(currentUserId, proRole.getProjectId());
if (power < 2) {
throw new BaseException(CodeEnum.NOT_POWER);
}
if(StrUtil.isNotEmpty(updateRole.getRoleName())){
proRole.setName(updateRole.getRoleName());
}
proRoleDao.updateByPrimaryKeySelective(proRole);
}
@Override
public void saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember) {
}
@Override
public void deleteMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember) {
}
}

25
tall/src/main/java/com/ccsens/tall/service/ProjectService.java

@ -57,6 +57,8 @@ public class ProjectService implements IProjectService {
private SysDomainDao sysDomainDao;
@Resource
private SysLabelDao sysLabelDao;
@Resource
private SysRingMsgDao sysRingMsgDao;
@Override
public void saveProject(SysProject sysProject) {
@ -197,8 +199,19 @@ public class ProjectService implements IProjectService {
}
private ProjectVo.ProjectUnreadMsg getUnreadMsgByProject(Long userId,Long projectId) {
return null;
//获取ring消息未读数量
Integer ringUnread = sysRingMsgDao.getRingUnreadNum(userId,projectId);
ProjectVo.ProjectUnreadMsg unreadMsg = new ProjectVo.ProjectUnreadMsg();
if(ObjectUtil.isNotNull(ringUnread)){
unreadMsg.setRingNum(ringUnread);
}else {
unreadMsg.setRingNum(0);
}
//TODO 获取check未读消息
unreadMsg.setCheckNum(0);
//TODO 获取未读交付物的消息
unreadMsg.setDeliverNum(0);
return unreadMsg;
}
private List<ProjectVo.ProjectInfo> projectInfoByProject(List<SysProject> projectList, Long currentUserId) {
@ -759,6 +772,14 @@ public class ProjectService implements IProjectService {
if (StrUtil.isNotEmpty(projectInfoDto.getAddress())) {
project.setAddress(projectInfoDto.getAddress());
}
// TODO 修改项目时间后,重复任务需要跟着改变
// 修改项目时间
if(ObjectUtil.isNotNull(projectInfoDto.getBeginTime())){
project.setBeginTime(projectInfoDto.getBeginTime());
}
if(ObjectUtil.isNotNull(projectInfoDto.getEndTime())){
project.setEndTime(projectInfoDto.getEndTime());
}
sysProjectDao.updateByPrimaryKeySelective(project);
} else {
throw new BaseException(CodeEnum.NOT_POWER);

41
tall/src/main/java/com/ccsens/tall/service/RingService.java

@ -61,7 +61,7 @@ public class RingService implements IRingService {
* @param ringSendDto 发送的消息内容
*/
@Override
public RingVo.RingInfoByReturn sendRingMsg(Long currentUserId, RingDto.RingSendDto ringSendDto) throws Exception {
public RingVo.RingInfo sendRingMsg(Long currentUserId, RingDto.RingSendDto ringSendDto) throws Exception {
//获取当前时间
Long time = System.currentTimeMillis();
//将消息详情保存至数据库
@ -99,13 +99,38 @@ public class RingService implements IRingService {
rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME,
JacksonUtil.beanToJson(ringMessageWithSendDto));
//返回消息的详细信息
RingVo.RingInfoByReturn ringInfoByReturn = new RingVo.RingInfoByReturn();
ringInfoByReturn.setMessageId(ringMsg.getId());
ringInfoByReturn.setTime(ringMsg.getTime());
ringInfoByReturn.setValue(ringMsg.getValueText());
RingVo.RingInfo ringInfo = new RingVo.RingInfo();
ringInfo.setMessageId(ringMsg.getId());
ringInfo.setTime(ringMsg.getTime());
ringInfo.setValue(ringMsg.getValueText());
ringInfo.setMine(1);
//获取发送者的信息
RingVo.MsgSender msgSender = new RingVo.MsgSender();
msgSender.setId(currentUserId);
msgSender.setName(userService.getUserNameByUserId(currentUserId));
//添加发送者的头像
if (ObjectUtil.isNotNull(ringInfo.getSender())) {
SysUser user = userDao.selectByPrimaryKey(ringInfo.getSender().getId());
if (ObjectUtil.isNotNull(user) && StrUtil.isNotEmpty(user.getAvatarUrl())) {
msgSender.setAvatarUrl(user.getAvatarUrl());
} else {
msgSender.setAvatarUrl(PropUtil.notGatewayUrl + "staticrec/logo.png");
}
}
ringInfo.setSender(msgSender);
//查找未读数量
SysRingSendExample ringSendExample = new SysRingSendExample();
ringSendExample.createCriteria().andRingIdEqualTo(ringMsg.getId()).andReadStatusEqualTo((byte) 0);
List<SysRingSend> ringSendList = sysRingSendDao.selectByExample(ringSendExample);
if(ObjectUtil.isNotNull(ringSendList)){
ringInfo.setUnread(ringSendList.size());
}else {
ringInfo.setUnread(0);
}
//获取接收角色的信息
List<RingVo.MsgReceiveRole> msgReceiveRole = sysRingMsgDao.ringReceiveRole(ringMsg.getId());
ringInfoByReturn.setRoleList(msgReceiveRole);
return ringInfoByReturn;
ringInfo.setRoleList(msgReceiveRole);
return ringInfo;
}
/**
@ -117,7 +142,7 @@ public class RingService implements IRingService {
*/
@Override
public PageInfo<RingVo.RingInfo> getRingInfo(Long currentUserId, RingDto.GetRingDto getRingDto) {
log.info("查找第{}页,项目id:{}",getRingDto.getPage(),getRingDto.getProjectId());
getRingDto.setPage(getRingDto.getPage() == null ? 1 : getRingDto.getPage());
getRingDto.setPageSize(getRingDto.getPageSize() == null ? 10 : getRingDto.getPageSize());

2
tall/src/main/java/com/ccsens/tall/service/UserService.java

@ -983,7 +983,7 @@ public class UserService implements IUserService {
/**
* 通过用户查找手机号
* @param userId userId
* @return 用户名
* @return 手机号
*/
@Override
public String getPhone(Long userId) {

17
tall/src/main/java/com/ccsens/tall/web/MemberRoleController.java

@ -2,6 +2,8 @@ package com.ccsens.tall.web;
import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto;
import com.ccsens.cloudutil.bean.tall.vo.UserVo;
import com.ccsens.tall.bean.dto.MemberDto;
import com.ccsens.tall.bean.dto.ProjectDto;
import com.ccsens.tall.bean.dto.UserDto;
import com.ccsens.tall.service.IProMemberRoleService;
import com.ccsens.tall.service.IProRoleService;
@ -32,8 +34,6 @@ public class MemberRoleController {
@Autowired
private IProMemberRoleService memberRoleService;
@Autowired
private IProRoleService proRoleService;
@Autowired
private IUserService userService;
@ApiOperation(value = "默认注册",notes = "默认帮助用户注册")
@ -74,18 +74,5 @@ public class MemberRoleController {
return JsonResponse.newInstance().ok(codeEnum);
}
@ApiOperation(value = "删除角色",notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "roleId", value = "角色Id", required = true, paramType = "query")
})
@RequestMapping(value = "/role/delete", method = RequestMethod.DELETE, produces = {"application/json;charset=UTF-8"})
public JsonResponse deleteTask(HttpServletRequest request,
@RequestParam(required = false)Long roleId) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
proRoleService.deleteRole(currentUserId,roleId);
return JsonResponse.newInstance().ok();
}
}

4
tall/src/main/java/com/ccsens/tall/web/RingController.java

@ -31,10 +31,10 @@ public class RingController {
@ApiImplicitParams({
})
@RequestMapping(value = "/send", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<RingVo.RingInfoByReturn> sendRingMsg(HttpServletRequest request,
public JsonResponse<RingVo.RingInfo> sendRingMsg(HttpServletRequest request,
@ApiParam @Validated @RequestBody RingDto.RingSendDto ringSendDto) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
RingVo.RingInfoByReturn ringInfo = ringService.sendRingMsg(currentUserId,ringSendDto);
RingVo.RingInfo ringInfo = ringService.sendRingMsg(currentUserId,ringSendDto);
return JsonResponse.newInstance().ok(ringInfo);
}

82
tall/src/main/java/com/ccsens/tall/web/RoleController.java

@ -0,0 +1,82 @@
package com.ccsens.tall.web;
import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto;
import com.ccsens.tall.bean.dto.RoleDto;
import com.ccsens.tall.service.IProRoleService;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.WebConstant;
import io.jsonwebtoken.Claims;
import io.swagger.annotations.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
/**
* @author
*/
@Api(tags = "成员操作相关api" )
@RestController
@RequestMapping("/roles")
public class RoleController {
@Resource
private IProRoleService proRoleService;
@ApiOperation(value = "删除角色",notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "roleId", value = "角色Id", required = true, paramType = "query")
})
@RequestMapping(value = "/delete", method = RequestMethod.DELETE, produces = {"application/json;charset=UTF-8"})
public JsonResponse deleteTask(HttpServletRequest request,
@RequestParam(required = false)Long roleId) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
proRoleService.deleteRole(currentUserId,roleId);
return JsonResponse.newInstance().ok();
}
@ApiOperation(value = "添加角色",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/save", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse saveRole(HttpServletRequest request,
@ApiParam @Validated @RequestBody RoleDto.SaveRole saveRole) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
proRoleService.saveRole(currentUserId,saveRole);
return JsonResponse.newInstance().ok();
}
@ApiOperation(value = "修改角色信息",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse updateRole(HttpServletRequest request,
@ApiParam @Validated @RequestBody RoleDto.UpdateRole updateRole) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
proRoleService.updateRole(currentUserId,updateRole);
return JsonResponse.newInstance().ok();
}
@ApiOperation(value = "给角色添加成员",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/saveMember", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse saveMemberByRole(HttpServletRequest request,
@ApiParam @Validated @RequestBody RoleDto.SaveMember saveMember) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
proRoleService.saveMemberByRole(currentUserId,saveMember);
return JsonResponse.newInstance().ok();
}
@ApiOperation(value = "删除角色下的成员",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/deleteMember", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse deleteMemberByRole(HttpServletRequest request,
@ApiParam @Validated @RequestBody RoleDto.SaveMember saveMember) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
proRoleService.deleteMemberByRole(currentUserId,saveMember);
return JsonResponse.newInstance().ok();
}
}

4
tall/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring:
profiles:
active: dev
include: util-dev,common
active: test
include: util-test,common

44
tall/src/main/resources/mapper_dao/ProMemberDao.xml

@ -199,4 +199,48 @@
and
m.project_id = #{projectId}
</select>
<select id="getMemberInfoByMemberId" parameterType="java.util.Map" resultMap="memberInfos">
SELECT
m.id as memberId,
m.nickname as name,
r.id as roleId,
r.name as roleName,
a.identifier as account,
m.phone as phone,
t.sId as sId,
t.sNickname as sName,
t.sAccount as sAccount,
t.sPhone as sPhone
FROM
t_pro_member m LEFT JOIN t_pro_member_role mr on mr.member_id = m.id
LEFT JOIN t_pro_role r on r.id = mr.role_id
LEFT JOIN t_sys_auth a on a.user_id = m.user_id and a.identify_type = 3 and a.rec_status = 0
LEFT JOIN
(
SELECT
m.id as sId,
m.nickname as sNickname,
r.id as srId,
a.identifier as sAccount,
m.phone as sPhone
FROM
t_pro_member m LEFT JOIN t_pro_member_role mr on mr.member_id = m.id
LEFT JOIN t_pro_role r on r.id = mr.role_id
LEFT JOIN t_sys_auth a on a.user_id = m.user_id and a.identify_type = 3 and a.rec_status = 0
WHERE
m.rec_status = 0
and
r.rec_status = 0
and
r.name = 'MoneyStakeholder'
) t on t.sId = m.stakeholder_id
WHERE
m.rec_status = 0
and
r.rec_status = 0
and
m.id = #{memberId}
</select>
</mapper>

36
tall/src/main/resources/mapper_dao/SysRingMsgDao.xml

@ -48,7 +48,7 @@
WHERE
m.rec_status = 0
and
s.rec_status = 0
(s.rec_status = 0 or s.rec_status is null)
and
(
m.sender_id = #{userId}
@ -158,4 +158,38 @@
)a
ORDER BY a.time DESC
</select>
<select id="getRingUnreadNum" parameterType="java.util.Map" resultType="Integer">
SELECT
count(*)
FROM
(
SELECT
rm.id as ringId
FROM
t_sys_ring_msg rm LEFT JOIN t_sys_ring_send rs on rm.id = rs.ring_id
WHERE
rm.rec_status = 0
and
rs.rec_status = 0
and
rs.read_status = 0
and
rs.role_id in (
SELECT
r.id as rId
FROM
t_pro_role r LEFT JOIN t_pro_member_role mr on r.id = mr.role_id
LEFT JOIN t_pro_member m on mr.member_id = m.id
WHERE
(m.user_id =#{userId}
or
r.`name` = '全体成员'
)
AND
r.project_id = #{projectId}
)
GROUP BY rm.id
) a
</select>
</mapper>

26
util/src/main/java/com/ccsens/util/WebConstant.java

@ -515,34 +515,34 @@ public class WebConstant {
}
public static Message_Type phaseOf(String phase) { // 手写的从String到enum的转换函数
if(phase.equalsIgnoreCase("Sync")) {
if("Sync".equalsIgnoreCase(phase)) {
return Sync;
}
if(phase.equalsIgnoreCase("Ack")) {
if("Ack".equalsIgnoreCase(phase)) {
return Ack;
}
if(phase.equalsIgnoreCase("Node")) {
if("Node".equalsIgnoreCase(phase)) {
return Node;
}
if(phase.equalsIgnoreCase("User")) {
if("User".equalsIgnoreCase(phase)) {
return User;
}
if(phase.equalsIgnoreCase("Heart")) {
if("Heart".equalsIgnoreCase(phase)) {
return Heart;
}
if(phase.equalsIgnoreCase("Auth")) {
if("Auth".equalsIgnoreCase(phase)) {
return Auth;
}
if(phase.equalsIgnoreCase("Channel")) {
if("Channel".equalsIgnoreCase(phase)) {
return Channel;
}
if(phase.equalsIgnoreCase("Timer")) {
if("Timer".equalsIgnoreCase(phase)) {
return Timer;
}
if(phase.equalsIgnoreCase("MasterStatus")) {
if("MasterStatus".equalsIgnoreCase(phase)) {
return MasterStatus;
}
if(phase.equalsIgnoreCase("BatchSetting")) {
if("BatchSetting".equalsIgnoreCase(phase)) {
return BatchSetting;
}
if(phase.equalsIgnoreCase("Admin")) {
@ -554,13 +554,13 @@ public class WebConstant {
if(phase.equalsIgnoreCase("Deliver")) {
return Deliver;
}
if(phase.equalsIgnoreCase("Game")) {
if("Game".equalsIgnoreCase(phase)) {
return Game;
}
if(phase.equalsIgnoreCase("Count")) {
if("Count".equalsIgnoreCase(phase)) {
return Count;
}
if(phase.equalsIgnoreCase("ChangeStatus")) {
if("ChangeStatus".equalsIgnoreCase(phase)) {
return Count;
}else {
return null;

1
util/src/test/java/com/ccsens/util/Base64Test.java

@ -13,6 +13,7 @@ import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

Loading…
Cancel
Save