Browse Source

cloudutil-调整mustLogin注解

common-查询所有角色接口/生成分享链接接口/点击分享链接接口
signin-绑定用户和项目
tall3
ma 4 years ago
parent
commit
f54eccc07d
  1. 7
      cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java
  2. 9
      cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/ProjectDto.java
  3. 13
      cloudutil/src/main/java/com/ccsens/cloudutil/feign/Tall3FeignClient.java
  4. 40
      common/src/main/java/com/ccsens/common/bean/dto/CShareDto.java
  5. 117
      common/src/main/java/com/ccsens/common/bean/po/ProProjectShare.java
  6. 761
      common/src/main/java/com/ccsens/common/bean/po/ProProjectShareExample.java
  7. 106
      common/src/main/java/com/ccsens/common/bean/po/ProShareMember.java
  8. 681
      common/src/main/java/com/ccsens/common/bean/po/ProShareMemberExample.java
  9. 9
      common/src/main/java/com/ccsens/common/bean/vo/CRoleVo.java
  10. 33
      common/src/main/java/com/ccsens/common/bean/vo/CShareVo.java
  11. 21
      common/src/main/java/com/ccsens/common/persist/dao/ProProjectShareDao.java
  12. 8
      common/src/main/java/com/ccsens/common/persist/dao/ProRoleDao.java
  13. 8
      common/src/main/java/com/ccsens/common/persist/dao/ProRoleMemberDao.java
  14. 25
      common/src/main/java/com/ccsens/common/persist/dao/ProShareMemberDao.java
  15. 30
      common/src/main/java/com/ccsens/common/persist/mapper/ProProjectShareMapper.java
  16. 30
      common/src/main/java/com/ccsens/common/persist/mapper/ProShareMemberMapper.java
  17. 12
      common/src/main/java/com/ccsens/common/service/IProRoleService.java
  18. 26
      common/src/main/java/com/ccsens/common/service/IShareService.java
  19. 375
      common/src/main/java/com/ccsens/common/service/ProRoleService.java
  20. 141
      common/src/main/java/com/ccsens/common/service/ShareService.java
  21. 1
      common/src/main/java/com/ccsens/common/util/CommonCodeError.java
  22. 3
      common/src/main/java/com/ccsens/common/util/Constant.java
  23. 20
      common/src/main/resources/mapper_dao/ProProjectShareDao.xml
  24. 14
      common/src/main/resources/mapper_dao/ProRoleDao.xml
  25. 15
      common/src/main/resources/mapper_dao/ProRoleMemberDao.xml
  26. 35
      common/src/main/resources/mapper_dao/ProShareMemberDao.xml
  27. 275
      common/src/main/resources/mapper_raw/ProProjectShareMapper.xml
  28. 258
      common/src/main/resources/mapper_raw/ProShareMemberMapper.xml
  29. 7
      signin/src/main/java/com/ccsens/signin/api/ProjectController.java
  30. 9
      signin/src/main/java/com/ccsens/signin/bean/dto/ProjectDto.java
  31. 6
      signin/src/main/java/com/ccsens/signin/service/IProjectService.java
  32. 16
      signin/src/main/java/com/ccsens/signin/service/ProjectService.java
  33. 4
      signin/src/main/resources/application.yml
  34. 2
      util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java

7
cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java

@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.cloudutil.feign.Tall3FeignClient;
import com.ccsens.cloudutil.feign.TallFeignClient;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.JsonResponse;
@ -36,7 +37,7 @@ import java.lang.reflect.Method;
@Component
public class MustLoginAspect {
@Autowired
private TallFeignClient tallFeignClient;
private Tall3FeignClient tall3FeignClient;
@Pointcut("@annotation(com.ccsens.cloudutil.annotation.MustLogin) || @annotation(com.ccsens.cloudutil.annotation.Login) ")
public void loginAdvice(){}
@ -58,7 +59,7 @@ public class MustLoginAspect {
JsonResponse response = null;
if(StrUtil.isNotEmpty(authHeader)){
log.info("MustLogin————token:{}", authHeader);
response = tallFeignClient.getUserIdByToken(authHeader);
response = tall3FeignClient.getUserIdByToken(authHeader);
}
log.info("{}获取userId:{}", authHeader, response);
@ -74,10 +75,12 @@ public class MustLoginAspect {
Long userId = json.getLong("id");
String userName = json.getString("userName");
String avatarUrl = json.getString("avatarUrl");
String phone = json.getString("phone");
if (dto != null) {
dto.setUserId(userId);
dto.setUserName(userName);
dto.setAvatarUrl(avatarUrl);
dto.setPhone(phone);
}
}
Object result = pjp.proceed();

9
cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/ProjectDto.java

@ -42,4 +42,13 @@ public class ProjectDto {
@ApiModelProperty("用户列表")
private Set<Long> userIdList;
}
@Data
@ApiModel("保存用户项目列表")
public static class SaveUserProject{
@ApiModelProperty("项目id")
private Long projectId;
@ApiModelProperty("用户id")
private Long userId;
}
}

13
cloudutil/src/main/java/com/ccsens/cloudutil/feign/Tall3FeignClient.java

@ -40,6 +40,12 @@ public interface Tall3FeignClient {
*/
@RequestMapping("project/save")
JsonResponse saveProjectList(ProjectDto.SaveProjectDto projectDto);
/**
* tall3内保存用户项目列表
*/
@RequestMapping("project/saveUserProject")
JsonResponse saveUserProject(ProjectDto.SaveUserProject projectDto);
}
@Slf4j
@ -63,6 +69,13 @@ class Tall3FeignClientFallBack implements FallbackFactory<Tall3FeignClient> {
public JsonResponse saveProjectList(ProjectDto.SaveProjectDto projectDto) {
return null;
}
@Override
public JsonResponse saveUserProject(ProjectDto.SaveUserProject projectDto) {
return null;
}
};
}
}

40
common/src/main/java/com/ccsens/common/bean/dto/CShareDto.java

@ -0,0 +1,40 @@
package com.ccsens.common.bean.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @author AUSU
*/
@Data
public class CShareDto {
@Data
@ApiModel("生成分享链接")
public static class CreateShareUrl{
@NotNull(message = "请选择项目")
@ApiModelProperty("项目id")
private Long projectId;
@NotNull(message = "请选择角色")
@ApiModelProperty("角色id")
private Long roleId;
@NotBlank(message = "路径信息不能为空")
@ApiModelProperty("路径前缀")
private String path;
}
@Data
@ApiModel("点击分享链接")
public static class ClickShareUrl {
@NotBlank(message = "链接信息错误")
@ApiModelProperty("链接id")
private String shareId;
@NotBlank(message = "code信息错误")
@ApiModelProperty("加密code")
private String code;
}
}

117
common/src/main/java/com/ccsens/common/bean/po/ProProjectShare.java

@ -0,0 +1,117 @@
package com.ccsens.common.bean.po;
import java.io.Serializable;
import java.util.Date;
public class ProProjectShare implements Serializable {
private Long id;
private Long userId;
private String url;
private String code;
private Long projectId;
private Long roleId;
private Date createdAt;
private Date updatedAt;
private Byte recStatus;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url == null ? null : url.trim();
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code == null ? null : code.trim();
}
public Long getProjectId() {
return projectId;
}
public void setProjectId(Long projectId) {
this.projectId = projectId;
}
public Long getRoleId() {
return roleId;
}
public void setRoleId(Long roleId) {
this.roleId = roleId;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
public Byte getRecStatus() {
return recStatus;
}
public void setRecStatus(Byte recStatus) {
this.recStatus = recStatus;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", userId=").append(userId);
sb.append(", url=").append(url);
sb.append(", code=").append(code);
sb.append(", projectId=").append(projectId);
sb.append(", roleId=").append(roleId);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append("]");
return sb.toString();
}
}

761
common/src/main/java/com/ccsens/common/bean/po/ProProjectShareExample.java

