Просмотр исходного кода

1.控制台用户机构关系需求

wuhp 2 лет назад
Родитель
Сommit
c863c82d94

+ 59 - 0
src/main/java/com/ydtech/modules/admin/controller/kzt/SysUserDeptRelationshipController.java

@@ -0,0 +1,59 @@
+package com.ydtech.modules.admin.controller.kzt;
+
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.dto.SysUserDeptRelationshipDto;
+import com.ydtech.modules.admin.model.vo.SysUserDeptRelationshipVo;
+import com.ydtech.modules.admin.service.SysUserDeptRelationshipService;
+import com.ydtech.modules.order.entity.BasePageResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("kztUserDept")
+@Api(tags = "控制台部门用户")
+public class SysUserDeptRelationshipController {
+    @Autowired
+    private SysUserDeptRelationshipService sysUserDeptRelationshipService;
+
+
+
+    /**
+     *  @version
+     *  @author: whp
+     *  @Date: 2024/09/04
+     *  @Description: 控制台新增用户部门管理
+     */
+    @PutMapping(value = "/update")
+    @ApiOperation(value = "控制台新增用户部门管理")
+    public HttpResult save(@RequestBody SysUserDeptRelationshipDto sysUserDeptRelationship) {
+        return sysUserDeptRelationshipService.updateUserDeptRelationship(sysUserDeptRelationship);
+    }
+
+    /**
+     *  @version
+     *  @author: whp
+     *  @Date: 2024/9/04 18:54
+     *  @Description: 控制台用户部门分页
+     */
+    @ApiOperation(value = "控制台角色分页")
+    @PostMapping(value = "/findPage")
+    public HttpResult<BasePageResult<SysUserDeptRelationshipDto>> findKztPage(@RequestBody SysUserDeptRelationshipVo sysUserDeptRelationshipVo) {
+        return HttpResult.ok(sysUserDeptRelationshipService.findPage(sysUserDeptRelationshipVo));
+    }
+    /**
+     *  @version
+     *  @author: whp
+     *  @Date: 2024/9/04 18:54
+     *  @Description: 回显
+     */
+    @ApiOperation(value = "回显")
+    @GetMapping(value = "/getByUserId")
+    public HttpResult<SysUserDeptRelationshipDto> getByUserId(String  userId) {
+        return HttpResult.ok(sysUserDeptRelationshipService.getByUserId(userId));
+    }
+
+}

+ 24 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserDeptRelationshipMapper.java

@@ -0,0 +1,24 @@
+package com.ydtech.modules.admin.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.modules.admin.model.dto.SysUserDeptRelationshipDto;
+import com.ydtech.modules.admin.model.dto.SysUserLinkPtlAgreementDto;
+import com.ydtech.modules.admin.model.po.SysUserDeptRelationship;
+import com.ydtech.modules.admin.model.vo.SysUserDeptRelationshipVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface SysUserDeptRelationshipMapper extends BaseMapper<SysUserDeptRelationship> {
+    /**
+     * @version
+     * @author: whp
+     * @Date: 2024/9/04 18:54
+     * @Description: 控制台用户部门分页
+     */
+    Page<SysUserDeptRelationshipDto> queryPage(@Param("page") Page<SysUserLinkPtlAgreementDto> page, @Param("vo") SysUserDeptRelationshipVo sysUserDeptRelationshipVo);
+
+    void deleteByUserId(String userId);
+
+}

+ 46 - 0
src/main/java/com/ydtech/modules/admin/model/dto/SysUserDeptRelationshipDto.java

@@ -0,0 +1,46 @@
+package com.ydtech.modules.admin.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.w3c.dom.stylesheets.LinkStyle;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+@Data
+@ApiModel(value = "控制台用户部门")
+public class SysUserDeptRelationshipDto implements Serializable {
+
+    @ApiModelProperty(value = "id")
+    private String id;
+
+
+    @ApiModelProperty(value = "用户id")
+    private String userId;
+
+    @ApiModelProperty(value = "部门id")
+    private String deptId;
+
+
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+
+    @ApiModelProperty(value = "删除( 0:删除 1:正常)")
+    private String delFlag;
+
+
+    @ApiModelProperty(value = "部门名称")
+    private String deptName;
+
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+    @ApiModelProperty(value = "机构idList")
+    private List<String>   deptIds;
+}

