zxl
2025-02-27 1fb4b09dcc8679beb8a3389197670c165ff9056b
在库项目,隐藏列可操作保存
1个文件已修改
9个文件已添加
589 ■■■■■ 已修改文件
business/src/main/java/com/ycl/controller/HiddenAdminController.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/entity/HiddenAdmin.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/form/HiddenAdminForm.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/query/HiddenAdminQuery.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/vo/HiddenAdminVO.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/mapper/HiddenAdminMapper.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/HiddenAdminService.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/HiddenAdminServiceImpl.java 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/resources/mapper/HiddenAdminMapper.xml 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/controller/HiddenAdminController.java
New file
@@ -0,0 +1,98 @@
package com.ycl.controller;
import com.ycl.common.group.Update;
import com.ycl.common.group.Add;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import lombok.RequiredArgsConstructor;
import java.util.List;
import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.NotEmpty;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.ycl.service.HiddenAdminService;
import com.ycl.common.base.Result;
import com.ycl.domain.form.HiddenAdminForm;
import com.ycl.domain.query.HiddenAdminQuery;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
/**
 *  前端控制器
 *
 * @author zxl
 * @since 2025-02-25
 */
@Validated
@RequiredArgsConstructor
@Api(value = "", tags = "管理")
@RestController
@RequestMapping("/hidden-admin")
public class HiddenAdminController {
    private final HiddenAdminService hiddenAdminService;
    @PostMapping
    @ApiOperation(value = "添加", notes = "添加")
    @PreAuthorize("@ss.hasPermi('hiddenAdmin:add')")
    public Result add(@RequestBody @Validated(Add.class) HiddenAdminForm form) {
        return hiddenAdminService.add(form);
    }
    @PutMapping
    @ApiOperation(value = "修改", notes = "修改")
    @PreAuthorize("@ss.hasPermi('hiddenAdmin:edit')")
    public Result update(@RequestBody @Validated(Update.class) HiddenAdminForm form) {
        return hiddenAdminService.update(form);
    }
    @PutMapping("/updateList")
    @ApiOperation(value = "批量修改", notes = "批量修改")
    @PreAuthorize("@ss.hasPermi('hiddenAdmin:edit')")
    public Result updateList(@RequestBody List<HiddenAdminForm> forms){
        System.out.println(forms + "==============");
        return hiddenAdminService.updateList(forms);
    }
    @DeleteMapping("/{id}")
    @ApiOperation(value = "ID删除", notes = "ID删除")
    @PreAuthorize("@ss.hasPermi('hiddenAdmin:del')")
    public Result removeById(@PathVariable("id") String id) {
        return hiddenAdminService.removeById(id);
    }
    @DeleteMapping("/batch")
    @ApiOperation(value = "批量删除", notes = "批量删除")
    @PreAuthorize("@ss.hasPermi('hiddenAdmin:del:batch')")
    public Result remove(@RequestBody @NotEmpty(message = "请选择数据") List<String> ids) {
        return hiddenAdminService.remove(ids);
    }
    @GetMapping("/page")
    @ApiOperation(value = "分页", notes = "分页")
    @PreAuthorize("@ss.hasPermi('hiddenAdmin:page')")
    public Result page(HiddenAdminQuery query) {
        return hiddenAdminService.page(query);
    }
    @GetMapping("/{id}")
    @ApiOperation(value = "详情", notes = "详情")
    @PreAuthorize("@ss.hasPermi('hiddenAdmin:detail')")
    public Result detail(@PathVariable("id") Integer id) {
        return hiddenAdminService.detail(id);
    }
    @GetMapping("/list")
    @PreAuthorize("@ss.hasPermi('hiddenAdmin:list')")
    @ApiOperation(value = "列表", notes = "列表")
    public Result list() {
        return hiddenAdminService.all();
    }
    @PostMapping("/addList")
    @PreAuthorize("@ss.hasPermi('hiddenAdmin:add')")
    public Result saveList(@RequestBody List<HiddenAdminForm> forms) {
        return hiddenAdminService.addList(forms);
    }
}
business/src/main/java/com/ycl/domain/entity/HiddenAdmin.java
New file
@@ -0,0 +1,44 @@
package com.ycl.domain.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import com.ycl.system.domain.base.AbsEntity;
import lombok.Data;
/**
 *
 *
 * @author zxl
 * @since 2025-02-27
 */
