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<String, String> 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<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;
|
}
|
}
|
|
/**
|
* 查询企业
|
*/
|
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;
|
}
|
|
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;
|
}
|
}
|
}
|