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; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.*; import org.springframework.stereotype.Service; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import javax.annotation.Resource; import java.util.List; /** * 企业服务类 * @author WWW * @date 2023-10-05 */ @Service @SuppressWarnings("ALL") public class EntService { @Resource EntMapper entMapper; @Value("${qylweb.host}") String host; @Value("${qylweb.user}") String user; @Value("${qylweb.pwd}") String pwd; private final static Log log = LogFactory.getLog(EntService.class); private final static String GENERATE_TOKEN = "%s/yqfwg/app/generateToken"; private final static String GET_ENT_BASE_INFO = "%s/yqfwg/api/project/getEntBaseInfoForOtherSysListPage?ctoken=%s&showCount=%d¤tPage=%d"; /** * 获取令牌 */ public String selectToken() { try { String url = String.format(GENERATE_TOKEN, host); //Map map = new HashMap<>(2); //map.put("userName", user); //map.put("passWord", pwd); //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 map = new LinkedMultiValueMap(); map.add("userName", user); map.add("passWord", pwd); HttpEntity> requestEntity = new HttpEntity>(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; } } /** * 查询企业 */ public List 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; } 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 list) { try { int rows = 0; List> subLists = Lists.partition(list, StaticData.I200); for (List 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; } } }