Browse Source

20210525修改成员信息

recovery
zy_Java 4 years ago
parent
commit
b98df3378c
  1. 4
      mt/src/main/resources/application.yml
  2. 31
      tall/src/main/java/com/ccsens/tall/service/ProMemberService.java
  3. 3
      tall/src/main/java/com/ccsens/tall/service/ProRoleService.java
  4. 15
      tall/src/main/java/com/ccsens/tall/web/DebugController.java
  5. 4
      tall/src/main/resources/application.yml
  6. 1
      util/src/main/java/com/ccsens/util/CodeEnum.java

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

@ -1,6 +1,6 @@
spring:
profiles:
active: dev
include: common, util-dev
active: prod
include: common, util-prod

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

@ -358,9 +358,12 @@ public class ProMemberService implements IProMemberService {
if (ObjectUtil.isNull(proMember)) {
throw new BaseException(CodeEnum.NOT_MEMBER);
}
//TODO 该成员是项目经理,且项目经理下只有他一个成员的时候,不能删除
List<Long> pmId = proRoleDao.getPmByByProjectId(proMember.getProjectId());
//检查操作者的权限
int power = proRoleService.selectPowerByRoleName(currentUserId, proMember.getProjectId());
if (power < 2) {
if (power < WebConstant.ROLE_POWER.OPERATION_POWER.value) {
throw new BaseException(CodeEnum.NOT_POWER);
}
@ -381,8 +384,12 @@ public class ProMemberService implements IProMemberService {
});
}
//删除成员关注项目的信息
deleteAttention(proMember.getUserId(),proMember.getProjectId());
}
private void deleteAttention(Long userId, Long projectId) {
UserAttentionExample userAttentionExample = new UserAttentionExample();
userAttentionExample.createCriteria().andUserIdEqualTo(proMember.getUserId()).andProjectIdEqualTo(proMember.getProjectId());
userAttentionExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(projectId);
List<UserAttention> userAttentionList = userAttentionDao.selectByExample(userAttentionExample);
if (CollectionUtil.isNotEmpty(userAttentionList)) {
userAttentionList.forEach(userAttention -> {
@ -408,7 +415,25 @@ public class ProMemberService implements IProMemberService {
proMember.setNickname(updateMemberInfo.getMemberName());
}
if (StrUtil.isNotEmpty(updateMemberInfo.getPhone())) {
proMember.setPhone(updateMemberInfo.getPhone());
//如果手机号和旧手机号相同则不修改
if(!proMember.getPhone().equalsIgnoreCase(updateMemberInfo.getPhone())){
//查找原来手机号的用户,取消关联项目的信息
deleteAttention(proMember.getUserId(),proMember.getProjectId());
//获取新手机号的userId
Long userId = userService.selectUserIdByPhone(updateMemberInfo.getPhone());
//修改成员手机号和关联的userId
proMember.setPhone(updateMemberInfo.getPhone());
proMember.setUserId(0L);
if(ObjectUtil.isNotNull(userId)){
proMember.setUserId(userId);
//新成员的用户关注该项目
UserAttention userAttention = new UserAttention();
userAttention.setId(snowflake.nextId());
userAttention.setUserId(userId);
userAttention.setProjectId(proMember.getProjectId());
userAttentionDao.insertSelective(userAttention);
}
}
}
//修改奖惩干系人
Long stakeholderId = null;

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

@ -680,6 +680,9 @@ public class ProRoleService implements IProRoleService {
}
//检查角色是否为PM 是的话则需要更高权限
boolean isPm = isPmByRoleId(saveMember.getRoleId());
if(isPm && CollectionUtil.isEmpty(saveMember.getMemberId())){
throw new BaseException(CodeEnum.PM_NOT_MEMBER);
}
//检查当前用户的权限是否可以修改
int power = selectPowerByRoleName(currentUserId, role.getProjectId());
if ((isPm && power < WebConstant.ROLE_POWER.ADMIN_POWER.value) || (!isPm && power < WebConstant.ROLE_POWER.OPERATION_POWER.value)) {

15
tall/src/main/java/com/ccsens/tall/web/DebugController.java

@ -1,5 +1,7 @@
package com.ccsens.tall.web;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.tall.bean.dto.message.SyncMessageWithStartDto;
@ -23,10 +25,8 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.*;
@Slf4j
@Api(tags = "DEBUG" , description = "DebugController | ")
@RestController
@ -45,9 +45,9 @@ public class DebugController {
@ApiImplicitParams({
})
@RequestMapping(value="",produces = {"application/json;charset=UTF-8"})
public JsonResponse getSmsCode(HttpServletRequest request) throws Exception {
// redisUtil.set("wps_tall_appId","d12722a7d28e430c889309fa4754aaba");
// redisUtil.set("wps_tall_appKey","f273e717247947ba8942a2373b6896c7");
public JsonResponse getSmsCode(HttpServletRequest request,HttpServletResponse response) throws Exception {
JSONObject jsonObject = new JSONObject();
response.addIntHeader("",jsonObject.toJSONString().length());
return JsonResponse.newInstance().ok("测试");
}
@ -63,7 +63,6 @@ public class DebugController {
// InMessage inMessage = InMessage.newToServerMessage(MessageConstant.DomainType.Server,serverMessage);
// String j = JacksonUtil.beanToJson(inMessage);
// System.out.println(j);
String l = "测试225";
String to = "1175954520199532544";
Set<String> s = new HashSet<>();

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

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

1
util/src/main/java/com/ccsens/util/CodeEnum.java

@ -212,6 +212,7 @@ public enum CodeEnum {
WBS_PROJECT_NAME_REPEAT(172,"项目名称不能重复",true),
DELIVER_REPEAT(173,"交付物已存在",true),
PARENT_PROJECT_NOT_MATCHING(174,"父任务与项目不匹配",true),
PM_NOT_MEMBER(175,"项目经理下必须有一个成员",true),
;

Loading…
Cancel
Save