北京经济技术开发区经开区虚拟城市项目-【后端】-服务,Poi,企业,地块等定制接口
13693261870
2023-10-07 ff16d1213d5e43b21d3f72551c83dd007bec2261
src/main/java/com/smartearth/poiexcel/service/EntService.java
@@ -1,5 +1,7 @@
package com.smartearth.poiexcel.service;
import com.google.common.collect.Lists;
import com.smartearth.poiexcel.entity.*;
import com.smartearth.poiexcel.mapper.EntMapper;
import com.smartearth.poiexcel.utils.RestHelper;
import org.apache.commons.logging.Log;
@@ -7,12 +9,11 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import javax.annotation.Resource;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
/**
 * 企业服务类
@@ -20,6 +21,7 @@
 * @date 2023-10-05
 */
@Service
@SuppressWarnings("ALL")
public class EntService {
    @Resource
    EntMapper entMapper;
@@ -35,19 +37,45 @@
    private final static Log log = LogFactory.getLog(EntService.class);
    private final static String generateToken = "%s/yqfwg/app/generateToken";
    private final static String GENERATE_TOKEN = "%s/yqfwg/app/generateToken";
    private final static String getEntBaseInfo = "%s/yqfwg/api/project/getEntBaseInfoForOtherSysListPage?ctoken=%s&buildDate_startdate=%s&buildDate_enddate=%s&qylabel=%s&showCount=%d&currentPage=%d";
    private final static String GET_ENT_BASE_INFO = "%s/yqfwg/api/project/getEntBaseInfoForOtherSysListPage?ctoken=%s&showCount=%d&currentPage=%d";
    public String getToken() {
    /**
     * 获取令牌
     */
    public String selectToken() {
        try {
            String url = String.format(generateToken, host);
            String url = String.format(GENERATE_TOKEN, host);
            Map<String, String> map = new HashMap<>(2);
            map.put("userName", user);
            map.put("passWord", pwd);
            //Map<String, String> map = new HashMap<>(2);
            //map.put("userName", user);
            //map.put("passWord", pwd);
            return null;
            //String map = "userName=shikong001&passWord=123!@#qwe";
            // 请求头信息
            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.valueOf("application/x-www-form-urlencoded"));
            //设置为表单提交,按需求加
            headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
            // 组装请求信息
            MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
            map.add("userName", user);
            map.add("passWord", pwd);
            HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>(map, headers);
            // String str = RestHelper.postForRest(url, map)
            Result rs = RestHelper.postForRest(url, map, Result.class);
            if (null == rs || StaticData.I200 != rs.getCode()) {
                return null;
            }
            // TokenResult tr = JSONObject.parseObject(rs.getData().toJSONString(), TokenResult.class)
            TokenResult tr = rs.getData().toJavaObject(TokenResult.class);
            return tr.getCtoken();
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
            return null;
@@ -55,51 +83,55 @@
    }
    /**
     * post请求(Rest)
     * 查询企业
     */
    public <T> T postForRest(String url, Map<String, Object> map, Class<T> clazz) {
        RestTemplate rest = RestHelper.getRestTemplate();
        return rest.postForObject(url, map, clazz);
    }
    /**
     * delete请求(Rest)
     */
    public <T> T deleteForRest(String url, Map<String, T> map, Class<T> clazz) {
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        HttpEntity<?> entity = new HttpEntity<>(map, headers);
        RestTemplate rest = RestHelper.getRestTemplate();
        ResponseEntity<T> rs = rest.exchange(url, HttpMethod.DELETE, entity, clazz);
        return rs.getBody();
    }
    /**
     * 获取Map数据
     */
    public <T> Map<String, Object> getMapData(T t) {
        Map<String, Object> map = new HashMap<>(1);
        Field[] fields = t.getClass().getDeclaredFields();
        for (Field field : fields) {
            try {
                if ("serialVersionUID".equals(field.getName())) {
                    continue;
                }
                field.setAccessible(true);
                Object obj = field.get(t);
                map.put(field.getName(), obj);
            } catch (Exception ex) {
                //
    public List<EntEntity> selectEnts(String token, String startDate, String endDate, String qylabel, Integer showCount, Integer currentPage) {
        try {
            String url = String.format(GET_ENT_BASE_INFO, host, token, showCount, currentPage);
            if (null != startDate) {
                url += "&buildDate_startdate=" + startDate;
            }
        }
            if (null != endDate) {
                url += "&buildDate_enddate=" + endDate;
            }
            if (null != qylabel) {
                url += "&qylabel=" + qylabel;
            }
        return map;
            Result rs = RestHelper.getForRest(url, Result.class);
            if (null == rs || StaticData.I200 != rs.getCode()) {
                return null;
            }
            // EntResult er = JSONObject.parseObject(rs.getData().toJSONString(), EntResult.class)
            EntResult er = rs.getData().toJavaObject(EntResult.class);
            return er.getPd().getList();
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
            return null;
        }
    }
    /**
     * 插入企业
     */
    public Integer insertEnts(List<EntEntity> list) {
        try {
            int rows = 0;
            List<List<EntEntity>> subLists = Lists.partition(list, StaticData.I200);
            for (List<EntEntity> sub : subLists) {
                try {
                    rows += entMapper.insertBatch(sub);
                } catch (Exception ex) {
                    log.error(ex);
                }
            }
            return rows;
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
            return 0;
        }
    }
}