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