package com.engine.organization.service.impl; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.organization.common.BaseQueryParam; import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.comp.bo.CompBO; import com.engine.organization.entity.comp.dto.CompListDTO; import com.engine.organization.entity.comp.po.CompPO; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.service.CompService; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.page.Column; import com.engine.organization.util.page.PageInfo; import com.engine.organization.util.page.PageUtil; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * @description: TODO * @author:dxfeng * @createTime: 2022/05/16 * @version: 1.0 */ public class CompServiceImpl extends Service implements CompService { private CompMapper getCompMapper() { return MapperProxyFactory.getProxy(CompMapper.class); } @Override public Map listPage(BaseQueryParam queryParam) { Map datas = new HashMap<>(); PageUtil.start(queryParam.getCurrent(), queryParam.getPageSize()); List list = getCompMapper().list(queryParam); PageInfo pageInfo = new PageInfo<>(list, CompPO.class); Collection compPOS = pageInfo.getList(); List compListDTOS = CompBO.buildCompDTOList(compPOS); PageInfo pageInfos = new PageInfo<>(compListDTOS, CompListDTO.class); pageInfos.setTotal(pageInfo.getTotal()); pageInfos.setPageNum(queryParam.getCurrent()); pageInfos.setPageSize(queryParam.getPageSize()); OrganizationWeaTable table = new OrganizationWeaTable<>(user, CompListDTO.class); List columns = pageInfos.getColumns(); List weaTableColumn = columns.stream().map(v -> new WeaTableColumn("100", v.getTitle(), v.getKey())).collect(Collectors.toList()); table.setColumns(weaTableColumn); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); datas.put("pageInfo", pageInfos); datas.put("dataKey",result.getResultMap()); return datas; } }