diff --git a/xs-api/src/main/java/com/xiang/xservice/auth/api/code/Code03DeptErrorCode.java b/xs-api/src/main/java/com/xiang/xservice/auth/api/code/Code03DeptErrorCode.java new file mode 100644 index 0000000..3bfb9c4 --- /dev/null +++ b/xs-api/src/main/java/com/xiang/xservice/auth/api/code/Code03DeptErrorCode.java @@ -0,0 +1,20 @@ +package com.xiang.xservice.auth.api.code; + +import com.xiang.xservice.basic.exception.code.BaseErrorCode; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @Author: xiang + * @Date: 2025-08-29 16:27 + */ +@Getter +@AllArgsConstructor +public enum Code03DeptErrorCode implements BaseErrorCode { + + DEPT_NOT_EXISTS("A1000301", "部门不存在"), + ; + + private final String code; + private final String message; +} diff --git a/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptAddRequest.java b/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptAddRequest.java index 149c043..504bc57 100644 --- a/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptAddRequest.java +++ b/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptAddRequest.java @@ -1,4 +1,6 @@ package com.xiang.xservice.auth.api.dto.req.dept; -public class DeptAddRequest { +import com.xiang.xservice.basic.common.req.BaseRequest; + +public class DeptAddRequest extends BaseRequest { } diff --git a/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptQueryRequest.java b/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptQueryRequest.java index 614528e..9df2761 100644 --- a/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptQueryRequest.java +++ b/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptQueryRequest.java @@ -1,4 +1,6 @@ package com.xiang.xservice.auth.api.dto.req.dept; -public class DeptQueryRequest { +import com.xiang.xservice.basic.common.req.BaseRequest; + +public class DeptQueryRequest extends BaseRequest { } diff --git a/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptUpdateRequest.java b/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptUpdateRequest.java index 8586d75..67d7cc3 100644 --- a/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptUpdateRequest.java +++ b/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptUpdateRequest.java @@ -1,4 +1,6 @@ package com.xiang.xservice.auth.api.dto.req.dept; -public class DeptUpdateRequest { +import com.xiang.xservice.basic.common.req.BaseRequest; + +public class DeptUpdateRequest extends BaseRequest { } diff --git a/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptUserUpdateRequest.java b/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptUserUpdateRequest.java index fdcc551..7c4c09b 100644 --- a/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptUserUpdateRequest.java +++ b/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/dept/DeptUserUpdateRequest.java @@ -1,4 +1,16 @@ package com.xiang.xservice.auth.api.dto.req.dept; -public class DeptUserUpdateRequest { +import com.xiang.xservice.basic.common.req.BaseRequest; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class DeptUserUpdateRequest extends BaseRequest { + private Long deptId; + private List userIds; } diff --git a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/DeptController.java b/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/DeptController.java index 51a7f14..ad140ea 100644 --- a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/DeptController.java +++ b/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/DeptController.java @@ -5,6 +5,7 @@ import com.xiang.xservice.auth.api.dto.req.dept.DeptQueryRequest; import com.xiang.xservice.auth.api.dto.req.dept.DeptUpdateRequest; import com.xiang.xservice.auth.api.dto.req.dept.DeptUserUpdateRequest; import com.xiang.xservice.auth.api.dto.resp.DeptDTO; +import com.xiang.xservice.auth.service.service.XDeptService; import com.xiang.xservice.basic.common.resp.Result; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; @@ -25,6 +26,8 @@ import java.util.List; @RestController @RequiredArgsConstructor public class DeptController { + + private final XDeptService deptService; @PostMapping("/private/dept/list") public Result getDeptList(@RequestBody @Valid @NotNull(message = "请求参数不能为空") DeptQueryRequest request) { return Result.success(new DeptDTO()); diff --git a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/RoleController.java b/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/RoleController.java index 21d21d6..cf2b63b 100644 --- a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/RoleController.java +++ b/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/RoleController.java @@ -6,7 +6,7 @@ import com.xiang.xservice.auth.api.dto.req.role.RoleQueryRequest; import com.xiang.xservice.auth.api.dto.req.role.RoleUpdateRequest; import com.xiang.xservice.auth.api.dto.req.role.RoleUserUpdateRequest; import com.xiang.xservice.auth.api.dto.resp.RoleDTO; -import com.xiang.xservice.auth.service.service.RoleService; +import com.xiang.xservice.auth.service.service.XRoleService; import com.xiang.xservice.basic.common.resp.Result; import com.xiang.xservice.basic.exception.BusinessException; import lombok.RequiredArgsConstructor; @@ -31,7 +31,7 @@ import java.util.List; @RequiredArgsConstructor public class RoleController { - private final RoleService roleService; + private final XRoleService roleService; @PostMapping("/private/role/list") public Result getRoleList(@RequestBody @Valid @NotNull(message = "请求参数不能为空") RoleQueryRequest request) { diff --git a/xs-server/src/main/resources/application-local.yml b/xs-server/src/main/resources/application-local.yml index 9429b7c..fdab7e5 100644 --- a/xs-server/src/main/resources/application-local.yml +++ b/xs-server/src/main/resources/application-local.yml @@ -4,13 +4,13 @@ spring: primary: master datasource: master: - url: jdbc:mysql://rm-bp1j371yx9d9894ewbo.mysql.rds.aliyuncs.com:3306/xservice-user?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true + url: jdbc:mysql://rm-bp15t34gqx62jm069ro.mysql.rds.aliyuncs.com:3306/xservice-user?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true username: root password: xb#UWqnhH24&XpX driver-class-name: com.mysql.cj.jdbc.Driver sshConnect: false redis: - host: r-bp1dqqbzlfw04fldp3pd.redis.rds.aliyuncs.com + host: r-bp1wt59a6nfyt4e3ltpd.redis.rds.aliyuncs.com port: 6379 password: Admin@123 # 如果无密码可以省略 database: 0 diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/convert/XDeptConvert.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/convert/XDeptConvert.java new file mode 100644 index 0000000..178315c --- /dev/null +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/convert/XDeptConvert.java @@ -0,0 +1,27 @@ +package com.xiang.xservice.auth.service.convert; + +import com.xiang.xservice.auth.api.dto.req.dept.DeptAddRequest; +import com.xiang.xservice.auth.api.dto.req.dept.DeptQueryRequest; +import com.xiang.xservice.auth.api.dto.req.dept.DeptUpdateRequest; +import com.xiang.xservice.auth.api.dto.resp.DeptDTO; +import com.xiang.xservice.auth.service.entity.XDept; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * @Author: xiang + * @Date: 2025-08-29 16:54 + */ +@Mapper(componentModel = "spring") +public interface XDeptConvert { + XDeptConvert INSTANCE = Mappers.getMapper(XDeptConvert.class); + + XDept toDO(DeptQueryRequest request); + XDept toDO(DeptAddRequest request); + XDept toDO(DeptUpdateRequest request); + + DeptDTO toDTO(XDept dept); + List toDTOList(List dept); +} diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XDept.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XDept.java new file mode 100644 index 0000000..3a6517d --- /dev/null +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XDept.java @@ -0,0 +1,67 @@ +package com.xiang.xservice.auth.service.entity; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * @Author: xiang + * @Date: 2025-08-29 16:42 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class XDept implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + private Long id; + + /** + * 名称 + */ + private String name; + + /** + * 父类id + */ + private Long parentId; + + /** + * 路径 + */ + private String treePath; + + /** + * 排序 + */ + private Integer sortNo; + + /** + * 创建时间 + */ + private LocalDateTime createdTime; + + /** + * 创建人 + */ + private String createBy; + + /** + * 修改时间 + */ + private LocalDateTime updatedTime; + + /** + * 修改人 + */ + private String updateBy; + + /** + * 删除标识(0:未删除 1:已删除) + */ + private Integer delFlag; +} diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XUserDept.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XUserDept.java new file mode 100644 index 0000000..e59ffe7 --- /dev/null +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XUserDept.java @@ -0,0 +1,18 @@ +package com.xiang.xservice.auth.service.entity; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author: xiang + * @Date: 2025-08-29 16:44 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class XUserDept { + private Long userId; + + private Long deptId; +} diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XDeptMapper.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XDeptMapper.java new file mode 100644 index 0000000..9d043aa --- /dev/null +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XDeptMapper.java @@ -0,0 +1,28 @@ +package com.xiang.xservice.auth.service.repository.mapper; + +import com.xiang.xservice.auth.service.entity.XDept; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * @Author: xiang + * @Date: 2025-08-29 16:40 + */ +@Mapper +@Repository +public interface XDeptMapper { + + int insert(XDept record); + int update(XDept record); + int delBatch(@Param("ids") List ids, @Param("time") LocalDateTime time, @Param("operator") String operator); + List getDeptList(XDept record); + XDept getDeptById(Long id); + List getDeptByIds(@Param("ids") List ids); + List getDeptByparentId(@Param("parentId") Long parentId); + + +} diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XRoleMapper.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XRoleMapper.java index 55948ee..fff0545 100644 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XRoleMapper.java +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XRoleMapper.java @@ -1,7 +1,6 @@ package com.xiang.xservice.auth.service.repository.mapper; import com.xiang.xservice.auth.service.entity.XRole; -import com.xiang.xservice.auth.service.entity.XUserRole; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -19,5 +18,4 @@ public interface XRoleMapper { List getRoleList(XRole record); XRole getRoleById(Long id); List getRoleByIds(@Param("ids") List ids); - int addBatch(List list); } diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XUserDeptMapper.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XUserDeptMapper.java new file mode 100644 index 0000000..5841359 --- /dev/null +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XUserDeptMapper.java @@ -0,0 +1,19 @@ +package com.xiang.xservice.auth.service.repository.mapper; + +import com.xiang.xservice.auth.service.entity.XUserDept; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @Author: xiang + * @Date: 2025-08-29 17:04 + */ +@Mapper +@Repository +public interface XUserDeptMapper { + int addBatch(List list); + + int delByDeptId(Long deptId); +} diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XUserRoleMapper.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XUserRoleMapper.java index 78a6644..5a37705 100644 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XUserRoleMapper.java +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XUserRoleMapper.java @@ -16,4 +16,6 @@ public interface XUserRoleMapper { int delByUserId(@Param("userId") Long userId); int delByRoleIds(@Param("list") List roleIds); + + int addBatch(List list); } diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XDeptService.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XDeptService.java new file mode 100644 index 0000000..f88178d --- /dev/null +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XDeptService.java @@ -0,0 +1,27 @@ +package com.xiang.xservice.auth.service.service; + +import com.xiang.xservice.auth.api.dto.req.dept.DeptAddRequest; +import com.xiang.xservice.auth.api.dto.req.dept.DeptQueryRequest; +import com.xiang.xservice.auth.api.dto.req.dept.DeptUpdateRequest; +import com.xiang.xservice.auth.api.dto.req.dept.DeptUserUpdateRequest; +import com.xiang.xservice.auth.api.dto.resp.DeptDTO; + +import java.util.List; + +/** + * @Author: xiang + * @Date: 2025-08-29 16:36 + */ +public interface XDeptService { + List getDeptList(DeptQueryRequest request); + + DeptDTO getDeptInfo(Long id); + + Boolean addDept(DeptAddRequest request); + + Boolean updateDept(DeptUpdateRequest request); + + Boolean delDept(List ids); + + Boolean setUserDept(DeptUserUpdateRequest request); +} diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/RoleService.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XRoleService.java similarity index 95% rename from xs-service/src/main/java/com/xiang/xservice/auth/service/service/RoleService.java rename to xs-service/src/main/java/com/xiang/xservice/auth/service/service/XRoleService.java index 5b500dd..80b274a 100644 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/RoleService.java +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XRoleService.java @@ -9,7 +9,7 @@ import com.xiang.xservice.auth.api.dto.resp.RoleDTO; import java.util.List; -public interface RoleService { +public interface XRoleService { List getRoleList(RoleQueryRequest request); RoleDTO getRoleInfo(Long id); diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XDeptServiceImpl.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XDeptServiceImpl.java new file mode 100644 index 0000000..10b20ca --- /dev/null +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XDeptServiceImpl.java @@ -0,0 +1,102 @@ +package com.xiang.xservice.auth.service.service.impl; + +import com.google.common.collect.Lists; +import com.xiang.xservice.auth.api.code.Code03DeptErrorCode; +import com.xiang.xservice.auth.api.dto.req.dept.DeptAddRequest; +import com.xiang.xservice.auth.api.dto.req.dept.DeptQueryRequest; +import com.xiang.xservice.auth.api.dto.req.dept.DeptUpdateRequest; +import com.xiang.xservice.auth.api.dto.req.dept.DeptUserUpdateRequest; +import com.xiang.xservice.auth.api.dto.resp.DeptDTO; +import com.xiang.xservice.auth.service.convert.XDeptConvert; +import com.xiang.xservice.auth.service.entity.XDept; +import com.xiang.xservice.auth.service.entity.XUserDept; +import com.xiang.xservice.auth.service.repository.mapper.XDeptMapper; +import com.xiang.xservice.auth.service.repository.mapper.XUserDeptMapper; +import com.xiang.xservice.auth.service.service.XDeptService; +import com.xiang.xservice.basic.exception.BusinessException; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Objects; + +/** + * @Author: xiang + * @Date: 2025-08-29 16:39 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class XDeptServiceImpl implements XDeptService { + + private final static int BATCH_SIZE = 500; + private final XDeptMapper deptMapper; + private final XDeptConvert deptConvert; + private final XUserDeptMapper userDeptMapper; + @Override + public List getDeptList(DeptQueryRequest request) { + return deptConvert.toDTOList(deptMapper.getDeptList(deptConvert.toDO(request))); + } + + @Override + public DeptDTO getDeptInfo(Long id) { + return deptConvert.toDTO(deptMapper.getDeptById(id)); + } + + @Override + public Boolean addDept(DeptAddRequest request) { + XDept dept = deptConvert.toDO(request); + return deptMapper.insert(dept) > 0; + } + + @Override + public Boolean updateDept(DeptUpdateRequest request) { + XDept dept = deptConvert.toDO(request); + dept.setCreateBy(request.getOperator()); + dept.setUpdateBy(request.getOperator()); + return deptMapper.update(dept) > 0; + } + + @Override + public Boolean delDept(List ids) { + return deptMapper.delBatch(ids, LocalDateTime.now(), "admin") > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean setUserDept(DeptUserUpdateRequest request) { + XDept dept = deptMapper.getDeptById(request.getDeptId()); + if (Objects.isNull(dept)) { + log.error("查询部门信息不存在!部门id:{}", request.getDeptId()); + throw new BusinessException(Code03DeptErrorCode.DEPT_NOT_EXISTS); + } + List result = Lists.newArrayList(); + for (Long userId : request.getUserIds()) { + XUserDept userDept = new XUserDept(); + userDept.setDeptId(request.getDeptId()); + userDept.setUserId(userId); + result.add(userDept); + } + boolean flag = true; + if (userDeptMapper.delByDeptId(request.getDeptId()) <= 0) { + return Boolean.FALSE; + } + if (CollectionUtils.isNotEmpty(result)) { + if (result.size() > BATCH_SIZE) { + List> partition = Lists.partition(result, BATCH_SIZE); + for (List list : partition) { + if (userDeptMapper.addBatch(list) <= 0) { + flag = false; + } + } + } else { + return userDeptMapper.addBatch(result) > 0; + } + } + return flag; + } +} diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XRoleServiceImpl.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XRoleServiceImpl.java index ac96e20..35f88e9 100644 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XRoleServiceImpl.java +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XRoleServiceImpl.java @@ -11,23 +11,27 @@ import com.xiang.xservice.auth.service.convert.XRoleConvert; import com.xiang.xservice.auth.service.entity.XRole; import com.xiang.xservice.auth.service.entity.XUserRole; import com.xiang.xservice.auth.service.repository.mapper.XRoleMapper; -import com.xiang.xservice.auth.service.service.RoleService; +import com.xiang.xservice.auth.service.repository.mapper.XUserRoleMapper; +import com.xiang.xservice.auth.service.service.XRoleService; import com.xiang.xservice.basic.exception.BusinessException; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; +import java.util.Collections; import java.util.List; import java.util.Objects; @Slf4j @Service @RequiredArgsConstructor -public class XRoleServiceImpl implements RoleService { +public class XRoleServiceImpl implements XRoleService { private final static int BATCH_SIZE = 500; private final XRoleMapper roleMapper; + private final XUserRoleMapper userRoleMapper; private final XRoleConvert roleConvert; @Override @@ -67,6 +71,7 @@ public class XRoleServiceImpl implements RoleService { } @Override + @Transactional(rollbackFor = Exception.class) public Boolean setUserRole(RoleUserUpdateRequest request) { XRole role = roleMapper.getRoleById(request.getRoleId()); if (Objects.isNull(role)) { @@ -80,17 +85,20 @@ public class XRoleServiceImpl implements RoleService { xUserRole.setUserId(userId); params.add(xUserRole); } - Boolean flag = Boolean.TRUE; + boolean flag = Boolean.TRUE; + if (userRoleMapper.delByRoleIds(Collections.singletonList(request.getRoleId())) <= 0) { + return Boolean.FALSE; + } if (CollectionUtils.isNotEmpty(params)) { if (params.size() > BATCH_SIZE) { List> partition = Lists.partition(params, BATCH_SIZE); for (List list : partition) { - if (roleMapper.addBatch(list) <= 0) { + if (userRoleMapper.addBatch(list) <= 0) { flag = false; } } } else { - return roleMapper.addBatch(params) > 0; + return userRoleMapper.addBatch(params) > 0; } } return flag; diff --git a/xs-service/src/main/resources/mapper/user/XDeptMapper.xml b/xs-service/src/main/resources/mapper/user/XDeptMapper.xml new file mode 100644 index 0000000..b3eac96 --- /dev/null +++ b/xs-service/src/main/resources/mapper/user/XDeptMapper.xml @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + name, + parent_id, + tree_path, + sort_no, + created_time, + create_by, + updated_time, + update_by, + del_flag + + + + INSERT INTO x_dept + + + name, + + + parent_id, + + + tree_path, + + + sort_no, + + + created_time, + + + create_by, + + + updated_time, + + + update_by, + + + del_flag + + + + + #{name}, + + + #{parentId}, + + + #{treePath}, + + + #{sortNo}, + + + #{createdTime}, + + + #{createBy}, + + + #{updatedTime}, + + + #{updateBy}, + + + #{delFlag} + + + + + + update x_dept + SET del_flag = 1, updated_time = now(), update_by = #{updateBy} + WHERE id IN + + #{item} + + + + + UPDATE x_dept + + name = #{name}, + parent_id = #{parentId}, + tree_path = #{treePath}, + sort_no = #{sortNo}, + created_time = #{createdTime}, + create_by = #{createBy}, + updated_time = #{updatedTime}, + update_by = #{updateBy}, + del_flag = #{delFlag} + + WHERE id = #{id} + + + + + + + + \ No newline at end of file diff --git a/xs-service/src/main/resources/mapper/user/XRoleMapper.xml b/xs-service/src/main/resources/mapper/user/XRoleMapper.xml index 8c331e6..afe586c 100644 --- a/xs-service/src/main/resources/mapper/user/XRoleMapper.xml +++ b/xs-service/src/main/resources/mapper/user/XRoleMapper.xml @@ -90,12 +90,7 @@ - - insert into x_role(user_id, role_id) values - - (#{item.userId}, #{item.roleId}) - - + update x_role set del_flag = 0, update_time = #{time}, update_by = #{operator} where id in diff --git a/xs-service/src/main/resources/mapper/user/XUserDeptMapper.xml b/xs-service/src/main/resources/mapper/user/XUserDeptMapper.xml new file mode 100644 index 0000000..df1cb1e --- /dev/null +++ b/xs-service/src/main/resources/mapper/user/XUserDeptMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + user_id, + dept_id + + + insert into x_user_data_scope_dept(user_id, dept_id) values + + (#{item.userId}, #{item.deptId}) + + + + delete from x_user_data_scope_dept where dept_id = #{deptId} + + + + \ No newline at end of file diff --git a/xs-service/src/main/resources/mapper/user/XUserRoleMapper.xml b/xs-service/src/main/resources/mapper/user/XUserRoleMapper.xml index a35d674..54b606e 100644 --- a/xs-service/src/main/resources/mapper/user/XUserRoleMapper.xml +++ b/xs-service/src/main/resources/mapper/user/XUserRoleMapper.xml @@ -23,6 +23,7 @@ delete from x_user_role where user_id = #{userId} + delete from x_user_role where role_id in @@ -30,5 +31,12 @@ + + insert into x_user_role(user_id, role_id) values + + (#{item.userId}, #{item.roleId}) + + + \ No newline at end of file