From fc8a5f61874a2f2c40f470d745fff0072d49d9c6 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 05 十月 2023 17:25:41 +0800 Subject: [PATCH] 完成入库代码 --- src/main/java/com/smartearth/poiexcel/service/EntService.java | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 168 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/smartearth/poiexcel/service/EntService.java b/src/main/java/com/smartearth/poiexcel/service/EntService.java index 3315d09..ab9f5c3 100644 --- a/src/main/java/com/smartearth/poiexcel/service/EntService.java +++ b/src/main/java/com/smartearth/poiexcel/service/EntService.java @@ -1,9 +1,23 @@ package com.smartearth.poiexcel.service; +import com.alibaba.fastjson.JSONObject; +import com.google.common.collect.Lists; +import com.smartearth.poiexcel.entity.*; +import com.smartearth.poiexcel.mapper.BasicMapper; 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.web.client.RestTemplate; import javax.annotation.Resource; +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 浼佷笟鏈嶅姟绫� @@ -11,9 +25,161 @@ * @date 2023-10-05 */ @Service -public class EntService implements EntMapper { +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 generateToken = "%s/yqfwg/app/generateToken"; + + private final static String getEntBaseInfo = "%s/yqfwg/api/project/getEntBaseInfoForOtherSysListPage?ctoken=%s&showCount=%d¤tPage=%d"; + + /** + * 鑾峰彇浠ょ墝 + */ + public String selectToken() { + try { + String url = String.format(generateToken, host); + + Map<String, String> map = new HashMap<>(2); + map.put("userName", user); + map.put("passWord", pwd); + //String map = "userName=shikong001&passWord=123!@#qwe"; + + // String str = RestHelper.postForRest(url, map) + Result rs = 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(getEntBaseInfo, 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 = 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; + } + } + + /** + * get璇锋眰锛圧est锛� + */ + public <T> T getForRest(String url, Class<T> clazz) { + RestTemplate rest = RestHelper.getRestTemplate(); + + return rest.getForObject(url, clazz); + } + + /** + * post璇锋眰锛圧est锛� + */ + public <T> T postForRest(String url, Object map, Class<T> clazz) { + RestTemplate rest = RestHelper.getRestTemplate(); + + return rest.postForObject(url, map, clazz); + } + + /** + * delete璇锋眰锛圧est锛� + */ + 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) { + // + } + } + + return map; + } } -- Gitblit v1.9.3