Explorar el Código

优化

shuiqilin
zhangxin hace 1 año
padre
commit
5d83072299

+ 24
- 0
src/main/java/com/qtzl/alterSales/manager/service/FssPaccountFinalbillServiceImpl.java Ver fichero

@@ -4,15 +4,20 @@ import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.common.pub.BeanTools;
import cn.hutool.core.bean.BeanUtil;
import com.google.common.collect.Lists;
import com.qtzl.alterSales.dao.repo.jpa.primary.FssPaccountFinalbillRepo;
import com.qtzl.alterSales.manager.model.protocol.UcServiceError;
import com.qtzl.alterSales.manager.model.protocol.sales.FssPaccountFinalbillFindCountRequest;
import com.qtzl.alterSales.manager.model.protocol.sales.FssPaccountFinalbillFindCountResponse;
import com.qtzl.alterSales.manager.model.protocol.sales.FssPaccountFinalbillFindPageRequest;
import com.qtzl.alterSales.manager.vo.FssPaccountFinalbillVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import javax.persistence.criteria.Predicate;
import java.util.ArrayList;
import java.util.List;

@Service
public class FssPaccountFinalbillServiceImpl implements FssPaccountFinalbillService{
@@ -40,9 +45,28 @@ public class FssPaccountFinalbillServiceImpl implements FssPaccountFinalbillServ
if (request.getPageSize() > 100) {
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("请求每页数量过大 " + request.getPageSize());
}
if (!StringUtils.isEmpty(request.getNaturalDate())){
long count = count(request);
if (count<1){
Pagination pagination = new Pagination();
pagination.setPageSize(request.getPageSize());
pagination.setResult(new ArrayList<FssPaccountFinalbillVo>());
return pagination;
}
}
FssPaccountFinalbillFindPageRequest queryRequest = new FssPaccountFinalbillFindPageRequest();
BeanUtil.copyProperties(request, queryRequest);
return fssPaccountFinalbillRepo.page(queryRequest);
}
private long count(FssPaccountFinalbillFindCountRequest request) throws ServiceHandleException {
return fssPaccountFinalbillRepo.count(((root, query, cb) -> {
List<Predicate> list = Lists.newArrayList();
if (!StringUtils.isEmpty(request.getNaturalDate())) {
list.add(cb.equal(root.<String>get("naturalDate"), request.getNaturalDate()));
}
Predicate[] p = new Predicate[list.size()];
return cb.and(list.toArray(p));
}));
}

}

Cargando…
Cancelar
Guardar