+ 59 - 0
src/main/java/com/ydtech/modules/admin/model/po/SysUserDeptRelationship.java

@@ -0,0 +1,59 @@
+package com.ydtech.modules.admin.model.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ *   机构用户关联表
+ */
+
+
+@Data
+@TableName(value ="sys_user_dept_relationship")
+public class SysUserDeptRelationship implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId(value = "id")
+    private String id;
+
+    /**
+     * 用户id
+     */
+    @TableField(value = "user_id")
+    private String userId;
+
+    /**
+     * 部门id
+     */
+    @TableField(value = "dept_id")
+    private String deptId;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by")
+    private String createBy;
+
+
+    /**
+     * 删除标识
+     */
+    @TableField(value = "del_flag")
+    private String delFlag;
+
+
+}

+ 45 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysUserDeptRelationshipVo.java

@@ -0,0 +1,45 @@
+package com.ydtech.modules.admin.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.Min;
+import java.util.Date;
+
+/**
+ *  控制台用户部门关系
+ */
+@Data
+@ApiModel
+public class SysUserDeptRelationshipVo {
+
+    @ApiModelProperty(value = "id")
+    private String id;
+
+
+    @ApiModelProperty(value = "用户id")
+    private String userId;
+
+    @ApiModelProperty(value = "部门id")
+    private String deptId;
+
+
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+
+    @ApiModelProperty(value = "删除( 0:删除 1:正常)")
+    private String delFlag;
+
+    @ApiModelProperty(value = "每页页数")
+    private int pageSize;
+
+    @ApiModelProperty(value = "页数")
+    @Min(value = 1, message = "页数最小为1")
+    private int pageNum=1;
+
+}

+ 34 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserDeptRelationshipService.java

@@ -0,0 +1,34 @@
+package com.ydtech.modules.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.dto.SysUserDeptRelationshipDto;
+import com.ydtech.modules.admin.model.po.SysUserDeptRelationship;
+import com.ydtech.modules.admin.model.vo.SysUserDeptRelationshipVo;
+import com.ydtech.modules.order.entity.BasePageResult;
+
+public interface SysUserDeptRelationshipService  extends IService<SysUserDeptRelationship> {
+    /**
+     *  @version
+     *  @author: whp
+     *  @Date: 2024/9/04 18:54
+     *  @Description: 控制台用户部门分页
+     */
+    BasePageResult<SysUserDeptRelationshipDto> findPage(SysUserDeptRelationshipVo sysUserDeptRelationshipVo);
+
+    /**
+     *  @version
+     *  @author: whp
+     *  @Date: 2024/09/04
+     *  @Description: 控制台新增用户部门管理
+     */
+    HttpResult updateUserDeptRelationship(SysUserDeptRelationshipDto sysUserDeptRelationship);
+    /**
+     *  @version
+     *  @author: whp
+     *  @Date: 2024/9/04 18:54
+     *  @Description: 回显
+     */
+    SysUserDeptRelationshipDto getByUserId(String userId);
+
+}

+ 77 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserDeptRelationshipServiceImpl.java

