Explorar el Código

用户反馈接口

ZhangManMan hace 2 años
padre
commit
98caacd9bc

+ 53 - 0
src/main/java/com/sky/ioc/controller/notice/FeedBackController.java

@@ -1,4 +1,57 @@
 package com.sky.ioc.controller.notice;
 
+import com.sky.ioc.entity.domain.notice.Feedback;
+import com.sky.ioc.entity.params.notice.NoticeParam;
+import com.sky.ioc.service.notice.FeedBackService;
+import com.sky.ioc.tool.ReturnMsg;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpRequest;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.resource.HttpResource;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+@Api(tags ="用户反馈")
+@Slf4j
+@RestController
+@RequestMapping("/feedback")
 public class FeedBackController {
+
+    @Autowired
+    FeedBackService feedBackService;
+
+    @ApiOperation("分页列表")
+    @PostMapping("/getFeedBackList")
+    public ReturnMsg getFeedBackList(@RequestBody NoticeParam noticeParam){
+        return feedBackService.listPage(noticeParam);
+    }
+
+    @ApiOperation("用户反馈设为已读")
+    @PostMapping("/readFeedBack")
+    public ReturnMsg readFeedBack(@RequestBody List<Integer> ids){
+        return feedBackService.readFeedBack(ids);
+    }
+
+    @ApiOperation("删除用户反馈")
+    @PostMapping("/delFeedBack")
+    public ReturnMsg delNotice(@RequestBody List<Integer> ids){
+        return feedBackService.delFeedBack(ids);
+    }
+
+    @ApiOperation("查看用户反馈")
+    @GetMapping("/getFeedBack")
+    public ReturnMsg getFeedBack(@RequestParam Integer id){
+        return feedBackService.getFeedBack(id);
+    }
+
+    @ApiOperation("新增用户反馈")
+    @PostMapping("/addFeedBack")
+    public ReturnMsg addFeedBack(@RequestBody Feedback feedback, HttpServletRequest request){
+        String token = request.getHeader("token");
+        return feedBackService.addFeedBack(feedback,token);
+    }
 }

+ 6 - 1
src/main/java/com/sky/ioc/entity/domain/notice/FeedBack.java → src/main/java/com/sky/ioc/entity/domain/notice/Feedback.java

@@ -1,10 +1,15 @@
 package com.sky.ioc.entity.domain.notice;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 
 @Data
-public class FeedBack {
+public class Feedback {
+
+    @TableId(type = IdType.AUTO)
     private Integer id;
+
     private String title;
     private String content;
     /**

+ 1 - 1
src/main/java/com/sky/ioc/entity/result/system/LoginUserVo.java

@@ -9,7 +9,7 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 public class LoginUserVo {
 
-    private String id;
+    private long id;
     /** 用户名 */
     private String userName;
     /** 头像 */

+ 0 - 11
src/main/java/com/sky/ioc/entity/task/Task.java

@@ -1,11 +0,0 @@
-package com.sky.ioc.entity.task;
-
-import lombok.Data;
-
-@Data
-public class Task {
-
-    private  Integer id;
-
-
-}

+ 3 - 3
src/main/java/com/sky/ioc/mapper/notice/FeedBackMapper.java

@@ -1,7 +1,7 @@
 package com.sky.ioc.mapper.notice;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.sky.ioc.entity.domain.notice.FeedBack;
+import com.sky.ioc.entity.domain.notice.Feedback;
 import com.sky.ioc.entity.params.notice.NoticeParam;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -11,10 +11,10 @@ import java.util.List;
 import java.util.Map;
 
 @Mapper
-public interface FeedBackMapper extends BaseMapper<FeedBack> {
+public interface FeedBackMapper extends BaseMapper<Feedback> {
 
     @Select("<script>" +
-            "select id,title,content from feedback where is_del=0 " +
+            "select id,title,content,create_time,status from feedback where is_del=0 " +
             "<if test='noticeParam!=null and noticeParam.startTime != null '>" +
             "<![CDATA[ and create_time >= #{noticeParam.startTime} AND create_time <= #{noticeParam.endTime} ]]> " +
             "</if>" +

+ 3 - 0
src/main/java/com/sky/ioc/service/notice/FeedBackService.java

@@ -1,5 +1,6 @@
 package com.sky.ioc.service.notice;
 
+import com.sky.ioc.entity.domain.notice.Feedback;
 import com.sky.ioc.entity.params.notice.NoticeParam;
 import com.sky.ioc.tool.ReturnMsg;
 
@@ -15,4 +16,6 @@ public interface FeedBackService {
     ReturnMsg delFeedBack(List<Integer> ids);
 
     ReturnMsg getFeedBack(Integer id);
+
+    ReturnMsg addFeedBack(Feedback feedback,String token);
 }

+ 26 - 3
src/main/java/com/sky/ioc/service/notice/impl/FeedBackServiceImpl.java

@@ -1,14 +1,19 @@
 package com.sky.ioc.service.notice.impl;
 
 import com.alibaba.fastjson.JSONObject;
-import com.sky.ioc.entity.domain.notice.FeedBack;
+import com.sky.ioc.entity.domain.notice.Feedback;
 import com.sky.ioc.entity.params.notice.NoticeParam;
+import com.sky.ioc.entity.result.system.LoginUserVo;
 import com.sky.ioc.mapper.notice.FeedBackMapper;
 import com.sky.ioc.service.notice.FeedBackService;
+import com.sky.ioc.tool.JwtUtil;
+import com.sky.ioc.tool.RedisUtil;
 import com.sky.ioc.tool.ReturnMsg;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -19,6 +24,9 @@ public class FeedBackServiceImpl implements FeedBackService {
     @Autowired
     FeedBackMapper feedBackMapper;
 
+    @Autowired
+    private RedisUtil redisUtil;
+
 
     @Override
     public ReturnMsg listPage(NoticeParam noticeParam) {
@@ -45,14 +53,29 @@ public class FeedBackServiceImpl implements FeedBackService {
         if(ids.size()==0||ids==null){
             return ReturnMsg.fail("参数错误");
         }else{
-            feedBackMapper.updateStatusByIds(ids);
+            feedBackMapper.delByIds(ids);
             return ReturnMsg.ok();
         }
     }
 
     @Override
     public ReturnMsg getFeedBack(Integer id) {
-        FeedBack feedBack = feedBackMapper.selectById(id);
+        Feedback feedBack = feedBackMapper.selectById(id);
         return ReturnMsg.ok(feedBack);
     }
+
+    @Override
+    public ReturnMsg addFeedBack(Feedback feedback,String token) {
+        if (StringUtils.hasText(token)) {
+            String username = JwtUtil.parseJWT(token) ;
+            Object o = redisUtil.get("login:" + username);
+            if (!Objects.isNull(o)) {
+                feedback.setCreator(((LoginUserVo) o).getUserName());
+                //return joinPoint.proceed(joinPoint.getArgs());
+            }
+        }
+        feedback.setCreateTime(new Date()+"");
+        feedBackMapper.insert(feedback);
+        return ReturnMsg.ok();
+    }
 }