package com.dji.sample.patches.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.dji.sample.common.model.Pagination;
|
import com.dji.sample.common.model.PaginationData;
|
import com.dji.sample.media.dao.IFileMapper;
|
import com.dji.sample.media.model.MediaFileEntity;
|
import com.dji.sample.patches.dao.GetPatchesMapper;
|
import com.dji.sample.patches.model.Param.PatchesParam;
|
import com.dji.sample.patches.model.entity.LotInfo;
|
import com.dji.sample.patches.service.GetPatchesService;
|
import com.dji.sample.patches.utils.DistrictCodeUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
@Service
|
public class GetPatchesServiceImpl implements GetPatchesService {
|
@Autowired
|
private GetPatchesMapper mapper;
|
@Autowired
|
private IFileMapper fileMapper;
|
|
/**
|
* 分页获取数据的接口实现。
|
*
|
* @param param 包含分页信息和查询条件的工作空间ID。
|
* @return 返回一个包含查询结果和分页信息的PaginationData对象。
|
*/
|
@Override
|
public PaginationData<LotInfo> limitGet(PatchesParam param) {
|
if (param.getInvestigate() != null) {
|
Page<LotInfo> page = mapper.selectPage(new Page<LotInfo>(param.getPage(), param.getPageSize()),
|
new LambdaQueryWrapper<LotInfo>()
|
.eq(LotInfo::getWorkspaceId, param.getWorkspaceId())
|
.like(LotInfo::getDkbh, param.getDkbh())
|
.like(LotInfo::getXzqdm, param.getXzqdm())
|
.like(LotInfo::getBsm,param.getBsm())
|
.like(LotInfo::getXmc,param.getXmc())
|
.eq(LotInfo::getInvestigate, param.getInvestigate()));
|
List<LotInfo> records = page.getRecords()
|
.stream()
|
.peek(lotInfo -> {
|
// // 修改 xzqdm 字段的值
|
// lotInfo.setXzqdm(DistrictCodeUtils.codeToName(lotInfo.getXzqdm()));
|
})
|
.collect(Collectors.toList());
|
return new PaginationData<LotInfo>(records, new Pagination(page));
|
} else {
|
Page<LotInfo> page = mapper.selectPage(new Page<LotInfo>(param.getPage(), param.getPageSize()),
|
new LambdaQueryWrapper<LotInfo>()
|
.eq(LotInfo::getWorkspaceId, param.getWorkspaceId())
|
.like(LotInfo::getDkbh, param.getDkbh())
|
.like(LotInfo::getBsm,param.getBsm())
|
.like(LotInfo::getXmc,param.getXmc())
|
.like(LotInfo::getXzqdm, param.getXzqdm()));
|
List<LotInfo> records = page.getRecords()
|
.stream()
|
.peek(lotInfo -> {
|
// // 修改 xzqdm 字段的值
|
// lotInfo.setXzqdm(DistrictCodeUtils.codeToName(lotInfo.getXzqdm()));
|
})
|
.collect(Collectors.toList());
|
return new PaginationData<LotInfo>(records, new Pagination(page));
|
}
|
}
|
|
@Override
|
public void delPatches() {
|
mapper.delete(null);
|
}
|
|
/**
|
* 根据条件获取照片的分页数据
|
*
|
* @param param 包含分页信息和查询条件的参数对象
|
* @param dkbh 查询条件中带有地块编号关键字,用于文件名的模糊搜索
|
* @return 返回照片的分页数据,包括分页信息和照片实体列表
|
*/
|
@Override
|
public PaginationData<MediaFileEntity> getPhoto(PatchesParam param, String dkbh) {
|
Page<MediaFileEntity> page = fileMapper.selectPage(new Page<MediaFileEntity>(param.getPage(), param.getPageSize()),
|
new LambdaQueryWrapper<MediaFileEntity>().like(MediaFileEntity::getFileName, "%" + dkbh + "~" + "%"));
|
List<MediaFileEntity> records = page.getRecords()
|
.stream()
|
.collect(Collectors.toList());
|
return new PaginationData<MediaFileEntity>(records, new Pagination(page));
|
}
|
|
/**
|
* 根据条件获取照片的分页数据
|
*
|
* @param workspaceId 工作空间的ID,用于指定查询的工作空间
|
* @param dkbh 查询条件中带有地块编号关键字,用于文件名的模糊搜索
|
* @return 返回照片的分页数据,包括分页信息和照片实体列表
|
*/
|
public List<MediaFileEntity> listPohto(String dkbh, String workspaceId) {
|
return fileMapper.selectList(new LambdaQueryWrapper<MediaFileEntity>().like(MediaFileEntity::getFileName, "%" + dkbh + "%")
|
.eq(MediaFileEntity::getWorkspaceId, workspaceId));
|
}
|
|
/**
|
* 根据地块编号和工作空间ID获取地块信息。
|
*
|
* @param dkbh 地块编号,用于查询特定定单的地块信息。
|
* @param workspaceId 工作空间ID,用于查询属于特定工作空间的地块信息。
|
* @return 返回匹配给定地块编号和工作空间ID的地块信息对象。如果找不到匹配的记录,则返回null。
|
*/
|
public LotInfo getLotinfo(String dkbh, String workspaceId) {
|
return mapper.selectOne(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getDkbh, dkbh)
|
.eq(LotInfo::getWorkspaceId, workspaceId));
|
}
|
|
public LotInfo getLotinfoToDb(String dkbh) {
|
return mapper.selectOne(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getDkbh, dkbh));
|
}
|
|
public List<LotInfo> listLotinfo() {
|
return mapper.selectList(null);
|
}
|
@Override
|
public LotInfo getPatchesFromId(String patchesId){
|
return mapper.selectOne(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getId,patchesId));
|
}
|
@Override
|
public void insertLotinfo(List<LotInfo> list) {
|
for (int i = 0; i < list.size(); i++) {
|
mapper.insert(list.get(i));
|
}
|
}
|
}
|