From 6a05e402e0041c6eaa96e0a387499e5d5dde5f15 Mon Sep 17 00:00:00 2001 From: zxiao Date: Thu, 13 Feb 2020 19:42:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=94=B9=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contract/dto/ChinaHashDataDTO.java | 4 +- .../service/ChinaHashDataService.java | 22 +++++++++- .../controller/NcovRepairDataController.java | 23 ++++++++++ .../wuhanncov/dao/po/ChinaHashDataPO.java | 2 + .../service/ChinaHashDataServiceImpl.java | 43 +++++++++++++------ .../service/LocationTokenServiceImpl.java | 10 +---- .../wrapper/ChinaHashDataWrapper.java | 9 ++++ 7 files changed, 88 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/gsafety/gemp/wuhanncov/contract/dto/ChinaHashDataDTO.java b/src/main/java/com/gsafety/gemp/wuhanncov/contract/dto/ChinaHashDataDTO.java index 97f848c..e20e99b 100644 --- a/src/main/java/com/gsafety/gemp/wuhanncov/contract/dto/ChinaHashDataDTO.java +++ b/src/main/java/com/gsafety/gemp/wuhanncov/contract/dto/ChinaHashDataDTO.java @@ -52,11 +52,11 @@ public class ChinaHashDataDTO { private EnumChinaHashDataType dataType; @JsonProperty("data_value") - @ApiModelProperty(value = "病例编号") + @ApiModelProperty(value = "数据描述") private String dataValue; @JsonProperty("update_time") - @ApiModelProperty(value = "病例编号") + @ApiModelProperty(value = "更新时间") private Date updateTime; public String key() { diff --git a/src/main/java/com/gsafety/gemp/wuhanncov/contract/service/ChinaHashDataService.java b/src/main/java/com/gsafety/gemp/wuhanncov/contract/service/ChinaHashDataService.java index 44b9929..65d5920 100644 --- a/src/main/java/com/gsafety/gemp/wuhanncov/contract/service/ChinaHashDataService.java +++ b/src/main/java/com/gsafety/gemp/wuhanncov/contract/service/ChinaHashDataService.java @@ -3,11 +3,14 @@ */ package com.gsafety.gemp.wuhanncov.contract.service; +import com.gsafety.gemp.wuhanncov.contract.dto.ChinaHashDataDTO; +import com.gsafety.gemp.wuhanncov.contract.params.DimQueryParam; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; + import java.util.List; import java.util.Map; -import com.gsafety.gemp.wuhanncov.contract.dto.ChinaHashDataDTO; - /** * ChinaHashData业务服务 * @@ -43,4 +46,19 @@ public interface ChinaHashDataService { * @return */ Map findMapByAreaCode(String areaCode); + + /** + * 非病患散列信息实时数据分页查询 + * @param queryParam + * @param sort + * @return + */ + Page hashDataPage(DimQueryParam queryParam, Pageable sort); + + /** + * 非病患散列信息实时数据更新 + * @param dto + * @return + */ + void updateHashData(ChinaHashDataDTO dto); } diff --git a/src/main/java/com/gsafety/gemp/wuhanncov/controller/NcovRepairDataController.java b/src/main/java/com/gsafety/gemp/wuhanncov/controller/NcovRepairDataController.java index 15edd16..253033b 100644 --- a/src/main/java/com/gsafety/gemp/wuhanncov/controller/NcovRepairDataController.java +++ b/src/main/java/com/gsafety/gemp/wuhanncov/controller/NcovRepairDataController.java @@ -40,6 +40,9 @@ public class NcovRepairDataController { @Resource private PatientAreaRuntimeService patientAreaRuntimeService; + @Resource + private ChinaHashDataService chinaHashDataService; + @Resource private CounthistoryService countHistoryService; @@ -367,4 +370,24 @@ public class NcovRepairDataController { public Result unlockPatientRuntime(@RequestBody PatientAreaRuntimeDTO dto) { return patientAreaRuntimeService.patientRuntimeUnlock(dto); } + + + @ApiOperation(value = "非病患散列信息实时数据分页") + @PostMapping("/hashDataPage") + public Result hashDataPage(@RequestBody DimQueryParam queryParam) { + Sort sort = Sort.by(Sort.Direction.DESC, "dataCode"); + Pageable pageable = PageRequest.of(null == queryParam.getCurrentPage() ? AppConstant.DEFAULT_CURRENT_PAGE : queryParam.getCurrentPage() - 1, + null == queryParam.getPageSize() ? AppConstant.DEAULT_PAGE_SIZE : queryParam.getPageSize(), + sort); + + return new Result().success(chinaHashDataService.hashDataPage(queryParam, pageable)); + } + + @ApiOperation(value = "非病患散列信息实时数据更新") + @PostMapping("/updateHashData") + public Result updateHashData(@RequestBody ChinaHashDataDTO dto) { + chinaHashDataService.updateHashData(dto); + return new Result().success(); + } + } diff --git a/src/main/java/com/gsafety/gemp/wuhanncov/dao/po/ChinaHashDataPO.java b/src/main/java/com/gsafety/gemp/wuhanncov/dao/po/ChinaHashDataPO.java index 7602dc1..7d7151d 100644 --- a/src/main/java/com/gsafety/gemp/wuhanncov/dao/po/ChinaHashDataPO.java +++ b/src/main/java/com/gsafety/gemp/wuhanncov/dao/po/ChinaHashDataPO.java @@ -16,6 +16,7 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import org.hibernate.annotations.DynamicUpdate; /** * The persistent class for the china_hash_data database table. @@ -27,6 +28,7 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @NoArgsConstructor @Builder +@DynamicUpdate public class ChinaHashDataPO implements Serializable { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/gsafety/gemp/wuhanncov/service/ChinaHashDataServiceImpl.java b/src/main/java/com/gsafety/gemp/wuhanncov/service/ChinaHashDataServiceImpl.java index da9a49a..ea004b3 100644 --- a/src/main/java/com/gsafety/gemp/wuhanncov/service/ChinaHashDataServiceImpl.java +++ b/src/main/java/com/gsafety/gemp/wuhanncov/service/ChinaHashDataServiceImpl.java @@ -1,21 +1,23 @@ -/** - * - */ package com.gsafety.gemp.wuhanncov.service; -import static com.gsafety.gemp.wuhanncov.specification.ChinaHashDataSpecifications.areaCodeIs; - -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - +import cn.hutool.core.date.DateTime; +import cn.hutool.core.util.ObjectUtil; import com.gsafety.gemp.wuhanncov.contract.dto.ChinaHashDataDTO; +import com.gsafety.gemp.wuhanncov.contract.params.DimQueryParam; import com.gsafety.gemp.wuhanncov.contract.service.ChinaHashDataService; import com.gsafety.gemp.wuhanncov.dao.ChinaHashDataRepository; +import com.gsafety.gemp.wuhanncov.dao.po.ChinaHashDataPO; import com.gsafety.gemp.wuhanncov.wrapper.ChinaHashDataWrapper; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +import static com.gsafety.gemp.wuhanncov.specification.ChinaHashDataSpecifications.areaCodeIs; /** * 业务服务器层实现类。 @@ -41,4 +43,21 @@ public class ChinaHashDataServiceImpl implements ChinaHashDataService { return ChinaHashDataWrapper.toMap(findByAreaCode(areaCode)); } + @Override + public Page hashDataPage(DimQueryParam dimQuery, Pageable pageable) { + Page hashDataPage = chinaHashDataRepository.findAll(areaCodeIs(dimQuery.getAreaNo()), pageable); + return ChinaHashDataWrapper.toDTOPage(hashDataPage); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateHashData(ChinaHashDataDTO dto) { + ChinaHashDataPO po = chinaHashDataRepository.getOne(dto.getId()); + if (ObjectUtil.isNotNull(po)) { + po.setDataLabel(dto.getDataLabel()); + po.setDataValue(dto.getDataValue()); + po.setUpdateTime(DateTime.now().toJdkDate()); + } + } + } diff --git a/src/main/java/com/gsafety/gemp/wuhanncov/service/LocationTokenServiceImpl.java b/src/main/java/com/gsafety/gemp/wuhanncov/service/LocationTokenServiceImpl.java index d993c8d..18e3f46 100644 --- a/src/main/java/com/gsafety/gemp/wuhanncov/service/LocationTokenServiceImpl.java +++ b/src/main/java/com/gsafety/gemp/wuhanncov/service/LocationTokenServiceImpl.java @@ -53,15 +53,7 @@ public class LocationTokenServiceImpl implements LocationTokenService { @Override public LocationTokenPO getOne(String id) { - LocationTokenPO po = new LocationTokenPO(); - ExampleMatcher exampleMatcher = ExampleMatcher.matching(); - if(StringUtils.isNotBlank(id)) { - po.setAreaCode(id); - exampleMatcher.withMatcher("areaCode", ExampleMatcher.GenericPropertyMatchers.exact()); - } - - Optional opl = tokenDao.findOne(Example.of(po, exampleMatcher)); - return opl.isPresent() ? opl.get() : null; + return tokenDao.getOne(id); } @Override diff --git a/src/main/java/com/gsafety/gemp/wuhanncov/wrapper/ChinaHashDataWrapper.java b/src/main/java/com/gsafety/gemp/wuhanncov/wrapper/ChinaHashDataWrapper.java index 36fd03f..abe7238 100644 --- a/src/main/java/com/gsafety/gemp/wuhanncov/wrapper/ChinaHashDataWrapper.java +++ b/src/main/java/com/gsafety/gemp/wuhanncov/wrapper/ChinaHashDataWrapper.java @@ -8,10 +8,13 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import com.gsafety.gemp.wuhanncov.contract.dto.PatientAreaRuntimeDTO; import org.springframework.beans.BeanUtils; import com.gsafety.gemp.wuhanncov.contract.dto.ChinaHashDataDTO; import com.gsafety.gemp.wuhanncov.dao.po.ChinaHashDataPO; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; /** * 该类用于...,用于实现...等能力。 @@ -47,6 +50,11 @@ public class ChinaHashDataWrapper { return dto; } + public static Page toDTOPage(Page page) { + List content = toDTOList(page.getContent()); + return new PageImpl<>(content, page.getPageable(), page.getTotalElements()); + } + /** * * 该方法用于实现...的功能 @@ -80,4 +88,5 @@ public class ChinaHashDataWrapper { records.forEach(record -> map.put(record.key(), record.value())); return map; } + } -- Gitee