Browse Source

vue管理后端意见反馈实现

usgeek 7 years ago
parent
commit
c29a7b52ff

+ 102 - 0
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminFeedbackController.java

@@ -0,0 +1,102 @@
+package org.linlinjava.litemall.admin.web;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.linlinjava.litemall.admin.annotation.LoginAdmin;
+import org.linlinjava.litemall.core.util.RegexUtil;
+import org.linlinjava.litemall.core.util.ResponseUtil;
+import org.linlinjava.litemall.core.validator.Order;
+import org.linlinjava.litemall.core.validator.Sort;
+import org.linlinjava.litemall.db.domain.LitemallFeedback;
+import org.linlinjava.litemall.db.service.LitemallFeedbackService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Yogeek
+ * @date 2018/8/26 1:11
+ */
+@RestController
+@RequestMapping("/admin/feedback")
+@Validated
+public class AdminFeedbackController {
+    private final Log logger = LogFactory.getLog(AdminFeedbackController.class);
+
+    @Autowired
+    private LitemallFeedbackService feedbackService;
+
+    @GetMapping("/list")
+    public Object list(@LoginAdmin Integer adminId,
+                       Integer userId, String username,
+                       @RequestParam(defaultValue = "1") Integer page,
+                       @RequestParam(defaultValue = "10") Integer limit,
+                       @Sort @RequestParam(defaultValue = "add_time") String sort,
+                       @Order @RequestParam(defaultValue = "desc") String order) {
+        if(adminId == null){
+            return ResponseUtil.unlogin();
+        }
+        List<LitemallFeedback> feedbackList = feedbackService.querySelective(userId, username, page, limit, sort, order);
+        int total = feedbackService.countSelective(userId, username, page, limit, sort, order);
+        Map<String, Object> data = new HashMap<>();
+        data.put("total", total);
+        data.put("items", feedbackList);
+
+        return ResponseUtil.ok(data);
+    }
+
+    @PostMapping("/create")
+    public Object create(@LoginAdmin Integer adminId, @RequestBody LitemallFeedback feedback) {
+        if(adminId == null){
+            return ResponseUtil.unlogin();
+        }
+
+        String mobile = feedback.getMobile();
+        if(!RegexUtil.isMobileExact(mobile)){
+            return ResponseUtil.fail(403, "手机号格式不正确");
+        }
+
+        feedback.setAddTime(LocalDateTime.now());
+        feedbackService.add(feedback);
+
+        return ResponseUtil.ok(feedback);
+    }
+
+    @GetMapping("/read")
+    public Object read(@LoginAdmin Integer adminId, @NotNull Integer id){
+        if(adminId == null){
+            return ResponseUtil.unlogin();
+        }
+
+        if(id == null){
+            return ResponseUtil.badArgument();
+        }
+
+        LitemallFeedback feedback = feedbackService.findById(id);
+        return ResponseUtil.ok(feedback);
+    }
+
+    @PostMapping("/update")
+    public Object update(@LoginAdmin Integer adminId, @RequestBody LitemallFeedback feedback) {
+        if(adminId == null){
+            return ResponseUtil.unlogin();
+        }
+        feedbackService.updateById(feedback);
+        return ResponseUtil.ok(feedback);
+    }
+
+    @PostMapping("/delete")
+    public Object delete(@LoginAdmin Integer adminId, @RequestBody LitemallFeedback feedback){
+        if(adminId == null){
+            return ResponseUtil.unlogin();
+        }
+        feedbackService.delete(feedback.getId());
+        return ResponseUtil.ok();
+    }
+}