Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
medical-server
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
aiming-medical
medical-server
Commits
911042ba
提交
911042ba
authored
10月 23, 2023
作者:
zhu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.develop
上级
e403d0df
隐藏空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
233 行增加
和
22 行删除
+233
-22
SaTokenConfig.java
...in/java/com/xwd/hospital/server/config/SaTokenConfig.java
+1
-0
Constant.java
...main/java/com/xwd/hospital/server/constants/Constant.java
+5
-0
UseStateEnum.java
...main/java/com/xwd/hospital/server/enums/UseStateEnum.java
+2
-2
OrderController.java
...in/java/com/xwd/hospital/server/rest/OrderController.java
+11
-0
SettingController.java
.../java/com/xwd/hospital/server/rest/SettingController.java
+25
-0
SmsController.java
...main/java/com/xwd/hospital/server/rest/SmsController.java
+2
-2
CallApiService.java
.../java/com/xwd/hospital/server/service/CallApiService.java
+19
-0
SettingService.java
.../java/com/xwd/hospital/server/service/SettingService.java
+2
-0
SmsService.java
...main/java/com/xwd/hospital/server/service/SmsService.java
+0
-2
DelayQueueService.java
...m/xwd/hospital/server/service/impl/DelayQueueService.java
+82
-0
OrderServiceImpl.java
...om/xwd/hospital/server/service/impl/OrderServiceImpl.java
+29
-4
SettingServiceImpl.java
.../xwd/hospital/server/service/impl/SettingServiceImpl.java
+11
-1
SmsServiceImpl.java
.../com/xwd/hospital/server/service/impl/SmsServiceImpl.java
+10
-7
OrderTask.java
src/main/java/com/xwd/hospital/server/task/OrderTask.java
+30
-0
DoctorInfoMapper.xml
src/main/resources/mappers/DoctorInfoMapper.xml
+4
-4
没有找到文件。
src/main/java/com/xwd/hospital/server/config/SaTokenConfig.java
浏览文件 @
911042ba
...
@@ -46,6 +46,7 @@ public class SaTokenConfig implements WebMvcConfigurer {
...
@@ -46,6 +46,7 @@ public class SaTokenConfig implements WebMvcConfigurer {
.
excludePathPatterns
(
"/v1/system/home/patientMiniAppHome"
)
.
excludePathPatterns
(
"/v1/system/home/patientMiniAppHome"
)
.
excludePathPatterns
(
"/v1/system/payment/payNotify"
)
.
excludePathPatterns
(
"/v1/system/payment/payNotify"
)
.
excludePathPatterns
(
"/v1/system/payment/refundNotify"
)
.
excludePathPatterns
(
"/v1/system/payment/refundNotify"
)
.
excludePathPatterns
(
"/v1/system/sms/callback"
)
// swagger 放行
// swagger 放行
.
excludePathPatterns
(
"/webjars/**"
)
.
excludePathPatterns
(
"/webjars/**"
)
.
excludePathPatterns
(
"/doc.html"
)
.
excludePathPatterns
(
"/doc.html"
)
...
...
src/main/java/com/xwd/hospital/server/constants/Constant.java
浏览文件 @
911042ba
...
@@ -5,4 +5,9 @@ import lombok.Data;
...
@@ -5,4 +5,9 @@ import lombok.Data;
@Data
@Data
public
class
Constant
{
public
class
Constant
{
public
static
final
String
SMS_PREFIX
=
"sms_code_login_"
;
public
static
final
String
SMS_PREFIX
=
"sms_code_login_"
;
public
static
final
String
DOCTOR_ASKS
=
"DOCTOR_ASKS"
;
/**
* 订单未支付到期自动取消,15分钟
*/
public
static
final
Integer
ORDER_PAY_WAIT_TIME
=
5
*
60
*
1000
;
}
}
src/main/java/com/xwd/hospital/server/enums/UseStateEnum.java
浏览文件 @
911042ba
...
@@ -11,8 +11,8 @@ package com.xwd.hospital.server.enums;
...
@@ -11,8 +11,8 @@ package com.xwd.hospital.server.enums;
*/
*/
public
enum
UseStateEnum
{
public
enum
UseStateEnum
{
USED
(
"
不可用
"
),
USED
(
"
USED
"
),
USEABLE
(
"
可用
"
);
USEABLE
(
"
USEABLE
"
);
UseStateEnum
(
String
name
)
{
UseStateEnum
(
String
name
)
{
this
.
name
=
name
;
this
.
name
=
name
;
...
...
src/main/java/com/xwd/hospital/server/rest/OrderController.java
浏览文件 @
911042ba
...
@@ -207,4 +207,15 @@ public class OrderController extends BaseController<OrderService, Order, OrderPa
...
@@ -207,4 +207,15 @@ public class OrderController extends BaseController<OrderService, Order, OrderPa
public
ApiResponse
<
Order
>
appraiseOrder
(
@RequestBody
AppraiseDto
appraiseDto
,
@AuthUser
User
user
)
{
public
ApiResponse
<
Order
>
appraiseOrder
(
@RequestBody
AppraiseDto
appraiseDto
,
@AuthUser
User
user
)
{
return
ApiResponse
.
ok
(
this
.
service
.
appraiseOrder
(
appraiseDto
));
return
ApiResponse
.
ok
(
this
.
service
.
appraiseOrder
(
appraiseDto
));
}
}
/**
* 患者取消订单
*
*/
@PostMapping
(
"/cancelOrder"
)
@Operation
(
summary
=
"患者取消订单"
)
@ApiCommon
public
ApiResponse
<
Order
>
cancelOrder
(
@RequestParam
String
orderNo
,
@AuthUser
User
user
)
{
return
ApiResponse
.
ok
(
this
.
service
.
cancelOrder
(
orderNo
));
}
}
}
src/main/java/com/xwd/hospital/server/rest/SettingController.java
浏览文件 @
911042ba
...
@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...
@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.xwd.hospital.server.annotation.ApiCommon
;
import
com.xwd.hospital.server.annotation.ApiCommon
;
import
com.xwd.hospital.server.annotation.AuthUser
;
import
com.xwd.hospital.server.annotation.AuthUser
;
import
com.xwd.hospital.server.base.BaseController
;
import
com.xwd.hospital.server.base.BaseController
;
import
com.xwd.hospital.server.constants.Constant
;
import
com.xwd.hospital.server.domain.User
;
import
com.xwd.hospital.server.domain.User
;
import
com.xwd.hospital.server.rest.res.ApiCode
;
import
com.xwd.hospital.server.rest.res.ApiCode
;
import
com.xwd.hospital.server.domain.Setting
;
import
com.xwd.hospital.server.domain.Setting
;
...
@@ -87,5 +88,29 @@ public class SettingController extends BaseController<SettingService, Setting, S
...
@@ -87,5 +88,29 @@ public class SettingController extends BaseController<SettingService, Setting, S
return
ApiResponse
.
ok
(
this
.
service
.
saveBatch
(
entityList
));
return
ApiResponse
.
ok
(
this
.
service
.
saveBatch
(
entityList
));
}
}
@GetMapping
(
"/queryDoctorAsks"
)
@Operation
(
summary
=
"查询医生医嘱配置"
)
public
ApiResponse
queryDoctorAsks
(
@AuthUser
User
user
)
{
return
ApiResponse
.
ok
(
this
.
service
.
queryDoctorAsks
());
}
/**
* 新增
*
* @param entity 要新增的对象
* @return 新增的对象
*/
@PostMapping
(
"/addDoctorAsksSetting"
)
@Operation
(
summary
=
"新增医生医嘱配置"
)
public
ApiResponse
<
Setting
>
addDoctorAsksSetting
(
@RequestBody
Setting
entity
,
@AuthUser
User
user
)
{
long
count
=
this
.
service
.
count
(
Wrappers
.<
Setting
>
lambdaQuery
().
eq
(
Setting:
:
getName
,
Constant
.
DOCTOR_ASKS
))+
1
;
entity
.
setEditorId
(
user
.
getId
());
entity
.
setEditorName
(
user
.
getUsername
());
entity
.
setName
(
Constant
.
DOCTOR_ASKS
);
entity
.
setCode
(
Constant
.
DOCTOR_ASKS
+
"_"
+
count
);
entity
.
setDefault
().
validate
(
true
);
this
.
service
.
save
(
entity
);
return
ApiResponse
.
ok
(
this
.
service
.
getById
(
entity
.
getId
()));
}
}
}
src/main/java/com/xwd/hospital/server/rest/SmsController.java
浏览文件 @
911042ba
...
@@ -38,8 +38,8 @@ public class SmsController {
...
@@ -38,8 +38,8 @@ public class SmsController {
@Operation
(
summary
=
"绑定手机号码"
)
@Operation
(
summary
=
"绑定手机号码"
)
@PostMapping
(
"/bindPhone"
)
@PostMapping
(
"/bindPhone"
)
@ApiCommon
@ApiCommon
public
ApiResponse
bindPhone
(
@RequestParam
(
"p
hone"
)
String
phone
)
{
public
ApiResponse
bindPhone
(
@RequestParam
(
"p
roxyNumber"
)
String
proxyNumber
,
String
proxyNumber
=
"17085298640"
;
@RequestParam
(
"phone"
)
String
phone
)
{
return
ApiResponse
.
ok
(
smsService
.
bindPhone
(
proxyNumber
,
phone
));
return
ApiResponse
.
ok
(
smsService
.
bindPhone
(
proxyNumber
,
phone
));
}
}
...
...
src/main/java/com/xwd/hospital/server/service/CallApiService.java
浏览文件 @
911042ba
...
@@ -12,9 +12,28 @@ import java.util.Map;
...
@@ -12,9 +12,28 @@ import java.util.Map;
public
interface
CallApiService
{
public
interface
CallApiService
{
/**
* XB模式
* @param headers
* @param body
* @param account
* @param sig
* @return
*/
@POST
(
"/v20160818/rlxh/midNumBind/{account}"
)
@POST
(
"/v20160818/rlxh/midNumBind/{account}"
)
Call
<
JsonObject
>
bindNumber
(
@HeaderMap
Map
<
String
,
String
>
headers
,
@Body
BindNumberReq
body
,
@Path
(
"account"
)
String
account
,
@Query
(
"sig"
)
String
sig
);
Call
<
JsonObject
>
bindNumber
(
@HeaderMap
Map
<
String
,
String
>
headers
,
@Body
BindNumberReq
body
,
@Path
(
"account"
)
String
account
,
@Query
(
"sig"
)
String
sig
);
/**
* AXB模式
* @param headers
* @param body
* @param account
* @param sig
* @return
*/
@POST
(
"/v20160818/rlxh/midNumUnBindForAXB/{account}"
)
Call
<
JsonObject
>
bindNumberForAXB
(
@HeaderMap
Map
<
String
,
String
>
headers
,
@Body
BindNumberReq
body
,
@Path
(
"account"
)
String
account
,
@Query
(
"sig"
)
String
sig
);
@FormUrlEncoded
@FormUrlEncoded
@POST
(
"/v20160818/rlxh/midNumUnBinding/{account}"
)
@POST
(
"/v20160818/rlxh/midNumUnBinding/{account}"
)
Call
<
JsonObject
>
unbindNumber
(
@HeaderMap
Map
<
String
,
String
>
headers
,
@Body
UnbindNumberReq
body
,
@Path
(
"account"
)
String
account
,
@Query
(
"sig"
)
String
sig
);
Call
<
JsonObject
>
unbindNumber
(
@HeaderMap
Map
<
String
,
String
>
headers
,
@Body
UnbindNumberReq
body
,
@Path
(
"account"
)
String
account
,
@Query
(
"sig"
)
String
sig
);
...
...
src/main/java/com/xwd/hospital/server/service/SettingService.java
浏览文件 @
911042ba
...
@@ -15,4 +15,6 @@ import com.xwd.hospital.server.rest.req.SettingParam;
...
@@ -15,4 +15,6 @@ import com.xwd.hospital.server.rest.req.SettingParam;
public
interface
SettingService
extends
BaseService
<
Setting
>
{
public
interface
SettingService
extends
BaseService
<
Setting
>
{
List
<
Setting
>
queryDoctorAsks
();
}
}
src/main/java/com/xwd/hospital/server/service/SmsService.java
浏览文件 @
911042ba
package
com
.
xwd
.
hospital
.
server
.
service
;
package
com
.
xwd
.
hospital
.
server
.
service
;
import
org.springframework.web.bind.annotation.RequestParam
;
public
interface
SmsService
{
public
interface
SmsService
{
/**
/**
* 发送短信验证码
* 发送短信验证码
...
...
src/main/java/com/xwd/hospital/server/service/impl/DelayQueueService.java
0 → 100644
浏览文件 @
911042ba
package
com
.
xwd
.
hospital
.
server
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.xwd.hospital.server.domain.Order
;
import
com.xwd.hospital.server.domain.UserCouponInfo
;
import
com.xwd.hospital.server.enums.CouponUseStateEnum
;
import
com.xwd.hospital.server.enums.OrderStateEnum
;
import
com.xwd.hospital.server.repository.OrderMapper
;
import
com.xwd.hospital.server.service.OrderService
;
import
com.xwd.hospital.server.service.UserCouponInfoService
;
import
jakarta.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.Set
;
@Service
@Slf4j
public
class
DelayQueueService
{
@Autowired
private
RedisTemplate
<
String
,
String
>
redisTemplate
;
@Resource
private
OrderMapper
orderMapper
;
@Resource
private
UserCouponInfoService
userCouponInfoService
;
private
static
final
String
DELAY_QUEUE_KEY
=
"order_delay_queue"
;
public
void
addToDelayQueue
(
String
message
,
long
delayTime
)
{
redisTemplate
.
opsForZSet
().
add
(
DELAY_QUEUE_KEY
,
message
,
System
.
currentTimeMillis
()
+
delayTime
);
}
public
void
pollAndProcessDelayedMessages
()
{
Set
<
String
>
messages
=
redisTemplate
.
opsForZSet
().
rangeByScore
(
DELAY_QUEUE_KEY
,
0
,
System
.
currentTimeMillis
());
for
(
String
message
:
messages
)
{
// 处理消息
processMessage
(
message
);
// 从延迟队列中删除已处理的消息
redisTemplate
.
opsForZSet
().
remove
(
DELAY_QUEUE_KEY
,
message
);
}
}
private
void
processMessage
(
String
message
)
{
// 未支付的订单取消
//message就是orderNo
//先查询订单状态
Order
order
=
orderMapper
.
selectOne
(
Wrappers
.
lambdaQuery
(
Order
.
class
).
eq
(
Order:
:
getOrderNo
,
message
));
if
(
order
==
null
)
{
log
.
info
(
"订单不存在: "
+
message
);
return
;
}
//判断订单是否是未支付状态
if
(!
order
.
getOrderState
().
equals
(
OrderStateEnum
.
TO_PAY
))
{
log
.
info
(
"订单已支付: "
+
message
);
return
;
}
//修改订单状态为取消
order
.
setOrderState
(
OrderStateEnum
.
CANCELED
);
orderMapper
.
updateById
(
order
);
//优惠券是否返回
//查询优惠券
if
(
null
!=
order
.
getUserCouponId
()){
UserCouponInfo
userCouponInfo
=
userCouponInfoService
.
getById
(
order
.
getUserCouponId
());
Date
currentDate
=
new
Date
();
if
(
currentDate
.
after
(
userCouponInfo
.
getCouponStartDate
())
&&
currentDate
.
before
(
userCouponInfo
.
getCouponEndDate
())){
userCouponInfo
.
setCouponUseState
(
CouponUseStateEnum
.
USEABLE
);
userCouponInfo
.
setEditorId
(
1L
);
userCouponInfoService
.
saveOrUpdate
(
userCouponInfo
);
}
}
log
.
info
(
"处理超时未支付订单------------: "
+
message
);
}
}
src/main/java/com/xwd/hospital/server/service/impl/OrderServiceImpl.java
浏览文件 @
911042ba
...
@@ -8,7 +8,6 @@
...
@@ -8,7 +8,6 @@
package
com
.
xwd
.
hospital
.
server
.
service
.
impl
;
package
com
.
xwd
.
hospital
.
server
.
service
.
impl
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.*
;
...
@@ -17,11 +16,11 @@ import cn.dev33.satoken.stp.StpUtil;
...
@@ -17,11 +16,11 @@ import cn.dev33.satoken.stp.StpUtil;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.xwd.hospital.server.constants.Constant
;
import
com.xwd.hospital.server.domain.*
;
import
com.xwd.hospital.server.domain.*
;
import
com.xwd.hospital.server.dto.*
;
import
com.xwd.hospital.server.dto.*
;
import
com.xwd.hospital.server.enums.*
;
import
com.xwd.hospital.server.enums.*
;
import
com.xwd.hospital.server.service.*
;
import
com.xwd.hospital.server.service.*
;
import
com.xwd.hospital.server.util.DateUtils
;
import
jakarta.annotation.Resource
;
import
jakarta.annotation.Resource
;
import
com.baomidou.mybatisplus.core.enums.SqlMethod
;
import
com.baomidou.mybatisplus.core.enums.SqlMethod
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
...
@@ -32,7 +31,6 @@ import org.springframework.stereotype.Service;
...
@@ -32,7 +31,6 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
com.xwd.hospital.server.repository.OrderMapper
;
import
com.xwd.hospital.server.repository.OrderMapper
;
import
com.xwd.hospital.server.repository.base.OrderBaseMapper
;
import
com.xwd.hospital.server.repository.base.OrderBaseMapper
;
import
com.xwd.hospital.server.rest.req.OrderParam
;
@Service
@Service
public
class
OrderServiceImpl
extends
ServiceImpl
<
OrderMapper
,
Order
>
implements
OrderService
{
public
class
OrderServiceImpl
extends
ServiceImpl
<
OrderMapper
,
Order
>
implements
OrderService
{
...
@@ -66,6 +64,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
...
@@ -66,6 +64,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
private
OrderPayService
orderPayService
;
private
OrderPayService
orderPayService
;
@Resource
@Resource
private
PaymentService
paymentService
;
private
PaymentService
paymentService
;
@Resource
private
DelayQueueService
delayQueueService
;
@Override
@Override
public
int
updateAllFieldsById
(
Order
entity
)
{
public
int
updateAllFieldsById
(
Order
entity
)
{
...
@@ -250,6 +250,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
...
@@ -250,6 +250,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
orderOperation
.
setEditorName
(
sysUser
.
getUsername
());
orderOperation
.
setEditorName
(
sysUser
.
getUsername
());
orderOperationService
.
save
(
orderOperation
);
orderOperationService
.
save
(
orderOperation
);
//写入支付延时队列
delayQueueService
.
addToDelayQueue
(
order
.
getOrderNo
(),
Constant
.
ORDER_PAY_WAIT_TIME
);
return
order
;
return
order
;
}
}
...
@@ -319,6 +322,28 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
...
@@ -319,6 +322,28 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
userCouponInfoService
.
saveOrUpdate
(
userCouponInfo
);
userCouponInfoService
.
saveOrUpdate
(
userCouponInfo
);
}
}
}
}
}
else
if
(
order
.
getOrderState
()
==
OrderStateEnum
.
TO_CONFIRM
){
//待确认订单
order
.
setOrderState
(
OrderStateEnum
.
CANCELED
);
this
.
saveOrUpdate
(
order
);
//优惠券是否返回
//查询优惠券
if
(
null
!=
order
.
getUserCouponId
()){
UserCouponInfo
userCouponInfo
=
userCouponInfoService
.
getById
(
order
.
getUserCouponId
());
Date
currentDate
=
new
Date
();
if
(
currentDate
.
after
(
userCouponInfo
.
getCouponStartDate
())
&&
currentDate
.
before
(
userCouponInfo
.
getCouponEndDate
())){
userCouponInfo
.
setCouponUseState
(
CouponUseStateEnum
.
USEABLE
);
userCouponInfo
.
setEditorId
(
1L
);
userCouponInfoService
.
saveOrUpdate
(
userCouponInfo
);
}
}
//退款操作
//todo 全额退款
paymentService
.
refundPay
(
order
.
getOrderNo
());
}
}
return
order
;
return
order
;
...
@@ -414,7 +439,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
...
@@ -414,7 +439,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
}
}
//todo 从小号列表中获取到合适的小号(sys_setting表)
//todo 从小号列表中获取到合适的小号(sys_setting表)
List
<
Setting
>
settingList
=
settingService
.
list
(
Wrappers
.<
Setting
>
query
().
eq
(
"
code"
,
SysSettingEnum
.
PROXY_PHONE
).
eq
(
"remark"
,
UseStateEnum
.
USEABLE
.
getName
()
));
List
<
Setting
>
settingList
=
settingService
.
list
(
Wrappers
.<
Setting
>
query
().
eq
(
"
name"
,
SysSettingEnum
.
PROXY_PHONE
));
if
(
null
==
settingList
if
(
null
==
settingList
||
settingList
.
size
()
==
0
){
||
settingList
.
size
()
==
0
){
//暂无可用来绑定的小号
//暂无可用来绑定的小号
...
...
src/main/java/com/xwd/hospital/server/service/impl/SettingServiceImpl.java
浏览文件 @
911042ba
...
@@ -13,6 +13,9 @@ import java.util.List;
...
@@ -13,6 +13,9 @@ import java.util.List;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.Collection
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.google.common.collect.Lists
;
import
com.xwd.hospital.server.constants.Constant
;
import
jakarta.annotation.Resource
;
import
jakarta.annotation.Resource
;
import
com.baomidou.mybatisplus.core.enums.SqlMethod
;
import
com.baomidou.mybatisplus.core.enums.SqlMethod
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
...
@@ -48,5 +51,12 @@ public class SettingServiceImpl extends ServiceImpl<SettingMapper, Setting> impl
...
@@ -48,5 +51,12 @@ public class SettingServiceImpl extends ServiceImpl<SettingMapper, Setting> impl
return
executeBatch
(
entityList
,
batchSize
,
(
sqlSession
,
entity
)
->
sqlSession
.
insert
(
sqlStatement
,
entity
));
return
executeBatch
(
entityList
,
batchSize
,
(
sqlSession
,
entity
)
->
sqlSession
.
insert
(
sqlStatement
,
entity
));
}
}
@Override
public
List
<
Setting
>
queryDoctorAsks
()
{
List
<
Setting
>
list
=
lambdaQuery
().
eq
(
Setting:
:
getName
,
Constant
.
DOCTOR_ASKS
).
list
();
if
(
CollectionUtil
.
isEmpty
(
list
)){
return
Lists
.
newArrayList
();
}
return
list
;
}
}
}
src/main/java/com/xwd/hospital/server/service/impl/SmsServiceImpl.java
浏览文件 @
911042ba
package
com
.
xwd
.
hospital
.
server
.
service
.
impl
;
package
com
.
xwd
.
hospital
.
server
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.google.gson.Gson
;
import
com.google.gson.JsonElement
;
import
com.google.gson.JsonObject
;
import
com.google.gson.JsonObject
;
import
com.tencentcloudapi.common.Credential
;
import
com.tencentcloudapi.common.Credential
;
import
com.tencentcloudapi.common.exception.TencentCloudSDKException
;
import
com.tencentcloudapi.common.exception.TencentCloudSDKException
;
...
@@ -21,11 +19,9 @@ import com.xwd.hospital.server.enums.YesNoEnum;
...
@@ -21,11 +19,9 @@ import com.xwd.hospital.server.enums.YesNoEnum;
import
com.xwd.hospital.server.rest.thirdPartReq.BindNumberReq
;
import
com.xwd.hospital.server.rest.thirdPartReq.BindNumberReq
;
import
com.xwd.hospital.server.rest.thirdPartReq.UnbindNumberReq
;
import
com.xwd.hospital.server.rest.thirdPartReq.UnbindNumberReq
;
import
com.xwd.hospital.server.service.*
;
import
com.xwd.hospital.server.service.*
;
import
com.xwd.hospital.server.util.CallUtil
;
import
jakarta.annotation.Resource
;
import
jakarta.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
okhttp3.OkHttpClient
;
import
okhttp3.OkHttpClient
;
import
okhttp3.RequestBody
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
...
@@ -163,12 +159,12 @@ public class SmsServiceImpl implements SmsService {
...
@@ -163,12 +159,12 @@ public class SmsServiceImpl implements SmsService {
BindNumberReq
bindNumberReq
=
new
BindNumberReq
();
BindNumberReq
bindNumberReq
=
new
BindNumberReq
();
bindNumberReq
.
setMidNum
(
proxyNumber
);
//小号
bindNumberReq
.
setMidNum
(
proxyNumber
);
//小号
bindNumberReq
.
setCalled
(
phoneNumber
);
//被叫号码
bindNumberReq
.
setCalled
(
phoneNumber
);
//被叫号码
log
.
info
(
"绑定消耗中,小号{},被叫号码{}"
,
proxyNumber
,
phoneNumber
);
Call
<
JsonObject
>
call
=
service
.
bindNumber
(
headers
,
bindNumberReq
,
account
,
sigAndAuth
.
get
(
"sig"
));
Call
<
JsonObject
>
call
=
service
.
bindNumber
(
headers
,
bindNumberReq
,
account
,
sigAndAuth
.
get
(
"sig"
));
try
{
try
{
Response
<
JsonObject
>
execute
=
call
.
execute
();
Response
<
JsonObject
>
execute
=
call
.
execute
();
mappingId
=
execute
.
body
().
get
(
"mappingId"
).
getAsString
();
mappingId
=
execute
.
body
().
get
(
"mappingId"
).
getAsString
();
log
.
info
(
execute
.
body
().
toString
()
);
log
.
info
(
"绑定成功---------"
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
...
@@ -238,7 +234,13 @@ public class SmsServiceImpl implements SmsService {
...
@@ -238,7 +234,13 @@ public class SmsServiceImpl implements SmsService {
calledArea
,
caller
,
calledShow
,
connectTime
,
result
,
calledArea
,
caller
,
calledShow
,
connectTime
,
result
,
releaseTime
,
account
,
mappingId
,
appId
,
callDuration
,
releaseTime
,
account
,
mappingId
,
appId
,
callDuration
,
userData
,
answerTime
,
smallNumberType
,
calldisplay
);
userData
,
answerTime
,
smallNumberType
,
calldisplay
);
log
.
info
(
"容联通话回调:------"
);
log
.
info
(
"容联通话回调处理:------------------start,mappingId{}"
,
mappingId
);
log
.
info
(
"被叫振铃时间{},被叫真实号码{},企业本次通话唯一标识id{},主叫归属地{},主叫拨通虚拟号码时刻{},被叫归属地{},主叫号码{},小号{},被叫接通时刻{},通话状态{},通话结束时刻{},帐号编号{},绑定关系唯一Id{},应用id{},本次通话的时长{},用户自定义数据{},接通{},小号类型{},显真实号{}"
,
alertingTime
,
called
,
recorderId
,
callerArea
,
beginTime
,
calledArea
,
caller
,
calledShow
,
connectTime
,
result
,
releaseTime
,
account
,
mappingId
,
appId
,
callDuration
,
userData
,
answerTime
,
smallNumberType
,
calldisplay
);
if
(
result
.
equals
(
"0"
)){
//通话成功
if
(
result
.
equals
(
"0"
)){
//通话成功
//根据mappingId查询phone_order_record表
//根据mappingId查询phone_order_record表
PhoneOrderRecord
record
=
phoneOrderRecordService
.
getOne
(
Wrappers
.<
PhoneOrderRecord
>
query
().
eq
(
"mapping_id"
,
mappingId
));
PhoneOrderRecord
record
=
phoneOrderRecordService
.
getOne
(
Wrappers
.<
PhoneOrderRecord
>
query
().
eq
(
"mapping_id"
,
mappingId
));
...
@@ -261,6 +263,7 @@ public class SmsServiceImpl implements SmsService {
...
@@ -261,6 +263,7 @@ public class SmsServiceImpl implements SmsService {
}
}
}
}
log
.
info
(
"容联通话回调处理:------------------end,mappingId{}"
,
mappingId
);
return
true
;
return
true
;
}
}
}
}
src/main/java/com/xwd/hospital/server/task/OrderTask.java
浏览文件 @
911042ba
package
com
.
xwd
.
hospital
.
server
.
task
;
package
com
.
xwd
.
hospital
.
server
.
task
;
import
cn.hutool.core.date.DateUtil
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.xwd.hospital.server.domain.UserCouponInfo
;
import
com.xwd.hospital.server.enums.CouponUseStateEnum
;
import
com.xwd.hospital.server.service.UserCouponInfoService
;
import
com.xwd.hospital.server.service.impl.DelayQueueService
;
import
jakarta.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
import
java.util.List
;
@Component
@Async
@Slf4j
public
class
OrderTask
{
public
class
OrderTask
{
@Resource
private
DelayQueueService
delayQueueService
;
/**
* 每秒钟清理一次未支付订单
*/
@Scheduled
(
cron
=
"* * * * * *"
)
public
void
cancelUnpayOrder
(){
log
.
info
(
"清理超时未支付订单--------------------start"
);
delayQueueService
.
pollAndProcessDelayedMessages
();
log
.
info
(
"清理超时未支付订单--------------------end"
);
}
}
}
src/main/resources/mappers/DoctorInfoMapper.xml
浏览文件 @
911042ba
...
@@ -49,8 +49,8 @@
...
@@ -49,8 +49,8 @@
pmq.title,
pmq.title,
u.avatar,
u.avatar,
s.service_price,
s.service_price,
count(o.id) as orderCount,
count(
DISTINCT
o.id) as orderCount,
count(ua.id) as fansCount
count(
DISTINCT
ua.id) as fansCount
from pms_doctor_info di
from pms_doctor_info di
inner join pms_medical_qualifications pmq on di.medical_qualification_id = pmq.id
inner join pms_medical_qualifications pmq on di.medical_qualification_id = pmq.id
inner join pms_hospital_info h on h.id = pmq.hospital_id
inner join pms_hospital_info h on h.id = pmq.hospital_id
...
@@ -88,8 +88,8 @@
...
@@ -88,8 +88,8 @@
di.introduction,
di.introduction,
pmq.title,
pmq.title,
u.avatar,
u.avatar,
count(o.id) as orderCount,
count(
DISTINCT
o.id) as orderCount,
count(ua.id) as fansCount
count(
DISTINCT
ua.id) as fansCount
from pms_doctor_info di
from pms_doctor_info di
inner join pms_medical_qualifications pmq on di.medical_qualification_id = pmq.id
inner join pms_medical_qualifications pmq on di.medical_qualification_id = pmq.id
inner join pms_hospital_info h on h.id = pmq.hospital_id
inner join pms_hospital_info h on h.id = pmq.hospital_id
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论