Kaynağa Gözat

题目收藏接口

小么熊🐻 4 yıl önce
ebeveyn
işleme
30b4e29c84

+ 76 - 0
zzjs-admin/src/main/java/com/miaxis/app/controller/question/QuestionCollectionController.java

@@ -0,0 +1,76 @@
+package com.miaxis.app.controller.question;
+
+import com.miaxis.common.annotation.Log;
+import com.miaxis.common.core.controller.BaseController;
+import com.miaxis.common.core.domain.Response;
+import com.miaxis.common.core.domain.entity.UserInfo;
+import com.miaxis.common.core.page.ResponsePageInfo;
+import com.miaxis.common.enums.BusinessTypeEnum;
+import com.miaxis.common.utils.SecurityUtils;
+import com.miaxis.question.domain.QuestionCollection;
+import com.miaxis.question.domain.QuestionError;
+import com.miaxis.question.dto.QuestionCollectionDto;
+import com.miaxis.question.service.IQuestionCollectionService;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 【题目收藏】Controller
+ *
+ * @author miaxis
+ * @date 2021-03-18
+ */
+@RestController
+@RequestMapping("/question/collection")
+@Api(tags={"【小程序-题目收藏】"})
+public class QuestionCollectionController extends BaseController{
+    @Autowired
+    private IQuestionCollectionService questionCollectionService;
+
+
+
+
+
+    /**
+     * 新增题目收藏
+     */
+    @Log(title = "题目收藏", businessType = BusinessTypeEnum.INSERT)
+    @PostMapping
+    @ApiOperation("新增题目收藏")
+    public Response<Integer> add(@RequestBody QuestionCollection questionCollection){
+        return toResponse(questionCollectionService.save(questionCollection) ? 1 : 0);
+    }
+
+    @GetMapping("/getQuestionCollectionList")
+    @ApiOperation("查询题目收藏列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum",value = "当前页码" ,dataType = "int", paramType = "query", required = false),
+            @ApiImplicitParam(name = "pageSize",value = "每页数据量" , dataType = "int", paramType = "query", required = false),
+    })
+    public ResponsePageInfo<QuestionError> getQuestionCollectionList(@ModelAttribute QuestionCollectionDto questionCollectionDto){
+        startPage();
+        UserInfo student = SecurityUtils.getLoginUser().getStudent();
+        questionCollectionDto.setUserId(student.getId());
+        List<QuestionError> list = questionCollectionService.getQuestionCollectionList(questionCollectionDto);
+        return toResponsePageInfo(list);
+    }
+
+
+
+    /**
+     * 删除题目收藏
+     */
+    @Log(title = "题目收藏", businessType = BusinessTypeEnum.DELETE)
+	@DeleteMapping("/{ids}")
+    @ApiOperation("删除题目收藏")
+    public  Response<Integer> remove(
+            @ApiParam(name = "ids", value = "题目收藏ids参数", required = true)
+            @PathVariable Long[] ids
+    ){
+        return toResponse(questionCollectionService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
+    }
+}

+ 76 - 0
zzjs-service/src/main/java/com/miaxis/question/domain/QuestionCollection.java

