From 9f6dacf7b39e5aeba37d8faf575c9e56d8cbe51a Mon Sep 17 00:00:00 2001 From: czt <czt18638530771@163.com> Date: 星期六, 11 十月 2025 13:35:42 +0800 Subject: [PATCH] 武汉黄陂军粮-质检报告共享接口同步及推送 --- src/main/java/com/fzzy/otherview/whhpjl/pr/WhjlApi1214PR.java | 115 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 95 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/fzzy/otherview/whhpjl/pr/WhjlApi1214PR.java b/src/main/java/com/fzzy/otherview/whhpjl/pr/WhjlApi1214PR.java index a0abee7..b7e841e 100644 --- a/src/main/java/com/fzzy/otherview/whhpjl/pr/WhjlApi1214PR.java +++ b/src/main/java/com/fzzy/otherview/whhpjl/pr/WhjlApi1214PR.java @@ -5,6 +5,7 @@ import com.bstek.dorado.annotation.DataProvider; import com.bstek.dorado.annotation.DataResolver; import com.bstek.dorado.annotation.Expose; +import com.bstek.dorado.data.provider.Page; import com.fzzy.api.Constant; import com.fzzy.api.data.ApiParam; import com.fzzy.api.dto.ResponseDto; @@ -13,18 +14,28 @@ import com.fzzy.api.service.ApiCommonService; import com.fzzy.api.service.ApiPushManager; import com.fzzy.api.service.ApiRemoteService; +import com.fzzy.api.utils.ContextUtil; import com.fzzy.api.view.repository.ApiInfoDataRep; import com.fzzy.otherview.whhpjl.WhjlConstant; -import com.fzzy.otherview.whhpjl.dto.WhjlApi1214; +import com.fzzy.otherview.whhpjl.dto.*; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Component; +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Predicate; +import javax.persistence.criteria.Root; import java.util.ArrayList; import java.util.Date; import java.util.List; /** - * 鍚堝悓淇℃伅 + * 璐ㄦ鏈烘瀯 * * @Author:YAN */ @@ -44,14 +55,45 @@ * @return */ @DataProvider - public List<WhjlApi1214> listData() { - List<ApiInfoData> result = apiInfoDataRep.getDataByInteId(WhjlConstant.API_CODE_1214); - if (null == result || result.isEmpty()) { - return null; - } + public void listData(Page<WhjlApi1214> page, ApiParam param) { + Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.DESC, "updateTime"); + + Specification specification = new Specification<ApiInfoData>() { + private static final long serialVersionUID = 1L; + + @Override + public Predicate toPredicate(Root<ApiInfoData> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) { + List<Predicate> predicates = new ArrayList<>(); //鎵�鏈夌殑鏂█ + Predicate predicate = criteriaBuilder.equal(root.get("inteId"), WhjlConstant.API_CODE_1214); + predicates.add(predicate); + if (null != param) { + if (StringUtils.isNotBlank(param.getKqdm())) { + Predicate predicate1 = criteriaBuilder.equal(root.get("kqdm"), param.getKqdm()); + predicates.add(predicate1); + } + + if (StringUtils.isNotBlank(param.getCzbz())) { + Predicate predicate2 = criteriaBuilder.equal(root.get("czbz"), param.getCzbz()); + predicates.add(predicate2); + } + if (null != param.getStart()) { + Predicate predicate3 = criteriaBuilder.greaterThan(root.get("updateTime"), ContextUtil.getCurZero(param.getStart())); + predicates.add(predicate3); + } + + if (null != param.getEnd()) { + Predicate predicate4 = criteriaBuilder.lessThan(root.get("updateTime"), ContextUtil.getNextZero(param.getEnd())); + predicates.add(predicate4); + } + } + return criteriaBuilder.and(predicates.toArray(new Predicate[0])); + } + }; + org.springframework.data.domain.Page<ApiInfoData> japPage = apiInfoDataRep.findAll(specification, pageable); + page.setEntityCount((int) japPage.getTotalElements()); List<WhjlApi1214> list = new ArrayList<>(); WhjlApi1214 whjlApi1214; - for (ApiInfoData infoData : result) { + for (ApiInfoData infoData : japPage.getContent()) { whjlApi1214 = JSONObject.parseObject(infoData.getData(), WhjlApi1214.class); whjlApi1214.setKqdm(infoData.getKqdm()); whjlApi1214.setCzbz(infoData.getCzbz()); @@ -59,9 +101,25 @@ whjlApi1214.setBizId(infoData.getDataId()); list.add(whjlApi1214); } - return list; + page.setEntities(list); + } + /** + * 鑾峰彇鍒楄〃淇℃伅 + * whjlApi1214PR#listItem + * + * @return + */ + @DataProvider + public List<WhjlJCNL> listJCNL(String code) { + return JSON.parseArray(code, WhjlJCNL.class); + } + + @DataProvider + public List<WhjlYQSB> listYQSB(String code) { + return JSON.parseArray(code, WhjlYQSB.class); + } /** * 鏇存柊鎴栦慨鏀� @@ -72,17 +130,22 @@ */ @DataResolver public void saveData(WhjlApi1214 data) { - ApiInfoData infoData = new ApiInfoData(); - infoData.setId(data.getBizId()); - infoData.setKqdm(data.getKqdm()); - infoData.setInteType(WhjlConstant.API_CATEGORY_12); - infoData.setInteId(WhjlConstant.API_CODE_1214); - infoData.setUpdateTime(new Date()); - infoData.setDataId(data.getBizId()); - infoData.setData(JSON.toJSONString(data)); - infoData.setCzbz(data.getCzbz()); - infoData.setRemarks("澶囨敞淇℃伅"); - + ApiInfoData infoData; + List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(WhjlConstant.API_CODE_1214, data.getBizId(), data.getKqdm()); + if (apiInfoList.size() != 0) { + infoData = apiInfoList.get(0); + infoData.setData(JSON.toJSONString(data)); + } else { + infoData = new ApiInfoData(); + infoData.setId(data.getBizId()); + infoData.setKqdm(data.getKqdm()); + infoData.setInteId(WhjlConstant.API_CODE_1214); + infoData.setUpdateTime(new Date()); + infoData.setDataId(data.getBizId()); + infoData.setData(JSON.toJSONString(data)); + infoData.setCzbz(Constant.CZBZ_I); + infoData.setRemarks("澶囨敞淇℃伅"); + } apiInfoDataRep.save(infoData); } @@ -101,6 +164,18 @@ } /** + * 鍒犻櫎鍚堝悓鍟嗗搧娓呭崟 + * whjlApi1214PR#delItem + * + * @param data + * @return + */ + @Expose + public String delItem(WhjlQDItem data) { + return null; + } + + /** * 涓婁紶 * whjlApi1214PR#pushData * -- Gitblit v1.9.3