From 6aa6ed913422b77b867b736eb06f9414134fe9ee Mon Sep 17 00:00:00 2001 From: NiuZiYuan Date: Wed, 14 May 2025 17:07:57 +0800 Subject: [PATCH] dev --- pom.xml | 6 +++- .../clinic/server/common/util/DateUtil.java | 3 ++ .../entity/social/SocialDirectoryUpinfo.java | 16 +++++++---- .../social/SocialDirectoryLimitService.java | 2 +- .../social/SocialDirectoryUpinfoService.java | 28 +++++++++++++++---- 5 files changed, 42 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index e25a443..2d4c168 100644 --- a/pom.xml +++ b/pom.xml @@ -31,7 +31,11 @@ - + + com.meilisearch.sdk + meilisearch-java + 0.14.4 + org.springframework.boot spring-boot-starter-web diff --git a/src/main/java/com/syjiaer/clinic/server/common/util/DateUtil.java b/src/main/java/com/syjiaer/clinic/server/common/util/DateUtil.java index d5f5c11..31b77b2 100644 --- a/src/main/java/com/syjiaer/clinic/server/common/util/DateUtil.java +++ b/src/main/java/com/syjiaer/clinic/server/common/util/DateUtil.java @@ -27,6 +27,9 @@ public class DateUtil { } public static LocalDateTime getDateTime(String dateTimeStr) { + if(dateTimeStr==null){ + return null; + } //如果传入dateStr if (dateTimeStr.length() == 10) { dateTimeStr = dateTimeStr + " 00:00:00"; diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectoryUpinfo.java b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectoryUpinfo.java index f7ba31e..5f123ee 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectoryUpinfo.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectoryUpinfo.java @@ -1,23 +1,26 @@ package com.syjiaer.clinic.server.entity.social; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDateTime; import lombok.Getter; import lombok.Setter; import lombok.ToString; import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.math.BigInteger; -import java.time.LocalDateTime; /** *

* 医保有效期 1312 *

* * @author NiuZiYuan - * @since 2025-04-17 + * @since 2025-05-14 */ @Getter @Setter @@ -29,12 +32,15 @@ public class SocialDirectoryUpinfo implements Serializable { private static final long serialVersionUID = 1L; + @TableId("code") @ApiModelProperty("医保目录编码") private String code; @ApiModelProperty("开始日期") private LocalDateTime begndate; + + @TableField(fill = FieldFill.INSERT_UPDATE) @ApiModelProperty("结束日期") private LocalDateTime enddate; diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryLimitService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryLimitService.java index 13ab285..0bfb015 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryLimitService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryLimitService.java @@ -32,7 +32,7 @@ public class SocialDirectoryLimitService { * @param pageNum 页码 */ @Transactional(rollbackFor = Exception.class) - public Map updateSocial(String updtTime, int pageNum) { + public Map update(String updtTime, int pageNum) { if (updtTime == null || updtTime.trim().isEmpty()) { // 处理参数为空的情况,这里假设返回一个错误结果 throw new MessageException("参数 updt_time 不能为空"); diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryUpinfoService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryUpinfoService.java index c34a4cd..526485b 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryUpinfoService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryUpinfoService.java @@ -16,6 +16,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigInteger; +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; @@ -44,26 +45,41 @@ public class SocialDirectoryUpinfoService { * @param pageNum 页码 */ @Transactional(rollbackFor = Exception.class) - public Map updateSocial(String updtTime, int pageNum) { + public Map update(String updtTime, int pageNum) { if (updtTime == null) { - throw new MessageException("updtTime不能为空"); + throw new MessageException("更新时间不能为空"); } + LocalDate updateDate=LocalDate.parse(updtTime, DateTimeFormatter.ofPattern("yyyy-MM-dd")); + + //如果当前时间是在早上六点到晚上19点之间 + if (LocalDateTime.now().getHour() <6 || LocalDateTime.now().getHour() >19) { + //如果更新时间是30天外 + if (updateDate.isBefore(LocalDate.now().minusDays(30))) { + throw new MessageException("因医保限制,早6点到晚19点间只可以更新30天内数据"); + } + + + } + updtTime=updtTime+" 00:00:00"; IM1312 im1312 = new IM1312(); - logger.info("正在处理第" + pageNum + "页"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); im1312.setUpdtTime(LocalDateTime.parse(updtTime, formatter)); im1312.setValiFlag("1"); im1312.setPageNum(pageNum); im1312.setPageSize(1000); OM1312 om1312 = socialRequest.call1312(im1312); - System.out.println(pageNum + "/" + om1312.getPages()); List> data = om1312.getData(); for (Map datum : data) { SocialDirectoryUpinfo socialDirectoryUpinfo = new SocialDirectoryUpinfo(); socialDirectoryUpinfo.setRid(new BigInteger(datum.get("rid").toString())); socialDirectoryUpinfo.setCode(datum.get("hilist_code").toString()); socialDirectoryUpinfo.setBegndate(DateUtil.getDateTime(datum.get("begndate").toString())); - socialDirectoryUpinfo.setEnddate(DateUtil.getDateTime(datum.get("enddate").toString())); + if(datum.get("enddate")==null){ + socialDirectoryUpinfo.setEnddate(null); + }else{ + socialDirectoryUpinfo.setEnddate(DateUtil.getDateTime(datum.get("enddate").toString())); + } + socialDirectoryUpinfo.setLmtUsedFlag(datum.get("lmt_used_flag").toString()); socialDirectoryUpinfo.setChrgitmLv(datum.get("chrgitm_lv").toString()); socialDirectoryUpinfo.setMedChrgitmType(datum.get("med_chrgitm_type").toString()); @@ -101,7 +117,7 @@ public class SocialDirectoryUpinfoService { return result_map; } - @Transactional(rollbackFor = Exception.class) + private int saveJsonList(JSONArray json_list) { List list = new ArrayList<>(); for (int i = 0; i < json_list.size(); i++) {