Bladeren bron

学习记录接口

yangfeng 1 jaar geleden
bovenliggende
commit
971f9ec311

+ 7 - 7
web/src/main/java/com/ynfy/buss/practice/userpractice/controller/UserPracticeController.java

@@ -1,6 +1,5 @@
 package com.ynfy.buss.practice.userpractice.controller;
 
-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.ynfy.buss.practice.userpractice.entity.UserPractice;
@@ -9,10 +8,11 @@ import com.ynfy.buss.practice.userpractice.service.IUserPracticeService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
@@ -49,11 +49,11 @@ public class UserPracticeController extends JeecgController<UserPractice, IUserP
     @GetMapping(value = "/list")
     public Result<IPage<UserPractice>> queryPageList(UserPractice userPractice,
                                                      @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                                     @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                                     HttpServletRequest req) {
-        QueryWrapper<UserPractice> queryWrapper = QueryGenerator.initQueryWrapper(userPractice, req.getParameterMap());
-        Page<UserPractice> page = new Page<UserPractice>(pageNo, pageSize);
-        IPage<UserPractice> pageList = userPracticeService.page(page, queryWrapper);
+                                                     @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+        Page<UserPractice> page = new Page<>(pageNo, pageSize);
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        userPractice.setUserId(user.getId());
+        IPage<UserPractice> pageList = userPracticeService.selectPageList(page, userPractice);
         return Result.OK(pageList);
     }
 

+ 4 - 0
web/src/main/java/com/ynfy/buss/practice/userpractice/entity/UserPractice.java

@@ -1,6 +1,7 @@
 package com.ynfy.buss.practice.userpractice.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -123,4 +124,7 @@ public class UserPractice implements Serializable {
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "更新日期")
     private Date updateTime;
+
+    @TableField(exist = false)
+    private String repositoryName;
 }

+ 3 - 0
web/src/main/java/com/ynfy/buss/practice/userpractice/mapper/UserPracticeMapper.java

@@ -1,7 +1,9 @@
 package com.ynfy.buss.practice.userpractice.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ynfy.buss.practice.userpractice.entity.UserPractice;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * @Description: 用户练习表
@@ -11,4 +13,5 @@ import com.ynfy.buss.practice.userpractice.entity.UserPractice;
  */
 public interface UserPracticeMapper extends BaseMapper<UserPractice> {
 
+    IPage<UserPractice> selectPageList(IPage<UserPractice> page, @Param("userPractice") UserPractice userPractice);
 }

+ 19 - 1
web/src/main/java/com/ynfy/buss/practice/userpractice/mapper/xml/UserPracticeMapper.xml

@@ -1,5 +1,23 @@
 <?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.ynfy.buss.practice.userpractice.mapper.UserPracticeMapper">
-
+    <select id="selectPageList" resultType="com.ynfy.buss.practice.userpractice.entity.UserPractice">
+        SELECT
+                up.*,
+                r.title as repositoryName
+        FROM user_practice up
+        LEFT JOIN repository r on up.repository_id = r.id
+        <where>
+            <if test="userPractice.repositoryName != null and userPractice.repositoryName != ''">
+                AND r.title like concat('%', #{userPractice.repositoryName}, '%')
+            </if>
+            <if test="userPractice.practiceName != null and userPractice.practiceName != ''">
+                AND up.practice_name  like concat('%', #{userPractice.practiceName}, '%')
+            </if>
+            <if test="userPractice.userId != null and userPractice.userId != ''">
+                AND up.user_id = #{userPractice.userId}
+            </if>
+        </where>
+        ORDER BY up.commit_time DESC
+    </select>
 </mapper>

+ 4 - 0
web/src/main/java/com/ynfy/buss/practice/userpractice/service/IUserPracticeService.java

@@ -1,6 +1,8 @@
 package com.ynfy.buss.practice.userpractice.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ynfy.buss.exam.userexam.entity.UserExam;
 import com.ynfy.buss.practice.userpractice.entity.UserPractice;
 import com.ynfy.buss.practice.userpractice.entity.dto.UserPracticeDTO;
 import com.ynfy.buss.practice.userpractice.entity.dto.UserPracticeResultDTO;
@@ -32,4 +34,6 @@ public interface IUserPracticeService extends IService<UserPractice> {
      * @return
      */
     UserPracticeResultDTO getPracticeResult(String id);
+
+    IPage<UserPractice> selectPageList(IPage<UserPractice> page, UserPractice userPractice);
 }

+ 8 - 0
web/src/main/java/com/ynfy/buss/practice/userpractice/service/impl/UserPracticeServiceImpl.java

@@ -42,6 +42,9 @@ public class UserPracticeServiceImpl extends ServiceImpl<UserPracticeMapper, Use
     @Autowired
     private IExamService examService;
 
+    @Autowired
+    private UserPracticeMapper userPracticeMapper;
+
     /**
      * 获取用户最近的练习
      *
@@ -150,4 +153,9 @@ public class UserPracticeServiceImpl extends ServiceImpl<UserPracticeMapper, Use
         dto.setQuestionList(userPracticeQuestionList);
         return dto;
     }
+
+    @Override
+    public IPage<UserPractice> selectPageList(IPage<UserPractice> page, UserPractice userPractice){
+        return userPracticeMapper.selectPageList(page, userPractice);
+    }
 }