From 4c08da890fd542e5d391fc459680c77e6f2b7f9d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 02 Jun 2023 11:26:01 +0800
Subject: [PATCH] 反馈模块

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/mapper/FeedbackMapper.java            |   13 +++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/controller/FeedbackController.java    |   87 +++++++++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/vo/FeedbackVO.java                    |   12 +++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/service/IFeedbackService.java         |   17 ++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/service/impl/FeedbackServiceImpl.java |   17 ++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/entity/Feedback.java                  |   39 +++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/mapper/FeedbackMapper.xml             |   30 +++++++
 7 files changed, 215 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/controller/FeedbackController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/controller/FeedbackController.java
new file mode 100644
index 0000000..f0ed85b
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/controller/FeedbackController.java
@@ -0,0 +1,87 @@
+package cn.gistack.sm.feedback.controller;
+
+import cn.gistack.sm.feedback.entity.Feedback;
+import cn.gistack.sm.feedback.service.IFeedbackService;
+import cn.gistack.sm.feedback.vo.FeedbackVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 反馈记录表Controller
+ * @USER: guoshilong
+ * @DATE: 2023/6/2 9:38
+ * */
+@RestController
+@RequestMapping("feedback")
+@AllArgsConstructor
+@Api(value = "反馈记录", tags = "反馈记录")
+public class FeedbackController extends BladeController {
+
+	private final IFeedbackService feedbackService;
+
+	@GetMapping("/page")
+	@ApiOperation(value = "列表", notes = "传入实体类参数")
+	public R<IPage<FeedbackVO>> pageList(FeedbackVO feedBack, Query query) {
+//		IPage<Feedback> pageList = feedbackService.page(Condition.getPage(query),Condition.getQueryWrapper(feedBack));
+
+		IPage<FeedbackVO> page = feedbackService.selectPage(Condition.getPage(query),feedBack);
+
+		return R.data(page);
+	}
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperation(value = "详情", notes = "传入实体类参数")
+	public R<Feedback> detail(@RequestParam(name="id",required=true) String id) {
+		return R.data(feedbackService.getById(id));
+	}
+
+	/**
+	 * 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入实体类参数")
+	public R save(@RequestBody Feedback feedback) {
+		return R.data(feedbackService.save(feedback));
+	}
+
+	/**
+	 * 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperation(value = "修改", notes = "传入实体类参数")
+	public R update(@RequestBody Feedback feedback) {
+		return R.data(feedbackService.updateById(feedback));
+	}
+
+	/**
+	 * 新增或修改
+	 */
+	@PostMapping("/submit")
+	@ApiOperation(value = "新增或修改", notes = "传入实体类参数")
+	public R submit(@RequestBody Feedback feedback) {
+		return R.data(feedbackService.saveOrUpdate(feedback));
+	}
+
+	/**
+	 * 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperation(value = "逻辑删除", notes = "传入实体类参数")
+	public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
+		return R.data(feedbackService.removeBatchByIds(Func.toLongList(ids)));
+	}
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/entity/Feedback.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/entity/Feedback.java
new file mode 100644
index 0000000..1431bbb
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/entity/Feedback.java
@@ -0,0 +1,39 @@
+package cn.gistack.sm.feedback.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 调度模块记录表
+ * @USER: guoshilong
+ * @DATE: 2023/6/2 9:38
+ */
+@Data
+@TableName( value = "SM_FEEDBACK",autoResultMap = true)
+@EqualsAndHashCode(callSuper = true)
+public class Feedback extends BaseEntity {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 图片数组
+	 */
+	@TableField(value = "images",typeHandler = FastjsonTypeHandler.class)
+	@ApiModelProperty("图片数组")
+	private Object[] images;
+
+	/**
+	 * 问题描述
+	 */
+	private String content;
+
+	/**
+	 * 联系方式
+	 */
+	private String phone;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/mapper/FeedbackMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/mapper/FeedbackMapper.java
new file mode 100644
index 0000000..0f06c56
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/mapper/FeedbackMapper.java
@@ -0,0 +1,13 @@
+package cn.gistack.sm.feedback.mapper;
+
+import cn.gistack.sm.feedback.entity.Feedback;
+import cn.gistack.sm.feedback.vo.FeedbackVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface FeedbackMapper extends BaseMapper<Feedback> {
+	List<FeedbackVO> selectMyPage(IPage<FeedbackVO> page, @Param("vo") FeedbackVO feedBack);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/mapper/FeedbackMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/mapper/FeedbackMapper.xml
new file mode 100644
index 0000000..5a89096
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/mapper/FeedbackMapper.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="cn.gistack.sm.feedback.mapper.FeedbackMapper">
+    <resultMap id="vo" type="cn.gistack.sm.feedback.vo.FeedbackVO">
+        <id property="id" column="id"/>
+        <result property="content" column="content"/>
+        <result property="images" column="images" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+        <result property="phone" column="phone"/>
+
+        <result property="reportUserName" column="real_name"/>
+
+        <result property="createDept" column="create_dept"/>
+        <result property="createUser" column="create_user"/>
+        <result property="updateUser" column="update_user"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="createTime" column="create_time"/>
+        <result property="status" column="status"/>
+        <result property="isDeleted" column="is_deleted"/>
+    </resultMap>
+    <select id="selectMyPage" resultMap="vo">
+        SELECT SF.*,u.real_name FROM SM_FEEDBACK SF
+        LEFT JOIN BLADE_USER U ON U.ID = SF.CREATE_USER
+        WHERE SF.IS_DELETED = 0
+        <if test="vo.createUser != null and vo.createUser !=''">
+            SF.CREATE_USER = #{vo.createUser}
+        </if>
+        ORDER BY SF.CREATE_TIME DESC
+    </select>
+
+</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/service/IFeedbackService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/service/IFeedbackService.java
new file mode 100644
index 0000000..37efda3
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/service/IFeedbackService.java
@@ -0,0 +1,17 @@
+package cn.gistack.sm.feedback.service;
+
+import cn.gistack.sm.feedback.entity.Feedback;
+import cn.gistack.sm.feedback.vo.FeedbackVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION:
+ * @USER: guoshilong
+ * @DATE: 2023/6/2 9:38
+ */
+public interface IFeedbackService extends BaseService<Feedback> {
+
+	IPage<FeedbackVO> selectPage(IPage<FeedbackVO> page, FeedbackVO feedBack);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/service/impl/FeedbackServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/service/impl/FeedbackServiceImpl.java
new file mode 100644
index 0000000..c3dd3f1
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/service/impl/FeedbackServiceImpl.java
@@ -0,0 +1,17 @@
+package cn.gistack.sm.feedback.service.impl;
+
+import cn.gistack.sm.feedback.entity.Feedback;
+import cn.gistack.sm.feedback.mapper.FeedbackMapper;
+import cn.gistack.sm.feedback.service.IFeedbackService;
+import cn.gistack.sm.feedback.vo.FeedbackVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class FeedbackServiceImpl extends BaseServiceImpl<FeedbackMapper, Feedback> implements IFeedbackService {
+	@Override
+	public IPage<FeedbackVO> selectPage(IPage<FeedbackVO> page, FeedbackVO feedBack) {
+		return page.setRecords(baseMapper.selectMyPage(page,feedBack));
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/vo/FeedbackVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/vo/FeedbackVO.java
new file mode 100644
index 0000000..604b7fc
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/vo/FeedbackVO.java
@@ -0,0 +1,12 @@
+package cn.gistack.sm.feedback.vo;
+
+import cn.gistack.sm.feedback.entity.Feedback;
+import lombok.Data;
+
+@Data
+public class FeedbackVO extends Feedback {
+	/**
+	 * 反馈人姓名
+	 */
+	private String reportUserName;
+}

--
Gitblit v1.9.3