guoshilong
2023-06-02 4c08da890fd542e5d391fc459680c77e6f2b7f9d
反馈模块
7 files added
215 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/controller/FeedbackController.java 87 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/entity/Feedback.java 39 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/mapper/FeedbackMapper.java 13 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/mapper/FeedbackMapper.xml 30 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/service/IFeedbackService.java 17 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/service/impl/FeedbackServiceImpl.java 17 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/vo/FeedbackVO.java 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/controller/FeedbackController.java
New file
@@ -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)));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/entity/Feedback.java
New file
@@ -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;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/mapper/FeedbackMapper.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/mapper/FeedbackMapper.xml
New file
@@ -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>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/service/IFeedbackService.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/service/impl/FeedbackServiceImpl.java
New file
@@ -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));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/feedback/vo/FeedbackVO.java
New file
@@ -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;
}