@@ -0,0 +1,77 @@
+package com.ydtech.modules.admin.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.dao.SysUserDeptRelationshipMapper;
+import com.ydtech.modules.admin.model.dto.SysUserDeptRelationshipDto;
+import com.ydtech.modules.admin.model.dto.SysUserLinkPtlAgreementDto;
+import com.ydtech.modules.admin.model.po.SysUserDeptRelationship;
+import com.ydtech.modules.admin.model.vo.SysUserDeptRelationshipVo;
+import com.ydtech.modules.admin.service.SysUserDeptRelationshipService;
+import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.order.entity.BasePageResult;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+
+@Service
+public class SysUserDeptRelationshipServiceImpl extends ServiceImpl<SysUserDeptRelationshipMapper, SysUserDeptRelationship> implements SysUserDeptRelationshipService {
+
+    /**
+     * @version
+     * @author: whp
+     * @Date: 2024/9/04 18:54
+     * @Description: 控制台用户部门分页
+     */
+    @Override
+    public BasePageResult<SysUserDeptRelationshipDto> findPage(SysUserDeptRelationshipVo sysUserDeptRelationshipVo) {
+        Page<SysUserLinkPtlAgreementDto> page = new Page<>(sysUserDeptRelationshipVo.getPageNum(),
+                sysUserDeptRelationshipVo.getPageSize());
+        Page<SysUserDeptRelationshipDto> relationshipDtoPage = baseMapper.queryPage(page, sysUserDeptRelationshipVo);
+        return new BasePageResult<>(sysUserDeptRelationshipVo.getPageNum(), page.getSize(), relationshipDtoPage.getTotal(), page.getPages(),
+                relationshipDtoPage.getRecords());
+
+    }
+
+    @Override
+    @Transactional
+    public HttpResult updateUserDeptRelationship(SysUserDeptRelationshipDto sysUserDeptRelationship) {
+        String userId = sysUserDeptRelationship.getUserId();
+        baseMapper.deleteByUserId(userId);
+
+        List<String> deptIds = sysUserDeptRelationship.getDeptIds();
+        for (String deptId : deptIds) {
+            SysUserDeptRelationship saveItem = new SysUserDeptRelationship();
+            saveItem.setUserId(sysUserDeptRelationship.getUserId());
+            saveItem.setDeptId(deptId);
+            saveItem.setDelFlag("1");
+            saveItem.setCreateBy(BaseController.getUserId());
+            saveItem.setCreateTime(new Date());
+            baseMapper.insert(saveItem);
+        }
+        return  HttpResult.ok();
+    }
+    /**
+     *  @version
+     *  @author: whp
+     *  @Date: 2024/9/04 18:54
+     *  @Description: 回显
+     */
+    @Override
+    public SysUserDeptRelationshipDto getByUserId(String userId) {
+        SysUserDeptRelationshipDto sysUserDeptRelationshipDto = new SysUserDeptRelationshipDto();
+        QueryWrapper<SysUserDeptRelationship> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("user_id",userId);
+        List<SysUserDeptRelationship> sysUserDeptRelationships = baseMapper.selectList(queryWrapper);
+        List<String> deptIds = sysUserDeptRelationships.stream().map(SysUserDeptRelationship::getDeptId).collect(Collectors.toList());
+        sysUserDeptRelationshipDto.setDeptIds(deptIds);
+        sysUserDeptRelationshipDto.setUserId(userId);
+        return sysUserDeptRelationshipDto;
+    }
+}

+ 30 - 0
src/main/resources/mapper/modules/kzt/SysUserDeptRelationshipMapper.xml

@@ -0,0 +1,30 @@
+<?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.ydtech.modules.admin.dao.SysUserDeptRelationshipMapper">
+
+
+
+
+    <select id="queryPage" resultType="com.ydtech.modules.admin.model.dto.SysUserDeptRelationshipDto">
+        select
+            a.id  as "id",
+            a.user_id  as "userId",
+            a.dept_id  as "deptId",
+            a.create_time  as "createTime",
+            a.create_by  as "createBy",
+            a.del_flag  as "delFlag",
+            su.name   as "userName",
+            sd.name   as "deptName"
+        from sys_user_dept_relationship a
+        left join  sys_user  su  on  su.id =a.user_id
+        left join  sys_dept  sd  on  sd.id =a.dept_id
+    </select>
+    <delete id="deleteByUserId">
+        delete
+        FROM
+            sys_user_dept_relationship
+        WHERE
+            user_id =#{userId}
+    </delete>
+
+</mapper>