package com.fdkankan.manage.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fdkankan.manage.common.PageInfo; import com.fdkankan.manage.entity.Case; import com.fdkankan.manage.entity.SysUser; import com.fdkankan.manage.mapper.ICaseMapper; import com.fdkankan.manage.service.ICaseService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.manage.service.ISysUserService; import com.fdkankan.manage.vo.request.CaseParam; import com.fdkankan.manage.vo.response.CaseVo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; /** *

* 服务实现类 *

* * @author * @since 2022-10-25 */ @Service public class CaseServiceImpl extends ServiceImpl implements ICaseService { @Autowired ISysUserService sysUserService; @Override public Object pageList(CaseParam param) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); if(param.getTypeId() != null){ wrapper.eq(Case::getTypeId,param.getTypeId()); } if(StringUtils.isNotBlank(param.getTitle())){ wrapper.like(Case::getTitle,param.getTitle()); } if(StringUtils.isNotBlank(param.getStartTime())){ wrapper.gt(Case::getPublicTime,param.getStartTime()); } if(StringUtils.isNotBlank(param.getEndTime())){ wrapper.lt(Case::getPublicTime,param.getEndTime()); } wrapper.eq(Case::getLanguage,param.getLanguage()); wrapper.orderByDesc(Case::getSort); wrapper.orderByDesc(Case::getIsPublic); wrapper.orderByDesc(Case::getPublicTime); wrapper.orderByDesc(Case::getCreateTime); Page page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper); List voList = new ArrayList<>(); for (Case record : page.getRecords()) { CaseVo vo = new CaseVo(); BeanUtils.copyProperties(record,vo); SysUser sysuser = sysUserService.getById(record.getSysUserId()); if(sysuser != null){ vo.setSysUserName(sysuser.getNickName()); } voList.add(vo); } Page pageVo = new Page<>(param.getPageNum(), param.getPageSize()); pageVo.setRecords(voList); pageVo.setTotal(page.getTotal()); return PageInfo.PageInfo(pageVo); } }