31 changed files with 3048 additions and 341 deletions
@ -1,10 +1,59 @@ |
|||
package com.research.web.controller.client.project; |
|||
|
|||
import com.github.pagehelper.PageHelper; |
|||
import com.github.pagehelper.PageInfo; |
|||
import com.research.common.annotation.Anonymous; |
|||
import com.research.common.core.domain.BaseDto; |
|||
import com.research.common.core.domain.JsonResponse; |
|||
import com.research.system.domain.dto.MemberAduitDto; |
|||
import com.research.system.domain.vo.MemberAduitVo; |
|||
import com.research.system.service.MemberAduitService; |
|||
import io.swagger.annotations.Api; |
|||
import liquibase.pro.packaged.J; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author zzc |
|||
* @Package com.research.web.controller.client.project |
|||
* @Date 2025/9/16 0:26 |
|||
* @description: |
|||
*/ |
|||
@Slf4j |
|||
@Api(tags = "成员申请") |
|||
@RestController |
|||
@RequestMapping("/memberAduit") |
|||
public class MemberAduitController { |
|||
|
|||
@Resource |
|||
private MemberAduitService memberAduitService; |
|||
|
|||
@Anonymous |
|||
@PostMapping("/register") |
|||
public JsonResponse<Integer> register(@RequestBody @Validated MemberAduitDto.Register dto){ |
|||
memberAduitService.register(dto); |
|||
return JsonResponse.ok(); |
|||
|
|||
} |
|||
|
|||
@PostMapping("/query") |
|||
public JsonResponse<PageInfo<MemberAduitVo.Result>> query(@RequestBody @Validated BaseDto<MemberAduitDto.Query> dto){ |
|||
if (dto.getPageNum() > 0) { |
|||
PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); |
|||
} |
|||
return JsonResponse.ok(new PageInfo<>(memberAduitService.query(dto.getParam()))); |
|||
} |
|||
|
|||
@PostMapping("/aduit") |
|||
public JsonResponse aduit(@RequestBody @Validated MemberAduitDto.Aduit dto){ |
|||
memberAduitService.aduit(dto.getId(), dto.getStatus()); |
|||
return JsonResponse.ok(); |
|||
} |
|||
} |
|||
|
|||
@ -0,0 +1,53 @@ |
|||
package com.research.web.controller.client.tms; |
|||
|
|||
import com.github.pagehelper.PageHelper; |
|||
import com.github.pagehelper.PageInfo; |
|||
import com.research.common.annotation.Anonymous; |
|||
import com.research.common.annotation.DataSource; |
|||
import com.research.common.core.domain.BaseDto; |
|||
import com.research.common.core.domain.JsonResponse; |
|||
import com.research.common.enums.DataSourceType; |
|||
import com.research.system.domain.dto.TaskDto; |
|||
import com.research.system.domain.po.TmsTenant; |
|||
import com.research.system.domain.po.TmsTenantExample; |
|||
import com.research.system.domain.vo.TaskVo; |
|||
import com.research.system.persist.mapper.TmsTenantMapper; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import io.swagger.annotations.ApiParam; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RequestMethod; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author zzc |
|||
* @Package com.research.web.controller.client.tms |
|||
* @Date 2025/9/16 9:38 |
|||
* @description: |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("/tenant") |
|||
@Api(tags = "任务相关") |
|||
@Slf4j |
|||
public class TmsTenantController { |
|||
|
|||
@Resource |
|||
private TmsTenantMapper tmsTenantMapper; |
|||
|
|||
@Anonymous |
|||
@ApiOperation(value = "查询租户(项目)") |
|||
@RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) |
|||
@DataSource(DataSourceType.MASTER) |
|||
public JsonResponse<List<TmsTenant>> queryList() { |
|||
TmsTenantExample tmsTenantExample = new TmsTenantExample(); |
|||
tmsTenantExample.createCriteria().andDelFlagEqualTo((byte) 0); |
|||
return JsonResponse.ok(tmsTenantMapper.selectByExample(tmsTenantExample)); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,99 @@ |
|||
package com.research.system.domain.dto; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author zzc |
|||
* @Package com.research.system.domain.dto |
|||
* @Date 2025/9/16 8:50 |
|||
* @description: |
|||
*/ |
|||
public class MemberAduitDto { |
|||
|
|||
@Data |
|||
public static class Register { |
|||
private Long id; |
|||
|
|||
private Long userId; |
|||
|
|||
private String username; |
|||
private String password; |
|||
private Long deptId; |
|||
|
|||
private List<Long> roleIdList; |
|||
|
|||
private Long ktGroupId; |
|||
|
|||
private String parentMemberId; |
|||
|
|||
private String memberName; |
|||
|
|||
private String memberPhone; |
|||
|
|||
private String memberEmail; |
|||
|
|||
private Byte memberGender; |
|||
|
|||
@JsonFormat(pattern = "yyyy-MM-dd") |
|||
private Date memberBirth; |
|||
|
|||
private Byte type; |
|||
|
|||
private Byte category; |
|||
|
|||
private Integer qualification; |
|||
|
|||
private Integer title; |
|||
|
|||
private Integer sort; |
|||
|
|||
private String intro; |
|||
|
|||
private Byte auditStatus; |
|||
|
|||
private Byte memberStatus; |
|||
@ApiModelProperty("0不确认,如用户表已有该手机号信息,则报错提示 1确认添加") |
|||
private Byte confirm; |
|||
|
|||
private Long projId; |
|||
|
|||
private Long projOrgId; |
|||
|
|||
private Long parentKtId; |
|||
|
|||
private String ktGroupName; |
|||
|
|||
private Integer ktGroupSort; |
|||
|
|||
private String ktGroupIntro; |
|||
|
|||
@ApiModelProperty("负责人手机号") |
|||
private String phone; |
|||
@ApiModelProperty("负责人") |
|||
private String name; |
|||
} |
|||
|
|||
@Data |
|||
public static class Aduit{ |
|||
private Long id; |
|||
private Byte status; |
|||
private String message; |
|||
} |
|||
|
|||
@Data |
|||
public static class Query { |
|||
private String username; |
|||
private String phone; |
|||
private String type; |
|||
private Long id; |
|||
private Long ktGroupId; |
|||
private String memberName; |
|||
private String memberPhone; |
|||
private Byte status; |
|||
} |
|||
} |
|||
File diff suppressed because it is too large
@ -0,0 +1,128 @@ |
|||
package com.research.system.domain.po; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
public class SrvMessage implements Serializable { |
|||
private Long id; |
|||
|
|||
private String content; |
|||
|
|||
private String receiver; |
|||
|
|||
private Byte status; |
|||
|
|||
private Long businessId; |
|||
|
|||
private Byte delFlag; |
|||
|
|||
private String createBy; |
|||
|
|||
private Date createTime; |
|||
|
|||
private String updateBy; |
|||
|
|||
private Date updateTime; |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
public Long getId() { |
|||
return id; |
|||
} |
|||
|
|||
public void setId(Long id) { |
|||
this.id = id; |
|||
} |
|||
|
|||
public String getContent() { |
|||
return content; |
|||
} |
|||
|
|||
public void setContent(String content) { |
|||
this.content = content == null ? null : content.trim(); |
|||
} |
|||
|
|||
public String getReceiver() { |
|||
return receiver; |
|||
} |
|||
|
|||
public void setReceiver(String receiver) { |
|||
this.receiver = receiver == null ? null : receiver.trim(); |
|||
} |
|||
|
|||
public Byte getStatus() { |
|||
return status; |
|||
} |
|||
|
|||
public void setStatus(Byte status) { |
|||
this.status = status; |
|||
} |
|||
|
|||
public Long getBusinessId() { |
|||
return businessId; |
|||
} |
|||
|
|||
public void setBusinessId(Long businessId) { |
|||
this.businessId = businessId; |
|||
} |
|||
|
|||
public Byte getDelFlag() { |
|||
return delFlag; |
|||
} |
|||
|
|||
public void setDelFlag(Byte delFlag) { |
|||
this.delFlag = delFlag; |
|||
} |
|||
|
|||
public String getCreateBy() { |
|||
return createBy; |
|||
} |
|||
|
|||
public void setCreateBy(String createBy) { |
|||
this.createBy = createBy == null ? null : createBy.trim(); |
|||
} |
|||
|
|||
public Date getCreateTime() { |
|||
return createTime; |
|||
} |
|||
|
|||
public void setCreateTime(Date createTime) { |
|||
this.createTime = createTime; |
|||
} |
|||
|
|||
public String getUpdateBy() { |
|||
return updateBy; |
|||
} |
|||
|
|||
public void setUpdateBy(String updateBy) { |
|||
this.updateBy = updateBy == null ? null : updateBy.trim(); |
|||
} |
|||
|
|||
public Date getUpdateTime() { |
|||
return updateTime; |
|||
} |
|||
|
|||
public void setUpdateTime(Date updateTime) { |
|||
this.updateTime = updateTime; |
|||
} |
|||
|
|||
@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(", content=").append(content); |
|||
sb.append(", receiver=").append(receiver); |
|||
sb.append(", status=").append(status); |
|||
sb.append(", businessId=").append(businessId); |
|||
sb.append(", delFlag=").append(delFlag); |
|||
sb.append(", createBy=").append(createBy); |
|||
sb.append(", createTime=").append(createTime); |
|||
sb.append(", updateBy=").append(updateBy); |
|||
sb.append(", updateTime=").append(updateTime); |
|||
sb.append("]"); |
|||
return sb.toString(); |
|||
} |
|||
} |
|||
@ -0,0 +1,841 @@ |
|||
package com.research.system.domain.po; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
public class SrvMessageExample { |
|||
protected String orderByClause; |
|||
|
|||
protected boolean distinct; |
|||
|
|||
protected List<Criteria> oredCriteria; |
|||
|
|||
public SrvMessageExample() { |
|||
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 andContentIsNull() { |
|||
addCriterion("content is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andContentIsNotNull() { |
|||
addCriterion("content is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andContentEqualTo(String value) { |
|||
addCriterion("content =", value, "content"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andContentNotEqualTo(String value) { |
|||
addCriterion("content <>", value, "content"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andContentGreaterThan(String value) { |
|||
addCriterion("content >", value, "content"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andContentGreaterThanOrEqualTo(String value) { |
|||
addCriterion("content >=", value, "content"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andContentLessThan(String value) { |
|||
addCriterion("content <", value, "content"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andContentLessThanOrEqualTo(String value) { |
|||
addCriterion("content <=", value, "content"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andContentLike(String value) { |
|||
addCriterion("content like", value, "content"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andContentNotLike(String value) { |
|||
addCriterion("content not like", value, "content"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andContentIn(List<String> values) { |
|||
addCriterion("content in", values, "content"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andContentNotIn(List<String> values) { |
|||
addCriterion("content not in", values, "content"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andContentBetween(String value1, String value2) { |
|||
addCriterion("content between", value1, value2, "content"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andContentNotBetween(String value1, String value2) { |
|||
addCriterion("content not between", value1, value2, "content"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverIsNull() { |
|||
addCriterion("receiver is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverIsNotNull() { |
|||
addCriterion("receiver is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverEqualTo(String value) { |
|||
addCriterion("receiver =", value, "receiver"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverNotEqualTo(String value) { |
|||
addCriterion("receiver <>", value, "receiver"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverGreaterThan(String value) { |
|||
addCriterion("receiver >", value, "receiver"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverGreaterThanOrEqualTo(String value) { |
|||
addCriterion("receiver >=", value, "receiver"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverLessThan(String value) { |
|||
addCriterion("receiver <", value, "receiver"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverLessThanOrEqualTo(String value) { |
|||
addCriterion("receiver <=", value, "receiver"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverLike(String value) { |
|||
addCriterion("receiver like", value, "receiver"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverNotLike(String value) { |
|||
addCriterion("receiver not like", value, "receiver"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverIn(List<String> values) { |
|||
addCriterion("receiver in", values, "receiver"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverNotIn(List<String> values) { |
|||
addCriterion("receiver not in", values, "receiver"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverBetween(String value1, String value2) { |
|||
addCriterion("receiver between", value1, value2, "receiver"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andReceiverNotBetween(String value1, String value2) { |
|||
addCriterion("receiver not between", value1, value2, "receiver"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStatusIsNull() { |
|||
addCriterion("status is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStatusIsNotNull() { |
|||
addCriterion("status is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStatusEqualTo(Byte value) { |
|||
addCriterion("status =", value, "status"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStatusNotEqualTo(Byte value) { |
|||
addCriterion("status <>", value, "status"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStatusGreaterThan(Byte value) { |
|||
addCriterion("status >", value, "status"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStatusGreaterThanOrEqualTo(Byte value) { |
|||
addCriterion("status >=", value, "status"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStatusLessThan(Byte value) { |
|||
addCriterion("status <", value, "status"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStatusLessThanOrEqualTo(Byte value) { |
|||
addCriterion("status <=", value, "status"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStatusIn(List<Byte> values) { |
|||
addCriterion("status in", values, "status"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStatusNotIn(List<Byte> values) { |
|||
addCriterion("status not in", values, "status"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStatusBetween(Byte value1, Byte value2) { |
|||
addCriterion("status between", value1, value2, "status"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStatusNotBetween(Byte value1, Byte value2) { |
|||
addCriterion("status not between", value1, value2, "status"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andBusinessIdIsNull() { |
|||
addCriterion("business_id is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andBusinessIdIsNotNull() { |
|||
addCriterion("business_id is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andBusinessIdEqualTo(Long value) { |
|||
addCriterion("business_id =", value, "businessId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andBusinessIdNotEqualTo(Long value) { |
|||
addCriterion("business_id <>", value, "businessId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andBusinessIdGreaterThan(Long value) { |
|||
addCriterion("business_id >", value, "businessId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andBusinessIdGreaterThanOrEqualTo(Long value) { |
|||
addCriterion("business_id >=", value, "businessId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andBusinessIdLessThan(Long value) { |
|||
addCriterion("business_id <", value, "businessId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andBusinessIdLessThanOrEqualTo(Long value) { |
|||
addCriterion("business_id <=", value, "businessId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andBusinessIdIn(List<Long> values) { |
|||
addCriterion("business_id in", values, "businessId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andBusinessIdNotIn(List<Long> values) { |
|||
addCriterion("business_id not in", values, "businessId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andBusinessIdBetween(Long value1, Long value2) { |
|||
addCriterion("business_id between", value1, value2, "businessId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andBusinessIdNotBetween(Long value1, Long value2) { |
|||
addCriterion("business_id not between", value1, value2, "businessId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andDelFlagIsNull() { |
|||
addCriterion("del_flag is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andDelFlagIsNotNull() { |
|||
addCriterion("del_flag is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andDelFlagEqualTo(Byte value) { |
|||
addCriterion("del_flag =", value, "delFlag"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andDelFlagNotEqualTo(Byte value) { |
|||
addCriterion("del_flag <>", value, "delFlag"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andDelFlagGreaterThan(Byte value) { |
|||
addCriterion("del_flag >", value, "delFlag"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andDelFlagGreaterThanOrEqualTo(Byte value) { |
|||
addCriterion("del_flag >=", value, "delFlag"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andDelFlagLessThan(Byte value) { |
|||
addCriterion("del_flag <", value, "delFlag"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andDelFlagLessThanOrEqualTo(Byte value) { |
|||
addCriterion("del_flag <=", value, "delFlag"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andDelFlagIn(List<Byte> values) { |
|||
addCriterion("del_flag in", values, "delFlag"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andDelFlagNotIn(List<Byte> values) { |
|||
addCriterion("del_flag not in", values, "delFlag"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andDelFlagBetween(Byte value1, Byte value2) { |
|||
addCriterion("del_flag between", value1, value2, "delFlag"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andDelFlagNotBetween(Byte value1, Byte value2) { |
|||
addCriterion("del_flag not between", value1, value2, "delFlag"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByIsNull() { |
|||
addCriterion("create_by is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByIsNotNull() { |
|||
addCriterion("create_by is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByEqualTo(String value) { |
|||
addCriterion("create_by =", value, "createBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByNotEqualTo(String value) { |
|||
addCriterion("create_by <>", value, "createBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByGreaterThan(String value) { |
|||
addCriterion("create_by >", value, "createBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByGreaterThanOrEqualTo(String value) { |
|||
addCriterion("create_by >=", value, "createBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByLessThan(String value) { |
|||
addCriterion("create_by <", value, "createBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByLessThanOrEqualTo(String value) { |
|||
addCriterion("create_by <=", value, "createBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByLike(String value) { |
|||
addCriterion("create_by like", value, "createBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByNotLike(String value) { |
|||
addCriterion("create_by not like", value, "createBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByIn(List<String> values) { |
|||
addCriterion("create_by in", values, "createBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByNotIn(List<String> values) { |
|||
addCriterion("create_by not in", values, "createBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByBetween(String value1, String value2) { |
|||
addCriterion("create_by between", value1, value2, "createBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateByNotBetween(String value1, String value2) { |
|||
addCriterion("create_by not between", value1, value2, "createBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateTimeIsNull() { |
|||
addCriterion("create_time is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateTimeIsNotNull() { |
|||
addCriterion("create_time is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateTimeEqualTo(Date value) { |
|||
addCriterion("create_time =", value, "createTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateTimeNotEqualTo(Date value) { |
|||
addCriterion("create_time <>", value, "createTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateTimeGreaterThan(Date value) { |
|||
addCriterion("create_time >", value, "createTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { |
|||
addCriterion("create_time >=", value, "createTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateTimeLessThan(Date value) { |
|||
addCriterion("create_time <", value, "createTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateTimeLessThanOrEqualTo(Date value) { |
|||
addCriterion("create_time <=", value, "createTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateTimeIn(List<Date> values) { |
|||
addCriterion("create_time in", values, "createTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateTimeNotIn(List<Date> values) { |
|||
addCriterion("create_time not in", values, "createTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateTimeBetween(Date value1, Date value2) { |
|||
addCriterion("create_time between", value1, value2, "createTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreateTimeNotBetween(Date value1, Date value2) { |
|||
addCriterion("create_time not between", value1, value2, "createTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByIsNull() { |
|||
addCriterion("update_by is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByIsNotNull() { |
|||
addCriterion("update_by is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByEqualTo(String value) { |
|||
addCriterion("update_by =", value, "updateBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByNotEqualTo(String value) { |
|||
addCriterion("update_by <>", value, "updateBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByGreaterThan(String value) { |
|||
addCriterion("update_by >", value, "updateBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByGreaterThanOrEqualTo(String value) { |
|||
addCriterion("update_by >=", value, "updateBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByLessThan(String value) { |
|||
addCriterion("update_by <", value, "updateBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByLessThanOrEqualTo(String value) { |
|||
addCriterion("update_by <=", value, "updateBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByLike(String value) { |
|||
addCriterion("update_by like", value, "updateBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByNotLike(String value) { |
|||
addCriterion("update_by not like", value, "updateBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByIn(List<String> values) { |
|||
addCriterion("update_by in", values, "updateBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByNotIn(List<String> values) { |
|||
addCriterion("update_by not in", values, "updateBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByBetween(String value1, String value2) { |
|||
addCriterion("update_by between", value1, value2, "updateBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateByNotBetween(String value1, String value2) { |
|||
addCriterion("update_by not between", value1, value2, "updateBy"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateTimeIsNull() { |
|||
addCriterion("update_time is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateTimeIsNotNull() { |
|||
addCriterion("update_time is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateTimeEqualTo(Date value) { |
|||
addCriterion("update_time =", value, "updateTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateTimeNotEqualTo(Date value) { |
|||
addCriterion("update_time <>", value, "updateTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateTimeGreaterThan(Date value) { |
|||
addCriterion("update_time >", value, "updateTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) { |
|||
addCriterion("update_time >=", value, "updateTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateTimeLessThan(Date value) { |
|||
addCriterion("update_time <", value, "updateTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateTimeLessThanOrEqualTo(Date value) { |
|||
addCriterion("update_time <=", value, "updateTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateTimeIn(List<Date> values) { |
|||
addCriterion("update_time in", values, "updateTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateTimeNotIn(List<Date> values) { |
|||
addCriterion("update_time not in", values, "updateTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateTimeBetween(Date value1, Date value2) { |
|||
addCriterion("update_time between", value1, value2, "updateTime"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdateTimeNotBetween(Date value1, Date value2) { |
|||
addCriterion("update_time not between", value1, value2, "updateTime"); |
|||
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); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,83 @@ |
|||
package com.research.system.domain.vo; |
|||
|
|||
import cn.hutool.core.util.StrUtil; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @Author zzc |
|||
* @Package com.research.system.domain.vo |
|||
* @Date 2025/9/16 10:55 |
|||
* @description: |
|||
*/ |
|||
public class MemberAduitVo { |
|||
|
|||
@Data |
|||
public static class Result { |
|||
private Long id; |
|||
|
|||
private Byte category; |
|||
|
|||
private Long deptId; |
|||
|
|||
private Long ktGroupId; |
|||
|
|||
private String ktGroupIntro; |
|||
|
|||
@JsonFormat(pattern = "yyyy-MM-dd") |
|||
private Date memberBirth; |
|||
|
|||
private String memberEmail; |
|||
|
|||
private Byte memberGender; |
|||
|
|||
private String memberName; |
|||
|
|||
private String memberPhone; |
|||
|
|||
private Long parentMemberId; |
|||
|
|||
private String password; |
|||
|
|||
private Long projOrgId; |
|||
|
|||
private String roleIdList; |
|||
|
|||
private String title; |
|||
|
|||
private Byte type; |
|||
|
|||
private Long userId; |
|||
|
|||
private String username; |
|||
|
|||
private String createBy; |
|||
|
|||
private Date createTime; |
|||
|
|||
private String remark; |
|||
|
|||
private Byte step; |
|||
|
|||
private Byte status; |
|||
private Integer qualification; |
|||
private String qualificationName; |
|||
private String titleName; |
|||
private String ktGroupName; |
|||
private String projOrgName; |
|||
private String ktGroupName1; |
|||
private Long reviewedPersion; |
|||
private String reviewedPersionName; |
|||
|
|||
private Date reviewedTime; |
|||
|
|||
public String getKtGroupName() { |
|||
if (StrUtil.isNotEmpty(ktGroupName1)) { |
|||
return ktGroupName1; |
|||
} |
|||
return ktGroupName; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,20 @@ |
|||
package com.research.system.persist.dao; |
|||
|
|||
import com.research.system.domain.dto.MemberAduitDto; |
|||
import com.research.system.domain.vo.MemberAduitVo; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author zzc |
|||
* @Package com.research.system.persist.dao |
|||
* @Date 2025/8/11 14:31 |
|||
* @description: |
|||
*/ |
|||
public interface MemberAduitDao { |
|||
|
|||
List<Long> queryMemberIdList(@Param("projOrgId") Long projOrgId, @Param("roleId") Long roleId); |
|||
|
|||
List<MemberAduitVo.Result> query(@Param("dto") MemberAduitDto.Query dto, @Param("userId") Long userId); |
|||
} |
|||
@ -0,0 +1,28 @@ |
|||
package com.research.system.persist.mapper; |
|||
|
|||
import com.research.system.domain.po.SrvMessage; |
|||
import com.research.system.domain.po.SrvMessageExample; |
|||
import java.util.List; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
public interface SrvMessageMapper { |
|||
long countByExample(SrvMessageExample example); |
|||
|
|||
int deleteByPrimaryKey(Long id); |
|||
|
|||
int insert(SrvMessage record); |
|||
|
|||
int insertSelective(SrvMessage record); |
|||
|
|||
List<SrvMessage> selectByExample(SrvMessageExample example); |
|||
|
|||
SrvMessage selectByPrimaryKey(Long id); |
|||
|
|||
int updateByExampleSelective(@Param("record") SrvMessage record, @Param("example") SrvMessageExample example); |
|||
|
|||
int updateByExample(@Param("record") SrvMessage record, @Param("example") SrvMessageExample example); |
|||
|
|||
int updateByPrimaryKeySelective(SrvMessage record); |
|||
|
|||
int updateByPrimaryKey(SrvMessage record); |
|||
} |
|||
@ -0,0 +1,22 @@ |
|||
package com.research.system.service; |
|||
|
|||
import com.research.system.domain.dto.MemberAduitDto; |
|||
import com.research.system.domain.po.KtsKtGroupMemberAduit; |
|||
import com.research.system.domain.vo.MemberAduitVo; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author zzc |
|||
* @Package com.research.system.service |
|||
* @Date 2025/9/16 8:48 |
|||
* @description: |
|||
*/ |
|||
public interface MemberAduitService { |
|||
|
|||
void register(MemberAduitDto.Register dto); |
|||
|
|||
void aduit(Long id, Byte status); |
|||
|
|||
List<MemberAduitVo.Result> query(MemberAduitDto.Query dto); |
|||
} |
|||
@ -0,0 +1,144 @@ |
|||
package com.research.system.service.impl; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import cn.hutool.core.collection.CollUtil; |
|||
import cn.hutool.core.util.IdUtil; |
|||
import cn.hutool.core.util.StrUtil; |
|||
import com.research.common.core.domain.entity.SysUser; |
|||
import com.research.common.exception.base.BaseException; |
|||
import com.research.common.utils.SecurityUtils; |
|||
import com.research.system.domain.dto.GroupDto; |
|||
import com.research.system.domain.dto.MemberAduitDto; |
|||
import com.research.system.domain.po.KtsKtGroupMemberAduit; |
|||
import com.research.system.domain.po.KtsKtGroupMemberAduitExample; |
|||
import com.research.system.domain.po.SrvMessage; |
|||
import com.research.system.domain.vo.MemberAduitVo; |
|||
import com.research.system.persist.dao.MemberAduitDao; |
|||
import com.research.system.persist.mapper.KtsKtGroupMemberAduitMapper; |
|||
import com.research.system.persist.mapper.SrvMessageMapper; |
|||
import com.research.system.service.ISysUserService; |
|||
import com.research.system.service.KtsGroupService; |
|||
import com.research.system.service.MemberAduitService; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Propagation; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.util.ArrayList; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* @Author zzc |
|||
* @Package com.research.system.service.impl |
|||
* @Date 2025/9/16 9:40 |
|||
* @description: |
|||
*/ |
|||
@Service |
|||
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) |
|||
public class MemberAduitServiceImpl implements MemberAduitService { |
|||
|
|||
@Resource |
|||
private KtsKtGroupMemberAduitMapper ktsKtGroupMemberAduitMapper; |
|||
@Resource |
|||
private ISysUserService sysUserService; |
|||
@Resource |
|||
private MemberAduitDao memberAduitDao; |
|||
@Resource |
|||
private SrvMessageMapper srvMessageMapper; |
|||
@Resource |
|||
private KtsGroupService ktsGroupService; |
|||
|
|||
@Override |
|||
public void register(MemberAduitDto.Register dto) { |
|||
//1.添加申请记录 (审核人) 待审核
|
|||
// 判定用户是否存在, 存在就提示登录 判定是否有申请记录, 有提示已申请
|
|||
KtsKtGroupMemberAduitExample ktsKtGroupMemberAduitExample = new KtsKtGroupMemberAduitExample(); |
|||
ktsKtGroupMemberAduitExample.createCriteria().andMemberPhoneEqualTo(dto.getMemberPhone()).andStatusEqualTo((byte) 0); |
|||
if (ktsKtGroupMemberAduitMapper.countByExample(ktsKtGroupMemberAduitExample) > 0) { |
|||
//提示已申请
|
|||
throw new RuntimeException("账号审核中,请耐心等待"); |
|||
} |
|||
if (StrUtil.isNotEmpty(dto.getUsername())) { |
|||
SysUser sysUser = sysUserService.selectUserByUserName(dto.getUsername()); |
|||
if (sysUser != null) { |
|||
throw new RuntimeException("账号已存在,请登录"); |
|||
} |
|||
} |
|||
List<Long> reviewerList = new ArrayList<>(); |
|||
//2.查询该合作单位负责人角色的人 发送审核消息
|
|||
if (dto.getKtGroupId() != null || dto.getParentKtId()!=null) { |
|||
//101 合作单位负责人
|
|||
//102 项目负责人
|
|||
reviewerList = memberAduitDao.queryMemberIdList(dto.getProjOrgId(), 101L); |
|||
} |
|||
KtsKtGroupMemberAduit ktsKtGroupMemberAduit = BeanUtil.copyProperties(dto, KtsKtGroupMemberAduit.class); |
|||
ktsKtGroupMemberAduit.setId(IdUtil.getSnowflakeNextId()); |
|||
ktsKtGroupMemberAduit.setStatus((byte) 0); |
|||
ktsKtGroupMemberAduit.setRoleIdList(dto.getRoleIdList().stream().map(String::valueOf).collect(Collectors.joining(","))); |
|||
ktsKtGroupMemberAduit.setReviewer(reviewerList.stream().map(String::valueOf).collect(Collectors.joining(","))); |
|||
ktsKtGroupMemberAduitMapper.insertSelective(ktsKtGroupMemberAduit); |
|||
|
|||
|
|||
if (CollUtil.isNotEmpty(reviewerList)) { |
|||
//添加消息
|
|||
SrvMessage srvMessage = new SrvMessage(); |
|||
srvMessage.setId(IdUtil.getSnowflakeNextId()); |
|||
srvMessage.setContent("成员申请审核"); |
|||
srvMessage.setBusinessId(ktsKtGroupMemberAduit.getId()); |
|||
srvMessage.setStatus((byte) 0); |
|||
srvMessage.setReceiver(reviewerList.stream().map(String::valueOf).collect(Collectors.joining(","))); |
|||
srvMessageMapper.insertSelective(srvMessage); |
|||
} |
|||
//3. 审核完成之后, 由项目负责人审核 项目负责人审核完之后,审核通过。
|
|||
} |
|||
|
|||
@Override |
|||
public void aduit(Long id, Byte status) { |
|||
KtsKtGroupMemberAduit ktsKtGroupMemberAduit = ktsKtGroupMemberAduitMapper.selectByPrimaryKey(id); |
|||
if (ktsKtGroupMemberAduit == null) { |
|||
return; |
|||
} |
|||
ktsKtGroupMemberAduit.setStatus(status); |
|||
ktsKtGroupMemberAduit.setReviewedTime(new Date()); |
|||
ktsKtGroupMemberAduit.setReviewedPersion(SecurityUtils.getUserId()); |
|||
ktsKtGroupMemberAduitMapper.updateByPrimaryKeySelective(ktsKtGroupMemberAduit); |
|||
|
|||
//通过的话判断当前审核级别, step = 0 ,需要查询项目负责人,添加项目负责人审核,发送通知
|
|||
Byte step = ktsKtGroupMemberAduit.getStep(); |
|||
if (step == 0) { |
|||
ktsKtGroupMemberAduit.setId(IdUtil.getSnowflakeNextId()); |
|||
ktsKtGroupMemberAduit.setStep((byte) 1); |
|||
List<Long> list = memberAduitDao.queryMemberIdList(ktsKtGroupMemberAduit.getProjOrgId(), 102L); |
|||
if (CollUtil.isEmpty(list)) { |
|||
throw new BaseException("未查询到项目负责人信息"); |
|||
} |
|||
ktsKtGroupMemberAduit.setRoleIdList(list.stream().map(String::valueOf).collect(Collectors.joining(","))); |
|||
ktsKtGroupMemberAduit.setReviewedPersion(null); |
|||
ktsKtGroupMemberAduit.setReviewedTime( null); |
|||
ktsKtGroupMemberAduit.setStatus((byte) 0); |
|||
ktsKtGroupMemberAduitMapper.insertSelective(ktsKtGroupMemberAduit); |
|||
//添加消息
|
|||
SrvMessage srvMessage = new SrvMessage(); |
|||
srvMessage.setId(IdUtil.getSnowflakeNextId()); |
|||
srvMessage.setContent("成员申请审核"); |
|||
srvMessage.setBusinessId(ktsKtGroupMemberAduit.getId()); |
|||
srvMessage.setStatus((byte) 0); |
|||
srvMessage.setReceiver(list.stream().map(String::valueOf).collect(Collectors.joining(","))); |
|||
srvMessageMapper.insertSelective(srvMessage); |
|||
|
|||
}else { |
|||
//审核成功, 添加成员
|
|||
GroupDto.AddMember addMember = new GroupDto.AddMember(); |
|||
BeanUtil.copyProperties(ktsKtGroupMemberAduit, addMember); |
|||
ktsGroupService.addMember(addMember); |
|||
} |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public List<MemberAduitVo.Result> query(MemberAduitDto.Query dto) { |
|||
return memberAduitDao.query(dto, SecurityUtils.getUserId()); |
|||
} |
|||
} |
|||
@ -0,0 +1,95 @@ |
|||
<?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.research.system.persist.dao.MemberAduitDao"> |
|||
|
|||
<select id="queryMemberIdList" resultType="java.lang.Long"> |
|||
SELECT |
|||
s.user_id |
|||
FROM |
|||
sys_user s |
|||
left join |
|||
sys_user_role r on s.user_id = r.user_id |
|||
WHERE |
|||
s.user_id in ( |
|||
select |
|||
m.user_id |
|||
FROM |
|||
kts_kt_group g |
|||
LEFT JOIN |
|||
kts_kt_group_member m on m.kt_group_id = g.id |
|||
|
|||
WHERE |
|||
g.proj_org_id = #{projOrgId} |
|||
) |
|||
and r.role_id = #{roleId} |
|||
</select> |
|||
|
|||
<select id="query" resultType="com.research.system.domain.vo.MemberAduitVo$Result"> |
|||
SELECT |
|||
a.id, |
|||
a.category, |
|||
a.dept_id as deptId, |
|||
a.kt_group_id as ktGroupId, |
|||
a.kt_group_intro as ktGroupIntro, |
|||
a.member_birth as memberBirth, |
|||
a.member_email as memberEmail, |
|||
a.member_gender as memberGender, |
|||
a.member_name as memberName, |
|||
a.member_phone as memberPhone, |
|||
a.parent_member_id as parentMemberId, |
|||
a.password, |
|||
a.proj_org_id as projOrgId, |
|||
a.role_id_list as roleIdList, |
|||
a.title, |
|||
a.type, |
|||
a.user_id as userId, |
|||
a.username, |
|||
a.create_by as createBy, |
|||
a.create_time as createTime, |
|||
a.step, |
|||
a.status, |
|||
a.reviewer, |
|||
a.kt_group_name as ktGroupName1, |
|||
d1.dict_label as qualificationName, |
|||
d2.dict_label as titleName, |
|||
g.kt_group_name as ktGroupName, |
|||
po.org_name as projOrgName, |
|||
a.reviewed_persion as reviewedPersion, |
|||
a.reviewed_time as reviewedTime, |
|||
u.nick_name as reviewedPersionName, |
|||
g1.kt_group_name as parentKtIdName |
|||
FROM |
|||
kts_kt_group_member_aduit a |
|||
left join sys_dict_data d1 on d1.dict_value = a.qualification and d1.dict_type = 'qualification' |
|||
left join sys_dict_data d2 on d2.dict_value = a.title and d2.dict_type = 'sys_title' |
|||
left join kts_kt_group g on g.id = a.kt_group_id |
|||
left join prj_proj_org po on po.id = a.proj_org_id |
|||
left join sys_user u on u.user_id = a.reviewed_persion |
|||
left join kts_kt_group g1 on g1.id = a.parent_kt_id |
|||
WHERE |
|||
a.del_flag = 0 and |
|||
a.reviewer like concat('%', #{userId}, '%') |
|||
<if test="dto.status != null"> |
|||
and a.status = #{dto.status} |
|||
</if> |
|||
<if test="dto.username != null"> |
|||
and a.username like concat('%', #{dto.username}, '%') |
|||
</if> |
|||
<if test="dto.memberName != null"> |
|||
and a.member_name like concat('%', #{dto.memberName}, '%') |
|||
</if> |
|||
<if test="dto.memberPhone != null"> |
|||
and a.member_phone like concat('%', #{dto.memberPhone}, '%') |
|||
</if> |
|||
<if test="dto.type != null"> |
|||
and a.type = #{dto.type} |
|||
</if> |
|||
<if test="dto.id != null"> |
|||
and a.id = #{dto.id} |
|||
</if> |
|||
<if test="dto.ktGroupId != null"> |
|||
and a.kt_group_id = #{dto.ktGroupId} |
|||
</if> |
|||
order by a.id desc |
|||
</select> |
|||
</mapper> |
|||
@ -0,0 +1,285 @@ |
|||
<?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.research.system.persist.mapper.SrvMessageMapper"> |
|||
<resultMap id="BaseResultMap" type="com.research.system.domain.po.SrvMessage"> |
|||
<id column="id" jdbcType="BIGINT" property="id" /> |
|||
<result column="content" jdbcType="VARCHAR" property="content" /> |
|||
<result column="receiver" jdbcType="VARCHAR" property="receiver" /> |
|||
<result column="status" jdbcType="TINYINT" property="status" /> |
|||
<result column="business_id" jdbcType="BIGINT" property="businessId" /> |
|||
<result column="del_flag" jdbcType="TINYINT" property="delFlag" /> |
|||
<result column="create_by" jdbcType="VARCHAR" property="createBy" /> |
|||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> |
|||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" /> |
|||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" /> |
|||
</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, content, receiver, status, business_id, del_flag, create_by, create_time, update_by, |
|||
update_time |
|||
</sql> |
|||
<select id="selectByExample" parameterType="com.research.system.domain.po.SrvMessageExample" resultMap="BaseResultMap"> |
|||
select |
|||
<if test="distinct"> |
|||
distinct |
|||
</if> |
|||
<include refid="Base_Column_List" /> |
|||
from srv_message |
|||
<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 srv_message |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</select> |
|||
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> |
|||
delete from srv_message |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</delete> |
|||
<insert id="insert" parameterType="com.research.system.domain.po.SrvMessage"> |
|||
insert into srv_message (id, content, receiver, |
|||
status, business_id, del_flag, |
|||
create_by, create_time, update_by, |
|||
update_time) |
|||
values (#{id,jdbcType=BIGINT}, #{content,jdbcType=VARCHAR}, #{receiver,jdbcType=VARCHAR}, |
|||
#{status,jdbcType=TINYINT}, #{businessId,jdbcType=BIGINT}, #{delFlag,jdbcType=TINYINT}, |
|||
#{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, |
|||
#{updateTime,jdbcType=TIMESTAMP}) |
|||
</insert> |
|||
<insert id="insertSelective" parameterType="com.research.system.domain.po.SrvMessage"> |
|||
insert into srv_message |
|||
<trim prefix="(" suffix=")" suffixOverrides=","> |
|||
<if test="id != null"> |
|||
id, |
|||
</if> |
|||
<if test="content != null"> |
|||
content, |
|||
</if> |
|||
<if test="receiver != null"> |
|||
receiver, |
|||
</if> |
|||
<if test="status != null"> |
|||
status, |
|||
</if> |
|||
<if test="businessId != null"> |
|||
business_id, |
|||
</if> |
|||
<if test="delFlag != null"> |
|||
del_flag, |
|||
</if> |
|||
<if test="createBy != null"> |
|||
create_by, |
|||
</if> |
|||
<if test="createTime != null"> |
|||
create_time, |
|||
</if> |
|||
<if test="updateBy != null"> |
|||
update_by, |
|||
</if> |
|||
<if test="updateTime != null"> |
|||
update_time, |
|||
</if> |
|||
</trim> |
|||
<trim prefix="values (" suffix=")" suffixOverrides=","> |
|||
<if test="id != null"> |
|||
#{id,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="content != null"> |
|||
#{content,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="receiver != null"> |
|||
#{receiver,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="status != null"> |
|||
#{status,jdbcType=TINYINT}, |
|||
</if> |
|||
<if test="businessId != null"> |
|||
#{businessId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="delFlag != null"> |
|||
#{delFlag,jdbcType=TINYINT}, |
|||
</if> |
|||
<if test="createBy != null"> |
|||
#{createBy,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="createTime != null"> |
|||
#{createTime,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="updateBy != null"> |
|||
#{updateBy,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="updateTime != null"> |
|||
#{updateTime,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
</trim> |
|||
</insert> |
|||
<select id="countByExample" parameterType="com.research.system.domain.po.SrvMessageExample" resultType="java.lang.Long"> |
|||
select count(*) from srv_message |
|||
<if test="_parameter != null"> |
|||
<include refid="Example_Where_Clause" /> |
|||
</if> |
|||
</select> |
|||
<update id="updateByExampleSelective" parameterType="map"> |
|||
update srv_message |
|||
<set> |
|||
<if test="record.id != null"> |
|||
id = #{record.id,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="record.content != null"> |
|||
content = #{record.content,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="record.receiver != null"> |
|||
receiver = #{record.receiver,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="record.status != null"> |
|||
status = #{record.status,jdbcType=TINYINT}, |
|||
</if> |
|||
<if test="record.businessId != null"> |
|||
business_id = #{record.businessId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="record.delFlag != null"> |
|||
del_flag = #{record.delFlag,jdbcType=TINYINT}, |
|||
</if> |
|||
<if test="record.createBy != null"> |
|||
create_by = #{record.createBy,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="record.createTime != null"> |
|||
create_time = #{record.createTime,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="record.updateBy != null"> |
|||
update_by = #{record.updateBy,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="record.updateTime != null"> |
|||
update_time = #{record.updateTime,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
</set> |
|||
<if test="_parameter != null"> |
|||
<include refid="Update_By_Example_Where_Clause" /> |
|||
</if> |
|||
</update> |
|||
<update id="updateByExample" parameterType="map"> |
|||
update srv_message |
|||
set id = #{record.id,jdbcType=BIGINT}, |
|||
content = #{record.content,jdbcType=VARCHAR}, |
|||
receiver = #{record.receiver,jdbcType=VARCHAR}, |
|||
status = #{record.status,jdbcType=TINYINT}, |
|||
business_id = #{record.businessId,jdbcType=BIGINT}, |
|||
del_flag = #{record.delFlag,jdbcType=TINYINT}, |
|||
create_by = #{record.createBy,jdbcType=VARCHAR}, |
|||
create_time = #{record.createTime,jdbcType=TIMESTAMP}, |
|||
update_by = #{record.updateBy,jdbcType=VARCHAR}, |
|||
update_time = #{record.updateTime,jdbcType=TIMESTAMP} |
|||
<if test="_parameter != null"> |
|||
<include refid="Update_By_Example_Where_Clause" /> |
|||
</if> |
|||
</update> |
|||
<update id="updateByPrimaryKeySelective" parameterType="com.research.system.domain.po.SrvMessage"> |
|||
update srv_message |
|||
<set> |
|||
<if test="content != null"> |
|||
content = #{content,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="receiver != null"> |
|||
receiver = #{receiver,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="status != null"> |
|||
status = #{status,jdbcType=TINYINT}, |
|||
</if> |
|||
<if test="businessId != null"> |
|||
business_id = #{businessId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="delFlag != null"> |
|||
del_flag = #{delFlag,jdbcType=TINYINT}, |
|||
</if> |
|||
<if test="createBy != null"> |
|||
create_by = #{createBy,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="createTime != null"> |
|||
create_time = #{createTime,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="updateBy != null"> |
|||
update_by = #{updateBy,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="updateTime != null"> |
|||
update_time = #{updateTime,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
</set> |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</update> |
|||
<update id="updateByPrimaryKey" parameterType="com.research.system.domain.po.SrvMessage"> |
|||
update srv_message |
|||
set content = #{content,jdbcType=VARCHAR}, |
|||
receiver = #{receiver,jdbcType=VARCHAR}, |
|||
status = #{status,jdbcType=TINYINT}, |
|||
business_id = #{businessId,jdbcType=BIGINT}, |
|||
del_flag = #{delFlag,jdbcType=TINYINT}, |
|||
create_by = #{createBy,jdbcType=VARCHAR}, |
|||
create_time = #{createTime,jdbcType=TIMESTAMP}, |
|||
update_by = #{updateBy,jdbcType=VARCHAR}, |
|||
update_time = #{updateTime,jdbcType=TIMESTAMP} |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</update> |
|||
</mapper> |
|||
Loading…
Reference in new issue