@ -0,0 +1,761 @@
package com.ccsens.common.bean.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class ProProjectShareExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public ProProjectShareExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andUserIdIsNull() {
addCriterion("user_id is null");
return (Criteria) this;
}
public Criteria andUserIdIsNotNull() {
addCriterion("user_id is not null");
return (Criteria) this;
}
public Criteria andUserIdEqualTo(Long value) {
addCriterion("user_id =", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotEqualTo(Long value) {
addCriterion("user_id <>", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdGreaterThan(Long value) {
addCriterion("user_id >", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
addCriterion("user_id >=", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdLessThan(Long value) {
addCriterion("user_id <", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdLessThanOrEqualTo(Long value) {
addCriterion("user_id <=", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdIn(List<Long> values) {
addCriterion("user_id in", values, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotIn(List<Long> values) {
addCriterion("user_id not in", values, "userId");
return (Criteria) this;
}
public Criteria andUserIdBetween(Long value1, Long value2) {
addCriterion("user_id between", value1, value2, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotBetween(Long value1, Long value2) {
addCriterion("user_id not between", value1, value2, "userId");
return (Criteria) this;
}
public Criteria andUrlIsNull() {
addCriterion("url is null");
return (Criteria) this;
}
public Criteria andUrlIsNotNull() {
addCriterion("url is not null");
return (Criteria) this;
}
public Criteria andUrlEqualTo(String value) {
addCriterion("url =", value, "url");
return (Criteria) this;
}
public Criteria andUrlNotEqualTo(String value) {
addCriterion("url <>", value, "url");
return (Criteria) this;
}
public Criteria andUrlGreaterThan(String value) {
addCriterion("url >", value, "url");
return (Criteria) this;
}
public Criteria andUrlGreaterThanOrEqualTo(String value) {
addCriterion("url >=", value, "url");
return (Criteria) this;
}
public Criteria andUrlLessThan(String value) {
addCriterion("url <", value, "url");
return (Criteria) this;
}
public Criteria andUrlLessThanOrEqualTo(String value) {
addCriterion("url <=", value, "url");
return (Criteria) this;
}
public Criteria andUrlLike(String value) {
addCriterion("url like", value, "url");
return (Criteria) this;
}
public Criteria andUrlNotLike(String value) {
addCriterion("url not like", value, "url");
return (Criteria) this;
}
public Criteria andUrlIn(List<String> values) {
addCriterion("url in", values, "url");
return (Criteria) this;
}
public Criteria andUrlNotIn(List<String> values) {
addCriterion("url not in", values, "url");
return (Criteria) this;
}
public Criteria andUrlBetween(String value1, String value2) {
addCriterion("url between", value1, value2, "url");
return (Criteria) this;
}
public Criteria andUrlNotBetween(String value1, String value2) {
addCriterion("url not between", value1, value2, "url");
return (Criteria) this;
}
public Criteria andCodeIsNull() {
addCriterion("code is null");
return (Criteria) this;
}
public Criteria andCodeIsNotNull() {
addCriterion("code is not null");
return (Criteria) this;
}
public Criteria andCodeEqualTo(String value) {
addCriterion("code =", value, "code");
return (Criteria) this;
}
public Criteria andCodeNotEqualTo(String value) {
addCriterion("code <>", value, "code");
return (Criteria) this;
}
public Criteria andCodeGreaterThan(String value) {
addCriterion("code >", value, "code");
return (Criteria) this;
}
public Criteria andCodeGreaterThanOrEqualTo(String value) {
addCriterion("code >=", value, "code");
return (Criteria) this;
}
public Criteria andCodeLessThan(String value) {
addCriterion("code <", value, "code");
return (Criteria) this;
}
public Criteria andCodeLessThanOrEqualTo(String value) {
addCriterion("code <=", value, "code");
return (Criteria) this;
}
public Criteria andCodeLike(String value) {
addCriterion("code like", value, "code");
return (Criteria) this;
}
public Criteria andCodeNotLike(String value) {
addCriterion("code not like", value, "code");
return (Criteria) this;
}
public Criteria andCodeIn(List<String> values) {
addCriterion("code in", values, "code");
return (Criteria) this;
}
public Criteria andCodeNotIn(List<String> values) {
addCriterion("code not in", values, "code");
return (Criteria) this;
}
public Criteria andCodeBetween(String value1, String value2) {
addCriterion("code between", value1, value2, "code");
return (Criteria) this;
}
public Criteria andCodeNotBetween(String value1, String value2) {
addCriterion("code not between", value1, value2, "code");
return (Criteria) this;
}
public Criteria andProjectIdIsNull() {
addCriterion("project_id is null");
return (Criteria) this;
}
public Criteria andProjectIdIsNotNull() {
addCriterion("project_id is not null");
return (Criteria) this;
}
public Criteria andProjectIdEqualTo(Long value) {
addCriterion("project_id =", value, "projectId");
return (Criteria) this;
}
public Criteria andProjectIdNotEqualTo(Long value) {
addCriterion("project_id <>", value, "projectId");
return (Criteria) this;
}
public Criteria andProjectIdGreaterThan(Long value) {
addCriterion("project_id >", value, "projectId");
return (Criteria) this;
}
public Criteria andProjectIdGreaterThanOrEqualTo(Long value) {
addCriterion("project_id >=", value, "projectId");
return (Criteria) this;
}
public Criteria andProjectIdLessThan(Long value) {
addCriterion("project_id <", value, "projectId");
return (Criteria) this;
}
public Criteria andProjectIdLessThanOrEqualTo(Long value) {
addCriterion("project_id <=", value, "projectId");
return (Criteria) this;
}
public Criteria andProjectIdIn(List<Long> values) {
addCriterion("project_id in", values, "projectId");
return (Criteria) this;
}
public Criteria andProjectIdNotIn(List<Long> values) {
addCriterion("project_id not in", values, "projectId");
return (Criteria) this;
}
public Criteria andProjectIdBetween(Long value1, Long value2) {
addCriterion("project_id between", value1, value2, "projectId");
return (Criteria) this;
}
public Criteria andProjectIdNotBetween(Long value1, Long value2) {
addCriterion("project_id not between", value1, value2, "projectId");
return (Criteria) this;
}
public Criteria andRoleIdIsNull() {
addCriterion("role_id is null");
return (Criteria) this;
}
public Criteria andRoleIdIsNotNull() {
addCriterion("role_id is not null");
return (Criteria) this;
}
public Criteria andRoleIdEqualTo(Long value) {
addCriterion("role_id =", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdNotEqualTo(Long value) {
addCriterion("role_id <>", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdGreaterThan(Long value) {
addCriterion("role_id >", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdGreaterThanOrEqualTo(Long value) {
addCriterion("role_id >=", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdLessThan(Long value) {
addCriterion("role_id <", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdLessThanOrEqualTo(Long value) {
addCriterion("role_id <=", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdIn(List<Long> values) {
addCriterion("role_id in", values, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdNotIn(List<Long> values) {
addCriterion("role_id not in", values, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdBetween(Long value1, Long value2) {
addCriterion("role_id between", value1, value2, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdNotBetween(Long value1, Long value2) {
addCriterion("role_id not between", value1, value2, "roleId");
return (Criteria) this;
}
public Criteria andCreatedAtIsNull() {
addCriterion("created_at is null");
return (Criteria) this;
}
public Criteria andCreatedAtIsNotNull() {
addCriterion("created_at is not null");
return (Criteria) this;
}
public Criteria andCreatedAtEqualTo(Date value) {
addCriterion("created_at =", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotEqualTo(Date value) {
addCriterion("created_at <>", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThan(Date value) {
addCriterion("created_at >", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("created_at >=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThan(Date value) {
addCriterion("created_at <", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
addCriterion("created_at <=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtIn(List<Date> values) {
addCriterion("created_at in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotIn(List<Date> values) {
addCriterion("created_at not in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtBetween(Date value1, Date value2) {
addCriterion("created_at between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
addCriterion("created_at not between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNull() {
addCriterion("updated_at is null");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNotNull() {
addCriterion("updated_at is not null");
return (Criteria) this;
}
public Criteria andUpdatedAtEqualTo(Date value) {
addCriterion("updated_at =", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotEqualTo(Date value) {
addCriterion("updated_at <>", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThan(Date value) {
addCriterion("updated_at >", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("updated_at >=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThan(Date value) {
addCriterion("updated_at <", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
addCriterion("updated_at <=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIn(List<Date> values) {
addCriterion("updated_at in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotIn(List<Date> values) {
addCriterion("updated_at not in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtBetween(Date value1, Date value2) {
addCriterion("updated_at between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
addCriterion("updated_at not between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andRecStatusIsNull() {
addCriterion("rec_status is null");
return (Criteria) this;
}
public Criteria andRecStatusIsNotNull() {
addCriterion("rec_status is not null");
return (Criteria) this;
}
public Criteria andRecStatusEqualTo(Byte value) {
addCriterion("rec_status =", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotEqualTo(Byte value) {
addCriterion("rec_status <>", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThan(Byte value) {
addCriterion("rec_status >", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
addCriterion("rec_status >=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThan(Byte value) {
addCriterion("rec_status <", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
addCriterion("rec_status <=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusIn(List<Byte> values) {
addCriterion("rec_status in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotIn(List<Byte> values) {
addCriterion("rec_status not in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusBetween(Byte value1, Byte value2) {
addCriterion("rec_status between", value1, value2, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
addCriterion("rec_status not between", value1, value2, "recStatus");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

106
common/src/main/java/com/ccsens/common/bean/po/ProShareMember.java

@ -0,0 +1,106 @@
package com.ccsens.common.bean.po;
import java.io.Serializable;
import java.util.Date;
public class ProShareMember implements Serializable {
private Long id;
private Long userId;
private Long shareId;
private Long memberId;
private Byte type;
private Date createdAt;
private Date updatedAt;
private Byte recStatus;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getShareId() {
return shareId;
}
public void setShareId(Long shareId) {
this.shareId = shareId;
}
public Long getMemberId() {
return memberId;
}
public void setMemberId(Long memberId) {
this.memberId = memberId;
}
public Byte getType() {
return type;
}
public void setType(Byte type) {
this.type = type;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
public Byte getRecStatus() {
return recStatus;
}
public void setRecStatus(Byte recStatus) {
this.recStatus = recStatus;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", userId=").append(userId);
sb.append(", shareId=").append(shareId);
sb.append(", memberId=").append(memberId);
sb.append(", type=").append(type);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append("]");
return sb.toString();
}
}

681
common/src/main/java/com/ccsens/common/bean/po/ProShareMemberExample.java

@ -0,0 +1,681 @@
package com.ccsens.common.bean.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class ProShareMemberExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public ProShareMemberExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andUserIdIsNull() {
addCriterion("user_id is null");
return (Criteria) this;
}
public Criteria andUserIdIsNotNull() {
addCriterion("user_id is not null");
return (Criteria) this;
}
public Criteria andUserIdEqualTo(Long value) {
addCriterion("user_id =", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotEqualTo(Long value) {
addCriterion("user_id <>", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdGreaterThan(Long value) {
addCriterion("user_id >", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
addCriterion("user_id >=", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdLessThan(Long value) {
addCriterion("user_id <", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdLessThanOrEqualTo(Long value) {
addCriterion("user_id <=", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdIn(List<Long> values) {
addCriterion("user_id in", values, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotIn(List<Long> values) {
addCriterion("user_id not in", values, "userId");
return (Criteria) this;
}
public Criteria andUserIdBetween(Long value1, Long value2) {
addCriterion("user_id between", value1, value2, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotBetween(Long value1, Long value2) {
addCriterion("user_id not between", value1, value2, "userId");
return (Criteria) this;
}
public Criteria andShareIdIsNull() {
addCriterion("share_id is null");
return (Criteria) this;
}
public Criteria andShareIdIsNotNull() {
addCriterion("share_id is not null");
return (Criteria) this;
}
public Criteria andShareIdEqualTo(Long value) {
addCriterion("share_id =", value, "shareId");
return (Criteria) this;
}
public Criteria andShareIdNotEqualTo(Long value) {
addCriterion("share_id <>", value, "shareId");
return (Criteria) this;
}
public Criteria andShareIdGreaterThan(Long value) {
addCriterion("share_id >", value, "shareId");
return (Criteria) this;
}
public Criteria andShareIdGreaterThanOrEqualTo(Long value) {
addCriterion("share_id >=", value, "shareId");
return (Criteria) this;
}
public Criteria andShareIdLessThan(Long value) {
addCriterion("share_id <", value, "shareId");
return (Criteria) this;
}
public Criteria andShareIdLessThanOrEqualTo(Long value) {
addCriterion("share_id <=", value, "shareId");
return (Criteria) this;
}
public Criteria andShareIdIn(List<Long> values) {
addCriterion("share_id in", values, "shareId");
return (Criteria) this;
}
public Criteria andShareIdNotIn(List<Long> values) {
addCriterion("share_id not in", values, "shareId");
return (Criteria) this;
}
public Criteria andShareIdBetween(Long value1, Long value2) {
addCriterion("share_id between", value1, value2, "shareId");
return (Criteria) this;
}
public Criteria andShareIdNotBetween(Long value1, Long value2) {
addCriterion("share_id not between", value1, value2, "shareId");
return (Criteria) this;
}
public Criteria andMemberIdIsNull() {
addCriterion("member_id is null");
return (Criteria) this;
}
public Criteria andMemberIdIsNotNull() {
addCriterion("member_id is not null");
return (Criteria) this;
}
public Criteria andMemberIdEqualTo(Long value) {
addCriterion("member_id =", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotEqualTo(Long value) {
addCriterion("member_id <>", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdGreaterThan(Long value) {
addCriterion("member_id >", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {
addCriterion("member_id >=", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdLessThan(Long value) {
addCriterion("member_id <", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdLessThanOrEqualTo(Long value) {
addCriterion("member_id <=", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdIn(List<Long> values) {
addCriterion("member_id in", values, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotIn(List<Long> values) {
addCriterion("member_id not in", values, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdBetween(Long value1, Long value2) {
addCriterion("member_id between", value1, value2, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotBetween(Long value1, Long value2) {
addCriterion("member_id not between", value1, value2, "memberId");
return (Criteria) this;
}
public Criteria andTypeIsNull() {
addCriterion("type is null");
return (Criteria) this;
}
public Criteria andTypeIsNotNull() {
addCriterion("type is not null");
return (Criteria) this;
}
public Criteria andTypeEqualTo(Byte value) {
addCriterion("type =", value, "type");
return (Criteria) this;
}
public Criteria andTypeNotEqualTo(Byte value) {
addCriterion("type <>", value, "type");
return (Criteria) this;
}
public Criteria andTypeGreaterThan(Byte value) {
addCriterion("type >", value, "type");
return (Criteria) this;
}
public Criteria andTypeGreaterThanOrEqualTo(Byte value) {
addCriterion("type >=", value, "type");
return (Criteria) this;
}
public Criteria andTypeLessThan(Byte value) {
addCriterion("type <", value, "type");
return (Criteria) this;
}
public Criteria andTypeLessThanOrEqualTo(Byte value) {
addCriterion("type <=", value, "type");
return (Criteria) this;
}
public Criteria andTypeIn(List<Byte> values) {
addCriterion("type in", values, "type");
return (Criteria) this;
}
public Criteria andTypeNotIn(List<Byte> values) {
addCriterion("type not in", values, "type");
return (Criteria) this;
}
public Criteria andTypeBetween(Byte value1, Byte value2) {
addCriterion("type between", value1, value2, "type");
return (Criteria) this;
}
public Criteria andTypeNotBetween(Byte value1, Byte value2) {
addCriterion("type not between", value1, value2, "type");
return (Criteria) this;
}
public Criteria andCreatedAtIsNull() {
addCriterion("created_at is null");
return (Criteria) this;
}
public Criteria andCreatedAtIsNotNull() {
addCriterion("created_at is not null");
return (Criteria) this;
}
public Criteria andCreatedAtEqualTo(Date value) {
addCriterion("created_at =", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotEqualTo(Date value) {
addCriterion("created_at <>", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThan(Date value) {
addCriterion("created_at >", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("created_at >=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThan(Date value) {
addCriterion("created_at <", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
addCriterion("created_at <=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtIn(List<Date> values) {
addCriterion("created_at in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotIn(List<Date> values) {
addCriterion("created_at not in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtBetween(Date value1, Date value2) {
addCriterion("created_at between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
addCriterion("created_at not between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNull() {
addCriterion("updated_at is null");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNotNull() {
addCriterion("updated_at is not null");
return (Criteria) this;
}
public Criteria andUpdatedAtEqualTo(Date value) {
addCriterion("updated_at =", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotEqualTo(Date value) {
addCriterion("updated_at <>", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThan(Date value) {
addCriterion("updated_at >", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("updated_at >=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThan(Date value) {
addCriterion("updated_at <", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
addCriterion("updated_at <=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIn(List<Date> values) {
addCriterion("updated_at in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotIn(List<Date> values) {
addCriterion("updated_at not in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtBetween(Date value1, Date value2) {
addCriterion("updated_at between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
addCriterion("updated_at not between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andRecStatusIsNull() {
addCriterion("rec_status is null");
return (Criteria) this;
}
public Criteria andRecStatusIsNotNull() {
addCriterion("rec_status is not null");
return (Criteria) this;
}
public Criteria andRecStatusEqualTo(Byte value) {
addCriterion("rec_status =", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotEqualTo(Byte value) {
addCriterion("rec_status <>", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThan(Byte value) {
addCriterion("rec_status >", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
addCriterion("rec_status >=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThan(Byte value) {
addCriterion("rec_status <", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
addCriterion("rec_status <=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusIn(List<Byte> values) {
addCriterion("rec_status in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotIn(List<Byte> values) {
addCriterion("rec_status not in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusBetween(Byte value1, Byte value2) {
addCriterion("rec_status between", value1, value2, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
addCriterion("rec_status not between", value1, value2, "recStatus");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

9
common/src/main/java/com/ccsens/common/bean/vo/CRoleVo.java

@ -51,4 +51,13 @@ public class CRoleVo {
@ApiModelProperty("标签等级")
private Byte level;
}
@Data
@ApiModel("项目下的所有角色")
public static class AllRoleOfProject {
@ApiModelProperty("角色id")
private Long id;
@ApiModelProperty("角色名称")
private String name;
}
}

33
common/src/main/java/com/ccsens/common/bean/vo/CShareVo.java

@ -0,0 +1,33 @@
package com.ccsens.common.bean.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @author AUSU
*/
@Data
public class CShareVo {
@Data
@ApiModel("分享链接")
public static class CreateShareUrl{
@ApiModelProperty("分享链接id")
private Long shareId;
@ApiModelProperty("链接")
private String path;
}
@Data
@ApiModel("点击分享链接返回值")
public static class ClickShareInfo {
@ApiModelProperty("项目id")
private Long projectId;
@ApiModelProperty("角色id")
private Long roleId;
}
}

21
common/src/main/java/com/ccsens/common/persist/dao/ProProjectShareDao.java

@ -0,0 +1,21 @@
package com.ccsens.common.persist.dao;
import com.ccsens.common.bean.po.ProProjectShare;
import com.ccsens.common.bean.vo.CShareVo;
import com.ccsens.common.persist.mapper.ProProjectShareMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
/**
* @author AUSU
*/
@Repository
public interface ProProjectShareDao extends ProProjectShareMapper {
/**
* 根据md5查询分享链接
* @param md5Code md5code
* @return 分享链接信息
*/
ProProjectShare queryShareByMd5(@Param("code") String md5Code);
}

8
common/src/main/java/com/ccsens/common/persist/dao/ProRoleDao.java

@ -102,4 +102,12 @@ public interface ProRoleDao extends ProRoleMapper {
* @return 角色id列表
*/
List<Long> queryRoleListOfProject(@Param("projectId")Long projectId);
/**
* 根据角色等级查询可见角色
* @param projectId 项目id
* @param level 最高等级
* @return 可见角色列表
*/
List<CRoleVo.AllRoleOfProject> queryRoleByLevel(@Param("projectId") Long projectId,@Param("level") Integer level);
}

8
common/src/main/java/com/ccsens/common/persist/dao/ProRoleMemberDao.java

@ -1,5 +1,6 @@
package com.ccsens.common.persist.dao;
import com.ccsens.common.bean.po.ProRoleMember;
import com.ccsens.common.persist.mapper.ProRoleMemberMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@ -19,4 +20,11 @@ public interface ProRoleMemberDao extends ProRoleMemberMapper {
*/
List<Long> findMemberOfRoleIds(@Param("memberId") Long memberId);
/**
* 根据成员id和角色id查询
* @param userOfMemberId 成员id
* @param roleId 角色id
* @return 角色成员信息
*/
ProRoleMember queryByRoleAndMember(@Param("memberId") Long userOfMemberId,@Param("roleId") Long roleId);
}

25
common/src/main/java/com/ccsens/common/persist/dao/ProShareMemberDao.java

@ -0,0 +1,25 @@
package com.ccsens.common.persist.dao;
import com.ccsens.common.bean.po.ProShareMember;
import com.ccsens.common.persist.mapper.ProShareMemberMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Repository
public interface ProShareMemberDao extends ProShareMemberMapper {
/**
* 根据链接id和用户id查询被分享信息
* @param id 链接id
* @param userId 用户id
* @return 点击链接成员信息
*/
ProShareMember queryIsRepeat(@Param("shareId") Long id,@Param("userId") Long userId);
/**
* 根据成员id和用户类型查找用户
* @param userOfMemberId 成员id
* @param type 用户类型
* @return 记录信息
*/
ProShareMember queryByMemberIdAndType(@Param("memberId") Long userOfMemberId,@Param("type") Byte type);
}

30
common/src/main/java/com/ccsens/common/persist/mapper/ProProjectShareMapper.java

@ -0,0 +1,30 @@
package com.ccsens.common.persist.mapper;
import com.ccsens.common.bean.po.ProProjectShare;
import com.ccsens.common.bean.po.ProProjectShareExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface ProProjectShareMapper {
long countByExample(ProProjectShareExample example);
int deleteByExample(ProProjectShareExample example);
int deleteByPrimaryKey(Long id);
int insert(ProProjectShare record);
int insertSelective(ProProjectShare record);
List<ProProjectShare> selectByExample(ProProjectShareExample example);
ProProjectShare selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") ProProjectShare record, @Param("example") ProProjectShareExample example);
int updateByExample(@Param("record") ProProjectShare record, @Param("example") ProProjectShareExample example);
int updateByPrimaryKeySelective(ProProjectShare record);
int updateByPrimaryKey(ProProjectShare record);
}

30
common/src/main/java/com/ccsens/common/persist/mapper/ProShareMemberMapper.java

@ -0,0 +1,30 @@
package com.ccsens.common.persist.mapper;
import com.ccsens.common.bean.po.ProShareMember;
import com.ccsens.common.bean.po.ProShareMemberExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface ProShareMemberMapper {
long countByExample(ProShareMemberExample example);
int deleteByExample(ProShareMemberExample example);
int deleteByPrimaryKey(Long id);
int insert(ProShareMember record);
int insertSelective(ProShareMember record);
List<ProShareMember> selectByExample(ProShareMemberExample example);
ProShareMember selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") ProShareMember record, @Param("example") ProShareMemberExample example);
int updateByExample(@Param("record") ProShareMember record, @Param("example") ProShareMemberExample example);
int updateByPrimaryKeySelective(ProShareMember record);
int updateByPrimaryKey(ProShareMember record);
}

12
common/src/main/java/com/ccsens/common/service/IProRoleService.java

@ -3,11 +3,19 @@ package com.ccsens.common.service;
import com.ccsens.common.bean.dto.CRoleDto;
import com.ccsens.common.bean.vo.CRoleVo;
public interface IProRoleService {
import java.util.List;
CRoleVo.QueryRole QueryShowRole(CRoleDto.QueryRoleById param, Long userId);
public interface IProRoleService {
void updateShowRole(CRoleDto.UpdateRoleShow param, Long userId);
CRoleVo.QueryRole queryShowRole(CRoleDto.QueryRoleById param, Long userId);
/**
* 查询项目下的所有角色
* @param param 项目id
* @param userId 用户id
* @return 所有角色
*/
List<CRoleVo.AllRoleOfProject> queryAllRoleByProjectId(CRoleDto.QueryRoleById param, Long userId);
}

26
common/src/main/java/com/ccsens/common/service/IShareService.java

@ -0,0 +1,26 @@
package com.ccsens.common.service;
import com.ccsens.common.bean.dto.CShareDto;
import com.ccsens.common.bean.vo.CShareVo;
/**
* @author AUSU
*/
public interface IShareService {
/**
* 生成分享链接
* @param param 参数
* @param userId 用户id
* @return 分享链接信息
*/
CShareVo.CreateShareUrl createShareUrl(CShareDto.CreateShareUrl param,Long userId);
/**
* 点击分享链接
* @param param 参数
* @param userId 用户id
* @return 项目和角色id
*/
CShareVo.ClickShareInfo clickShareUrl(CShareDto.ClickShareUrl param,Long userId,String userName,String phone);
}

375
common/src/main/java/com/ccsens/common/service/ProRoleService.java

@ -10,6 +10,7 @@ import com.ccsens.common.bean.vo.CRoleVo;
import com.ccsens.common.persist.dao.LabelDao;
import com.ccsens.common.persist.dao.ProRoleDao;
import com.ccsens.common.persist.mapper.*;
import com.ccsens.common.util.Constant;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j;
@ -27,375 +28,15 @@ import java.util.stream.Collectors;
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class ProRoleService implements IProRoleService {
@Resource
private ProRoleMapper proRoleMapper;
@Resource
private ProRoleDao proRoleDao;
@Resource
private ProMemberMapper proMemberMapper;
@Resource
private ProRoleMemberMapper proRoleMemberMapper;
@Resource
private ProRoleRepulsionMapper proRoleRepulsionMapper;
@Resource
private ProRoleShowMapper proRoleShowMapper;
@Resource
private LabelMapper labelMapper;
@Resource
private LabelDao labelDao;
@Resource
private Snowflake snowflake;
@Override
public CRoleVo.QueryRole QueryShowRole(CRoleDto.QueryRoleById param, Long userId) {
CRoleVo.QueryRole role = new CRoleVo.QueryRole();
// //角色显示的角色
// List<CRoleVo.RoleInfo> visibleList = new ArrayList<>();
// //不显示的角色
// List<CRoleVo.RoleInfo> invisibleList = new ArrayList<>();
// //查询当前用户所属的角色的list
// List<Long> roleIds = new ArrayList<>();
// //对自己不可见的角色的list
// List<Long> roleIds1 = new ArrayList<>();
// //判断是否是关注者 用户不是项目下的成员 并且 用户是成员但不属于任何角色 就是关注者
// // 判断用户是成员但是不属于任何角色 在成员表下查询到 成员信息
// ProMemberExample proMemberExample = new ProMemberExample();
// proMemberExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(param.getProjectId());
// List<ProMember> proMembers = proMemberMapper.selectByExample(proMemberExample); //默认一个
// //判断用户是不是项目下的成员
// List<ProRole> proRoles = new ArrayList<>();
// //排序后的
// List<ProRole> proRoles1 = new ArrayList<>();
// if (CollectionUtil.isNotEmpty(proMembers)) {
// //判断用户是成员是不是有角色 通过成员id来判断
// ProRoleMemberExample proRoleMemberExample = new ProRoleMemberExample();
// proRoleMemberExample.createCriteria().andMemberIdEqualTo(proMembers.get(0).getId());
// List<ProRoleMember> proRoleMembers = proRoleMemberMapper.selectByExample(proRoleMemberExample);
// if (CollectionUtil.isNotEmpty(proRoleMembers)) {
// //用户不是关注者 否 不是才是关注者
// //用户有角色 角色是那个 查询当前用户所属的角色
// Long roleId1 = 0L;
// //List<Long> roleIds =null; //查询当前用户所属的角色
// for (ProRoleMember proRoleMember : proRoleMembers) {
// Long roleId = proRoleMember.getRoleId();//查询当前用户所属的角色 后端 前端
// roleIds.add(roleId);
// ProRoleRepulsionExample proRoleRepulsionExample = new ProRoleRepulsionExample();
// proRoleRepulsionExample.createCriteria().andRepulsionRoleIdEqualTo(roleId);
// List<ProRoleRepulsion> proRoleRepulsions = proRoleRepulsionMapper.selectByExample(proRoleRepulsionExample);
// for (ProRoleRepulsion proRoleRepulsion : proRoleRepulsions) {
// roleId1 = proRoleRepulsion.getRoleId();//对自己不可见的角色
// //判断对自己不可见的角色是不是我的角色
// roleIds1.add(roleId1); //前端
// }
// }
// //查询项目下的所有角色 去除不可见角色 通过项目id查找角色id
// ProRoleExample proRoleExample = new ProRoleExample();
// proRoleExample.createCriteria().andProjectIdEqualTo(param.getProjectId());
// proRoles = proRoleMapper.selectByExample(proRoleExample); //前端 后端 UI
// //在一个集合里面 去除另外一个集合 1 2 3 1 2
// Iterator<ProRole> iterator7 = proRoles.iterator();
// while (iterator7.hasNext()) {
// ProRole proRole = iterator7.next();
// if(roleIds1.size()> 0){ //不可见的角色大于0
// for (int i = 0; i < roleIds1.size(); i++) {
// int size = roleIds.size(); //当前用户只有一个角色
// if(size == 1){
// if (proRole.getId().equals(roleIds1.get(i))) {
// iterator7.remove(); //去除不可见角色
// }
// }else {
// //不可见角色没有
// }
// }
// }
// }
// //进行排序 把项目经理拿出来
// Iterator<ProRole> iterator5 = proRoles.iterator();
// while (iterator5.hasNext()) {
// ProRole proRole = iterator5.next();
// String PM = labelDao.queryIsPm(proRole.getLabelId());
// if (StrUtil.isNotEmpty(PM)) { //是项目经理
// proRoles1.add(proRole);
// iterator5.remove(); //把项目经理角色拿出去
// }
// }
// //进行排序 把我的角色拿出来
// for (int i = 0; i < proRoles.size(); i++) {
// //是否是mine 判断是不是自己的角色// 0否 1是
// if(!roleIds.isEmpty()){
// Iterator<Long> iterator6 = roleIds.iterator();
// while (iterator6.hasNext()) {
// Long roleId = iterator6.next();
// Long id = proRoles.get(i).getId();
// if (roleId.equals(id)) {
// proRoles1.add(proRoles.get(i));
// proRoles.remove(proRoles.get(i)); //把我的角色拿出去
// }
// }
// }
//
// }
// //进行排序 把其他角色拿出来
// for (int i = 0; i < proRoles.size(); i++) {
// proRoles1.add(proRoles.get(i));
// }
//
// }else{ //用户是游客 是 查询所有 未设置对谁不可见信息 的角色 通过角色id去查找 role_id
// ProRoleExample proRoleExample = new ProRoleExample();
// proRoleExample.createCriteria().andProjectIdEqualTo(param.getProjectId());
// proRoles = proRoleMapper.selectByExample(proRoleExample);
// if (ObjectUtil.isNotNull(proRoles)) {
// Iterator<ProRole> iterator = proRoles.iterator();
// while (iterator.hasNext()) {
// ProRole proRole = iterator.next();
// //查看是否设置不可见
// ProRoleRepulsionExample proRoleRepulsionExample = new ProRoleRepulsionExample();
// proRoleRepulsionExample.createCriteria().andRepulsionRoleIdEqualTo(proRole.getId());
// List<ProRoleRepulsion> proRoleRepulsions = proRoleRepulsionMapper.selectByExample(proRoleRepulsionExample);
// if (proRoleRepulsions.size()!=0) {
// //查到就是设置过了 移除
// iterator.remove();
// }
// }
// Iterator<ProRole> iterator1 = proRoles.iterator();
// while (iterator1.hasNext()) {
// ProRole proRole = iterator1.next();
// String PM = labelDao.queryIsPm(proRole.getLabelId());
// if (StrUtil.isNotEmpty(PM)) { //是项目经理
// proRoles1.add(proRole);
// iterator1.remove(); //把项目经理角色拿出去
// }
// }
// //进行排序 把我的角色拿出来 本来就没有我的角色 不需要判断
// //进行排序 把其他角色拿出来
// for (int i = 0; i < proRoles.size(); i++) {
// proRoles1.add(proRoles.get(i));
// }
// }
// }
// } else { //用户是游客 是 查询所有 未设置对谁不可见信息 的角色 通过角色id去查找 role_id
// ProRoleExample proRoleExample = new ProRoleExample();
// proRoleExample.createCriteria().andProjectIdEqualTo(param.getProjectId());
// proRoles = proRoleMapper.selectByExample(proRoleExample);
// if (ObjectUtil.isNotNull(proRoles)) {
// Iterator<ProRole> iterator = proRoles.iterator();
// while (iterator.hasNext()) {
// ProRole proRole = iterator.next();
// //查看是否设置不可见
// ProRoleRepulsionExample proRoleRepulsionExample = new ProRoleRepulsionExample();
// proRoleRepulsionExample.createCriteria().andRepulsionRoleIdEqualTo(proRole.getId());
// List<ProRoleRepulsion> proRoleRepulsions = proRoleRepulsionMapper.selectByExample(proRoleRepulsionExample);
// if (proRoleRepulsions.size()!=0) {
// //查到就是设置过了 移除
// iterator.remove();
// }
// }
// Iterator<ProRole> iterator1 = proRoles.iterator();
// while (iterator1.hasNext()) {
// ProRole proRole = iterator1.next();
// String PM = labelDao.queryIsPm(proRole.getLabelId());
// if (StrUtil.isNotEmpty(PM)) { //是项目经理
// proRoles1.add(proRole);
// iterator1.remove(); //把项目经理角色拿出去
// }
// }
// //进行排序 把我的角色拿出来 本来就没有我的角色 不需要判断
// //进行排序 把其他角色拿出来
// for (int i = 0; i < proRoles.size(); i++) {
// proRoles1.add(proRoles.get(i));
// }
// }
// }
//
//
// //根据项目id和userId查询当前用户配置的角色栏信息
// ProRoleShowExample proRoleShowExample = new ProRoleShowExample();
// proRoleShowExample.createCriteria().andProjectIdEqualTo(param.getProjectId()).andUserIdEqualTo(userId);
// List<ProRoleShow> proRoleShows = proRoleShowMapper.selectByExample(proRoleShowExample);
// //循环所有的角色,判断是否在配置信息内 将角色信息放入“显示角色”的数组内 将角色放入“隐藏角色"数组
// if (proRoleShows.size()!=0) { //配置过的
// //通过
// Iterator<ProRole> iterator = proRoles1.iterator();
// while (iterator.hasNext()) {
// ProRole proRole = iterator.next();
// //用户下的角色id 去除 proRoleShows下的
// Long id = proRole.getId();
// for (int i = 0; i < proRoleShows.size(); i++) {
// Long roleId = proRoleShows.get(i).getRoleId();
// if(id.equals(roleId)){
// iterator.remove();
// }
// }
// }
// //proRoles1里面就是没有设置过的
// for (int i = 0; i < proRoles1.size(); i++) {
// CRoleVo.RoleInfo RoleInfo1 = new CRoleVo.RoleInfo();
// RoleInfo1.setId(proRoles1.get(i).getId());
// RoleInfo1.setName(proRoles1.get(i).getName());
// //是否是pm
// String PM = labelDao.queryIsPm(proRoles1.get(i).getLabelId());
// if (StrUtil.isNotEmpty(PM)) { //是
// RoleInfo1.setPm(1L);
// } else {
// RoleInfo1.setPm(0L);
// }
// //是否是mine 判断是不是自己的角色// 0否 1是
// if(roleIds.size()!=0){
// for (Long roleId1 : roleIds) {
// Long id1 = proRoles1.get(i).getId();
// if (roleId1.equals(id1)) {
// RoleInfo1.setMine(1L);
// break;
// } else {
// RoleInfo1.setMine(0L);
// }
// }
// }else {
// RoleInfo1.setMine(0L);
// }
// //排序
// RoleInfo1.setSequence((long) i+1);
// invisibleList.add(RoleInfo1);
// }
// //proRoleShows里面就是设置过的 设置过的里面id是否设置了不可见
// for (ProRoleShow proRoleShow : proRoleShows) {
// ProRoleExample proRoleExample = new ProRoleExample();
// proRoleExample.createCriteria().andIdEqualTo(proRoleShow.getRoleId());
// List<ProRole> proRoles2 = proRoleMapper.selectByExample(proRoleExample);
// CRoleVo.RoleInfo RoleInfo1 = new CRoleVo.RoleInfo();
// RoleInfo1.setId(proRoles2.get(0).getId());
// RoleInfo1.setName(proRoles2.get(0).getName());
// //是否是pm 0否 1 是 //通过标签来定义 5 和 2 34是
// //通过角色表里面的标签id 去 标签表查询 label_type_id =5 在去标签类型表查5 和 level =2
// String PM = labelDao.queryIsPm(proRoles2.get(0).getLabelId());
// if (StrUtil.isNotEmpty(PM)) { //是
// RoleInfo1.setPm(1L);
// } else {
// RoleInfo1.setPm(0L);
// }
// //是否是mine 判断是不是自己的角色// 0否 1是
// if(roleIds.size()!=0){
// for (Long roleId1 : roleIds) {
// Long id1 = proRoles2.get(0).getId();
// if (roleId1.equals(id1)) {
// RoleInfo1.setMine(1L);
// break;
// } else {
// RoleInfo1.setMine(0L);
// }
// }
// }else {
// RoleInfo1.setMine(0L);
// }
// //排序
// RoleInfo1.setSequence(Long.valueOf(proRoleShow.getSequence()));
// visibleList.add(RoleInfo1);
// }
// } else {
// //循环查询到的角色,放入“显示角色”的数组内 数组长度大于等于5
// if(proRoles1.size()<6){
// for (int i = 0; i < proRoles1.size(); i++) {
// CRoleVo.RoleInfo RoleInfo1 = new CRoleVo.RoleInfo();
// RoleInfo1.setId(proRoles1.get(i).getId());
// RoleInfo1.setName(proRoles1.get(i).getName());
// //是否是pm
// String PM = labelDao.queryIsPm(proRoles1.get(i).getLabelId());
// if (StrUtil.isNotEmpty(PM)) { //是
// RoleInfo1.setPm(1L);
// } else {
// RoleInfo1.setPm(0L);
// }
// //是否是mine 判断是不是自己的角色// 0否 1是
// if(roleIds.size()!=0){
// for (Long roleId : roleIds) {
// Long id = proRoles1.get(i).getId();
// if (roleId.equals(id)) {
// RoleInfo1.setMine(1L);
// break;
// } else {
// RoleInfo1.setMine(0L);
// }
// }
// }else {
// RoleInfo1.setMine(0L);
// }
// //排序
// RoleInfo1.setSequence((long) i+1);
// visibleList.add(RoleInfo1);
// }
// }
//
// if (proRoles1.size() >= 6) {
// for (int i = 0; i < 5; i++) {
// CRoleVo.RoleInfo RoleInfo1 = new CRoleVo.RoleInfo();
// RoleInfo1.setId(proRoles1.get(i).getId());
// RoleInfo1.setName(proRoles1.get(i).getName());
// //是否是pm
// String PM = labelDao.queryIsPm(proRoles1.get(i).getLabelId());
// if (StrUtil.isNotEmpty(PM)) { //是
// RoleInfo1.setPm(1L);
// } else {
// RoleInfo1.setPm(0L);
// }
// //是否是mine 判断是不是自己的角色// 0否 1是
// if(roleIds.size()!=0){
// for (Long roleId : roleIds) {
// Long id = proRoles1.get(i).getId();
// if (roleId.equals(id)) {
// RoleInfo1.setMine(1L);
// break;
// } else {
// RoleInfo1.setMine(0L);
// }
// }
// }else {
// RoleInfo1.setMine(0L);
// }
//
// //排序
// RoleInfo1.setSequence((long) i+1);
// visibleList.add(RoleInfo1);
// }
//
// //将剩下的角色放入“隐藏角色”数组
// for (int i = 5; i < proRoles1.size(); i++) {
// CRoleVo.RoleInfo RoleInfo1 = new CRoleVo.RoleInfo();
// RoleInfo1.setId(proRoles1.get(i).getId());
// RoleInfo1.setName(proRoles1.get(i).getName());
// //是否是pm
// String PM = labelDao.queryIsPm(proRoles1.get(i).getLabelId());
// if (StrUtil.isNotEmpty(PM)) { //是
// RoleInfo1.setPm(1L);
// } else {
// RoleInfo1.setPm(0L);
// }
// //是否是mine 判断是不是自己的角色// 0否 1是
// if(roleIds.size()!=0){
// for (Long roleId : roleIds) {
// Long id = proRoles1.get(i).getId();
// if (roleId.equals(id)) {
// RoleInfo1.setMine(1L);
// break;
// } else {
// RoleInfo1.setMine(0L);
// }
// }
// }else {
// RoleInfo1.setMine(0L);
// }
// //排序
// RoleInfo1.setSequence((long) (i-4)); //5-4
// invisibleList.add(RoleInfo1);
// }
// }
// }
// role.setInvisibleList(invisibleList);
// role.setVisibleList(visibleList);
return role;
}
@Override
public void updateShowRole(CRoleDto.UpdateRoleShow param, Long userId) {
//判断入参内的角色判断入参内的角色id列表是否为空
@ -496,4 +137,16 @@ public class ProRoleService implements IProRoleService {
queryRole.setInvisibleList(invisibleList);
return queryRole;
}
@Override
public List<CRoleVo.AllRoleOfProject> queryAllRoleByProjectId(CRoleDto.QueryRoleById param, Long userId) {
Integer level = proRoleDao.isPmByUserId(userId, param.getProjectId());
List<CRoleVo.AllRoleOfProject> roleList = proRoleDao.queryRoleByLevel(param.getProjectId(),level);
//添加观众
CRoleVo.AllRoleOfProject role = new CRoleVo.AllRoleOfProject();
role.setId(Constant.SPRCTATOR_ID);
role.setName(Constant.SPRCTATOR);
roleList.add(role);
return roleList;
}
}

141
common/src/main/java/com/ccsens/common/service/ShareService.java

@ -0,0 +1,141 @@
package com.ccsens.common.service;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.cloudutil.bean.tall.dto.ProjectDto;
import com.ccsens.cloudutil.feign.Tall3FeignClient;
import com.ccsens.common.bean.dto.CShareDto;
import com.ccsens.common.bean.po.ProMember;
import com.ccsens.common.bean.po.ProProjectShare;
import com.ccsens.common.bean.po.ProRoleMember;
import com.ccsens.common.bean.po.ProShareMember;
import com.ccsens.common.bean.vo.CShareVo;
import com.ccsens.common.persist.dao.*;
import com.ccsens.common.util.CommonCodeError;
import com.ccsens.util.Md5Util;
import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
* @author AUSU
*/
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
public class ShareService implements IShareService{
@Resource
private ProProjectShareDao projectShareDao;
@Resource
private ProShareMemberDao shareMemberDao;
@Resource
private ProMemberDao memberDao;
@Resource
private ProRoleMemberDao roleMemberDao;
@Resource
private Snowflake snowflake;
@Resource
private Tall3FeignClient tall3FeignClient;
@Override
public CShareVo.CreateShareUrl createShareUrl(CShareDto.CreateShareUrl param, Long userId) {
String md5Code = Md5Util.stringTo("" + param.getProjectId() + param.getRoleId() + userId);
CShareVo.CreateShareUrl shareUrl = new CShareVo.CreateShareUrl();
ProProjectShare projectShare = projectShareDao.queryShareByMd5(md5Code);
if (ObjectUtil.isNotNull(projectShare)) {
shareUrl.setShareId(projectShare.getId());
shareUrl.setPath(projectShare.getUrl());
return shareUrl;
}
//创建新的链接
ProProjectShare proProjectShare = new ProProjectShare();
proProjectShare.setId(snowflake.nextId());
proProjectShare.setUserId(userId);
proProjectShare.setUrl(param.getPath()+"&shareId="+md5Code);
proProjectShare.setCode(md5Code);
proProjectShare.setProjectId(param.getProjectId());
proProjectShare.setRoleId(param.getRoleId());
projectShareDao.insertSelective(proProjectShare);
shareUrl.setShareId(proProjectShare.getId());
shareUrl.setPath(proProjectShare.getUrl());
return shareUrl;
}
@Override
public CShareVo.ClickShareInfo clickShareUrl(CShareDto.ClickShareUrl param, Long userId,String userName,String phone) {
ProProjectShare projectShare = projectShareDao.queryShareByMd5(param.getCode());
if (ObjectUtil.isNull(projectShare)) {
throw new BaseException(CommonCodeError.SHARE_URL_ERROR);
}
//返回值
CShareVo.ClickShareInfo clickShareInfo = new CShareVo.ClickShareInfo();
clickShareInfo.setProjectId(projectShare.getProjectId());
clickShareInfo.setRoleId(projectShare.getRoleId());
//查询是否点击过链接
ProShareMember shareMember = shareMemberDao.queryIsRepeat(projectShare.getId(),userId);
if (ObjectUtil.isNotNull(shareMember)) {
return clickShareInfo;
}
//查询用户是否项目原来成员
Long userOfMemberId = memberDao.findUserOfMemberId(projectShare.getProjectId(), userId);
//新成员
if (ObjectUtil.isNull(userOfMemberId)) {
ProMember member = new ProMember();
member.setId(snowflake.nextId());
member.setUserId(userId);
member.setProjectId(projectShare.getProjectId());
member.setName(userName);
member.setPhone(phone);
memberDao.insertSelective(member);
ProRoleMember roleMember = new ProRoleMember();
roleMember.setId(snowflake.nextId());
roleMember.setRoleId(projectShare.getRoleId());
roleMember.setMemberId(member.getId());
roleMemberDao.insertSelective(roleMember);
ProShareMember newShareMember = new ProShareMember();
newShareMember.setId(snowflake.nextId());
newShareMember.setUserId(userId);
newShareMember.setShareId(projectShare.getId());
newShareMember.setMemberId(member.getId());
newShareMember.setType((byte) 0);
shareMemberDao.insertSelective(newShareMember);
ProjectDto.SaveUserProject userProject = new ProjectDto.SaveUserProject();
userProject.setProjectId(projectShare.getProjectId());
userProject.setUserId(userId);
tall3FeignClient.saveUserProject(userProject);
return clickShareInfo;
}
//有数据并且角色已存在
ProRoleMember roleMember = roleMemberDao.queryByRoleAndMember(userOfMemberId,projectShare.getRoleId());
if (ObjectUtil.isNotNull(roleMember)) {
return clickShareInfo;
}
//有数据但是角色不存在
ProShareMember proShareMember = new ProShareMember();
proShareMember.setId(snowflake.nextId());
proShareMember.setMemberId(userOfMemberId);
proShareMember.setShareId(projectShare.getId());
proShareMember.setUserId(userId);
Byte type = 0;
ProShareMember typeOfZero = shareMemberDao.queryByMemberIdAndType(userOfMemberId,type);
if (ObjectUtil.isNotNull(typeOfZero)){
proShareMember.setType((byte)0);
}else{
proShareMember.setType((byte)1);
}
shareMemberDao.insertSelective(proShareMember);
return clickShareInfo;
}
}

1
common/src/main/java/com/ccsens/common/util/CommonCodeError.java

@ -15,5 +15,6 @@ public class CommonCodeError extends CodeError {
public static final Code PROJECT_NOT_FOUND = new Code(6,"项目不存在,请检查后再试!", true);
public static final Code TASK_SUB_NOT_FOUND = new Code(6,"分解任务不存在,请检查后再试!", true);
public static final Code PLUGIN_NAME_ERROR = new Code(7,"请选择正确的插件", true);
public static final Code SHARE_URL_ERROR = new Code(8,"分享链接错误", true);
}

3
common/src/main/java/com/ccsens/common/util/Constant.java

@ -68,4 +68,7 @@ public class Constant {
this.phase = thePhase;
}
}
public static final Long SPRCTATOR_ID = 0L;
public static final String SPRCTATOR = "观众";
}

20
common/src/main/resources/mapper_dao/ProProjectShareDao.xml

@ -0,0 +1,20 @@
<?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.ccsens.common.persist.dao.ProProjectShareDao">
<select id="queryShareByMd5" resultType="com.ccsens.common.bean.po.ProProjectShare">
SELECT
id,
user_id,
url,
`code`,
project_id,
role_id
FROM
t_pro_project_share
WHERE
rec_status = 0
AND `code` = #{code}
</select>
</mapper>

14
common/src/main/resources/mapper_dao/ProRoleDao.xml

@ -206,4 +206,18 @@
AND project_id = #{projectId}
</select>
<select id="queryRoleByLevel" resultType="com.ccsens.common.bean.vo.CRoleVo$AllRoleOfProject">
SELECT
r.id,
r.`name`
FROM
t_pro_role AS r
LEFT JOIN t_label AS l ON r.label_id = l.id
WHERE
r.rec_status = 0
AND l.rec_status = 0
AND project_id = #{projectId}
AND l.`level` &lt;= #{level}
</select>
</mapper>

15
common/src/main/resources/mapper_dao/ProRoleMemberDao.xml

@ -11,4 +11,19 @@
rec_status = 0
AND member_id = #{memberId}
</select>
<select id="queryByRoleAndMember" resultType="com.ccsens.common.bean.po.ProRoleMember">
SELECT
id,
role_id,
member_id,
operator
FROM
t_pro_role_member
WHERE
rec_status = 0
AND role_id = #{roleId}
AND member_id = #{memberId}
</select>
</mapper>

35
common/src/main/resources/mapper_dao/ProShareMemberDao.xml

@ -0,0 +1,35 @@
<?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.ccsens.common.persist.dao.ProShareMemberDao">
<select id="queryIsRepeat" resultType="com.ccsens.common.bean.po.ProShareMember">
SELECT
id,
user_id,
share_id,
member_id,
`type`
FROM
t_pro_share_member
WHERE
rec_status = 0
AND user_id = #{userId}
AND share_id = #{shareId}
</select>
<select id="queryByMemberIdAndType" resultType="com.ccsens.common.bean.po.ProShareMember">
SELECT
id,
user_id,
share_id,
member_id,
type
FROM
t_pro_share_member
WHERE
rec_status = 0
AND member_id = #{memberId}
AND `type` = #{type}
</select>
</mapper>

275
common/src/main/resources/mapper_raw/ProProjectShareMapper.xml

@ -0,0 +1,275 @@
<?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.ccsens.common.persist.mapper.ProProjectShareMapper">
<resultMap id="BaseResultMap" type="com.ccsens.common.bean.po.ProProjectShare">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="user_id" jdbcType="BIGINT" property="userId" />
<result column="url" jdbcType="VARCHAR" property="url" />
<result column="code" jdbcType="VARCHAR" property="code" />
<result column="project_id" jdbcType="BIGINT" property="projectId" />
<result column="role_id" jdbcType="BIGINT" property="roleId" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, user_id, url, code, project_id, role_id, created_at, updated_at, rec_status
</sql>
<select id="selectByExample" parameterType="com.ccsens.common.bean.po.ProProjectShareExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from t_pro_project_share
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from t_pro_project_share
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from t_pro_project_share
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="com.ccsens.common.bean.po.ProProjectShareExample">
delete from t_pro_project_share
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.ccsens.common.bean.po.ProProjectShare">
insert into t_pro_project_share (id, user_id, url,
code, project_id, role_id,
created_at, updated_at, rec_status
)
values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{url,jdbcType=VARCHAR},
#{code,jdbcType=VARCHAR}, #{projectId,jdbcType=BIGINT}, #{roleId,jdbcType=BIGINT},
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}
)
</insert>
<insert id="insertSelective" parameterType="com.ccsens.common.bean.po.ProProjectShare">
insert into t_pro_project_share
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="userId != null">
user_id,
</if>
<if test="url != null">
url,
</if>
<if test="code != null">
code,
</if>
<if test="projectId != null">
project_id,
</if>
<if test="roleId != null">
role_id,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="recStatus != null">
rec_status,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="userId != null">
#{userId,jdbcType=BIGINT},
</if>
<if test="url != null">
#{url,jdbcType=VARCHAR},
</if>
<if test="code != null">
#{code,jdbcType=VARCHAR},
</if>
<if test="projectId != null">
#{projectId,jdbcType=BIGINT},
</if>
<if test="roleId != null">
#{roleId,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.common.bean.po.ProProjectShareExample" resultType="java.lang.Long">
select count(*) from t_pro_project_share
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update t_pro_project_share
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.userId != null">
user_id = #{record.userId,jdbcType=BIGINT},
</if>
<if test="record.url != null">
url = #{record.url,jdbcType=VARCHAR},
</if>
<if test="record.code != null">
code = #{record.code,jdbcType=VARCHAR},
</if>
<if test="record.projectId != null">
project_id = #{record.projectId,jdbcType=BIGINT},
</if>
<if test="record.roleId != null">
role_id = #{record.roleId,jdbcType=BIGINT},
</if>
<if test="record.createdAt != null">
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
</if>
<if test="record.updatedAt != null">
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update t_pro_project_share
set id = #{record.id,jdbcType=BIGINT},
user_id = #{record.userId,jdbcType=BIGINT},
url = #{record.url,jdbcType=VARCHAR},
code = #{record.code,jdbcType=VARCHAR},
project_id = #{record.projectId,jdbcType=BIGINT},
role_id = #{record.roleId,jdbcType=BIGINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.common.bean.po.ProProjectShare">
update t_pro_project_share
<set>
<if test="userId != null">
user_id = #{userId,jdbcType=BIGINT},
</if>
<if test="url != null">
url = #{url,jdbcType=VARCHAR},
</if>
<if test="code != null">
code = #{code,jdbcType=VARCHAR},
</if>
<if test="projectId != null">
project_id = #{projectId,jdbcType=BIGINT},
</if>
<if test="roleId != null">
role_id = #{roleId,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.ccsens.common.bean.po.ProProjectShare">
update t_pro_project_share
set user_id = #{userId,jdbcType=BIGINT},
url = #{url,jdbcType=VARCHAR},
code = #{code,jdbcType=VARCHAR},
project_id = #{projectId,jdbcType=BIGINT},
role_id = #{roleId,jdbcType=BIGINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

258
common/src/main/resources/mapper_raw/ProShareMemberMapper.xml

@ -0,0 +1,258 @@
<?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.ccsens.common.persist.mapper.ProShareMemberMapper">
<resultMap id="BaseResultMap" type="com.ccsens.common.bean.po.ProShareMember">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="user_id" jdbcType="BIGINT" property="userId" />
<result column="share_id" jdbcType="BIGINT" property="shareId" />
<result column="member_id" jdbcType="BIGINT" property="memberId" />
<result column="type" jdbcType="TINYINT" property="type" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, user_id, share_id, member_id, type, created_at, updated_at, rec_status
</sql>
<select id="selectByExample" parameterType="com.ccsens.common.bean.po.ProShareMemberExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from t_pro_share_member
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from t_pro_share_member
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from t_pro_share_member
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="com.ccsens.common.bean.po.ProShareMemberExample">
delete from t_pro_share_member
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.ccsens.common.bean.po.ProShareMember">
insert into t_pro_share_member (id, user_id, share_id,
member_id, type, created_at,
updated_at, rec_status)
values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{shareId,jdbcType=BIGINT},
#{memberId,jdbcType=BIGINT}, #{type,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP},
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT})
</insert>
<insert id="insertSelective" parameterType="com.ccsens.common.bean.po.ProShareMember">
insert into t_pro_share_member
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="userId != null">
user_id,
</if>
<if test="shareId != null">
share_id,
</if>
<if test="memberId != null">
member_id,
</if>
<if test="type != null">
type,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="recStatus != null">
rec_status,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="userId != null">
#{userId,jdbcType=BIGINT},
</if>
<if test="shareId != null">
#{shareId,jdbcType=BIGINT},
</if>
<if test="memberId != null">
#{memberId,jdbcType=BIGINT},
</if>
<if test="type != null">
#{type,jdbcType=TINYINT},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.common.bean.po.ProShareMemberExample" resultType="java.lang.Long">
select count(*) from t_pro_share_member
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update t_pro_share_member
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.userId != null">
user_id = #{record.userId,jdbcType=BIGINT},
</if>
<if test="record.shareId != null">
share_id = #{record.shareId,jdbcType=BIGINT},
</if>
<if test="record.memberId != null">
member_id = #{record.memberId,jdbcType=BIGINT},
</if>
<if test="record.type != null">
type = #{record.type,jdbcType=TINYINT},
</if>
<if test="record.createdAt != null">
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
</if>
<if test="record.updatedAt != null">
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update t_pro_share_member
set id = #{record.id,jdbcType=BIGINT},
user_id = #{record.userId,jdbcType=BIGINT},
share_id = #{record.shareId,jdbcType=BIGINT},
member_id = #{record.memberId,jdbcType=BIGINT},
type = #{record.type,jdbcType=TINYINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.common.bean.po.ProShareMember">
update t_pro_share_member
<set>
<if test="userId != null">
user_id = #{userId,jdbcType=BIGINT},
</if>
<if test="shareId != null">
share_id = #{shareId,jdbcType=BIGINT},
</if>
<if test="memberId != null">
member_id = #{memberId,jdbcType=BIGINT},
</if>
<if test="type != null">
type = #{type,jdbcType=TINYINT},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.ccsens.common.bean.po.ProShareMember">
update t_pro_share_member
set user_id = #{userId,jdbcType=BIGINT},
share_id = #{shareId,jdbcType=BIGINT},
member_id = #{memberId,jdbcType=BIGINT},
type = #{type,jdbcType=TINYINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

7
signin/src/main/java/com/ccsens/signin/api/ProjectController.java

@ -43,6 +43,13 @@ public class ProjectController {
return JsonResponse.newInstance().ok();
}
@ApiOperation(value = "新增用户项目表信息", notes = "")
@RequestMapping(value = "/saveUserProject", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse saveUserProject(@ApiParam @Validated @RequestBody ProjectDto.SaveUserProject saveUserProject) throws Exception{
projectService.saveUserProject(saveUserProject);
return JsonResponse.newInstance().ok();
}
@MustLogin
@ApiOperation(value = "查询日历是否有小红点", notes = "查询日历是否有小红点")
@RequestMapping(value = "/day", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})

9
signin/src/main/java/com/ccsens/signin/bean/dto/ProjectDto.java

@ -41,6 +41,15 @@ public class ProjectDto {
private Set<Long> userIdList;
}
@Data
@ApiModel("添加项目信息单个")
public static class SaveUserProject {
@ApiModelProperty("项目id")
private Long projectId;
@ApiModelProperty("用户id")
private Long userId;
}
@Data
@ApiModel("查询日历是否有项目")
public static class QueryHaveProject {

6
signin/src/main/java/com/ccsens/signin/service/IProjectService.java

@ -33,4 +33,10 @@ public interface IProjectService {
* @param userId 用户id
*/
void setProjectSort(ProjectDto.SetProjectSort param, Long userId);
/**
* 保存用户项目表
* @param saveUserProject 用户id 项目id
*/
void saveUserProject(ProjectDto.SaveUserProject saveUserProject);
}

16
signin/src/main/java/com/ccsens/signin/service/ProjectService.java

@ -237,4 +237,20 @@ public class ProjectService implements IProjectService{
}
}
@Override
public void saveUserProject(ProjectDto.SaveUserProject saveUserProject) {
SysUserProjectExample userProjectExample = new SysUserProjectExample();
userProjectExample.createCriteria().andUserIdEqualTo(saveUserProject.getUserId())
.andProjectIdEqualTo(saveUserProject.getProjectId());
List<SysUserProject> sysUserProjects = userProjectMapper.selectByExample(userProjectExample);
if (CollectionUtil.isNotEmpty(sysUserProjects)){
return;
}
SysUserProject userProject = new SysUserProject();
userProject.setId(snowflake.nextId());
userProject.setUserId(saveUserProject.getUserId());
userProject.setProjectId(saveUserProject.getProjectId());
userProjectMapper.insertSelective(userProject);
}
}

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

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

2
util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java

@ -24,4 +24,6 @@ public class QueryDto<T> {
private String userName;
@ApiModelProperty("头像")
private String avatarUrl;
@ApiModelProperty("手机号")
private String phone;
}

Loading…
Cancel
Save