@@ -0,0 +1,76 @@
+package com.miaxis.question.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.miaxis.common.annotation.Excel;
+import com.miaxis.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import lombok.Data;
+/**
+ * 题目收藏对象 question_collection
+ *
+ * @author miaxis
+ * @date 2021-03-18
+ */
+@Data
+@TableName("question_collection")
+@ApiModel(value = "QuestionCollection", description = "题目收藏对象 question_collection")
+public class QuestionCollection extends BaseBusinessEntity{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    @TableId(value = "id")
+    @ApiModelProperty(value = "$column.columnComment")
+    private Long id;
+
+    /** 用户id */
+    @Excel(name = "用户id")
+    @TableField("user_id")
+    @ApiModelProperty(value = "用户id")
+    private Long userId;
+
+    /** 题目id */
+    @Excel(name = "题目id")
+    @TableField("question_id")
+    @ApiModelProperty(value = "题目id")
+    private Long questionId;
+
+    public void setId(Long id){
+        this.id = id;
+    }
+
+    public Long getId(){
+        return id;
+    }
+    public void setUserId(Long userId){
+        this.userId = userId;
+    }
+
+    public Long getUserId(){
+        return userId;
+    }
+    public void setQuestionId(Long questionId){
+        this.questionId = questionId;
+    }
+
+    public Long getQuestionId(){
+        return questionId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("userId", getUserId())
+            .append("questionId", getQuestionId())
+            .append("createTime", getCreateTime())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 32 - 0
zzjs-service/src/main/java/com/miaxis/question/dto/QuestionCollectionDto.java

@@ -0,0 +1,32 @@
+package com.miaxis.question.dto;
+
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 题目收藏对象 Question_Collection
+ *
+ * @author miaxis
+ * @date 2021-03-16
+ */
+@Data
+@ApiModel(value = "QuestionCollectionDto", description = "题目收藏对象")
+public class QuestionCollectionDto extends BaseBusinessEntity{
+    private static final long serialVersionUID = 1L;
+
+    /** 用户id */
+    @ApiModelProperty(value = "用户id",hidden = true)
+    private Long userId;
+
+    /** 题目id */
+    @ApiModelProperty(value = "题目id")
+    private Long questionId;
+
+    /** 科目 */
+    @ApiModelProperty(value = "科目")
+    private Long kemu;
+
+
+}

+ 1 - 1
zzjs-service/src/main/java/com/miaxis/question/dto/QuestionErrorDto.java

@@ -17,7 +17,7 @@ public class QuestionErrorDto extends BaseBusinessEntity{
     private static final long serialVersionUID = 1L;
 
     /** 用户id */
-    @ApiModelProperty(value = "用户id")
+    @ApiModelProperty(value = "用户id",hidden = true)
     private Long userId;
 
     /** 题目id */

+ 26 - 0
zzjs-service/src/main/java/com/miaxis/question/mapper/QuestionCollectionMapper.java

@@ -0,0 +1,26 @@
+package com.miaxis.question.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.miaxis.question.domain.QuestionCollection;
+import com.miaxis.question.domain.QuestionError;
+import com.miaxis.question.dto.QuestionCollectionDto;
+import com.miaxis.question.dto.QuestionErrorDto;
+
+/**
+ * 题目收藏Mapper接口
+ *
+ * @author miaxis
+ * @date 2021-03-18
+ */
+public interface QuestionCollectionMapper extends BaseMapper<QuestionCollection> {
+    /**
+     * 查询题目收藏列表
+     *
+     * @param questionCollection 题目收藏
+     * @return 题目收藏集合
+     */
+    public List<QuestionCollection> selectQuestionCollectionList(QuestionCollection questionCollection);
+
+    List<QuestionError> getQuestionCollectionList(QuestionCollectionDto questionCollectionDto);
+}

+ 26 - 0
zzjs-service/src/main/java/com/miaxis/question/service/IQuestionCollectionService.java

@@ -0,0 +1,26 @@
+package com.miaxis.question.service;
+
+import java.util.List;
+import com.miaxis.question.domain.QuestionCollection;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.miaxis.question.domain.QuestionError;
+import com.miaxis.question.dto.QuestionCollectionDto;
+import com.miaxis.question.dto.QuestionErrorDto;
+
+/**
+ * 题目收藏Service接口
+ *
+ * @author miaxis
+ * @date 2021-03-18
+ */
+public interface IQuestionCollectionService extends IService<QuestionCollection>{
+    /**
+     * 查询题目收藏列表
+     *
+     * @param questionCollection 题目收藏
+     * @return 题目收藏集合
+     */
+    public List<QuestionCollection> selectQuestionCollectionList(QuestionCollection questionCollection);
+
+    List<QuestionError> getQuestionCollectionList(QuestionCollectionDto questionCollectionDto);
+}

+ 41 - 0
zzjs-service/src/main/java/com/miaxis/question/service/impl/QuestionCollectionServiceImpl.java

@@ -0,0 +1,41 @@
+package com.miaxis.question.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.miaxis.question.domain.QuestionCollection;
+import com.miaxis.question.domain.QuestionError;
+import com.miaxis.question.dto.QuestionCollectionDto;
+import com.miaxis.question.mapper.QuestionCollectionMapper;
+import com.miaxis.question.service.IQuestionCollectionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 题目收藏Service业务层处理
+ *
+ * @author miaxis
+ * @date 2021-03-18
+ */
+@Service
+public class QuestionCollectionServiceImpl extends ServiceImpl<QuestionCollectionMapper, QuestionCollection> implements IQuestionCollectionService {
+    @Autowired
+    private QuestionCollectionMapper questionCollectionMapper;
+
+    /**
+     * 查询题目收藏列表
+     *
+     * @param questionCollection 题目收藏
+     * @return 题目收藏
+     */
+    @Override
+    public List<QuestionCollection> selectQuestionCollectionList(QuestionCollection questionCollection){
+        return questionCollectionMapper.selectQuestionCollectionList(questionCollection);
+    }
+
+
+    @Override
+    public List<QuestionError> getQuestionCollectionList(QuestionCollectionDto questionCollectionDto) {
+        return questionCollectionMapper.getQuestionCollectionList(questionCollectionDto);
+    }
+}

+ 57 - 0
zzjs-service/src/main/resources/mapper/question/QuestionCollectionMapper.xml

@@ -0,0 +1,57 @@
+<?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="com.miaxis.question.mapper.QuestionCollectionMapper">
+
+    <resultMap type="QuestionCollection" id="QuestionCollectionResult">
+        <result property="id"    column="id"    />
+        <result property="userId"    column="user_id"    />
+        <result property="questionId"    column="question_id"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectQuestionCollectionVo">
+        select id, user_id, question_id, create_time, update_time from question_collection
+    </sql>
+
+    <select id="selectQuestionCollectionList" parameterType="QuestionCollection" resultMap="QuestionCollectionResult">
+        <include refid="selectQuestionCollectionVo"/>
+        <where>
+            <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="questionId != null "> and question_id = #{questionId}</if>
+        </where>
+    </select>
+
+
+
+    <select id="getQuestionCollectionList" parameterType="com.miaxis.question.dto.QuestionCollectionDto" resultType="com.miaxis.question.vo.QuestionInfoVo">
+        select qi.id,type,
+        question, an1,
+        an2, an3,
+        an4,
+        an5,
+        an6,
+        an7,
+        answer_true,
+        explain1,
+        best_answer_id,
+        kemu,
+        sinaimg,
+        video_url,
+        cityid,
+        media_url,
+        show_option_type
+        from question_info qi
+        JOIN question_collection qe
+        ON qi.id = qe.question_id
+        <where>
+            <if test="userId != null"> and qe.user_id = #{userId} </if>
+            <if test="questionId != null "> and question_id = #{questionId}</if>
+            <if test="kemu != null "> and kemu = #{kemu}</if>
+        </where>
+    </select>
+
+
+</mapper>