提交 597761d3 authored 作者: yangqi's avatar yangqi

添加设备

上级 254fed5a
......@@ -2,6 +2,7 @@ package cn.lefull.api;
import cn.lefull.common.annotation.NoAuth;
import cn.lefull.common.response.ApiResponse;
import cn.lefull.interaction.pageresp.Pagination;
import cn.lefull.interaction.vo.face.EquipmentListVO;
import cn.lefull.service.lisa.EquipmentService;
import com.github.pagehelper.PageInfo;
......@@ -30,7 +31,7 @@ public class LisaController {
@NoAuth
@GetMapping("/getEquipmentList")
public ApiResponse<Object> getEquipmentList() {
PageInfo<EquipmentListVO> equipmentListVOPageInfo = equipmentService.getEquipmentList(1, 20);
Pagination<EquipmentListVO> equipmentListVOPageInfo = equipmentService.getEquipmentList(1, 20);
return new ApiResponse<>(equipmentListVOPageInfo);
}
}
......@@ -31,6 +31,11 @@
<version>3.15.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>cn.lefull</groupId>
<artifactId>lefull-lot-interaction</artifactId>
<version>${project.build.version}</version>
</dependency>
</dependencies>
<packaging>jar</packaging>
......
package cn.lefull.common.utils;
import cn.lefull.interaction.pageresp.Pagination;
import com.github.pagehelper.Page;
import java.io.Serializable;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
/**
* 构建分页结果
* @author created by Singer email:313402703@qq.com
* @time 2018/10/12
* @description
*/
public class PageBuilder<T extends Serializable> implements Serializable {
/**
* 构建分页结果
* @param page
* @param list
* @return
*/
public static<T> Pagination buildPageResult(Page<Object> page, List<T> list){
Pagination pagination = new Pagination();
pagination.setData(list);
pagination.setCount(page.getTotal());
pagination.setItemsPerPage(page.getPageSize());
pagination.setCurrentPage(page.getPageNum());
pagination.setTotalPage(page.getPages());
return pagination;
}
public static<T> Pagination buildPageResult(Pagination page1, Pagination page2){
Pagination pagination = new Pagination();
Map m = new HashMap<>();
m.put("rented",page1.getData());
m.put("preOrdain",page2.getData());
List l = new LinkedList();
l.add(m);
pagination.setData(l);
pagination.setCount(page1.getCount()+page2.getCount());
pagination.setItemsPerPage(page1.getItemsPerPage());
pagination.setCurrentPage(page1.getCurrentPage());
pagination.setTotalPage(page1.getTotalPage()>=page2.getTotalPage()?page1.getTotalPage():page2.getTotalPage());
return pagination;
}
}
package cn.lefull.interaction.pageresp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author created by Singer email:313402703@qq.com
* @time 2018/10/12
* @description
*/
@Data
@ApiModel
public class BasePage implements Paginable {
public static final int DEF_COUNT = 10;
@ApiModelProperty(value = "总条数",required = true,notes = "总条数",example = "1000")
protected long count = 0;
@ApiModelProperty(value = "每页条数",required = true,notes = "每页条数",example = "10")
protected int itemsPerPage = DEF_COUNT;
@ApiModelProperty(value = "当前页码数",required = true,notes = "当前页码数",example = "1")
protected int currentPage = 1;
@ApiModelProperty(value = "总页数",required = true,notes = "总页数",example = "list")
protected int totalPage = 1;
public BasePage() {
}
public BasePage(int pageNo, int pageSize, long totalCount) {
if (totalCount <= 0) {
this.count = 0;
} else {
this.count = totalCount;
}
if (pageSize <= 0) {
this.itemsPerPage = DEF_COUNT;
} else {
this.itemsPerPage = pageSize;
}
if (pageNo <= 0) {
this.currentPage = 1;
} else {
this.currentPage = pageNo;
}
if ((this.currentPage - 1) * this.itemsPerPage >= totalCount) {
if (this.count / this.itemsPerPage == 0) {
this.currentPage = 1;
} else {
this.currentPage = (int)this.count / this.itemsPerPage;
}
}
}
@Override
public int getCurrentPage() {
return currentPage;
}
@Override
public int getItemsPerPage() {
return itemsPerPage;
}
@Override
public long getCount() {
return count;
}
@Override
public int getTotalPage() {
int totalPage = (int) count / itemsPerPage;
if (count % itemsPerPage != 0 || totalPage == 0) {
totalPage++;
}
return totalPage;
}
public void setCount(long count) {
this.count = count;
}
public void setItemsPerPage(int pageSize) {
this.itemsPerPage = pageSize;
}
public void setCurrentPage(int pageNo) {
this.currentPage = pageNo;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
}
package cn.lefull.interaction.pageresp;
/**
* 可分页接口
* @author ZBC singer E-mail:313402703@qq.com
* 创建时间:2018/5/9 下午9:59
*/
public interface Paginable {
/**
* 总记录数
*
* @return
*/
long getCount();
/**
* 总页数
*
* @return
*/
int getTotalPage();
/**
* 每页记录数
*
* @return
*/
int getItemsPerPage();
/**
* 当前页号
*
* @return
*/
int getCurrentPage();
}
package cn.lefull.interaction.pageresp;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.List;
/**
* 分页封装对象
* @author created by Singer email:313402703@qq.com
* @time 2018/10/12
* @description
*/
public class Pagination<T extends Serializable> extends BasePage implements
Serializable, Paginable {
private static final long serialVersionUID = 1L;
/**
* 当前页的数据
*/
@ApiModelProperty(value = "分页的数据,为一个集合",required = true,notes = "分页的数据,为一个集合",example = "list")
private List<T> data;
public Pagination() {
}
public Pagination(int pageNo, int pageSize, long totalCount) {
super(pageNo, pageSize, totalCount);
}
public Pagination(int pageNo, int pageSize, int totalCount, List<T> data) {
super(pageNo, pageSize, totalCount);
this.data = data;
}
public List<T> getData() {
return data;
}
public void setData(List<T> data) {
this.data = data;
}
}
......@@ -2,13 +2,14 @@ package cn.lefull.interaction.vo.face;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author 杨奇
*/
@Data
public class EquipmentListVO {
public class EquipmentListVO implements Serializable {
/**
* 主键
......
package cn.lefull.service.lisa;
import cn.lefull.interaction.pageresp.Pagination;
import cn.lefull.interaction.vo.face.EquipmentListVO;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;
......@@ -15,5 +16,5 @@ public interface EquipmentService {
*/
void addEquipment(int apartmentId, String uuid, String name, String position, int employeeId) throws Exception;
PageInfo<EquipmentListVO> getEquipmentList(int page, int pageSize);
Pagination<EquipmentListVO> getEquipmentList(int page, int pageSize);
}
package cn.lefull.service.lisa;
import cn.lefull.common.utils.PageBuilder;
import cn.lefull.common.utils.Utils;
import cn.lefull.interaction.pageresp.Pagination;
import cn.lefull.interaction.vo.face.EquipmentListVO;
import cn.lefull.repository.bo.face.CameraEquipmentBO;
import cn.lefull.repository.mapper.face.CameraEquipmentMapper;
import cn.lefull.repository.model.face.CameraEquipment;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -43,13 +46,13 @@ public class EquipmentServiceImpl implements EquipmentService {
}
@Override
public PageInfo<EquipmentListVO> getEquipmentList(int page, int pageSize)
public Pagination<EquipmentListVO> getEquipmentList(int page, int pageSize)
{
PageHelper.startPage(page, pageSize);
Page<Object> objects = PageHelper.startPage(page, pageSize);
List<CameraEquipmentBO> equipmentList = equipmentMapper.getEquipmentList();
if (CollectionUtils.isEmpty(equipmentList)) {
return new PageInfo<>();
return new Pagination<>();
}
List<EquipmentListVO> equipmentListVOS = new ArrayList<>();
......@@ -63,6 +66,6 @@ public class EquipmentServiceImpl implements EquipmentService {
equipmentListVO.setPosition(cameraEquipmentBO.getPosition());
equipmentListVOS.add(equipmentListVO);
}
return new PageInfo<>(equipmentListVOS);
return PageBuilder.buildPageResult(objects, equipmentListVOS);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论