diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/project/ProjectController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/project/ProjectController.java index 5fe59bd..013e8a1 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/project/ProjectController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/project/ProjectController.java @@ -1,47 +1,110 @@ package com.fastbee.data.controller.project; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.fastbee.common.utils.poi.ExcelUtil; +import com.fastbee.project.domain.Project; +import com.fastbee.project.service.IProjectService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.fastbee.common.annotation.Log; import com.fastbee.common.core.controller.BaseController; import com.fastbee.common.core.domain.AjaxResult; import com.fastbee.common.core.page.TableDataInfo; -import com.fastbee.project.domain.Project; -import com.fastbee.project.service.ProjectService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; /** - *

- * 项目表 前端控制器 - *

+ * 项目Controller * - * @author 蒾酒 - * @since 2024-09-24 + * @author kerwincui + * @date 2024-09-26 */ @RestController @RequestMapping("/project") -public class ProjectController extends BaseController { +@Api(tags = "项目") +public class ProjectController extends BaseController +{ @Autowired - private ProjectService projectService; + private IProjectService projectService; + /** + * 查询项目列表 + */ + @PreAuthorize("@ss.hasPermi('iot:project:list')") @GetMapping("/list") - public TableDataInfo getPageList(){ - super.startPage(); - return super.getDataTable(projectService.list()); - } - @GetMapping("/info/{id}") - public AjaxResult getInfo(@PathVariable Long id){ - - return AjaxResult.success(projectService.getBaseMapper().selectById(id)); - } - @PutMapping("/update") - public AjaxResult update(@RequestBody Project project){ - projectService.updateById(project); - return AjaxResult.success(); - } - @DeleteMapping("/delete/{id}") - public AjaxResult delete(@PathVariable Long id){ - projectService.removeById(id); - return AjaxResult.success(); + @ApiOperation("查询项目列表") + public TableDataInfo list(Project project) + { + startPage(); + List list = projectService.selectProjectList(project); + return getDataTable(list); } + /** + * 导出项目列表 + */ + @ApiOperation("导出项目列表") + @PreAuthorize("@ss.hasPermi('iot:project:export')") + @PostMapping("/export") + public void export(HttpServletResponse response, Project project) + { + List list = projectService.selectProjectList(project); + ExcelUtil util = new ExcelUtil(Project.class); + util.exportExcel(response, list, "项目数据"); + } + + /** + * 获取项目详细信息 + */ + @PreAuthorize("@ss.hasPermi('iot:project:query')") + @GetMapping(value = "/{projectId}") + @ApiOperation("获取项目详细信息") + public AjaxResult getInfo(@PathVariable("projectId") Long projectId) + { + return success(projectService.selectProjectByProjectId(projectId)); + } + + /** + * 新增项目 + */ + @PreAuthorize("@ss.hasPermi('iot:project:add')") + @PostMapping + @ApiOperation("新增项目") + public AjaxResult add(@RequestBody Project project) + { + return toAjax(projectService.insertProject(project)); + } + + /** + * 修改项目 + */ + @PreAuthorize("@ss.hasPermi('iot:project:edit')") + @PutMapping + @ApiOperation("修改项目") + public AjaxResult edit(@RequestBody Project project) + { + return toAjax(projectService.updateProject(project)); + } + + /** + * 删除项目 + */ + @PreAuthorize("@ss.hasPermi('iot:project:remove')") + @DeleteMapping("/{projectIds}") + @ApiOperation("删除项目") + public AjaxResult remove(@PathVariable Long[] projectIds) + { + return toAjax(projectService.deleteProjectByProjectIds(projectIds)); + } } diff --git a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/domain/Project.java b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/domain/Project.java index e354bd0..7fc0adb 100644 --- a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/domain/Project.java +++ b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/domain/Project.java @@ -1,102 +1,85 @@ package com.fastbee.project.domain; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import lombok.Getter; -import lombok.Setter; + + +import com.fastbee.common.annotation.Excel; +import com.fastbee.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + /** - *

- * 项目表 - *

+ * 项目对象 project * - * @author 蒾酒 - * @since 2024-09-24 + * @author kerwincui + * @date 2024-09-26 */ -@Getter -@Setter -@TableName("project") -public class Project implements Serializable { +@Data +public class Project extends BaseEntity +{ private static final long serialVersionUID = 1L; - /** - * 项目id - */ - @TableId("project_id") - private Integer projectId; + /** 项目id */ + private Long projectId; - /** - * 项目名称 - */ - @TableField("project_name") + /** 项目名称 */ + @Excel(name = "项目名称") private String projectName; - /** - * 系统显示名称 - */ - @TableField("sys_show_name") + /** 系统显示名称 */ + @Excel(name = "系统显示名称") private String sysShowName; - /** - * 中心坐标 - */ - @TableField("central_coordinates") + /** 中心坐标 */ + @Excel(name = "中心坐标") private String centralCoordinates; - /** - * 项目范围(经纬度) - */ - @TableField("scope") + /** 项目范围(经纬度) */ + @Excel(name = "项目范围(经纬度)") private String scope; - /** - * 行政区域 - */ - @TableField("administrative_area") + /** 行政区域 */ + @Excel(name = "行政区域") private String administrativeArea; - /** - * 项目拥有人 - */ - @TableField("owner") + /** 项目拥有人 */ + @Excel(name = "项目拥有人") private String owner; - /** - * 项目logo - */ - @TableField("logo") + /** 项目logo */ + @Excel(name = "项目logo") private String logo; - /** - * 项目图片 - */ - @TableField("image") + /** 项目图片 */ + @Excel(name = "项目图片") private String image; - /** - * 园区视频介绍 - */ - @TableField("video_introduction") + /** 园区视频介绍 */ + @Excel(name = "园区视频介绍") private String videoIntroduction; - /** - * 备注 - */ - @TableField("remark") - private String remark; + /** 项目参数 */ + @Excel(name = "项目参数") + private String pParams; - /** - * 项目参数 - */ - @TableField("params") - private String params; - - /** - * 项目介绍 - */ - @TableField("introduce") + /** 项目介绍 */ + @Excel(name = "项目介绍") private String introduce; + + /** 删除状态[1删除,-1未删除] */ + private Long delFlag; + + /** 项目介绍 */ + @Excel(name = "项目介绍") + private String remarks; + + /** 租户id */ + @Excel(name = "租户id") + private Long tenantId; + + /** 租户名称 */ + @Excel(name = "租户名称") + private String tenantName; + } diff --git a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/mapper/ProjectMapper.java b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/mapper/ProjectMapper.java index c1b088e..78c6b9a 100644 --- a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/mapper/ProjectMapper.java +++ b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/mapper/ProjectMapper.java @@ -8,19 +8,58 @@ import org.apache.ibatis.annotations.Update; import java.util.List; /** - *

- * 项目表 Mapper 接口 - *

+ * 项目Mapper接口 * - * @author 蒾酒 - * @since 2024-09-24 + * @author kerwincui + * @date 2024-09-26 */ -public interface ProjectMapper extends BaseMapper { +public interface ProjectMapper +{ + /** + * 查询项目 + * + * @param projectId 项目主键 + * @return 项目 + */ + public Project selectProjectByProjectId(Long projectId); + /** * 查询项目列表 - * @return 列表 + * + * @param project 项目 + * @return 项目集合 */ - // @Select("SELECT * FROM project") - List selectProjectList(); + public List selectProjectList(Project project); + /** + * 新增项目 + * + * @param project 项目 + * @return 结果 + */ + public int insertProject(Project project); + + /** + * 修改项目 + * + * @param project 项目 + * @return 结果 + */ + public int updateProject(Project project); + + /** + * 删除项目 + * + * @param projectId 项目主键 + * @return 结果 + */ + public int deleteProjectByProjectId(Long projectId); + + /** + * 批量删除项目 + * + * @param projectIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProjectByProjectIds(Long[] projectIds); } diff --git a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/mapper/xml/ProjectMapper.xml b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/mapper/xml/ProjectMapper.xml deleted file mode 100644 index 0dfa72b..0000000 --- a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/mapper/xml/ProjectMapper.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/IProjectService.java b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/IProjectService.java new file mode 100644 index 0000000..d8e8aa9 --- /dev/null +++ b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/IProjectService.java @@ -0,0 +1,62 @@ +package com.fastbee.project.service; + +import com.fastbee.project.domain.Project; + +import java.util.List; + +/** + * 项目Service接口 + * + * @author kerwincui + * @date 2024-09-26 + */ +public interface IProjectService +{ + /** + * 查询项目 + * + * @param projectId 项目主键 + * @return 项目 + */ + public Project selectProjectByProjectId(Long projectId); + + /** + * 查询项目列表 + * + * @param project 项目 + * @return 项目集合 + */ + public List selectProjectList(Project project); + + /** + * 新增项目 + * + * @param project 项目 + * @return 结果 + */ + public int insertProject(Project project); + + /** + * 修改项目 + * + * @param project 项目 + * @return 结果 + */ + public int updateProject(Project project); + + /** + * 批量删除项目 + * + * @param projectIds 需要删除的项目主键集合 + * @return 结果 + */ + public int deleteProjectByProjectIds(Long[] projectIds); + + /** + * 删除项目信息 + * + * @param projectId 项目主键 + * @return 结果 + */ + public int deleteProjectByProjectId(Long projectId); +} diff --git a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/ProjectService.java b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/ProjectService.java deleted file mode 100644 index e05557c..0000000 --- a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/ProjectService.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.fastbee.project.service; - -import com.fastbee.project.domain.Project; -import com.baomidou.mybatisplus.extension.service.IService; - -import java.util.List; - -/** - *

- * 项目表 服务类 - *

- * - * @author 蒾酒 - * @since 2024-09-24 - */ -public interface ProjectService extends IService { - - List getProjectList(); - -} diff --git a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/impl/ProjectServiceImpl.java b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/impl/ProjectServiceImpl.java index 59eac3c..57b92d8 100644 --- a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/impl/ProjectServiceImpl.java +++ b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/impl/ProjectServiceImpl.java @@ -1,36 +1,99 @@ package com.fastbee.project.service.impl; +import com.fastbee.common.utils.DateUtils; import com.fastbee.project.domain.Project; import com.fastbee.project.mapper.ProjectMapper; -import com.fastbee.project.service.ProjectService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.fastbee.project.service.IProjectService; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** - *

- * 项目表 服务实现类 - *

+ * 项目Service业务层处理 * - * @author 蒾酒 - * @since 2024-09-24 + * @author kerwincui + * @date 2024-09-26 */ @Service -public class ProjectServiceImpl extends ServiceImpl implements ProjectService { +public class ProjectServiceImpl implements IProjectService +{ @Autowired private ProjectMapper projectMapper; /** - * 查询项目列表 - * @author 蒾酒 - * @date 2024-09-24 + * 查询项目 + * + * @param projectId 项目主键 + * @return 项目 */ - public List getProjectList(){ - return projectMapper.selectProjectList(); + @Override + public Project selectProjectByProjectId(Long projectId) + { + return projectMapper.selectProjectByProjectId(projectId); } + /** + * 查询项目列表 + * + * @param project 项目 + * @return 项目 + */ + @Override + public List selectProjectList(Project project) + { + return projectMapper.selectProjectList(project); + } + /** + * 新增项目 + * + * @param project 项目 + * @return 结果 + */ + @Override + public int insertProject(Project project) + { + project.setCreateTime(DateUtils.getNowDate()); + return projectMapper.insertProject(project); + } + /** + * 修改项目 + * + * @param project 项目 + * @return 结果 + */ + @Override + public int updateProject(Project project) + { + project.setUpdateTime(DateUtils.getNowDate()); + return projectMapper.updateProject(project); + } + + /** + * 批量删除项目 + * + * @param projectIds 需要删除的项目主键 + * @return 结果 + */ + @Override + public int deleteProjectByProjectIds(Long[] projectIds) + { + return projectMapper.deleteProjectByProjectIds(projectIds); + } + + /** + * 删除项目信息 + * + * @param projectId 项目主键 + * @return 结果 + */ + @Override + public int deleteProjectByProjectId(Long projectId) + { + return projectMapper.deleteProjectByProjectId(projectId); + } } + diff --git a/fastbee-service/fastbee-project-service/src/main/resources/mapper/project/ProjectMapper.xml b/fastbee-service/fastbee-project-service/src/main/resources/mapper/project/ProjectMapper.xml new file mode 100644 index 0000000..e4add38 --- /dev/null +++ b/fastbee-service/fastbee-project-service/src/main/resources/mapper/project/ProjectMapper.xml @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select project_id, project_name, sys_show_name, central_coordinates, scope, administrative_area, owner, logo, image, video_introduction, remark, p_params, introduce, del_flag, create_time, create_by, update_time, remarks, tenant_id, tenant_name from project + + + + + + + + insert into project + + project_id, + project_name, + sys_show_name, + central_coordinates, + scope, + administrative_area, + owner, + logo, + image, + video_introduction, + remark, + p_params, + introduce, + del_flag, + create_time, + create_by, + update_time, + remarks, + tenant_id, + tenant_name, + + + #{projectId}, + #{projectName}, + #{sysShowName}, + #{centralCoordinates}, + #{scope}, + #{administrativeArea}, + #{owner}, + #{logo}, + #{image}, + #{videoIntroduction}, + #{remark}, + #{pParams}, + #{introduce}, + #{delFlag}, + #{createTime}, + #{createBy}, + #{updateTime}, + #{remarks}, + #{tenantId}, + #{tenantName}, + + + + + update project + + project_name = #{projectName}, + sys_show_name = #{sysShowName}, + central_coordinates = #{centralCoordinates}, + scope = #{scope}, + administrative_area = #{administrativeArea}, + owner = #{owner}, + logo = #{logo}, + image = #{image}, + video_introduction = #{videoIntroduction}, + remark = #{remark}, + p_params = #{pParams}, + introduce = #{introduce}, + del_flag = #{delFlag}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + remarks = #{remarks}, + tenant_id = #{tenantId}, + tenant_name = #{tenantName}, + + where project_id = #{projectId} + + + + delete from project where project_id = #{projectId} + + + + delete from project where project_id in + + #{projectId} + + + \ No newline at end of file