@Data
@TableName("t_hidden_admin")
public class HiddenAdmin extends AbsEntity {
    private static final long serialVersionUID = 1L;
    @TableField("name")
    /** 项目名称 */
    private String name;
    @TableField("display")
    /** 业主单位 */
    private String display;
    @TableField("sort")
    /**  */
    private String sort;
    @TableField("columns")
    /**  */
    private String columns;
    @TableField("slotName")
    /**  */
    private String slotName;
}
business/src/main/java/com/ycl/domain/form/HiddenAdminForm.java
New file
@@ -0,0 +1,54 @@
package com.ycl.domain.form;
import com.ycl.common.group.Update;
import com.ycl.common.group.Add;
import com.ycl.system.domain.base.AbsForm;
import com.ycl.domain.entity.HiddenAdmin;
import org.springframework.beans.BeanUtils;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import org.springframework.lang.NonNull;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * 表单
 *
 * @author zxl
 * @since 2025-02-27
 */
@Data
@ApiModel(value = "HiddenAdmin表单", description = "表单")
public class HiddenAdminForm extends AbsForm {
    @NotBlank(message = "项目名称不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("项目名称")
    private String name;
    @NotBlank(message = "业主单位不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("业主单位")
    private String display;
    @NotBlank(message = "不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("")
    private String sort;
    @NotBlank(message = "不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("")
    private String columns;
    @NotBlank(message = "不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("")
    private String slotName;
    public static HiddenAdmin getEntityByForm(@NonNull HiddenAdminForm form, HiddenAdmin entity) {
        if(entity == null) {
          entity = new HiddenAdmin();
        }
        BeanUtils.copyProperties(form, entity);
        return entity;
    }
}
business/src/main/java/com/ycl/domain/query/HiddenAdminQuery.java
New file
@@ -0,0 +1,22 @@
package com.ycl.domain.query;
import com.ycl.system.domain.base.AbsQuery;
import java.util.List;
import org.springframework.lang.NonNull;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * 查询
 *
 * @author zxl
 * @since 2025-02-27
 */
@Data
@ApiModel(value = "HiddenAdmin查询参数", description = "查询参数")
public class HiddenAdminQuery extends AbsQuery {
}
business/src/main/java/com/ycl/domain/vo/HiddenAdminVO.java
New file
@@ -0,0 +1,51 @@
package com.ycl.domain.vo;
import com.ycl.system.domain.base.AbsVo;
import com.ycl.domain.entity.HiddenAdmin;
import java.util.List;
import org.springframework.lang.NonNull;
import org.springframework.beans.BeanUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * 展示
 *
 * @author zxl
 * @since 2025-02-27
 */
@Data
@ApiModel(value = "响应数据", description = "响应数据")
public class HiddenAdminVO extends AbsVo {
    /** 项目名称 */
    @ApiModelProperty("项目名称")
    private String name;
    /** 业主单位 */
    @ApiModelProperty("业主单位")
    private String display;
    /**  */
    @ApiModelProperty("")
    private String sort;
    /**  */
    @ApiModelProperty("")
    private String columns;
    /**  */
    @ApiModelProperty("")
    private String slotName;
    public static HiddenAdminVO getVoByEntity(@NonNull HiddenAdmin entity, HiddenAdminVO vo) {
        if(vo == null) {
            vo = new HiddenAdminVO();
        }
        BeanUtils.copyProperties(entity, vo);
        return vo;
    }
}
business/src/main/java/com/ycl/mapper/HiddenAdminMapper.java
New file
@@ -0,0 +1,35 @@
package com.ycl.mapper;
import com.ycl.domain.entity.HiddenAdmin;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.domain.vo.HiddenAdminVO;
import com.ycl.domain.form.HiddenAdminForm;
import com.ycl.domain.query.HiddenAdminQuery;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
 *  Mapper 接口
 *
 * @author zxl
 * @since 2025-02-25
 */
@Mapper
public interface HiddenAdminMapper extends BaseMapper<HiddenAdmin> {
    /**
     * id查找
     * @param id
     * @return
     */
    HiddenAdminVO getById(Integer id);
    /**
    *  分页
    */
    IPage getPage(IPage page, @Param("query") HiddenAdminQuery query);
    void updateList(List<HiddenAdminForm> forms);
}
business/src/main/java/com/ycl/service/HiddenAdminService.java
New file
@@ -0,0 +1,69 @@
package com.ycl.service;
import com.ycl.domain.entity.HiddenAdmin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.common.base.Result;
import com.ycl.domain.form.HiddenAdminForm;
import com.ycl.domain.query.HiddenAdminQuery;
import java.util.List;
/**
 *  服务类
 *
 * @author zxl
 * @since 2025-02-25
 */
public interface HiddenAdminService extends IService<HiddenAdmin> {
    /**
     * 添加
     * @param form
     * @return
     */
    Result add(HiddenAdminForm form);
    Result addList(List<HiddenAdminForm> forms);
    /**
     * 修改
     * @param form
     * @return
     */
    Result update(HiddenAdminForm form);
    /**
     * 批量删除
     * @param ids
     * @return
     */
    Result remove(List<String> ids);
    /**
     * id删除
     * @param id
     * @return
     */
    Result removeById(String id);
    /**
     * 分页查询
     * @param query
     * @return
     */
    Result page(HiddenAdminQuery query);
    /**
     * 根据id查找
     * @param id
     * @return
     */
    Result detail(Integer id);
    /**
     * 列表
     * @return
     */
    Result all();
    Result updateList(List<HiddenAdminForm> forms);
}
business/src/main/java/com/ycl/service/impl/HiddenAdminServiceImpl.java
New file
@@ -0,0 +1,141 @@
package com.ycl.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.domain.entity.HiddenAdmin;
import com.ycl.mapper.HiddenAdminMapper;
import com.ycl.service.HiddenAdminService;
import com.ycl.common.base.Result;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.domain.form.HiddenAdminForm;
import com.ycl.domain.vo.HiddenAdminVO;
import com.ycl.domain.query.HiddenAdminQuery;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import com.ycl.framework.utils.PageUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.util.Assert;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
 *  服务实现类
 *
 * @author zxl
 * @since 2025-02-25
 */
@Service
@RequiredArgsConstructor
public class HiddenAdminServiceImpl extends ServiceImpl<HiddenAdminMapper, HiddenAdmin> implements HiddenAdminService {
    private final HiddenAdminMapper hiddenAdminMapper;
    /**
     * 添加
     * @param form
     * @return
     */
    @Override
    public Result add(HiddenAdminForm form) {
        HiddenAdmin entity = HiddenAdminForm.getEntityByForm(form, null);
        baseMapper.insert(entity);
        return Result.ok("添加成功");
    }
    @Override
    public Result addList(List<HiddenAdminForm> forms){
        System.out.println(forms + "打印");
        List<HiddenAdmin> list = new ArrayList<>();
        for (HiddenAdminForm obj : forms){
            list.add(HiddenAdminForm.getEntityByForm(obj,null));
        }
        this.saveBatch(list);
        return Result.ok("添加成功");
    }
    /**
     * 修改
     * @param form
     * @return
     */
    @Override
    public Result update(HiddenAdminForm form) {
        HiddenAdmin entity = baseMapper.selectById(form.getId());
        // 为空抛IllegalArgumentException,做全局异常处理
        Assert.notNull(entity, "记录不存在");
        BeanUtils.copyProperties(form, entity);
        baseMapper.updateById(entity);
        return Result.ok("修改成功");
    }
    /**
     * 批量删除
     * @param ids
     * @return
     */
    @Override
    public Result remove(List<String> ids) {
        baseMapper.deleteBatchIds(ids);
        return Result.ok("删除成功");
    }
    /**
     * id删除
     * @param id
     * @return
     */
    @Override
    public Result removeById(String id) {
        baseMapper.deleteById(id);
        return Result.ok("删除成功");
    }
    /**
     * 分页查询
     * @param query
     * @return
     */
    @Override
    public Result page(HiddenAdminQuery query) {
        IPage<HiddenAdminVO> page = PageUtil.getPage(query, HiddenAdminVO.class);
        baseMapper.getPage(page, query);
        return Result.ok().data(page.getRecords()).total(page.getTotal());
    }
    /**
     * 根据id查找
     * @param id
     * @return
     */
    @Override
    public Result detail(Integer id) {
        HiddenAdminVO vo = baseMapper.getById(id);
        Assert.notNull(vo, "记录不存在");
        return Result.ok().data(vo);
    }
    /**
     * 列表
     * @return
     */
    @Override
    public Result all() {
        List<HiddenAdmin> entities = baseMapper.selectList(null);
        List<HiddenAdminVO> vos = entities.stream()
                .map(entity -> HiddenAdminVO.getVoByEntity(entity, null))
                .collect(Collectors.toList());
        return Result.ok().data(vos);
    }
    @Override
    public Result updateList(List<HiddenAdminForm> forms) {
        baseMapper.updateList(forms);
//        this.saveBatch(forms);
        return Result.ok("修改成功");
    }
}
business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
@@ -7,6 +7,7 @@
import cn.hutool.core.util.ZipUtil;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -142,13 +143,12 @@
     * @return
     */
    public boolean  checkProjectNameAndIdIsUnique(ProjectInfo entity,Long updateId){
        QueryWrapper<ProjectInfo> queryWrapper = new QueryWrapper<ProjectInfo>();
        LambdaQueryWrapper<ProjectInfo> queryWrapper = new LambdaQueryWrapper<>();
        if (updateId == null) {
            queryWrapper.eq("project_name", entity.getProjectName());
            queryWrapper.eq("deleted",0);
            queryWrapper.eq(ProjectInfo::getProjectName, entity.getProjectName());
            queryWrapper.eq(ProjectInfo::getDeleted,0);
            if (StringUtils.isNotEmpty(entity.getProjectCode())) {
                queryWrapper.eq("project_code", entity.getProjectCode());
                queryWrapper.eq(ProjectInfo::getProjectCode, entity.getProjectCode());
            }
            List<ProjectInfo> project = projectInfoMapper.selectList(queryWrapper);
business/src/main/resources/mapper/HiddenAdminMapper.xml
New file
@@ -0,0 +1,65 @@
<?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.HiddenAdminMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ycl.domain.vo.HiddenAdminVO">
        <result column="name" property="name" />
        <result column="display" property="display" />
        <result column="sort" property="sort" />
        <result column="columns" property="columns" />
        <result column="slotName" property="slotName" />
    </resultMap>
    <select id="getById" resultMap="BaseResultMap">
        SELECT
            THA.name,
            THA.display,
            THA.sort,
            THA.colunms,
            THA.slotName,
            THA.id
        FROM
            t_hidden_admin THA
        WHERE
            THA.id = #{id} AND THA.deleted = 0
    </select>
    <select id="getPage" resultMap="BaseResultMap">
        SELECT
            THA.name,
            THA.display,
            THA.sort,
            THA.columns,
            THA.slotName,
            THA.id
        FROM
            t_hidden_admin THA
        WHERE
            THA.deleted = 0
    </select>
    <update id="updateList">
        <foreach collection="list" item="item" index="index" separator=";">
            UPDATE t_hidden_admin THA
            <set>
                <if test="item.display != null">
                    THA.display = #{item.display},
                </if>
                <if test="item.sort != null" >
                    THA.sort = #{item.sort},
                </if>
            </set>
            where THA.id = #{item.id}
        </foreach>
    </update>
</mapper>