zs 8 ヶ月 前
コミット
215de39099

+ 136 - 1
src/main/java/com/free/controller/HistoryController.java

@@ -1,2 +1,137 @@
-package com.free.controller;public class HistoryController {
+package com.free.controller;
+
+        import java.util.HashMap;
+        import java.util.List;
+        import java.util.Map;
+
+        import javax.validation.Valid;
+
+        import com.free.entity.system.History;
+        import com.free.service.HistoryService;
+        import org.springframework.beans.factory.annotation.Autowired;
+        import org.springframework.web.bind.annotation.DeleteMapping;
+        import org.springframework.web.bind.annotation.GetMapping;
+        import org.springframework.web.bind.annotation.PathVariable;
+        import org.springframework.web.bind.annotation.PostMapping;
+        import org.springframework.web.bind.annotation.RequestBody;
+        import org.springframework.web.bind.annotation.RequestMapping;
+        import org.springframework.web.bind.annotation.RequestParam;
+        import org.springframework.web.bind.annotation.RestController;
+
+        import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+        import com.baomidou.mybatisplus.core.metadata.IPage;
+        import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+        import com.fasterxml.jackson.core.JsonProcessingException;
+        import com.fasterxml.jackson.databind.ObjectMapper;
+        import com.fasterxml.jackson.databind.type.CollectionType;
+        import com.free.annotation.PassToken;
+        import com.free.config.CustomizationException;
+        import com.free.config.ExceptionEnum;
+        import com.free.config.ResponseFormat;
+        import com.free.utils.Utils;
+
+        import io.swagger.annotations.Api;
+        import io.swagger.annotations.ApiOperation;
+
+@RestController
+@RequestMapping("/history")
+@Api(tags = "历史记录")
+public class HistoryController {
+    @Autowired
+    private HistoryService service;
+
+    @PassToken
+    /** 创建数据 */
+    @ApiOperation("创建数据")
+    @PostMapping("")
+    public Object save(@RequestBody @Valid History data) {
+        this.service.save(data);
+        QueryWrapper qw = new QueryWrapper<>();
+        qw.eq("id", data.getId());
+        Map returnData = this.service.getMap(qw);
+        return ResponseFormat.success(returnData);
+        // return ResponseFormat.success();
+    }
+
+    /** 修改数据 */
+    @PassToken
+    @ApiOperation("修改数据")
+    @PostMapping("/{id}")
+    public Object update(@PathVariable long id, @RequestBody History data) {
+        QueryWrapper qw = new QueryWrapper<>();
+        qw.eq("id", id);
+        Long num = this.service.count(qw);
+        if (num <= 0) {
+            throw new CustomizationException(ExceptionEnum.NOT_FOUND);
+        }
+        data.setId(id);
+        this.service.updateById(data);
+        Object newData = this.service.getById(id);
+        return ResponseFormat.success(newData);
+    }
+
+    /** 列表查询 */
+    @PassToken
+    @ApiOperation("查询数据列表")
+    @SuppressWarnings({ "unchecked" })
+    @GetMapping()
+    public Object list(@RequestParam Map<String, Object> allParams) {
+        Long skip = null, limit = null;
+        Map map = new HashMap();
+        QueryWrapper qw = new QueryWrapper<>();
+        qw.select("id","title","platform","is_use");
+        /** 参数处理处理 */
+        for (String key : allParams.keySet()) {
+            Object value = allParams.get(key);
+            if (key.equals("skip")) {
+                skip = Long.valueOf(String.valueOf(value));
+            } else if (key.equals("limit")) {
+                limit = Long.valueOf(String.valueOf(value));
+            } else {
+                if(key.equals("title")||key.equals("platform")){
+                    qw.like(key,value);
+                } else {
+                    // 其他为查询条件
+                    qw.eq(key, value);
+                }
+            }
+        }
+        /** 分页处理 */
+        if (null != skip && null != limit) {
+            IPage page = new Page<>(skip, limit);
+            IPage pageResult = service.page(page, qw);
+            List data = pageResult.getRecords();
+            long total = pageResult.getTotal();
+            map.put("data", data);
+            map.put("total", total);
+        } else {
+            List list = service.list(qw);
+            map.put("data", list);
+        }
+        return ResponseFormat.success(map);
+    }
+
+    /** 根据id查询 */
+    @PassToken
+    @ApiOperation("查询数据")
+    @GetMapping("/{id}")
+    public Object fetch(@PathVariable long id) {
+        Object newData = service.getById(id);
+        return ResponseFormat.success(newData);
+    }
+
+    /** 根据id删除数据 */
+    @PassToken
+    @ApiOperation("删除数据")
+    @DeleteMapping("/{id}")
+    public Object delete(@PathVariable long id) {
+        QueryWrapper qw = new QueryWrapper<>();
+        qw.eq("id", id);
+        Long num = service.count(qw);
+        if (num <= 0) {
+            throw new CustomizationException(ExceptionEnum.NOT_FOUND);
+        }
+        service.removeById(id);
+        return ResponseFormat.success();
+    }
 }

+ 1 - 0
src/main/java/com/free/controller/QuestionController.java

@@ -79,6 +79,7 @@ public class QuestionController {
     Long skip = null, limit = null;
     Map map = new HashMap();
     QueryWrapper qw = new QueryWrapper<>();
+    qw.select("id","title","platform","is_use");
     /** 参数处理处理 */
     for (String key : allParams.keySet()) {
       Object value = allParams.get(key);

+ 41 - 2
src/main/java/com/free/entity/system/History.java

@@ -1,2 +1,41 @@
-package com.free.entity.system;public class History {
-}
+package com.free.entity.system;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.free.utils.BaseEntity;
+import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
+import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Table(name = "history")
+@TableName(value = "history")
+@ApiModel("历史记录")
+public class History extends BaseEntity {
+    @Column(comment = "用户id")
+    @TableField(value = "user_id")
+    @ApiModelProperty("用户id")
+    private String user_id;
+    @Column(comment = "题库id")
+    @TableField(value = "question_id")
+    @ApiModelProperty("题库id")
+    private String question_id;
+    @Column(comment = "浏览次数")
+    @TableField(value = "views")
+    @ApiModelProperty("浏览次数")
+    private String views;
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("数据创建时间")
+    private LocalDateTime time;
+}

+ 8 - 1
src/main/java/com/free/mapper/HistoryMapper.java

@@ -1,2 +1,9 @@
-package com.free.mapper;public interface HistoryMapper {
+package com.free.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.free.entity.system.History;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface HistoryMapper extends BaseMapper<History> {
 }

+ 9 - 1
src/main/java/com/free/service/HistoryService.java

@@ -1,2 +1,10 @@
-package com.free.service;public class HistoryService {
+package com.free.service;
+
+        import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+        import com.free.entity.system.History;
+        import com.free.mapper.HistoryMapper;
+        import org.springframework.stereotype.Service;
+
+@Service
+public class HistoryService extends ServiceImpl<HistoryMapper, History> {
 }