This commit is contained in:
牛子源 2025-05-14 17:07:57 +08:00
parent 9acc82b9c1
commit 6aa6ed9134
5 changed files with 42 additions and 13 deletions

View File

@ -31,7 +31,11 @@
</properties>
<dependencies>
<!-- Spring boot -->
<dependency>
<groupId>com.meilisearch.sdk</groupId>
<artifactId>meilisearch-java</artifactId>
<version>0.14.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>

View File

@ -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";

View File

@ -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;
/**
* <p>
* 医保有效期 1312
* </p>
*
* @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;

View File

@ -32,7 +32,7 @@ public class SocialDirectoryLimitService {
* @param pageNum 页码
*/
@Transactional(rollbackFor = Exception.class)
public Map<String, Object> updateSocial(String updtTime, int pageNum) {
public Map<String, Object> update(String updtTime, int pageNum) {
if (updtTime == null || updtTime.trim().isEmpty()) {
// 处理参数为空的情况这里假设返回一个错误结果
throw new MessageException("参数 updt_time 不能为空");

View File

@ -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<String, Object> updateSocial(String updtTime, int pageNum) {
public Map<String, Object> 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<Map<String, Object>> data = om1312.getData();
for (Map<String, Object> 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<SocialDirectoryUpinfo> list = new ArrayList<>();
for (int i = 0; i < json_list.size(); i++) {