All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.quhaodian.area.rest.resource.AreaResource Maven / Gradle / Ivy

The newest version!
package com.quhaodian.area.rest.resource;

import com.quhaodian.area.api.AreaHandler;
import com.quhaodian.area.data.dao.AreaDao;
import com.quhaodian.area.data.entity.Area;
import com.quhaodian.area.domain.request.AreaCodeRequest;
import com.quhaodian.area.domain.request.AreaLevelRequest;
import com.quhaodian.area.domain.request.AreaListRequest;
import com.quhaodian.area.domain.request.AreaTypeRequest;
import com.quhaodian.area.domain.response.list.AreaDataList;
import com.quhaodian.area.domain.response.list.AreaList;
import com.quhaodian.area.domain.response.simple.AreaDataSimple;
import com.quhaodian.area.domain.response.simple.AreaSimple;
import com.quhaodian.area.rest.conver.AreaDataSimpleConver;
import com.quhaodian.area.rest.conver.AreaSimpleConver;
import com.quhaodian.data.page.Filter;
import com.quhaodian.data.page.Order;
import com.quhaodian.user.utils.ConverResourceUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import java.util.ArrayList;
import java.util.List;


@Scope("prototype")
@Transactional
@Component
public class AreaResource implements AreaHandler {

    @Autowired
    AreaDao areaDao;

    @Override
    public AreaList list(AreaListRequest request) {

        AreaList result = new AreaList();
        List orders = new ArrayList();
        orders.add(Order.asc("lft"));
        List filters = new ArrayList();
        filters.add(Filter.eq("parent.id", request.getId()));
        List areas = areaDao.list(0, request.getSize(), filters, orders);
        List simples = ConverResourceUtils.coverList(areas, new AreaSimpleConver());
        result.setList(simples);

        return result;
    }

    @Override
    public AreaList list(AreaCodeRequest request) {
        AreaList result = new AreaList();
        List orders = new ArrayList();
        orders.add(Order.asc("lft"));
        List filters = new ArrayList();
        filters.add(Filter.eq("parent.code", request.getCode()));
        List areas = areaDao.list(0, request.getSize(), filters, orders);
        List simples = ConverResourceUtils.coverList(areas, new AreaSimpleConver());
        result.setList(simples);

        return result;
    }

    @Override
    public AreaList level(AreaLevelRequest request) {
        AreaList result = new AreaList();
        List orders = new ArrayList();
        orders.add(Order.asc("lft"));
        List filters = new ArrayList();
        filters.add(Filter.eq("levelInfo", request.getLevel()));
        List areas = areaDao.list(0, request.getSize(), filters, orders);
        List simples = ConverResourceUtils.coverList(areas, new AreaSimpleConver());
        result.setList(simples);

        return result;
    }

    @Override
    public AreaDataList id(AreaListRequest request) {
        AreaDataList  result = new AreaDataList();
        List orders = new ArrayList();
        orders.add(Order.asc("id"));
        List filters = new ArrayList();
        filters.add(Filter.eq("parent.id", request.getId()));
        List areas = areaDao.list(0, request.getSize(), filters, orders);
        List simples = ConverResourceUtils.coverList(areas, new AreaDataSimpleConver());
        result.setList(simples);

        return result;
    }

    @Override
    public AreaDataList code(AreaCodeRequest request) {
        AreaDataList  result = new AreaDataList();
        List orders = new ArrayList();
        orders.add(Order.asc("lft"));
        List filters = new ArrayList();
        filters.add(Filter.eq("parent.code", request.getCode()));
        List areas = areaDao.list(0, request.getSize(), filters, orders);
        List simples = ConverResourceUtils.coverList(areas, new AreaDataSimpleConver());
        result.setList(simples);

        return result;
    }

    @Override
    public AreaList type(AreaTypeRequest request) {
        AreaList areaList = new AreaList();
        List orders = new ArrayList();
        orders.add(Order.asc("id"));
        List filters = new ArrayList();
        filters.add(Filter.eq("type", request.getType()));
        List areas = areaDao.list(0, 10000, filters, orders);
        List simples = ConverResourceUtils.coverList(areas, new AreaSimpleConver());
        areaList.setList(simples);

        return areaList;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy