Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
medical-server
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
aiming-medical
medical-server
Commits
e403d0df
提交
e403d0df
authored
10月 21, 2023
作者:
zhu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.develop
上级
bd4398c5
隐藏空白字符变更
内嵌
并排
正在显示
20 个修改的文件
包含
136 行增加
和
53 行删除
+136
-53
SaTokenConfig.java
...in/java/com/xwd/hospital/server/config/SaTokenConfig.java
+2
-0
MedicalReport.java
...in/java/com/xwd/hospital/server/domain/MedicalReport.java
+16
-0
Order.java
src/main/java/com/xwd/hospital/server/domain/Order.java
+5
-0
PatientPrescriptionInfo.java
...m/xwd/hospital/server/domain/PatientPrescriptionInfo.java
+1
-0
ReportDto.java
src/main/java/com/xwd/hospital/server/dto/ReportDto.java
+9
-0
MedicalReportPictureMapper.java
...ospital/server/repository/MedicalReportPictureMapper.java
+1
-1
OrderController.java
...in/java/com/xwd/hospital/server/rest/OrderController.java
+10
-0
PaymentController.java
.../java/com/xwd/hospital/server/rest/PaymentController.java
+4
-6
MedicalReportParam.java
.../com/xwd/hospital/server/rest/req/MedicalReportParam.java
+6
-0
PayReq.java
...ava/com/xwd/hospital/server/rest/thirdPartReq/PayReq.java
+10
-0
OrderService.java
...in/java/com/xwd/hospital/server/service/OrderService.java
+2
-0
MedicalReportServiceImpl.java
...ospital/server/service/impl/MedicalReportServiceImpl.java
+1
-0
OrderServiceImpl.java
...om/xwd/hospital/server/service/impl/OrderServiceImpl.java
+21
-7
PaymentServiceImpl.java
.../xwd/hospital/server/service/impl/PaymentServiceImpl.java
+19
-24
application-dev.yml
src/main/resources/application-dev.yml
+4
-4
application-prod.yml
src/main/resources/application-prod.yml
+4
-4
V1.0.0__schema.sql
src/main/resources/db/migration/V1.0.0__schema.sql
+1
-0
MedicalReportPictureMapper.xml
src/main/resources/mappers/MedicalReportPictureMapper.xml
+7
-0
OrderMapper.xml
src/main/resources/mappers/OrderMapper.xml
+1
-1
MedicalReportBaseMapper.xml
src/main/resources/mappers/base/MedicalReportBaseMapper.xml
+12
-6
没有找到文件。
src/main/java/com/xwd/hospital/server/config/SaTokenConfig.java
浏览文件 @
e403d0df
...
...
@@ -44,6 +44,8 @@ public class SaTokenConfig implements WebMvcConfigurer {
.
excludePathPatterns
(
"/v1/system/user/getPhoneNumber"
)
.
excludePathPatterns
(
"/v1/system/sms/sendSms"
)
.
excludePathPatterns
(
"/v1/system/home/patientMiniAppHome"
)
.
excludePathPatterns
(
"/v1/system/payment/payNotify"
)
.
excludePathPatterns
(
"/v1/system/payment/refundNotify"
)
// swagger 放行
.
excludePathPatterns
(
"/webjars/**"
)
.
excludePathPatterns
(
"/doc.html"
)
...
...
src/main/java/com/xwd/hospital/server/domain/MedicalReport.java
浏览文件 @
e403d0df
...
...
@@ -23,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import
com.xwd.hospital.server.base.BaseDomain
;
import
com.xwd.hospital.server.enums.SexTypeEnum
;
import
com.xwd.hospital.server.enums.ReportStateEnum
;
import
com.xwd.hospital.server.domain.DoctorInfo
;
@Data
@Builder
(
builderMethodName
=
"newBuilder"
)
...
...
@@ -99,6 +100,18 @@ public class MedicalReport extends BaseDomain {
@TableField
(
value
=
"report_state"
)
@Schema
(
description
=
"影像报告状态"
,
nullable
=
false
)
private
ReportStateEnum
reportState
;
/**
* 医生Id
*/
@TableField
(
value
=
"doctor_id"
)
@Schema
(
description
=
"医生Id"
)
private
Long
doctorId
;
/**
* 医生Id
*/
@Schema
(
description
=
"医生Id"
)
@TableField
(
exist
=
false
)
private
DoctorInfo
doctor
;
/**
* 医生医嘱
*/
...
...
@@ -132,6 +145,9 @@ public class MedicalReport extends BaseDomain {
@Schema
(
description
=
"更新时间"
,
nullable
=
false
)
private
java
.
util
.
Date
updateTime
;
@TableField
(
exist
=
false
)
private
List
<
String
>
pictureList
;
/**
* 设置默认值
*/
...
...
src/main/java/com/xwd/hospital/server/domain/Order.java
浏览文件 @
e403d0df
...
...
@@ -264,13 +264,18 @@ public class Order extends BaseDomain {
/**
* 患者自述图片链接
*/
@TableField
(
exist
=
false
)
private
List
<
String
>
pictureList
;
/**
* 患者所提交的处方
*/
@TableField
(
exist
=
false
)
private
PatientPrescriptionInfo
patientPrescriptionInfo
;
@TableField
(
exist
=
false
)
private
PrescriptionOrderRecord
prescriptionOrderRecord
;
/**
* 设置默认值
*/
...
...
src/main/java/com/xwd/hospital/server/domain/PatientPrescriptionInfo.java
浏览文件 @
e403d0df
...
...
@@ -110,6 +110,7 @@ public class PatientPrescriptionInfo extends BaseDomain {
/**
* 图片列表
*/
@TableField
(
exist
=
false
)
private
List
<
String
>
pictureList
;
/**
...
...
src/main/java/com/xwd/hospital/server/dto/ReportDto.java
浏览文件 @
e403d0df
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import
com.xwd.hospital.server.enums.SexTypeEnum
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.List
;
...
...
@@ -58,6 +59,14 @@ public class ReportDto {
@Schema
(
description
=
"报告医生"
,
nullable
=
false
)
private
String
reportDoctor
;
/**
* 报告时间
*/
@TableField
(
value
=
"report_time"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Schema
(
description
=
"报告时间"
,
nullable
=
false
)
private
java
.
util
.
Date
reportTime
;
private
List
<
String
>
pictureList
;
}
src/main/java/com/xwd/hospital/server/repository/MedicalReportPictureMapper.java
浏览文件 @
e403d0df
...
...
@@ -22,6 +22,6 @@ import com.xwd.hospital.server.repository.base.MedicalReportPictureBaseMapper;
@Repository
public
interface
MedicalReportPictureMapper
extends
MedicalReportPictureBaseMapper
{
List
<
String
>
selectByReportId
(
Long
reportId
);
}
src/main/java/com/xwd/hospital/server/rest/OrderController.java
浏览文件 @
e403d0df
...
...
@@ -24,6 +24,7 @@ import com.xwd.hospital.server.base.BaseController;
import
com.xwd.hospital.server.domain.User
;
import
com.xwd.hospital.server.dto.*
;
import
com.xwd.hospital.server.enums.OrderStateEnum
;
import
com.xwd.hospital.server.enums.OrderTypeEnum
;
import
com.xwd.hospital.server.rest.res.ApiCode
;
import
com.xwd.hospital.server.domain.Order
;
import
com.xwd.hospital.server.rest.req.OrderParam
;
...
...
@@ -89,6 +90,15 @@ public class OrderController extends BaseController<OrderService, Order, OrderPa
return
ApiResponse
.
ok
(
this
.
service
.
saveBatch
(
entityList
));
}
@Override
@GetMapping
(
"/{id}"
)
@Operation
(
summary
=
"通过主键查询"
)
@ApiCommon
public
ApiResponse
<
Order
>
selectByPrimaryKey
(
@PathVariable
(
"id"
)
Long
id
)
{
return
ApiResponse
.
ok
(
this
.
service
.
queryOrderById
(
id
));
}
/**
* 小程序端订单列表
*
...
...
src/main/java/com/xwd/hospital/server/rest/PaymentController.java
浏览文件 @
e403d0df
...
...
@@ -3,6 +3,7 @@ package com.xwd.hospital.server.rest;
import
com.xwd.hospital.server.annotation.ApiCommon
;
import
com.xwd.hospital.server.enums.PayPathEnum
;
import
com.xwd.hospital.server.rest.res.ApiResponse
;
import
com.xwd.hospital.server.rest.thirdPartReq.PayReq
;
import
com.xwd.hospital.server.service.PaymentService
;
import
com.xwd.hospital.server.service.SmsService
;
import
io.swagger.v3.oas.annotations.Operation
;
...
...
@@ -11,10 +12,7 @@ import jakarta.annotation.Resource;
import
jakarta.servlet.http.HttpServletRequest
;
import
jakarta.servlet.http.HttpServletResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
@Slf4j
@RestController
...
...
@@ -32,9 +30,9 @@ public class PaymentController {
@Operation
(
summary
=
"支付行为调起"
)
@PostMapping
(
"/startPay"
)
@ApiCommon
public
ApiResponse
startPay
(
@Request
Param
(
"orderNo"
)
String
orderNo
,
@RequestParam
(
"payPath"
)
PayPathEnum
payPath
)
{
public
ApiResponse
startPay
(
@Request
Body
PayReq
payReq
)
{
return
ApiResponse
.
ok
(
paymentService
.
startPay
(
orderNo
,
payPath
));
return
ApiResponse
.
ok
(
paymentService
.
startPay
(
payReq
.
getOrderNo
(),
payReq
.
getPayPath
()
));
}
/**
...
...
src/main/java/com/xwd/hospital/server/rest/req/MedicalReportParam.java
浏览文件 @
e403d0df
...
...
@@ -110,6 +110,11 @@ public class MedicalReportParam extends BaseParam<MedicalReport> {
*/
@Parameter
(
description
=
"影像报告状态 IN值List"
)
private
List
<
String
>
reportStateList
;
/**
* 医生Id
*/
@Parameter
(
description
=
"医生Id"
)
private
Long
doctorId
;
/**
* 医生医嘱
*/
...
...
@@ -253,6 +258,7 @@ public class MedicalReportParam extends BaseParam<MedicalReport> {
wrapper
.
lt
(
this
.
getReportTimeTo
()
!=
null
,
columnPrefix
+
"report_time"
,
this
.
getReportTimeTo
());
wrapper
.
eq
(
this
.
getReportState
()
!=
null
,
columnPrefix
+
"report_state"
,
this
.
getReportState
());
wrapper
.
in
(
this
.
getReportStateList
()
!=
null
&&
this
.
getReportStateList
().
size
()
>
0
,
columnPrefix
+
"report_state"
,
this
.
getReportStateList
());
wrapper
.
eq
(
this
.
getDoctorId
()
!=
null
,
columnPrefix
+
"doctor_id"
,
this
.
getDoctorId
());
if
(
this
.
getDoctorAsks
()
!=
null
)
{
if
(
this
.
getDoctorAsks
().
startsWith
(
"%"
)
&&
this
.
getDoctorAsks
().
endsWith
(
"%"
))
{
wrapper
.
like
(
columnPrefix
+
"doctor_asks"
,
this
.
getDoctorAsks
().
substring
(
1
,
this
.
getDoctorAsks
().
length
()
-
1
));
...
...
src/main/java/com/xwd/hospital/server/rest/thirdPartReq/PayReq.java
0 → 100644
浏览文件 @
e403d0df
package
com
.
xwd
.
hospital
.
server
.
rest
.
thirdPartReq
;
import
com.xwd.hospital.server.enums.PayPathEnum
;
import
lombok.Data
;
@Data
public
class
PayReq
{
private
String
orderNo
;
private
PayPathEnum
payPath
;
}
src/main/java/com/xwd/hospital/server/service/OrderService.java
浏览文件 @
e403d0df
...
...
@@ -21,6 +21,8 @@ import org.springframework.data.domain.jaxb.SpringDataJaxb;
public
interface
OrderService
extends
BaseService
<
Order
>
{
Order
queryOrderById
(
Long
id
);
IPage
<
OrderDto
>
queryOrderListForMiniApp
(
Page
page
,
OrderStateEnum
state
);
Order
createOrder
(
CreateOrderDto
createOrderDto
);
...
...
src/main/java/com/xwd/hospital/server/service/impl/MedicalReportServiceImpl.java
浏览文件 @
e403d0df
...
...
@@ -66,6 +66,7 @@ public class MedicalReportServiceImpl extends ServiceImpl<MedicalReportMapper, M
medicalReport
.
setSex
(
dto
.
getSex
());
medicalReport
.
setReportItem
(
dto
.
getReportItem
());
medicalReport
.
setReportDeclare
(
dto
.
getReportDeclare
());
medicalReport
.
setReportTime
(
dto
.
getReportTime
());
this
.
save
(
medicalReport
);
if
(
null
!=
dto
.
getPictureList
()
...
...
src/main/java/com/xwd/hospital/server/service/impl/OrderServiceImpl.java
浏览文件 @
e403d0df
...
...
@@ -64,6 +64,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
private
SettingService
settingService
;
@Resource
private
OrderPayService
orderPayService
;
@Resource
private
PaymentService
paymentService
;
@Override
public
int
updateAllFieldsById
(
Order
entity
)
{
...
...
@@ -84,6 +86,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
return
executeBatch
(
entityList
,
batchSize
,
(
sqlSession
,
entity
)
->
sqlSession
.
insert
(
sqlStatement
,
entity
));
}
@Override
public
Order
queryOrderById
(
Long
id
)
{
Order
order
=
this
.
getBaseMapper
().
selectById
(
id
);
if
(
order
.
getOrderType
()
==
OrderTypeEnum
.
PRESCRIPTION
){
PrescriptionOrderRecord
record
=
prescriptionOrderRecordService
.
getOne
(
Wrappers
.<
PrescriptionOrderRecord
>
query
().
eq
(
"order_id"
,
order
.
getId
()));
if
(
null
!=
record
){
order
.
setPrescriptionOrderRecord
(
record
);
}
}
return
order
;
}
@Override
public
IPage
<
OrderDto
>
queryOrderListForMiniApp
(
Page
page
,
OrderStateEnum
param
)
{
...
...
@@ -291,7 +304,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
Order
order
=
this
.
getOne
(
Wrappers
.<
Order
>
query
().
eq
(
"order_no"
,
orderNo
));
if
(
order
.
getOrderState
()
==
OrderStateEnum
.
TO_PAY
){
//待支付的订单方可取消
order
.
setOrderState
(
OrderStateEnum
.
CANCELED
);
this
.
save
(
order
);
this
.
save
OrUpdate
(
order
);
//优惠券是否返回
//查询优惠券
...
...
@@ -303,7 +316,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
&&
currentDate
.
before
(
userCouponInfo
.
getCouponEndDate
())){
userCouponInfo
.
setCouponUseState
(
CouponUseStateEnum
.
USEABLE
);
userCouponInfo
.
setEditorId
(
1L
);
userCouponInfoService
.
save
(
userCouponInfo
);
userCouponInfoService
.
save
OrUpdate
(
userCouponInfo
);
}
}
}
...
...
@@ -323,7 +336,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
if
(
order
.
getOrderState
()
==
OrderStateEnum
.
TO_CONFIRM
){
order
.
setOrderState
(
OrderStateEnum
.
REJECTED
);
order
.
setCancelReason
(
rejectOrderDto
.
getReason
());
this
.
save
(
order
);
this
.
save
OrUpdate
(
order
);
//优惠券是否返回
if
(
null
!=
order
.
getUserCouponId
()){
...
...
@@ -336,10 +349,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
//优惠券状态设置为可用
userCouponInfo
.
setCouponUseState
(
CouponUseStateEnum
.
USEABLE
);
userCouponInfo
.
setEditorId
(
1L
);
userCouponInfoService
.
save
(
userCouponInfo
);
userCouponInfoService
.
save
OrUpdate
(
userCouponInfo
);
}
}
}
//todo 全额退款
paymentService
.
refundPay
(
order
.
getOrderNo
());
return
order
;
}
...
...
@@ -348,7 +363,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
* @param orderNo
* @return
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
Order
acceptOrder
(
String
orderNo
)
{
//修改订单状态
...
...
@@ -356,7 +370,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
if
(
order
.
getOrderState
()
==
OrderStateEnum
.
TO_CONFIRM
){
order
.
setOrderState
(
OrderStateEnum
.
IN_SERVICE
);
order
.
setConfirmTime
(
new
Date
());
this
.
save
(
order
);
this
.
save
OrUpdate
(
order
);
}
return
order
;
...
...
@@ -454,7 +468,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
if
(
order
.
getOrderState
()
==
OrderStateEnum
.
IN_SERVICE
){
order
.
setOrderState
(
OrderStateEnum
.
COMPLETED
);
order
.
setCompleteTime
(
new
Date
());
this
.
save
(
order
);
this
.
save
OrUpdate
(
order
);
}
return
order
;
}
...
...
src/main/java/com/xwd/hospital/server/service/impl/PaymentServiceImpl.java
浏览文件 @
e403d0df
package
com
.
xwd
.
hospital
.
server
.
service
.
impl
;
import
cn.dev33.satoken.stp.StpUtil
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.wechat.pay.java.core.Config
;
import
com.wechat.pay.java.core.RSAAutoCertificateConfig
;
import
com.wechat.pay.java.core.exception.HttpException
;
import
com.wechat.pay.java.core.exception.MalformedMessageException
;
import
com.wechat.pay.java.core.exception.ServiceException
;
import
com.wechat.pay.java.core.exception.ValidationException
;
import
com.wechat.pay.java.core.notification.NotificationConfig
;
import
com.wechat.pay.java.core.notification.NotificationParser
;
import
com.wechat.pay.java.core.notification.RequestParam
;
import
com.wechat.pay.java.service.payments.jsapi.JsapiService
;
import
com.wechat.pay.java.service.payments.jsapi.JsapiServiceExtension
;
import
com.wechat.pay.java.service.payments.jsapi.model.*
;
import
com.wechat.pay.java.service.payments.jsapi.model.Amount
;
import
com.wechat.pay.java.service.payments.model.Transaction
;
import
com.wechat.pay.java.service.payments.nativepay.NativePayService
;
import
com.wechat.pay.java.service.refund.RefundService
;
import
com.wechat.pay.java.service.refund.model.*
;
import
com.xwd.hospital.server.domain.Order
;
...
...
@@ -26,6 +22,7 @@ import com.xwd.hospital.server.enums.OrderStateEnum;
import
com.xwd.hospital.server.enums.PayPathEnum
;
import
com.xwd.hospital.server.enums.PayStateEnum
;
import
com.xwd.hospital.server.enums.RefundStateEnum
;
import
com.xwd.hospital.server.repository.OrderMapper
;
import
com.xwd.hospital.server.service.OrderPayService
;
import
com.xwd.hospital.server.service.OrderRefundService
;
import
com.xwd.hospital.server.service.OrderService
;
...
...
@@ -37,8 +34,6 @@ import jakarta.servlet.http.HttpServletResponse;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -46,7 +41,6 @@ import java.io.BufferedReader;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
import
java.math.BigDecimal
;
import
java.sql.Wrapper
;
import
java.text.SimpleDateFormat
;
import
java.util.Calendar
;
import
java.util.Date
;
...
...
@@ -61,7 +55,7 @@ public class PaymentServiceImpl implements PaymentService {
public
static
RefundService
refundService
;
@Resource
private
Order
Service
orderService
;
private
Order
Mapper
orderMapper
;
@Resource
private
OrderPayService
orderPayService
;
@Resource
...
...
@@ -111,7 +105,7 @@ public class PaymentServiceImpl implements PaymentService {
// 初始化服务
payService
=
new
JsapiServiceExtension
.
Builder
().
config
(
config
).
build
();
Order
order
=
order
Service
.
ge
tOne
(
Wrappers
.<
Order
>
query
().
eq
(
"order_no"
,
orderNo
));
Order
order
=
order
Mapper
.
selec
tOne
(
Wrappers
.<
Order
>
query
().
eq
(
"order_no"
,
orderNo
));
if
(
order
.
getOrderState
()
!=
OrderStateEnum
.
TO_PAY
){
return
null
;
}
...
...
@@ -142,7 +136,7 @@ public class PaymentServiceImpl implements PaymentService {
return
response
;
}
catch
(
Exception
e
)
{
// 发送HTTP请求失败
// 调用e.getHttpRequest()获取请求打印日志或上报监控,更多方法见HttpException定义
log
.
error
(
e
.
getMessage
());
log
.
error
(
"微信退款接口 failed"
,
e
.
getMessage
());
}
}
else
if
(
payPath
.
equals
(
PayPathEnum
.
ALI_PAY
)){
...
...
@@ -152,6 +146,7 @@ public class PaymentServiceImpl implements PaymentService {
@Override
public
void
payNotify
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
log
.
info
(
"微信支付回调开始:----------------------------------"
);
//获取报文
String
requestBody
=
getRequestBody
(
request
);
//随机串
...
...
@@ -193,7 +188,7 @@ public class PaymentServiceImpl implements PaymentService {
//记录日志信息
Transaction
.
TradeStateEnum
state
=
transaction
.
getTradeState
();
if
(!
StringUtils
.
equals
(
"SUCCESS"
,
state
.
toString
()))
{
log
.
error
(
"微信回调失败,JsapiPayController.payNotify.transaction:{}"
,
transaction
.
toString
());
log
.
error
(
"微信
支付
回调失败,JsapiPayController.payNotify.transaction:{}"
,
transaction
.
toString
());
//通知微信回调失败
response
.
getWriter
().
write
(
"<xml><return_code><![CDATA[FAIL]]></return_code></xml>"
);
}
else
{
...
...
@@ -204,23 +199,25 @@ public class PaymentServiceImpl implements PaymentService {
orderPay
.
setPayTime
(
new
Date
());
orderPayService
.
saveOrUpdate
(
orderPay
);
Order
order
=
order
Service
.
ge
tById
(
orderPay
.
getOrderId
());
Order
order
=
order
Mapper
.
selec
tById
(
orderPay
.
getOrderId
());
order
.
setOrderState
(
OrderStateEnum
.
TO_CONFIRM
);
order
.
setPayTime
(
new
Date
());
orderService
.
saveOrUpdate
(
order
);
orderMapper
.
updateById
(
order
);
log
.
info
(
"微信支付回调成功:------------------------pay_no:{}"
,
outTradeNo
);
log
.
info
(
"微信支付回调成功:------------------------order_no:{}"
,
order
.
getOrderNo
());
response
.
getWriter
().
write
(
"<xml><return_code><![CDATA[SUCCESS]]></return_code></xml>"
);
}
}
catch
(
Exception
e
)
{
// 验证失败
log
.
error
(
"
wxPay notify failed"
,
e
);
log
.
error
(
"
微信支付回调 failed"
,
e
.
getMessage
()
);
}
}
@Override
public
void
refundNotify
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
log
.
info
(
"微信退款回调开始:----------------------------------"
);
//获取报文
String
requestBody
=
getRequestBody
(
request
);
//随机串
...
...
@@ -263,7 +260,7 @@ public class PaymentServiceImpl implements PaymentService {
//记录日志信息
Status
status
=
refundNotification
.
getRefundStatus
();
if
(!
StringUtils
.
equals
(
"SUCCESS"
,
status
.
toString
()))
{
log
.
error
(
"微信回调失败,JsapiPayController.refundNotification:{}"
,
refundNotification
.
toString
());
log
.
error
(
"微信
退款
回调失败,JsapiPayController.refundNotification:{}"
,
refundNotification
.
toString
());
//通知微信回调失败
response
.
getWriter
().
write
(
"<xml><return_code><![CDATA[FAIL]]></return_code></xml>"
);
}
else
{
...
...
@@ -273,13 +270,14 @@ public class PaymentServiceImpl implements PaymentService {
orderRefund
.
setRefundState
(
RefundStateEnum
.
REFUNDED
);
orderRefund
.
setRefundTime
(
new
Date
());
orderRefundService
.
saveOrUpdate
(
orderRefund
);
log
.
info
(
"微信退款回调成功:------------------------refund_no:{}"
,
refundNo
);
response
.
getWriter
().
write
(
"<xml><return_code><![CDATA[SUCCESS]]></return_code></xml>"
);
}
}
catch
(
Exception
e
)
{
// 验证失败
log
.
error
(
"
wxPay notify failed"
,
e
);
log
.
error
(
"
微信退款回调 failed"
,
e
.
getMessage
()
);
}
}
...
...
@@ -308,17 +306,14 @@ public class PaymentServiceImpl implements PaymentService {
orderRefund
.
setRefundMoney
(
orderPay
.
getPayMoney
());
orderRefund
.
setRefundTime
(
new
Date
());
orderRefundService
.
save
(
orderRefund
);
// ... 调用接口
try
{
//调用接口
Refund
response
=
refundCreate
(
orderRefund
,
orderPay
.
getPayNo
());
}
catch
(
HttpException
e
)
{
// 发送HTTP请求失败
// 调用e.getHttpRequest()获取请求打印日志或上报监控,更多方法见HttpException定义
}
catch
(
ServiceException
e
)
{
// 服务返回状态小于200或大于等于300,例如500
// 调用e.getResponseBody()获取返回体打印日志或上报监控,更多方法见ServiceException定义
}
catch
(
MalformedMessageException
e
)
{
// 服务返回成功,返回体类型不合法,或者解析返回体失败
// 调用e.getMessage()获取信息打印日志或上报监控,更多方法见MalformedMessageException定义
}
catch
(
Exception
e
)
{
// 发送HTTP请求失败
log
.
error
(
"微信退款接口 failed"
,
e
.
getMessage
());
}
}
/**
...
...
src/main/resources/application-dev.yml
浏览文件 @
e403d0df
...
...
@@ -26,8 +26,8 @@ wx:
token
:
#微信小程序消息服务器配置的token
aesKey
:
#微信小程序消息服务器配置的EncodingAESKey
msgDataFormat
:
JSON
-
appid
:
wx
c447fccb6a2745ce
secret
:
af277a664613a2276266eca024bff139
-
appid
:
wx
885ac8ebbff64434
secret
:
3b37dc2e14fe068e984bd7b7158e18ba
token
:
#微信小程序消息服务器配置的token
aesKey
:
#微信小程序消息服务器配置的EncodingAESKey
msgDataFormat
:
JSON
...
...
@@ -38,8 +38,8 @@ pay:
keyPath
:
/Users/zhuweidong/Documents/xinwangdao/1535738101_20231012_cert/apiclient_key.pem
merchantSerialNumber
:
52849767F52ACCC2743E0C5439F3EAFA816FA1D7
apiV3Key
:
YG1e4n9oBPhuuYZaP7arXy232ejma6FW
payNotifyUrl
:
http://1
12.134.24.1:8080/pay/n
otify
refundNotifyUrl
:
http://1
12.134.24.1:8080/pay/refund/n
otify
payNotifyUrl
:
http://1
75.24.172.212:8099/v1/system/payment/payN
otify
refundNotifyUrl
:
http://1
75.24.172.212:8099/v1/system/payment/refundN
otify
tencent
:
cloud
:
secretId
:
AKIDZzDD2e4IURBhy2sUrzsXxXu4zf7LL7ex
...
...
src/main/resources/application-prod.yml
浏览文件 @
e403d0df
...
...
@@ -26,8 +26,8 @@ wx:
token
:
#微信小程序消息服务器配置的token
aesKey
:
#微信小程序消息服务器配置的EncodingAESKey
msgDataFormat
:
JSON
-
appid
:
wx
c447fccb6a2745ce
secret
:
af277a664613a2276266eca024bff139
-
appid
:
wx
885ac8ebbff64434
secret
:
3b37dc2e14fe068e984bd7b7158e18ba
token
:
#微信小程序消息服务器配置的token
aesKey
:
#微信小程序消息服务器配置的EncodingAESKey
msgDataFormat
:
JSON
...
...
@@ -38,8 +38,8 @@ pay:
keyPath
:
/home/ubuntu/1535738101_20231012_cert/apiclient_key.pem
merchantSerialNumber
:
52849767F52ACCC2743E0C5439F3EAFA816FA1D7
apiV3Key
:
YG1e4n9oBPhuuYZaP7arXy232ejma6FW
payNotifyUrl
:
http://175.24.172.212:8099/
pay/n
otify
refundNotifyUrl
:
http://175.24.172.212:8099/
pay/refund/n
otify
payNotifyUrl
:
http://175.24.172.212:8099/
v1/system/payment/payN
otify
refundNotifyUrl
:
http://175.24.172.212:8099/
v1/system/payment/refundN
otify
tencent
:
cloud
:
secretId
:
AKIDZzDD2e4IURBhy2sUrzsXxXu4zf7LL7ex
...
...
src/main/resources/db/migration/V1.0.0__schema.sql
浏览文件 @
e403d0df
...
...
@@ -210,6 +210,7 @@ create table `pms_medical_report`
report_doctor
varchar
(
255
)
not
null
comment
'报告医生'
,
report_time
datetime
not
null
comment
'报告时间'
,
report_state
varchar
(
50
)
not
null
default
'TO_INTERPRET'
comment
'影像报告状态 [TO_INTERPRET.待解读 INTERPRETED.已解读 CONFIRMED.已确认]'
,
doctor_id
int
(
11
)
null
comment
'医生Id'
,
doctor_asks
varchar
(
512
)
null
comment
'医生医嘱'
,
editor_id
int
(
11
)
not
null
default
1
comment
'操作人Id'
,
editor_name
varchar
(
255
)
not
null
default
'admin'
comment
'操作人'
,
...
...
src/main/resources/mappers/MedicalReportPictureMapper.xml
浏览文件 @
e403d0df
...
...
@@ -36,4 +36,11 @@
from pms_medical_report_picture
${ew.customSqlSegment}
</select>
<select
id=
"selectByReportId"
resultType=
"string"
>
select
report_picture
from pms_medical_report_picture
where medical_report_id = #{reportId}
</select>
</mapper>
src/main/resources/mappers/OrderMapper.xml
浏览文件 @
e403d0df
...
...
@@ -66,7 +66,7 @@
INNER JOIN pms_medical_qualifications pmq on pmq.doctor_id = di.id
INNER JOIN pms_department_info pdi on pdi.id = pmq.department_id
INNER JOIN sys_user su on su.obj_id = di.id
WHERE di.id
=
(select a.doctorId FROM
WHERE di.id
in
(select a.doctorId FROM
(SELECT count(o.id) orderNum, o.doctor_id doctorId
FROM pms_order o
WHERE 1=1 GROUP BY o.doctor_id ORDER BY orderNum desc LIMIT 3) a)
...
...
src/main/resources/mappers/base/MedicalReportBaseMapper.xml
浏览文件 @
e403d0df
...
...
@@ -11,6 +11,7 @@
<result
column=
"report_doctor"
jdbcType=
"VARCHAR"
property=
"reportDoctor"
/>
<result
column=
"report_time"
jdbcType=
"TIMESTAMP"
property=
"reportTime"
/>
<result
column=
"report_state"
jdbcType=
"VARCHAR"
property=
"reportState"
/>
<result
column=
"doctor_id"
jdbcType=
"BIGINT"
property=
"doctorId"
/>
<result
column=
"editor_id"
jdbcType=
"BIGINT"
property=
"editorId"
/>
<result
column=
"editor_name"
jdbcType=
"VARCHAR"
property=
"editorName"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
...
...
@@ -20,27 +21,31 @@
<result
column=
"report_item"
jdbcType=
"VARCHAR"
property=
"reportItem"
/>
<result
column=
"report_declare"
jdbcType=
"VARCHAR"
property=
"reportDeclare"
/>
<result
column=
"doctor_asks"
jdbcType=
"VARCHAR"
property=
"doctorAsks"
/>
<association
column=
"doctor_id"
property=
"doctor"
javaType=
"com.xwd.hospital.server.domain.DoctorInfo"
select=
"com.xwd.hospital.server.repository.DoctorInfoMapper.selectById"
/>
<collection
column=
"id"
property=
"pictureList"
javaType=
"list"
select=
"com.xwd.hospital.server.repository.MedicalReportPictureMapper.selectByReportId"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
`id`, `patient_name`, `patient_id_no`, `sex`, `age`, `report_hospital`, `report_doctor`, `report_time`, `report_state`, `editor_id`, `editor_name`, `create_time`, `update_time`
`id`, `patient_name`, `patient_id_no`, `sex`, `age`, `report_hospital`, `report_doctor`, `report_time`, `report_state`, `
doctor_id`, `
editor_id`, `editor_name`, `create_time`, `update_time`
</sql>
<sql
id=
"Base_Column_List_With_Prefix"
>
t.`id`, t.`patient_name`, t.`patient_id_no`, t.`sex`, t.`age`, t.`report_hospital`, t.`report_doctor`, t.`report_time`, t.`report_state`, t.`editor_id`, t.`editor_name`, t.`create_time`, t.`update_time`
t.`id`, t.`patient_name`, t.`patient_id_no`, t.`sex`, t.`age`, t.`report_hospital`, t.`report_doctor`, t.`report_time`, t.`report_state`, t.`
doctor_id`, t.`
editor_id`, t.`editor_name`, t.`create_time`, t.`update_time`
</sql>
<sql
id=
"Base_Column_List_Full"
>
`id`, `patient_name`, `patient_id_no`, `sex`, `age`, `report_item`, `report_declare`, `report_hospital`, `report_doctor`, `report_time`, `report_state`, `doctor_asks`, `editor_id`, `editor_name`, `create_time`, `update_time`
`id`, `patient_name`, `patient_id_no`, `sex`, `age`, `report_item`, `report_declare`, `report_hospital`, `report_doctor`, `report_time`, `report_state`, `doctor_
id`, `doctor_
asks`, `editor_id`, `editor_name`, `create_time`, `update_time`
</sql>
<sql
id=
"Base_Column_List_Full_With_Prefix"
>
t.`id`, t.`patient_name`, t.`patient_id_no`, t.`sex`, t.`age`, t.`report_item`, t.`report_declare`, t.`report_hospital`, t.`report_doctor`, t.`report_time`, t.`report_state`, t.`doctor_asks`, t.`editor_id`, t.`editor_name`, t.`create_time`, t.`update_time`
t.`id`, t.`patient_name`, t.`patient_id_no`, t.`sex`, t.`age`, t.`report_item`, t.`report_declare`, t.`report_hospital`, t.`report_doctor`, t.`report_time`, t.`report_state`, t.`doctor_
id`, t.`doctor_
asks`, t.`editor_id`, t.`editor_name`, t.`create_time`, t.`update_time`
</sql>
<insert
id=
"batchInsert"
>
insert into pms_medical_report (
`patient_name`, `patient_id_no`, `sex`, `age`, `report_item`, `report_declare`, `report_hospital`, `report_doctor`, `report_time`, `report_state`, `doctor_asks`, `editor_id`, `editor_name`
`patient_name`, `patient_id_no`, `sex`, `age`, `report_item`, `report_declare`, `report_hospital`, `report_doctor`, `report_time`, `report_state`, `doctor_
id`, `doctor_
asks`, `editor_id`, `editor_name`
)
values
<foreach
collection=
"records"
item=
"record"
separator=
","
>
(
#{record.patientName, jdbcType=VARCHAR}, #{record.patientIdNo, jdbcType=VARCHAR}, #{record.sex, jdbcType=VARCHAR}, #{record.age, jdbcType=INTEGER}, #{record.reportItem, jdbcType=VARCHAR}, #{record.reportDeclare, jdbcType=VARCHAR}, #{record.reportHospital, jdbcType=VARCHAR}, #{record.reportDoctor, jdbcType=VARCHAR}, #{record.reportTime, jdbcType=TIMESTAMP}, #{record.reportState, jdbcType=VARCHAR}, #{record.doctorAsks, jdbcType=VARCHAR}, #{record.editorId, jdbcType=BIGINT}, #{record.editorName, jdbcType=VARCHAR}
#{record.patientName, jdbcType=VARCHAR}, #{record.patientIdNo, jdbcType=VARCHAR}, #{record.sex, jdbcType=VARCHAR}, #{record.age, jdbcType=INTEGER}, #{record.reportItem, jdbcType=VARCHAR}, #{record.reportDeclare, jdbcType=VARCHAR}, #{record.reportHospital, jdbcType=VARCHAR}, #{record.reportDoctor, jdbcType=VARCHAR}, #{record.reportTime, jdbcType=TIMESTAMP}, #{record.reportState, jdbcType=VARCHAR}, #{record.doctor
Id, jdbcType=BIGINT}, #{record.doctor
Asks, jdbcType=VARCHAR}, #{record.editorId, jdbcType=BIGINT}, #{record.editorName, jdbcType=VARCHAR}
)
</foreach>
</insert>
...
...
@@ -57,6 +62,7 @@
report_doctor = #{et.reportDoctor, jdbcType=VARCHAR},
report_time = #{et.reportTime, jdbcType=TIMESTAMP},
report_state = #{et.reportState, jdbcType=VARCHAR},
doctor_id = #{et.doctorId, jdbcType=BIGINT},
doctor_asks = #{et.doctorAsks, jdbcType=VARCHAR},
editor_id = #{et.editorId, jdbcType=BIGINT},
editor_name = #{et.editorName, jdbcType=VARCHAR},
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论