jiangping
2023-12-08 1140f80aefef30b543c99aaed47bcbca731b24e2
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java
@@ -2,24 +2,28 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.ProblemsMapper;
import com.doumee.dao.business.model.Problems;
import com.doumee.dao.web.response.ProblemsVO;
import com.doumee.service.business.ProblemsService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
/**
 * 试题信息表Service实现
 * @author 江蹄蹄
 * @date 2023/11/23 18:16
 * @date 2023/11/30 15:33
 */
@Service
public class ProblemsServiceImpl implements ProblemsService {
@@ -83,7 +87,7 @@
        QueryWrapper<Problems> wrapper = new QueryWrapper<>(problems);
        return problemsMapper.selectList(wrapper);
    }
    @Override
    public PageData<Problems> findPage(PageWrap<Problems> pageWrap) {
        IPage<Problems> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
@@ -133,13 +137,8 @@
        if (pageWrap.getModel().getUseType() != null) {
            queryWrapper.lambda().eq(Problems::getUseType, pageWrap.getModel().getUseType());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        queryWrapper.lambda().orderByAsc(Problems::getCreateDate);
        queryWrapper.select("problems.*, (select REALNAME from system_user where system_user.id = problems.CREATOR) as creatorName");
        return PageData.from(problemsMapper.selectPage(page, queryWrapper));
    }
@@ -148,4 +147,33 @@
        QueryWrapper<Problems> wrapper = new QueryWrapper<>(problems);
        return problemsMapper.selectCount(wrapper);
    }
    @Override
    public List<Problems> findListByUseType(Integer useType) {
        return null;
    }
    /**
     * 获取题目信息
     * @param useType
     * @return
     */
    @Override
    public List<ProblemsVO> getProblemsVO(Integer useType){
        List<Problems> problemsList = problemsMapper.selectList(new QueryWrapper<Problems>().lambda().eq(Problems::getUseType,useType)
                .eq(Problems::getIsdeleted, Constants.ZERO).orderByAsc(Problems::getSortnu));
        List<ProblemsVO> problemsVOList = new ArrayList<>();
        for (Problems problems:problemsList) {
            ProblemsVO problemsVO = new ProblemsVO();
            BeanUtils.copyProperties(problems,problemsVO);
            problemsVOList.add(problemsVO);
        }
        return problemsVOList;
    }
}