diff --git a/src/main/java/com/ccsens/carbasics/api/RoleController.java b/src/main/java/com/ccsens/carbasics/api/RoleController.java index c1027eb..404db55 100644 --- a/src/main/java/com/ccsens/carbasics/api/RoleController.java +++ b/src/main/java/com/ccsens/carbasics/api/RoleController.java @@ -91,4 +91,24 @@ public class RoleController { log.info("查询确定角色结束{}",roleInfoList); return JsonResponse.newInstance().ok(roleInfoList); } + + @MustLogin + @ApiOperation(value = "查询退出前选择的角色", notes = "") + @RequestMapping(value = "/queryLastRoleChoose", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse queryLastRoleChoose(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查询退出前选择的角色{}",params); + RoleVo.RoleChoose roleChoose = roleCarService.queryLastRoleChoose(params.getParam(),params.getUserId()); + log.info("查询退出前选择的角色结束{}",roleChoose); + return JsonResponse.newInstance().ok(roleChoose); + } + + @MustLogin + @ApiOperation(value = "切换角色保存", notes = "") + @RequestMapping(value = "/saveRoleRecord", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse saveRoleRecord(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("切换角色保存{}",params); + roleCarService.saveRoleRecord(params.getParam(),params.getUserId()); + log.info("切换角色保存结束"); + return JsonResponse.newInstance().ok(); + } } diff --git a/src/main/java/com/ccsens/carbasics/bean/dto/RoleDto.java b/src/main/java/com/ccsens/carbasics/bean/dto/RoleDto.java index ad54146..8d5e4db 100644 --- a/src/main/java/com/ccsens/carbasics/bean/dto/RoleDto.java +++ b/src/main/java/com/ccsens/carbasics/bean/dto/RoleDto.java @@ -47,4 +47,15 @@ public class RoleDto { @ApiModelProperty("项目id") private Long projectId; } + + @Data + @ApiModel("保存切换角色记录") + public static class SaveRoleRecord { + @NotNull(message = "项目id不能为空") + @ApiModelProperty("项目id") + private Long projectId; + @NotNull(message = "角色id不能为空") + @ApiModelProperty("角色Id") + private Long roleId; + } } diff --git a/src/main/java/com/ccsens/carbasics/bean/po/LastRoleChoose.java b/src/main/java/com/ccsens/carbasics/bean/po/LastRoleChoose.java new file mode 100644 index 0000000..f3e1645 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/bean/po/LastRoleChoose.java @@ -0,0 +1,106 @@ +package com.ccsens.carbasics.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class LastRoleChoose implements Serializable { + private Long id; + + private Long userId; + + private Long projectId; + + private Long roleId; + + private Long time; + + 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 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 Long getTime() { + return time; + } + + public void setTime(Long time) { + this.time = time; + } + + 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(", projectId=").append(projectId); + sb.append(", roleId=").append(roleId); + sb.append(", time=").append(time); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/src/main/java/com/ccsens/carbasics/bean/po/LastRoleChooseExample.java b/src/main/java/com/ccsens/carbasics/bean/po/LastRoleChooseExample.java new file mode 100644 index 0000000..4294d0a --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/bean/po/LastRoleChooseExample.java @@ -0,0 +1,681 @@ +package com.ccsens.carbasics.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class LastRoleChooseExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public LastRoleChooseExample() { + oredCriteria = new ArrayList(); + } + + 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 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 criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List 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 values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List 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 values) { + addCriterion("user_id in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotIn(List 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 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 values) { + addCriterion("project_id in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotIn(List 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 values) { + addCriterion("role_id in", values, "roleId"); + return (Criteria) this; + } + + public Criteria andRoleIdNotIn(List 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 andTimeIsNull() { + addCriterion("time is null"); + return (Criteria) this; + } + + public Criteria andTimeIsNotNull() { + addCriterion("time is not null"); + return (Criteria) this; + } + + public Criteria andTimeEqualTo(Long value) { + addCriterion("time =", value, "time"); + return (Criteria) this; + } + + public Criteria andTimeNotEqualTo(Long value) { + addCriterion("time <>", value, "time"); + return (Criteria) this; + } + + public Criteria andTimeGreaterThan(Long value) { + addCriterion("time >", value, "time"); + return (Criteria) this; + } + + public Criteria andTimeGreaterThanOrEqualTo(Long value) { + addCriterion("time >=", value, "time"); + return (Criteria) this; + } + + public Criteria andTimeLessThan(Long value) { + addCriterion("time <", value, "time"); + return (Criteria) this; + } + + public Criteria andTimeLessThanOrEqualTo(Long value) { + addCriterion("time <=", value, "time"); + return (Criteria) this; + } + + public Criteria andTimeIn(List values) { + addCriterion("time in", values, "time"); + return (Criteria) this; + } + + public Criteria andTimeNotIn(List values) { + addCriterion("time not in", values, "time"); + return (Criteria) this; + } + + public Criteria andTimeBetween(Long value1, Long value2) { + addCriterion("time between", value1, value2, "time"); + return (Criteria) this; + } + + public Criteria andTimeNotBetween(Long value1, Long value2) { + addCriterion("time not between", value1, value2, "time"); + 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 values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List 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 values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List 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 values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List 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); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/ccsens/carbasics/bean/vo/RoleVo.java b/src/main/java/com/ccsens/carbasics/bean/vo/RoleVo.java index a6351fd..2f8d250 100644 --- a/src/main/java/com/ccsens/carbasics/bean/vo/RoleVo.java +++ b/src/main/java/com/ccsens/carbasics/bean/vo/RoleVo.java @@ -34,4 +34,12 @@ public class RoleVo { @ApiModelProperty("排序") private Long sequence; } + + @Data + @ApiModel("最后一次角色选择-返参") + public static class RoleChoose { + @ApiModelProperty("角色id") + private Long roleId; + } + } diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/LastRoleChooseDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/LastRoleChooseDao.java new file mode 100644 index 0000000..74ca93c --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/persist/dao/LastRoleChooseDao.java @@ -0,0 +1,17 @@ +package com.ccsens.carbasics.persist.dao; + +import com.ccsens.carbasics.bean.vo.RoleVo; +import com.ccsens.carbasics.persist.mapper.LastRoleChooseMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +@Repository +public interface LastRoleChooseDao extends LastRoleChooseMapper { + /** + * 查询退出前的角色选择 + * @param projectId 项目id + * @param userId 用户id + * @return 退出前的角色选择 + */ + RoleVo.RoleChoose queryLastRoleChoose(@Param("projectId") Long projectId,@Param("userId") Long userId); +} diff --git a/src/main/java/com/ccsens/carbasics/persist/mapper/LastRoleChooseMapper.java b/src/main/java/com/ccsens/carbasics/persist/mapper/LastRoleChooseMapper.java new file mode 100644 index 0000000..850d618 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/persist/mapper/LastRoleChooseMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.carbasics.persist.mapper; + +import com.ccsens.carbasics.bean.po.LastRoleChoose; +import com.ccsens.carbasics.bean.po.LastRoleChooseExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface LastRoleChooseMapper { + long countByExample(LastRoleChooseExample example); + + int deleteByExample(LastRoleChooseExample example); + + int deleteByPrimaryKey(Long id); + + int insert(LastRoleChoose record); + + int insertSelective(LastRoleChoose record); + + List selectByExample(LastRoleChooseExample example); + + LastRoleChoose selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") LastRoleChoose record, @Param("example") LastRoleChooseExample example); + + int updateByExample(@Param("record") LastRoleChoose record, @Param("example") LastRoleChooseExample example); + + int updateByPrimaryKeySelective(LastRoleChoose record); + + int updateByPrimaryKey(LastRoleChoose record); +} \ No newline at end of file diff --git a/src/main/java/com/ccsens/carbasics/service/IRoleCarService.java b/src/main/java/com/ccsens/carbasics/service/IRoleCarService.java index eb48797..18e196e 100644 --- a/src/main/java/com/ccsens/carbasics/service/IRoleCarService.java +++ b/src/main/java/com/ccsens/carbasics/service/IRoleCarService.java @@ -26,4 +26,19 @@ public interface IRoleCarService { * @return 角色信息 */ List queryMustShow(RoleDto.QueryMustShow param, Long userId); + + /** + * 查询退出前最后一次的角色选择 + * @param param 项目id + * @param userId 用户id + * @return 退出前最后一次的角色选择 + */ + RoleVo.RoleChoose queryLastRoleChoose(RoleDto.QueryMustShow param, Long userId); + + /** + * 保存切换角色记录 + * @param param 项目id 角色id + * @param userId 用户id + */ + void saveRoleRecord(RoleDto.SaveRoleRecord param, Long userId); } diff --git a/src/main/java/com/ccsens/carbasics/service/RoleCarService.java b/src/main/java/com/ccsens/carbasics/service/RoleCarService.java index e6252e4..6f48350 100644 --- a/src/main/java/com/ccsens/carbasics/service/RoleCarService.java +++ b/src/main/java/com/ccsens/carbasics/service/RoleCarService.java @@ -2,9 +2,12 @@ package com.ccsens.carbasics.service; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; import com.ccsens.carbasics.bean.dto.RoleDto; +import com.ccsens.carbasics.bean.po.LastRoleChoose; import com.ccsens.carbasics.bean.vo.RoleVo; +import com.ccsens.carbasics.persist.dao.LastRoleChooseDao; import com.ccsens.carbasics.persist.dao.RoleCarDao; import com.ccsens.carbasics.util.Constant; import com.ccsens.common.bean.dto.CRoleDto; @@ -32,6 +35,10 @@ public class RoleCarService implements IRoleCarService { private ProRoleDao proRoleDao; @Resource private RoleCarDao roleCarDao; + @Resource + private LastRoleChooseDao lastRoleChooseDao; + @Resource + private Snowflake snowflake; @Override public CRoleVo.QueryRole queryShowRoleCar(CRoleDto.QueryRoleById param, Long userId) { @@ -79,4 +86,21 @@ public class RoleCarService implements IRoleCarService { return roleCarDao.queryMustShow(param); } + + @Override + public RoleVo.RoleChoose queryLastRoleChoose(RoleDto.QueryMustShow param, Long userId) { + return lastRoleChooseDao.queryLastRoleChoose(param.getProjectId(),userId); + } + + @Override + public void saveRoleRecord(RoleDto.SaveRoleRecord param, Long userId) { + LastRoleChoose lastRoleChoose = new LastRoleChoose(); + lastRoleChoose.setId(snowflake.nextId()); + lastRoleChoose.setProjectId(param.getProjectId()); + lastRoleChoose.setRoleId(param.getRoleId()); + lastRoleChoose.setUserId(userId); + lastRoleChoose.setTime(System.currentTimeMillis()); + lastRoleChooseDao.insertSelective(lastRoleChoose); + } + } diff --git a/src/main/resources/mapper_dao/LastRoleChooseDao.xml b/src/main/resources/mapper_dao/LastRoleChooseDao.xml new file mode 100644 index 0000000..6bd2eb0 --- /dev/null +++ b/src/main/resources/mapper_dao/LastRoleChooseDao.xml @@ -0,0 +1,19 @@ + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper_raw/LastRoleChooseMapper.xml b/src/main/resources/mapper_raw/LastRoleChooseMapper.xml new file mode 100644 index 0000000..5df89ce --- /dev/null +++ b/src/main/resources/mapper_raw/LastRoleChooseMapper.xml @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, user_id, project_id, role_id, time, created_at, updated_at, rec_status + + + + + delete from t_qcp_last_role_choose + where id = #{id,jdbcType=BIGINT} + + + delete from t_qcp_last_role_choose + + + + + + insert into t_qcp_last_role_choose (id, user_id, project_id, + role_id, time, created_at, + updated_at, rec_status) + values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, + #{roleId,jdbcType=BIGINT}, #{time,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, + #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) + + + insert into t_qcp_last_role_choose + + + id, + + + user_id, + + + project_id, + + + role_id, + + + time, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{userId,jdbcType=BIGINT}, + + + #{projectId,jdbcType=BIGINT}, + + + #{roleId,jdbcType=BIGINT}, + + + #{time,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_qcp_last_role_choose + + + id = #{record.id,jdbcType=BIGINT}, + + + user_id = #{record.userId,jdbcType=BIGINT}, + + + project_id = #{record.projectId,jdbcType=BIGINT}, + + + role_id = #{record.roleId,jdbcType=BIGINT}, + + + time = #{record.time,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_qcp_last_role_choose + set id = #{record.id,jdbcType=BIGINT}, + user_id = #{record.userId,jdbcType=BIGINT}, + project_id = #{record.projectId,jdbcType=BIGINT}, + role_id = #{record.roleId,jdbcType=BIGINT}, + time = #{record.time,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_qcp_last_role_choose + + + user_id = #{userId,jdbcType=BIGINT}, + + + project_id = #{projectId,jdbcType=BIGINT}, + + + role_id = #{roleId,jdbcType=BIGINT}, + + + time = #{time,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_qcp_last_role_choose + set user_id = #{userId,jdbcType=BIGINT}, + project_id = #{projectId,jdbcType=BIGINT}, + role_id = #{roleId,jdbcType=BIGINT}, + time = #{time,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/src/main/resources/mbg.xml b/src/main/resources/mbg.xml index 629e374..b15d3b6 100644 --- a/src/main/resources/mbg.xml +++ b/src/main/resources/mbg.xml @@ -81,7 +81,8 @@ -
+ +