Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
B
byh-family-doctor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
包
包
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
杨凯
byh-family-doctor
Commits
a551ad1b
提交
a551ad1b
authored
3月 20, 2024
作者:
杨凯
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:家庭医生初始化
上级
26f6662d
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
377 行增加
和
20 行删除
+377
-20
RegisterPatientVo.java
.../ebaiyihui/family/doctor/common/vo/RegisterPatientVo.java
+9
-0
pom.xml
family-doctor-server/pom.xml
+11
-0
MsgTempTypeEnum.java
...ui/family/doctor/server/common/enums/MsgTempTypeEnum.java
+73
-0
PatientSignController.java
...amily/doctor/server/controller/PatientSignController.java
+2
-1
PatientSignService.java
...ihui/family/doctor/server/service/PatientSignService.java
+5
-1
MobileBenefitPackageServiceImpl.java
.../server/service/impl/MobileBenefitPackageServiceImpl.java
+10
-0
PatientSignServiceImpl.java
...ly/doctor/server/service/impl/PatientSignServiceImpl.java
+15
-15
ScheduleTask.java
...com/ebaiyihui/family/doctor/server/task/ScheduleTask.java
+169
-0
DateUtils.java
...va/com/ebaiyihui/family/doctor/server/util/DateUtils.java
+78
-1
ThirdOrderPushUtil.java
...aiyihui/family/doctor/server/util/ThirdOrderPushUtil.java
+5
-2
没有找到文件。
family-doctor-common/src/main/java/com/ebaiyihui/family/doctor/common/vo/RegisterPatientVo.java
浏览文件 @
a551ad1b
...
...
@@ -19,4 +19,13 @@ public class RegisterPatientVo {
@ApiModelProperty
(
"激活权益订单号"
)
private
String
activateOrderId
;
@ApiModelProperty
(
"问诊订单ID"
)
private
String
admId
;
@ApiModelProperty
(
"排班标识"
)
private
Integer
scheduleFlag
;
@ApiModelProperty
(
"消息推送类型"
)
private
Integer
msgPushType
;
}
family-doctor-server/pom.xml
浏览文件 @
a551ad1b
...
...
@@ -259,6 +259,17 @@
<version>
4.4.2
</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>cn.6tail</groupId>-->
<!-- <artifactId>lunar</artifactId>-->
<!-- <version>1.6.3</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>cn.6tail</groupId>-->
<!-- <artifactId>tyme4j</artifactId>-->
<!-- <version>1.0.3</version>-->
<!-- </dependency>-->
</dependencies>
<build>
...
...
family-doctor-server/src/main/java/com/ebaiyihui/family/doctor/server/common/enums/MsgTempTypeEnum.java
0 → 100644
浏览文件 @
a551ad1b
package
com
.
ebaiyihui
.
family
.
doctor
.
server
.
common
.
enums
;
/**
* @ClassName: MsgTempTypeEnum
* @Author:yanliang
* @Date:2024/3/20 17:59
* @Description
*/
public
enum
MsgTempTypeEnum
{
SIG_SUC
(
"签约成功"
,
1
),
UP_SUC
(
"改签成功"
,
2
),
HP_INQ_DOCTOR
(
"家庭主页问医生"
,
3
),
HP_INQ_DUTY_DOCTOR
(
"家庭主页问联系值班医生"
,
4
),
HEAL_DIS_CON
(
"健康/疾病咨询"
,
5
),
MED_GUD
(
"用药指导"
,
6
),
REP_INTER
(
"报告解读"
,
7
),
PRES_MED
(
"处方开药"
,
8
),
REP_ANO
(
"报告异常"
,
9
),
AFTER_HEAL_ASSE
(
"完成健康评估后"
,
10
),
ACT_PUSH_HEAL_REC
(
"健康档案未完善主动推送"
,
11
),
ACT__SIG_SUC
(
"签约完成主动随访"
,
12
),
ACT_FU_REP_ANO
(
"报告异常主动随访"
,
13
),
ACT_FU_UN_CON
(
"未进行沟通主动随访"
,
14
),
ACT_FU_TSD
(
"清明节主动随访"
,
15
),
ACT_FU_LD
(
"劳动节主动随访"
,
16
),
ACT_FU_TDBF
(
"端午节主动随访"
,
17
),
ACT_FU_MAF
(
"中秋节主动随访"
,
18
),
ACT_FU_ND
(
"国庆节主动随访"
,
19
);
private
String
desc
;
private
Integer
value
;
private
MsgTempTypeEnum
(
String
desc
,
Integer
value
)
{
this
.
desc
=
desc
;
this
.
value
=
value
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
Integer
getValue
()
{
return
value
;
}
public
void
setValue
(
Integer
value
)
{
this
.
value
=
value
;
}
}
family-doctor-server/src/main/java/com/ebaiyihui/family/doctor/server/controller/PatientSignController.java
浏览文件 @
a551ad1b
...
...
@@ -8,6 +8,7 @@ import com.ebaiyihui.family.doctor.server.util.PageUtil;
import
com.ebaiyihui.framework.response.BaseResponse
;
import
com.ebaiyihui.imforward.client.vo.IMQueryMsgReqVO
;
import
com.ebaiyihui.imforward.client.vo.IMQueryUserLoginReqVO
;
import
com.ebaiyihui.imforward.client.vo.IMQueryUserLoginRspVO
;
import
com.ebaiyihui.imforward.client.vo.IMSingleMsgResultVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -109,7 +110,7 @@ public class PatientSignController {
@ApiOperation
(
value
=
"查询APP客户端是或否需要登陆IM"
,
httpMethod
=
"POST"
,
notes
=
"查询APP客户端是或否需要登陆IM"
)
@RequestMapping
(
value
=
"/querysdklogin"
,
method
=
RequestMethod
.
POST
)
public
BaseResponse
<
?
>
querySdkLogin
(
@RequestBody
IMQueryUserLoginReqVO
reqVO
)
{
public
BaseResponse
<
IMQueryUserLoginRspVO
>
querySdkLogin
(
@RequestBody
IMQueryUserLoginReqVO
reqVO
)
{
return
patientSignService
.
querySdkLogin
(
reqVO
);
}
}
family-doctor-server/src/main/java/com/ebaiyihui/family/doctor/server/service/PatientSignService.java
浏览文件 @
a551ad1b
...
...
@@ -7,10 +7,12 @@ import com.ebaiyihui.family.doctor.common.vo.ImAccountVo;
import
com.ebaiyihui.family.doctor.common.vo.ImInfoDetailDocResVo
;
import
com.ebaiyihui.family.doctor.common.vo.ImInfoListResVo
;
import
com.ebaiyihui.family.doctor.common.vo.ImInfoResVo
;
import
com.ebaiyihui.family.doctor.server.entity.PatientSignEntity
;
import
com.ebaiyihui.family.doctor.server.util.PageUtil
;
import
com.ebaiyihui.framework.response.BaseResponse
;
import
com.ebaiyihui.imforward.client.vo.IMQueryMsgReqVO
;
import
com.ebaiyihui.imforward.client.vo.IMQueryUserLoginReqVO
;
import
com.ebaiyihui.imforward.client.vo.IMQueryUserLoginRspVO
;
import
com.ebaiyihui.imforward.client.vo.IMSingleMsgResultVO
;
import
java.util.List
;
...
...
@@ -41,5 +43,7 @@ public interface PatientSignService {
BaseResponse
<
ImAccountVo
>
queryImAccount
(
ImAccountReqDTO
param
);
BaseResponse
<?>
querySdkLogin
(
IMQueryUserLoginReqVO
reqVO
);
BaseResponse
<
IMQueryUserLoginRspVO
>
querySdkLogin
(
IMQueryUserLoginReqVO
reqVO
);
List
<
PatientSignEntity
>
selectList
(
PatientSignEntity
patientSignEntity
);
}
family-doctor-server/src/main/java/com/ebaiyihui/family/doctor/server/service/impl/MobileBenefitPackageServiceImpl.java
浏览文件 @
a551ad1b
...
...
@@ -83,6 +83,16 @@ public class MobileBenefitPackageServiceImpl implements MobileBenefitPackageServ
RegisterPatientVo
registerPatientVo
=
new
RegisterPatientVo
();
registerPatientVo
.
setPatientInfo
(
data
);
registerPatientVo
.
setActivateOrderId
(
map
.
get
(
"activateOrderId"
));
if
(
Objects
.
nonNull
(
map
.
get
(
"consultOrderNo"
)))
{
registerPatientVo
.
setAdmId
(
map
.
get
(
"admId"
));
}
if
(
Objects
.
nonNull
(
map
.
get
(
"scheduleFlag"
)))
{
registerPatientVo
.
setScheduleFlag
(
Integer
.
valueOf
(
map
.
get
(
"scheduleFlag"
)));
}
if
(
Objects
.
nonNull
(
map
.
get
(
"msgPushType"
)))
{
registerPatientVo
.
setMsgPushType
(
Integer
.
valueOf
(
map
.
get
(
"msgPushType"
)));
}
String
patientId
=
map
.
get
(
"patient_id"
);
if
(!
StringUtils
.
isEmpty
(
patientId
))
{
// 查询患者信息
...
...
family-doctor-server/src/main/java/com/ebaiyihui/family/doctor/server/service/impl/PatientSignServiceImpl.java
浏览文件 @
a551ad1b
...
...
@@ -9,9 +9,9 @@ import com.ebaiyihui.family.doctor.common.dto.ImAccountReqDTO;
import
com.ebaiyihui.family.doctor.common.dto.ImInfoDetailDocReqDTO
;
import
com.ebaiyihui.family.doctor.common.dto.ImInfoListDocReqDTO
;
import
com.ebaiyihui.family.doctor.common.vo.*
;
import
com.ebaiyihui.family.doctor.server.common.constants.CommonConstants
;
import
com.ebaiyihui.family.doctor.server.common.constants.IMInformConstants
;
import
com.ebaiyihui.family.doctor.server.common.constants.ImConstants
;
import
com.ebaiyihui.family.doctor.server.common.enums.SignStatus
;
import
com.ebaiyihui.family.doctor.server.common.enums.StatusEnum
;
import
com.ebaiyihui.family.doctor.server.entity.PatientEntity
;
import
com.ebaiyihui.family.doctor.server.entity.PatientSignEntity
;
...
...
@@ -141,19 +141,9 @@ public class PatientSignServiceImpl implements PatientSignService {
resVo
.
setDeptId
(
String
.
valueOf
(
res
.
getData
().
getDeptId
()));
}
// List<String> appointmentId = new ArrayList<>();
QueryWrapper
<
PatientSignEntity
>
listWrapper
=
new
QueryWrapper
<>();
PatientSignEntity
pg
=
new
PatientSignEntity
();
pg
.
setDoctorId
(
patientSignEntity
.
getDoctorId
());
pg
.
setDeptId
(
patientSignEntity
.
getDeptId
());
pg
.
setPatientId
(
patientSignEntity
.
getPatientId
());
pg
.
setAppCode
(
CommonConstants
.
APP_CODE
);
listWrapper
.
setEntity
(
patientSign
);
listWrapper
.
in
(
"sign_status"
,
1
,
2
);
List
<
PatientSignEntity
>
patientSignEntities
=
patientSignMapper
.
selectList
(
listWrapper
);
// appointmentId.add(admId);
imQueryMsgReqVO
.
setAppointmentId
(
patientSignEntities
.
stream
().
map
(
PatientSignEntity:
:
getAdmId
).
collect
(
Collectors
.
toList
()));
List
<
String
>
appointmentId
=
new
ArrayList
<>();
appointmentId
.
add
(
admId
);
imQueryMsgReqVO
.
setAppointmentId
(
appointmentId
);
BaseResponse
<
List
<
IMSingleMsgResultVO
>>
allMsgContent
=
getAllMsgContent
(
imQueryMsgReqVO
);
...
...
@@ -279,7 +269,7 @@ public class PatientSignServiceImpl implements PatientSignService {
}
@Override
public
BaseResponse
<
?
>
querySdkLogin
(
IMQueryUserLoginReqVO
reqVO
)
{
public
BaseResponse
<
IMQueryUserLoginRspVO
>
querySdkLogin
(
IMQueryUserLoginReqVO
reqVO
)
{
BaseResponse
<
IMQueryUserLoginRspVO
>
imSysResult
=
imApiFeignClient
.
queryUserLogin
(
reqVO
);
if
(
imSysResult
==
null
)
{
...
...
@@ -292,6 +282,16 @@ public class PatientSignServiceImpl implements PatientSignService {
return
BaseResponse
.
success
(
imSysResult
.
getData
());
}
@Override
public
List
<
PatientSignEntity
>
selectList
(
PatientSignEntity
patientSignEntity
)
{
QueryWrapper
<
PatientSignEntity
>
listWrapper
=
new
QueryWrapper
<>();
patientSignEntity
.
setStatus
(
StatusEnum
.
IN_CONSULTATION
.
getValue
());
patientSignEntity
.
setSignStatus
(
SignStatus
.
SIGNED
.
getValue
());
listWrapper
.
setEntity
(
patientSignEntity
);
List
<
PatientSignEntity
>
patientSignEntities
=
patientSignMapper
.
selectList
(
listWrapper
);
return
patientSignEntities
;
}
public
ImAccountVo
getImAccounts
(
PatientSignEntity
patientSignEntity
,
String
admId
,
String
imAppCode
,
String
doctorId
)
{
ImAccountVo
admission
=
new
ImAccountVo
();
...
...
family-doctor-server/src/main/java/com/ebaiyihui/family/doctor/server/task/ScheduleTask.java
0 → 100644
浏览文件 @
a551ad1b
package
com
.
ebaiyihui
.
family
.
doctor
.
server
.
task
;
import
com.alibaba.fastjson.JSONObject
;
import
com.ebaiyihui.family.doctor.common.bo.Result
;
import
com.ebaiyihui.family.doctor.common.dto.HealthInfoDTO
;
import
com.ebaiyihui.family.doctor.common.dto.SendImMsgDTO
;
import
com.ebaiyihui.family.doctor.server.common.constants.CommonConstants
;
import
com.ebaiyihui.family.doctor.server.common.constants.ImConstants
;
import
com.ebaiyihui.family.doctor.server.common.enums.MsgTempTypeEnum
;
import
com.ebaiyihui.family.doctor.server.entity.PatientSignEntity
;
import
com.ebaiyihui.family.doctor.server.service.ImMsgTemplateService
;
import
com.ebaiyihui.family.doctor.server.service.PatientSignService
;
import
com.ebaiyihui.family.doctor.server.util.DateUtils
;
import
com.ebaiyihui.family.doctor.server.util.ThirdOrderPushUtil
;
import
com.ebaiyihui.framework.response.BaseResponse
;
import
com.ebaiyihui.imforward.client.vo.IMQueryMsgReqVO
;
import
com.ebaiyihui.imforward.client.vo.IMQueryUserLoginReqVO
;
import
com.ebaiyihui.imforward.client.vo.IMQueryUserLoginRspVO
;
import
com.ebaiyihui.imforward.client.vo.IMSingleMsgResultVO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
* @ClassName: TaskSchedule
* @Author:yanliang
* @Date:2024/3/20 17:29
* @Description
*/
@Component
@Slf4j
public
class
ScheduleTask
{
@Autowired
private
ImMsgTemplateService
imMsgTemplateService
;
@Autowired
private
PatientSignService
patientSignSevice
;
@Autowired
private
ThirdOrderPushUtil
thirdOrderPushUtil
;
@Scheduled
(
cron
=
"0 0 10 * * ?"
)
public
void
healthRecordWhetherUpdate
()
{
List
<
PatientSignEntity
>
patientSignEntities
=
patientSignSevice
.
selectList
(
new
PatientSignEntity
());
for
(
PatientSignEntity
ps
:
patientSignEntities
)
{
HealthInfoDTO
healthInfoDTO
=
new
HealthInfoDTO
();
healthInfoDTO
.
setPhone
(
ps
.
getPatientPhone
());
// 查询用户健康档案30天内是否有更新
String
result
=
thirdOrderPushUtil
.
getHealthRecordWhetherUpdate
(
healthInfoDTO
);
Result
<
Boolean
>
res
=
JSONObject
.
parseObject
(
result
,
Result
.
class
);
Boolean
flag
=
res
.
getData
();
SendImMsgDTO
sendImMsgDTO
=
new
SendImMsgDTO
();
sendImMsgDTO
.
setAppCode
(
CommonConstants
.
APP_CODE
);
sendImMsgDTO
.
setOrganId
(
CommonConstants
.
ORGAN_CODE
);
sendImMsgDTO
.
setAdmId
(
ps
.
getAdmId
());
if
(!
flag
)
{
sendImMsgDTO
.
setType
(
MsgTempTypeEnum
.
ACT_PUSH_HEAL_REC
.
getValue
());
imMsgTemplateService
.
sendImMsg
(
sendImMsgDTO
);
}
// 1、签约完成定时任务第10天,主动触发 2、定时任务之后每隔15天,主动触发
Date
curDate
=
new
Date
();
int
difDay
=
DateUtils
.
daysBetween
(
ps
.
getCreateTime
(),
curDate
);
int
afterFifteenDay
=
DateUtils
.
daysBetween
(
ps
.
getCreateTime
(),
curDate
);
if
(
10
==
difDay
||
afterFifteenDay
%
15
==
0
)
{
sendImMsgDTO
.
setType
(
MsgTempTypeEnum
.
ACT__SIG_SUC
.
getValue
());
imMsgTemplateService
.
sendImMsg
(
sendImMsgDTO
);
}
// 1、当用户有触发过‘报告异常’问诊 2、定时任务触发20天后主动触发
if
(
20
==
difDay
)
{
sendImMsgDTO
.
setType
(
MsgTempTypeEnum
.
ACT_FU_REP_ANO
.
getValue
());
imMsgTemplateService
.
sendImMsg
(
sendImMsgDTO
);
}
// 1、当用户与医生7天未进行沟通 2、判断后主动触发
// {"appCode":"EHOS_PATIENT","appointmentId":["9ad0b140bd1b4b86b1aa68f59c9dbf9a"],"businessCode":"jtys","msgType":"1","page":0,"pageSize":999,"sortOrder":"ASC","userId":"18170905967"}
IMQueryMsgReqVO
imQueryMsgReqVO
=
new
IMQueryMsgReqVO
();
imQueryMsgReqVO
.
setAppCode
(
ImConstants
.
IM_PAT_ACCOUNT_NUM
);
imQueryMsgReqVO
.
setBusinessCode
(
ImConstants
.
IM_QUERY_ACCOUNT_CODE
);
imQueryMsgReqVO
.
setMsgType
(
"1"
);
imQueryMsgReqVO
.
setPageSize
(
10
);
imQueryMsgReqVO
.
setSortOrder
(
"DESC"
);
List
<
String
>
appointmentIds
=
new
ArrayList
<>();
appointmentIds
.
add
(
ps
.
getAdmId
());
imQueryMsgReqVO
.
setAppointmentId
(
appointmentIds
);
imQueryMsgReqVO
.
setUserId
(
ps
.
getPatientUserId
());
String
sendTimeStr
=
"2023-12-01 00:00:00"
;
try
{
BaseResponse
<
List
<
IMSingleMsgResultVO
>>
msgContent
=
patientSignSevice
.
getAllMsgContent
(
imQueryMsgReqVO
);
if
(
"1"
.
equals
(
msgContent
.
getCode
()))
{
List
<
IMSingleMsgResultVO
>
imSingleMsgResultVOS
=
msgContent
.
getData
();
IMQueryUserLoginReqVO
imQueryUserLoginReqVO
=
new
IMQueryUserLoginReqVO
();
imQueryUserLoginReqVO
.
setAppCode
(
ImConstants
.
IM_PAT_ACCOUNT_NUM
);
imQueryUserLoginReqVO
.
setUserId
(
ps
.
getPatientUserId
());
BaseResponse
<
IMQueryUserLoginRspVO
>
sdkLogin
=
patientSignSevice
.
querySdkLogin
(
imQueryUserLoginReqVO
);
if
(
"1"
.
equals
(
sdkLogin
.
getCode
()))
{
IMQueryUserLoginRspVO
imQueryUserLoginRspVO
=
sdkLogin
.
getData
();
String
sdkAccount
=
imQueryUserLoginRspVO
.
getSdkAccount
();
for
(
IMSingleMsgResultVO
imSingleMsgResultVO
:
imSingleMsgResultVOS
)
{
if
(
imSingleMsgResultVO
.
getSender
().
equals
(
sdkAccount
))
{
sendTimeStr
=
imSingleMsgResultVO
.
getSendTime
();
break
;
}
}
}
Date
sendTime
=
DateUtils
.
parseDate
(
sendTimeStr
,
DateUtils
.
FULL_FORMAT
);
int
difSendDay
=
DateUtils
.
daysBetween
(
sendTime
,
curDate
);
if
(
7
==
difSendDay
)
{
sendImMsgDTO
.
setType
(
MsgTempTypeEnum
.
ACT_FU_UN_CON
.
getValue
());
imMsgTemplateService
.
sendImMsg
(
sendImMsgDTO
);
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"获取发送消息异常"
,
e
);
}
}
}
@Scheduled
(
cron
=
"0 0 20 * * ?"
)
public
void
holidayPush
()
{
List
<
PatientSignEntity
>
patientSignEntities
=
patientSignSevice
.
selectList
(
new
PatientSignEntity
());
for
(
PatientSignEntity
ps
:
patientSignEntities
)
{
try
{
SendImMsgDTO
sendImMsgDTO
=
new
SendImMsgDTO
();
sendImMsgDTO
.
setAppCode
(
CommonConstants
.
APP_CODE
);
sendImMsgDTO
.
setOrganId
(
CommonConstants
.
ORGAN_CODE
);
sendImMsgDTO
.
setAdmId
(
ps
.
getAdmId
());
Date
curDate
=
new
Date
();
Date
qmBeforeDay
=
DateUtils
.
getQingMingBeforeDay
(
curDate
);
Date
curDay
=
DateUtils
.
parseDate
(
DateUtils
.
getFormatDateString
(
curDate
,
DateUtils
.
SIMPLE_FORMAT
),
DateUtils
.
SIMPLE_FORMAT
);
if
(
qmBeforeDay
.
equals
(
curDay
))
{
sendImMsgDTO
.
setType
(
MsgTempTypeEnum
.
ACT_FU_TSD
.
getValue
());
imMsgTemplateService
.
sendImMsg
(
sendImMsgDTO
);
}
Date
laborBeforeDay
=
DateUtils
.
getLaborBeforeDay
(
curDate
);
if
(
laborBeforeDay
.
equals
(
curDay
))
{
sendImMsgDTO
.
setType
(
MsgTempTypeEnum
.
ACT_FU_LD
.
getValue
());
imMsgTemplateService
.
sendImMsg
(
sendImMsgDTO
);
}
Date
duanWuBeforeDay
=
DateUtils
.
getLaborBeforeDay
(
curDate
);
if
(
duanWuBeforeDay
.
equals
(
curDay
))
{
sendImMsgDTO
.
setType
(
MsgTempTypeEnum
.
ACT_FU_TDBF
.
getValue
());
imMsgTemplateService
.
sendImMsg
(
sendImMsgDTO
);
}
Date
zhongQiuBeforeDay
=
DateUtils
.
getZhongQiuBeforeDay
(
curDate
);
if
(
zhongQiuBeforeDay
.
equals
(
curDay
))
{
sendImMsgDTO
.
setType
(
MsgTempTypeEnum
.
ACT_FU_MAF
.
getValue
());
imMsgTemplateService
.
sendImMsg
(
sendImMsgDTO
);
}
Date
guoQingBeforeDay
=
DateUtils
.
getGuoQingBeforeDay
(
curDate
);
if
(
guoQingBeforeDay
.
equals
(
curDay
))
{
sendImMsgDTO
.
setType
(
MsgTempTypeEnum
.
ACT_FU_MAF
.
getValue
());
imMsgTemplateService
.
sendImMsg
(
sendImMsgDTO
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"节日日期转换异常"
,
e
);
}
}
}
}
family-doctor-server/src/main/java/com/ebaiyihui/family/doctor/server/util/DateUtils.java
浏览文件 @
a551ad1b
...
...
@@ -10,7 +10,6 @@ import java.text.DateFormat;
import
java.text.ParseException
;
import
java.text.ParsePosition
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
import
java.time.format.DateTimeFormatter
;
...
...
@@ -36,6 +35,8 @@ public class DateUtils {
public
final
static
String
SIMPLE_TIME_FORMAT
=
"HH:mm:ss"
;
public
final
static
String
SIMPLE_TIME_FORMAT_MINUTE
=
"mm:ss"
;
public
final
static
String
YEAR
=
"yyyy"
;
/**
* 分钟 转 天时分
...
...
@@ -2105,4 +2106,80 @@ public class DateUtils {
return
futureDate
;
}
public
static
Date
getQingMingBeforeDay
(
Date
currentDate
)
throws
ParseException
{
// 设置清明节日期为4月4日或4月5日
String
qingMingDateStr
=
getFormatDateString
(
currentDate
,
YEAR
)
+
"-04-04"
;
// 以2024年为例
Date
qingMingDate
=
parseDate
(
qingMingDateStr
,
SIMPLE_FORMAT
);
// 使用Calendar类处理日期
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
qingMingDate
);
calendar
.
add
(
Calendar
.
DAY_OF_YEAR
,
-
1
);
// 获取清明节前一天
// 将获取到的日期转换为Date对象
Date
qingMingEveDate
=
calendar
.
getTime
();
return
qingMingEveDate
;
}
public
static
Date
getLaborBeforeDay
(
Date
currentDate
)
throws
ParseException
{
// 设置劳动节日期为5月1日
String
laborDayStr
=
getFormatDateString
(
currentDate
,
YEAR
)
+
"-05-01"
;
// 以2024年为例
Date
laborDay
=
parseDate
(
laborDayStr
,
SIMPLE_FORMAT
);
// 使用Calendar类处理日期
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
laborDay
);
calendar
.
add
(
Calendar
.
DAY_OF_YEAR
,
-
1
);
// 获取劳动节前一天
// 将获取到的日期转换为Date对象
Date
laborDayEve
=
calendar
.
getTime
();
return
laborDayEve
;
}
public
static
Date
getDuanWuBeforeDay
(
Date
currentDate
)
throws
ParseException
{
// 设置端午节日期为6月8日
String
duanWuDayStr
=
getFormatDateString
(
currentDate
,
YEAR
)
+
"-06-08"
;
// 以2024年为例
Date
duanWuDay
=
parseDate
(
duanWuDayStr
,
SIMPLE_FORMAT
);
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
duanWuDay
);
// 往前推一天
calendar
.
add
(
Calendar
.
DAY_OF_YEAR
,
-
1
);
Date
duanwuDayEve
=
calendar
.
getTime
();
return
duanwuDayEve
;
}
public
static
Date
getZhongQiuBeforeDay
(
Date
currentDate
)
throws
ParseException
{
// 设置端午节日期为6月8日
String
zhongQiuDayStr
=
getFormatDateString
(
currentDate
,
YEAR
)
+
"-09-14"
;
// 以2024年为例
Date
zhongQiuDay
=
parseDate
(
zhongQiuDayStr
,
SIMPLE_FORMAT
);
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
zhongQiuDay
);
// 往前推一天
calendar
.
add
(
Calendar
.
DAY_OF_YEAR
,
-
1
);
Date
zhongQiuDayEve
=
calendar
.
getTime
();
return
zhongQiuDayEve
;
}
public
static
Date
getGuoQingBeforeDay
(
Date
currentDate
)
throws
ParseException
{
// 设置国庆节日期为10月01日
String
guoQingDayStr
=
getFormatDateString
(
currentDate
,
YEAR
)
+
"-10-01"
;
// 以2024年为例
Date
guoQingDay
=
parseDate
(
guoQingDayStr
,
SIMPLE_FORMAT
);
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
guoQingDay
);
// 往前推一天
calendar
.
add
(
Calendar
.
DAY_OF_YEAR
,
-
1
);
Date
guoQingDayEve
=
calendar
.
getTime
();
return
guoQingDayEve
;
}
}
family-doctor-server/src/main/java/com/ebaiyihui/family/doctor/server/util/ThirdOrderPushUtil.java
浏览文件 @
a551ad1b
...
...
@@ -181,15 +181,18 @@ public class ThirdOrderPushUtil {
*
* @param healthInfoDTO
*/
public
void
getHealthRecordWhetherUpdate
(
HealthInfoDTO
healthInfoDTO
)
{
public
String
getHealthRecordWhetherUpdate
(
HealthInfoDTO
healthInfoDTO
)
{
String
result
=
""
;
try
{
String
param
=
JSONObject
.
toJSONString
(
healthInfoDTO
);
log
.
info
(
"getHealthRecordWhetherUpdate请求入参{}"
,
param
);
String
result
=
HttpKit
.
jsonPost
(
projProperties
.
getFamilyDoctorThirdUrl
()
+
UrlConstants
.
HEALTH_RECORD_WHETHER_UPDATE_URL
,
param
,
getThirdHead
(
healthInfoDTO
));
result
=
HttpKit
.
jsonPost
(
projProperties
.
getFamilyDoctorThirdUrl
()
+
UrlConstants
.
HEALTH_RECORD_WHETHER_UPDATE_URL
,
param
,
getThirdHead
(
healthInfoDTO
));
log
.
info
(
"getHealthRecordWhetherUpdate请求返参{}"
,
param
);
}
catch
(
Exception
e
)
{
log
.
error
(
"getHealthRecordWhetherUpdate请求失败:{}"
,
e
);
}
return
result
;
}
/**
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论