ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java
@@ -11,6 +11,7 @@ import com.ycl.service.user.UmsDepartManageService; import com.ycl.utils.auth.UserAuthUtil; import com.ycl.vo.depart.DepartVO; import com.ycl.vo.depart.UmsDepartVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -99,8 +100,8 @@ @ApiOperation("查询全部部门") @GetMapping(value = "/page") public CommonResult<IPage<UmsDepart>> page(DepartVO.PageDepartVO params) { IPage<UmsDepart> page = departService.pageDepart(params); public CommonResult<IPage<UmsDepartVO>> page(DepartVO.PageDepartVO params) { IPage<UmsDepartVO> page = departService.pageDepart(params); return CommonResult.success(page); } ycl-common/src/main/java/com/ycl/entity/depart/DepartManager.java
New file @@ -0,0 +1,65 @@ package com.ycl.entity.depart; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; import java.time.LocalDateTime; /** * <p> * * </p> * * @author zhanghua * @since 2022-10-09 */ @Data @EqualsAndHashCode(callSuper = false) @TableName("ums_depart_manager") public class DepartManager implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 用户id */ @TableField("user_id") private Long userId; /** * 部门id */ @TableField("depart_id") private Long departId; /** * 创建时间 */ @TableField("create_time") private LocalDateTime createTime; /** * 修改时间 */ @TableField("update_time") private LocalDateTime updateTime; /** * 是否是领导 */ @TableField("is_leader") private Integer isLeader; } ycl-common/src/main/java/com/ycl/entity/depart/UmsDepart.java
@@ -38,7 +38,7 @@ private String departDes; @ApiModelProperty("部门类型") private byte departType; private Integer departType; @ApiModelProperty("父级id,默认0") private Long parentId; ycl-common/src/main/java/com/ycl/entity/dict/DataDictionary.java
New file @@ -0,0 +1,92 @@ package com.ycl.entity.dict; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; /** * <p> * * </p> * * @author lyq * @since 2022-09-15 */ @Data @EqualsAndHashCode(callSuper = false) @TableName("ums_data_dictionary") @ApiModel(value = "字典表") public class DataDictionary implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value = "主键",dataType = "Long") private Long id; /** * 字典值 */ @TableField("name") @ApiModelProperty(value = "违规中的类型/大类/小类/案由,违建中的/类型/类别",dataType = "String") @NotBlank(message = "字典值为空") private String name; /** * 编码 */ @TableField("code") @ApiModelProperty(value = "编码 ps:暂时不传",dataType = "String") private String code; /** * 父级id */ @TableField("parent_id") @ApiModelProperty(value = "父级id ps:为上一级的id",dataType = "String") private Integer parentId; /** * 层级 */ @TableField("level") @ApiModelProperty(value = "级别:违规中类型/大类/小类/案由 分别是1/2/3/4 ,违建中类型/类别 分别是1/2",dataType = "Integer") @NotNull(message = "层级为空") private Short level; /** * 字典类型 */ @TableField("type_name") @ApiModelProperty(value = "字典类型:违规为问题类型,违建为违建类型",dataType = "String") @NotBlank(message = "字典类型为空") private String typeName; /** * 字典类型代码 */ @TableField("type_code") @ApiModelProperty(value = "字典类型代码:违规为'01',违建为'06'",dataType = "String") @NotBlank(message = "字典类型为空") private String typeCode; /** * 备注 */ @TableField("remark") @ApiModelProperty(value = "备注 ps:预留字段",dataType = "String") private String remark; } ycl-common/src/main/java/com/ycl/mapper/depart/DepartManagerMapper.java
New file @@ -0,0 +1,16 @@ package com.ycl.mapper.depart; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.entity.depart.DepartManager; /** * <p> * Mapper 接口 * </p> * * @author zhanghua * @since 2022-10-09 */ public interface DepartManagerMapper extends BaseMapper<DepartManager> { } ycl-common/src/main/java/com/ycl/mapper/dict/DataDictionaryMapper.java
New file @@ -0,0 +1,15 @@ package com.ycl.mapper.dict; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.entity.dict.DataDictionary; /** * <p> * Mapper 接口 * </p> * * @author lyq * @since 2022-09-15 */ public interface DataDictionaryMapper extends BaseMapper<DataDictionary> { } ycl-common/src/main/java/com/ycl/service/depart/IDepartManagerService.java
New file @@ -0,0 +1,16 @@ package com.ycl.service.depart; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.entity.depart.DepartManager; /** * <p> * 服务类 * </p> * * @author zhanghua * @since 2022-10-09 */ public interface IDepartManagerService extends IService<DepartManager> { } ycl-common/src/main/java/com/ycl/service/depart/UmsDepartService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.entity.depart.UmsDepart; import com.ycl.vo.depart.DepartVO; import com.ycl.vo.depart.UmsDepartVO; import java.util.List; @@ -55,7 +56,7 @@ * @param params * @return */ IPage<UmsDepart> pageDepart(DepartVO.PageDepartVO params); IPage<UmsDepartVO> pageDepart(DepartVO.PageDepartVO params); /** * 修改状态 ycl-common/src/main/java/com/ycl/service/depart/impl/DepartManagerServiceImpl.java
New file @@ -0,0 +1,20 @@ package com.ycl.service.depart.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.entity.depart.DepartManager; import com.ycl.mapper.depart.DepartManagerMapper; import com.ycl.service.depart.IDepartManagerService; import org.springframework.stereotype.Service; /** * <p> * 服务实现类 * </p> * * @author zhanghua * @since 2022-10-09 */ @Service public class DepartManagerServiceImpl extends ServiceImpl<DepartManagerMapper, DepartManager> implements IDepartManagerService { } ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
@@ -7,21 +7,27 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.dto.user.AdminDepartDTO; import com.ycl.entity.depart.UmsDepart; import com.ycl.entity.dict.DataDictionary; import com.ycl.entity.user.UmsDepartManage; import com.ycl.enums.common.ResultCode; import com.ycl.exception.ApiException; import com.ycl.mapper.depart.UmsDepartMapper; import com.ycl.mapper.dict.DataDictionaryMapper; import com.ycl.service.depart.IDepartManagerService; import com.ycl.service.depart.UmsDepartService; import com.ycl.service.user.UmsDepartManageService; import com.ycl.service.user.UmsAdminService; import com.ycl.service.user.UmsDepartManageService; import com.ycl.utils.common.PojoUtils; import com.ycl.vo.depart.DepartVO; import com.ycl.vo.depart.UmsDepartVO; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -41,6 +47,12 @@ private UmsDepartManageService umsAdminDepartService; @Resource private UmsAdminService umsAdminService; @Resource IDepartManagerService iDepartManagerService; @Resource UmsDepartService umsDepartService; @Resource DataDictionaryMapper dataDictionaryMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -51,9 +63,13 @@ } UmsDepart depart = new UmsDepart(); BeanUtils.copyProperties(addDepartVO, depart); if (sccgDepartMapper.insert(depart) != 1) { throw new ApiException(ResultCode.RECORD_SAVE_FAIL); } umsDepartService.save(depart); addDepartVO.getDepartManagerList() .forEach(item -> { item.setCreateTime(LocalDateTime.now()); item.setDepartId(depart.getId()); }); iDepartManagerService.saveBatch(addDepartVO.getDepartManagerList()); } @Override @@ -122,7 +138,7 @@ } @Override public IPage<UmsDepart> pageDepart(DepartVO.PageDepartVO params) { public IPage<UmsDepartVO> pageDepart(DepartVO.PageDepartVO params) { Page<UmsDepart> page = new Page<>(params.getCurrent(), params.getPageSize()); LambdaQueryWrapper<UmsDepart> query = new LambdaQueryWrapper<>(); if (StringUtils.isNotBlank(params.getDepartName())) { @@ -133,10 +149,19 @@ } query.orderByDesc(UmsDepart::getCreateTime); Page<UmsDepart> departPage = sccgDepartMapper.selectPage(page, query); List<UmsDepart> records = departPage.getRecords(); Page<UmsDepartVO> umsDepartVOPage = new Page<>(); BeanUtils.copyProperties(departPage, umsDepartVOPage); List<UmsDepartVO> umsDepartVOList = new ArrayList<>(); //负责人 if (CollUtil.isNotEmpty(records)) { for (UmsDepart record : records) { if (CollUtil.isNotEmpty(departPage.getRecords())) { for (UmsDepart record : departPage.getRecords()) { UmsDepartVO umsDepartVO = new UmsDepartVO(); BeanUtils.copyProperties(record, umsDepartVO); umsDepartVO.setDepartType(dataDictionaryMapper .selectOne(new LambdaQueryWrapper<DataDictionary>() .eq(DataDictionary::getId, record.getDepartType())) .getName()); umsDepartVOList.add(umsDepartVO); List<UmsDepartManage> umsAdminDeparts = umsAdminDepartService.queryByDepartId(record.getId()); if (CollUtil.isNotEmpty(umsAdminDeparts)) { List<AdminDepartDTO.UserInfoDTO> userInfoDTOS = umsAdminDeparts.stream().map(a -> { @@ -149,7 +174,8 @@ } } } return departPage; umsDepartVOPage.setRecords(umsDepartVOList); return umsDepartVOPage; } @Override ycl-common/src/main/java/com/ycl/vo/depart/DepartVO.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.ycl.api.BasePageVO; import com.ycl.entity.depart.DepartManager; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -31,6 +32,8 @@ @ApiModelProperty("父级id,默认0") private Long parentId; @ApiModelProperty("添加用户") private List<DepartManager> departManagerList; // @ApiModelProperty("停用状态,0->false,1->true,默认停用") // private byte status; } @@ -100,7 +103,7 @@ private String departDes; @ApiModelProperty("部门类型") private byte departType; private Integer departType; @ApiModelProperty("用户Id") private Long userId; ycl-common/src/main/java/com/ycl/vo/depart/UmsDepartVO.java
New file @@ -0,0 +1,53 @@ package com.ycl.vo.depart; import com.baomidou.mybatisplus.annotation.*; import com.ycl.api.BaseEntity; import com.ycl.dto.user.AdminDepartDTO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import java.io.Serializable; import java.util.List; /** * <p> * 部门表 * </p> * * @author lyq * @since 2022-09-07 */ @Getter @Setter @ApiModel(value = "umsDepartVO", description = "部门表") public class UmsDepartVO { @ApiModelProperty("主键") @TableId(value = "id", type = IdType.AUTO) private Long id; @ApiModelProperty("部门名称") private String departName; @ApiModelProperty("部门描述") private String departDes; @ApiModelProperty("部门类型") private String departType; @ApiModelProperty("父级id,默认0") private Long parentId; @ApiModelProperty("停用状态,0->false,1->true,默认停用") private byte status; /** * 逻辑删除 0:false 1:true 默认0 */ @ApiModelProperty(value = "是否删除", hidden = true) @TableField(select = false) @TableLogic() private byte isDeleted; } ycl-common/src/main/resources/mapper/depart/DepartManagerMapper.xml
New file @@ -0,0 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ycl.mapper.depart.DepartManagerMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ycl.entity.depart.DepartManager"> <id column="id" property="id" /> <result column="user_id" property="userId" /> <result column="depart_id" property="departId" /> <result column="create_time" property="createTime" /> <result column="update_time" property="updateTime" /> <result column="is_leader" property="isLeader" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, user_id, depart_id, create_time, update_time, is_leader </sql> </mapper> ycl-platform/src/main/java/com/ycl/controller/dict/DatabaseDictionaryController.java
@@ -1,6 +1,7 @@ package com.ycl.controller.dict; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ycl.api.CommonResult; import com.ycl.controller.BaseController; import com.ycl.entity.dict.DataDictionary; @@ -38,8 +39,44 @@ @GetMapping("/queryByCode") @ApiOperation(("/根据code获取字段信息")) private CommonResult<DataDictionary> queryByCode(@RequestParam(value = "code") String code){ private CommonResult<DataDictionary> queryByCode(@RequestParam(value = "code") String code) { DataDictionary dataDictionary = iDatabaseDictionaryService.queryByCode(code); return CommonResult.success(dataDictionary); } @GetMapping("/query_user_type") @ApiOperation("查询用户类型") private CommonResult queryUserType() { String level = "1"; String typeCode = "07"; return CommonResult.success(iDatabaseDictionaryService .list(new LambdaQueryWrapper<DataDictionary>() .eq(DataDictionary::getLevel, level) .eq(DataDictionary::getTypeCode, typeCode) )); } @GetMapping("/query_role_type") @ApiOperation("查询角色类型") private CommonResult queryRoleType() { String level = "1"; String typeCode = "09"; return CommonResult.success(iDatabaseDictionaryService .list(new LambdaQueryWrapper<DataDictionary>() .eq(DataDictionary::getLevel, level) .eq(DataDictionary::getTypeCode, typeCode) )); } @GetMapping("/query_depart_type") @ApiOperation("查询部门类型") private CommonResult queryDepartType() { String level = "1"; String typeCode = "08"; return CommonResult.success(iDatabaseDictionaryService .list(new LambdaQueryWrapper<DataDictionary>() .eq(DataDictionary::getLevel, level) .eq(DataDictionary::getTypeCode, typeCode) )); } }