From cbaff53b2c82cfaa7ad8cb22f5a33a1b7caecd7c Mon Sep 17 00:00:00 2001 From: czt <czt18638530771@163.com> Date: 星期四, 25 九月 2025 10:06:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/fzzy/api/view/pr/Api1109PR.java | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 104 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/fzzy/api/view/pr/Api1109PR.java b/src/main/java/com/fzzy/api/view/pr/Api1109PR.java index f3bd298..f4d2885 100644 --- a/src/main/java/com/fzzy/api/view/pr/Api1109PR.java +++ b/src/main/java/com/fzzy/api/view/pr/Api1109PR.java @@ -3,7 +3,9 @@ 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.data.ApiParam; +import com.fzzy.api.data.PushProtocol; import com.fzzy.api.service.ApiCommonService; import com.fzzy.api.service.ApiPushManager; import com.fzzy.api.service.ApiRemoteService; @@ -13,17 +15,24 @@ import com.fzzy.api.entity.ApiConfs; import com.fzzy.api.utils.ContextUtil; import com.fzzy.api.view.repository.Api1109Rep; - import lombok.extern.slf4j.Slf4j; - import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; 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 sun.misc.BASE64Encoder; +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Predicate; +import javax.persistence.criteria.Root; import java.io.*; +import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -50,8 +59,50 @@ * @return */ @DataProvider - public List<Api1109> listAll() { - return api1109Rep.findAll(); + public void listAll(Page<Api1109> page, ApiParam param) { + //澶氬弬鏁板垎椤垫煡璇� + Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.DESC, Api1109.SORT_PROP); + + if (null == param) { + org.springframework.data.domain.Page<Api1109> japPage = api1109Rep.findAll(pageable); + page.setEntityCount((int) japPage.getTotalElements()); + page.setEntities(japPage.getContent()); + + return; + } + + Specification<Api1109> specification = new Specification<Api1109>() { + private static final long serialVersionUID = 1L; + + public Predicate toPredicate(Root<Api1109> root, CriteriaQuery<?> query, CriteriaBuilder cb) { + List<Predicate> predicates = new ArrayList<Predicate>(); //鎵�鏈夌殑鏂█ + + if (StringUtils.isNotBlank(param.getKqdm())) { + Predicate predicate1 = cb.equal(root.get("kqdm"), param.getKqdm()); + predicates.add(predicate1); + } + + if (StringUtils.isNotBlank(param.getCzbz())) { + Predicate predicate2 = cb.equal(root.get("czbz"), param.getCzbz()); + predicates.add(predicate2); + } + if (null != param.getStart()) { + Predicate predicate3 = cb.greaterThan(root.<Date>get("zhgxsj"), ContextUtil.getCurZero(param.getStart())); + predicates.add(predicate3); + } + + if (null != param.getEnd()) { + Predicate predicate4 = cb.lessThan(root.<Date>get("zhgxsj"), ContextUtil.getNextZero(param.getEnd())); + predicates.add(predicate4); + } + return cb.and(predicates.toArray(new Predicate[0])); + } + }; + + log.debug("---------鍒嗛〉鍙傛暟鏌ヨ----------{}", param.toString()); + org.springframework.data.domain.Page<Api1109> japPage = api1109Rep.findAll(specification, pageable); + page.setEntityCount((int) japPage.getTotalElements()); + page.setEntities(japPage.getContent()); } /** @@ -86,7 +137,7 @@ } /** - * + * * 鏇存柊鍒犻櫎鏍囪 api1109PR#delUpdate * * @param entity @@ -110,22 +161,35 @@ */ @Expose public String pushData(List<Api1109> items) { - ResponseDto responseDto; - String result = ""; - Api1109 d; + //鑾峰彇閰嶇疆 String kqdm = items.get(0).getKqdm(); ApiConfs apiConf = apiCommonService.getConf(kqdm); if (null == apiConf) return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触"; - //灏佽鍙傛暟 - ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1109); - //鑾峰彇瀹炵幇鎺ュ彛 - ApiRemoteService apiRemoteService = apiPushManager.getApiRemoteService(param.getPushProtocol()); + ApiRemoteService apiRemoteService = apiPushManager.getApiRemoteService(apiConf.getPushProtocol()); if (null == apiRemoteService) return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触"; + return pushDataSingle(items,apiRemoteService,apiConf); + } + + /** + * 鍗曟潯鏁版嵁json鎺ㄩ�� + * + * @param items + * @param apiRemoteService + * @param apiConf + * @return + */ + private String pushDataSingle(List<Api1109> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) { + ResponseDto responseDto; + String result = ""; + + //灏佽鍙傛暟 + ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1109); + Api1109 d; for (Api1109 data : items) { d = new Api1109(); BeanUtils.copyProperties(data, d); @@ -142,6 +206,33 @@ return result; } + /** + * 澶氭潯鏁版嵁json鎺ㄩ�� + * + * @param items + * @param apiRemoteService + * @param apiConf + * @return + */ + private String pushDataList(List<Api1109> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) { + + //灏佽鍙傛暟 + ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1109); + + //鎺ㄩ�侊紝鏁版嵁涓洪泦鍚堝舰寮� + ResponseDto responseDto = apiRemoteService.pushData(param, apiConf, items); + if (responseDto.getSuccess() == 0) { + //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵�� + for (Api1109 data : items) { + if (Constant.CZBZ_I.equals(data.getCzbz())) { + //鏇存柊鐘舵�� + api1109Rep.updateStatus(data.getId(), Constant.CZBZ_U); + } + } + } + return responseDto.toString(); + } + /** * imgFile 鍥剧墖鏈湴瀛樺偍璺緞 -- Gitblit v1.9.3