Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
f4ac407c
提交
f4ac407c
authored
5月 16, 2025
作者:
hzh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码优化
上级
4d239ca0
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
124 行增加
和
5 行删除
+124
-5
RemoteWeishiService.java
...java/org/dromara/mall/api/weishi/RemoteWeishiService.java
+5
-0
DetailResponse.java
...a/org/dromara/common/weishi/model/res/DetailResponse.java
+8
-0
WeishiOrderUpdateStatusJob.java
.../job/snailjob/mall/weishi/WeishiOrderUpdateStatusJob.java
+29
-0
InsureBo.java
...org/dromara/mall/controller/weishi/admin/bo/InsureBo.java
+5
-0
InsureVo.java
...org/dromara/mall/controller/weishi/admin/vo/InsureVo.java
+5
-0
Insure.java
.../src/main/java/org/dromara/mall/domain/weishi/Insure.java
+5
-0
RemoteWeishiServiceImpl.java
...rg/dromara/mall/dubbo/weishi/RemoteWeishiServiceImpl.java
+7
-0
IInsureService.java
.../java/org/dromara/mall/service/weishi/IInsureService.java
+4
-0
InsureServiceImpl.java
...g/dromara/mall/service/weishi/impl/InsureServiceImpl.java
+35
-4
ThirdWeishiServiceImpl.java
...mara/mall/service/weishi/impl/ThirdWeishiServiceImpl.java
+21
-1
没有找到文件。
ruoyi-api/ruoyi-api-mall/src/main/java/org/dromara/mall/api/weishi/RemoteWeishiService.java
浏览文件 @
f4ac407c
...
...
@@ -10,4 +10,9 @@ public interface RemoteWeishiService {
*/
void
getToken
();
/**
* 更新订单状态
*/
void
updateOrderStatus
();
}
ruoyi-common/ruoyi-common-51weishi/src/main/java/org/dromara/common/weishi/model/res/DetailResponse.java
浏览文件 @
f4ac407c
...
...
@@ -42,6 +42,10 @@ public class DetailResponse {
* 计划名称
*/
private
String
PlanName
;
/**
* 保险公司
*/
private
String
InsurerAbbr
;
/**
* 保单数量
*/
...
...
@@ -58,6 +62,10 @@ public class DetailResponse {
* 实收保费
*/
private
BigDecimal
ActPremium
;
/**
* 订单状态
*/
private
String
status
;
/**
* 被保人列表
*/
...
...
ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/mall/weishi/WeishiOrderUpdateStatusJob.java
0 → 100644
浏览文件 @
f4ac407c
package
org
.
dromara
.
job
.
snailjob
.
mall
.
weishi
;
import
com.aizuda.snailjob.client.job.core.annotation.JobExecutor
;
import
com.aizuda.snailjob.client.job.core.dto.JobArgs
;
import
com.aizuda.snailjob.client.model.ExecuteResult
;
import
lombok.AllArgsConstructor
;
import
org.apache.dubbo.config.annotation.DubboReference
;
import
org.dromara.mall.api.weishi.RemoteWeishiService
;
import
org.springframework.stereotype.Component
;
/**
* 获取token
*
* @author wenhe
*/
@AllArgsConstructor
@Component
@JobExecutor
(
name
=
"WeishiOrderUpdateStatusJob"
)
public
class
WeishiOrderUpdateStatusJob
{
@DubboReference
private
RemoteWeishiService
weishiService
;
public
ExecuteResult
jobExecute
(
JobArgs
jobArgs
)
{
weishiService
.
updateOrderStatus
();
return
ExecuteResult
.
success
(
"跟新卫士token成功"
);
}
}
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/weishi/admin/bo/InsureBo.java
浏览文件 @
f4ac407c
...
...
@@ -79,6 +79,11 @@ public class InsureBo extends BaseEntity {
*/
private
Date
endDate
;
/**
* 订单过期时间,格式为YYYY-MM-DD HH:MM:SS
*/
private
Date
overDate
;
/**
* 旅行目的地
*/
...
...
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/weishi/admin/vo/InsureVo.java
浏览文件 @
f4ac407c
...
...
@@ -82,6 +82,11 @@ public class InsureVo implements Serializable {
*/
private
Date
endDate
;
/**
* 订单过期时间,格式为YYYY-MM-DD HH:MM:SS
*/
private
Date
overDate
;
/**
* 旅行目的地
*/
...
...
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/weishi/Insure.java
浏览文件 @
f4ac407c
...
...
@@ -93,6 +93,11 @@ public class Insure extends TenantEntity {
*/
private
Date
endDate
;
/**
* 订单过期时间,格式为YYYY-MM-DD HH:MM:SS
*/
private
Date
overDate
;
/**
* 旅行目的地
*/
...
...
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/dubbo/weishi/RemoteWeishiServiceImpl.java
浏览文件 @
f4ac407c
...
...
@@ -7,6 +7,7 @@ import org.dromara.common.redis.utils.RedisUtils;
import
org.dromara.common.weishi.model.res.AuthResponse
;
import
org.dromara.common.weishi.service.WeishiService
;
import
org.dromara.mall.api.weishi.RemoteWeishiService
;
import
org.dromara.mall.service.weishi.IInsureService
;
import
org.springframework.stereotype.Service
;
import
java.time.Duration
;
...
...
@@ -23,6 +24,7 @@ import static org.dromara.mall.enums.weishi.WeishiConstants.WEISHI_TOKEN;
public
class
RemoteWeishiServiceImpl
implements
RemoteWeishiService
{
private
final
WeishiService
weishiService
;
private
final
IInsureService
insureService
;
@Override
public
void
getToken
()
{
...
...
@@ -32,4 +34,9 @@ public class RemoteWeishiServiceImpl implements RemoteWeishiService {
RedisUtils
.
setCacheObject
(
WEISHI_TOKEN
,
res
.
getAccess_token
(),
Duration
.
ofSeconds
(
res
.
getExpires_in
().
longValue
()));
}
}
@Override
public
void
updateOrderStatus
()
{
insureService
.
updateOrderStatus
(
null
);
}
}
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/weishi/IInsureService.java
浏览文件 @
f4ac407c
...
...
@@ -51,4 +51,8 @@ public interface IInsureService extends IBaseService<InsureVo, InsureBo, Insure>
*/
void
policyCancel
(
String
policyNum
);
/**
* 更新订单状态
*/
void
updateOrderStatus
(
Integer
orderId
);
}
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/weishi/impl/InsureServiceImpl.java
浏览文件 @
f4ac407c
package
org
.
dromara
.
mall
.
service
.
weishi
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.common.core.utils.StreamUtils
;
...
...
@@ -13,10 +15,7 @@ import org.dromara.common.redis.utils.RedisUtils;
import
org.dromara.common.satoken.utils.LoginHelper
;
import
org.dromara.common.weishi.constant.OrderStatus
;
import
org.dromara.common.weishi.model.req.ApplyRequest
;
import
org.dromara.common.weishi.model.res.ApplyResponse
;
import
org.dromara.common.weishi.model.res.AuthResponse
;
import
org.dromara.common.weishi.model.res.ProductResponse
;
import
org.dromara.common.weishi.model.res.ProductsResponse
;
import
org.dromara.common.weishi.model.res.*
;
import
org.dromara.common.weishi.service.WeishiService
;
import
org.dromara.mall.controller.weishi.admin.bo.InsureBo
;
import
org.dromara.mall.controller.weishi.admin.vo.InsureVo
;
...
...
@@ -29,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
import
java.time.Duration
;
import
java.util.*
;
import
static
cn
.
hutool
.
core
.
date
.
DatePattern
.
NORM_DATETIME_MINUTE_PATTERN
;
import
static
org
.
dromara
.
mall
.
enums
.
weishi
.
WeishiConstants
.
WEISHI_TOKEN
;
/**
...
...
@@ -122,6 +122,7 @@ public class InsureServiceImpl extends AbstractBaseService<InsureVo, InsureBo, I
.
setInsuredName
(
req
.
getUnits
().
get
(
0
).
getPolicyHolder
().
getName
())
.
setInsuredAbbr
(
productsRes
.
getInsurerAbbr
())
.
setPlanName
(
productsRes
.
getInsurerAbbr
()
+
" - "
+
Optional
.
ofNullable
(
plan
).
map
(
ProductResponse
.
Plan
::
getPlanName
).
orElse
(
null
))
.
setOverDate
(
DateUtil
.
parse
(
weishiService
.
insureDetail
(
token
,
res
.
getOrderID
()).
getOverDate
(),
NORM_DATETIME_MINUTE_PATTERN
))
.
setOrderTime
(
new
Date
());
insure
.
setCreateDept
(
LoginHelper
.
getDeptId
());
baseMapper
.
insert
(
insure
);
...
...
@@ -199,4 +200,34 @@ public class InsureServiceImpl extends AbstractBaseService<InsureVo, InsureBo, I
}
@Override
public
void
updateOrderStatus
(
Integer
orderId
)
{
//获取订单列表
List
<
Insure
>
insureList
=
orderId
!=
null
?
baseMapper
.
selectList
(
Insure:
:
getOrderId
,
orderId
)
:
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
Insure
>()
.
notIn
(
Insure:
:
getStatus
,
List
.
of
(
OrderStatus
.
D
.
getKey
(),
OrderStatus
.
A
.
getKey
())));
if
(
CollectionUtils
.
isNotEmpty
(
insureList
))
{
List
<
String
>
orderNumList
=
StreamUtils
.
toList
(
insureList
,
Insure:
:
getOrderNum
);
//获取投保单位集合
List
<
InsureUnit
>
unitList
=
unitMapper
.
selectList
(
new
LambdaQueryWrapper
<
InsureUnit
>().
in
(
InsureUnit:
:
getOrderNum
,
orderNumList
));
//获取被保人集合
List
<
InsureInsureds
>
insuredsList
=
insuredsMapper
.
selectList
(
new
LambdaQueryWrapper
<
InsureInsureds
>().
in
(
InsureInsureds:
:
getOrderNum
,
orderNumList
));
insureList
.
forEach
(
i
->
{
DetailResponse
dr
=
weishiService
.
insureDetail
(
getToken
(),
i
.
getOrderId
());
if
(!
StringUtils
.
equals
(
i
.
getStatus
(),
dr
.
getStatus
()))
{
i
.
setStatus
(
dr
.
getStatus
());
baseMapper
.
updateById
(
i
);
//跟新投保单位
List
<
InsureUnit
>
iuList
=
StreamUtils
.
filter
(
unitList
,
u
->
StringUtils
.
equals
(
u
.
getOrderNum
(),
i
.
getOrderNum
()));
iuList
.
forEach
(
iu
->
iu
.
setStatus
(
dr
.
getStatus
()));
unitMapper
.
updateBatch
(
iuList
);
//跟新被保人信息
List
<
InsureInsureds
>
iiList
=
StreamUtils
.
filter
(
insuredsList
,
insureds
->
StringUtils
.
equals
(
insureds
.
getOrderNum
(),
i
.
getOrderNum
()));
iiList
.
forEach
(
ii
->
ii
.
setStatus
(
dr
.
getStatus
()));
insuredsMapper
.
updateBatch
(
iiList
);
}
});
}
}
}
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/weishi/impl/ThirdWeishiServiceImpl.java
浏览文件 @
f4ac407c
package
org
.
dromara
.
mall
.
service
.
weishi
.
impl
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.redis.utils.RedisUtils
;
import
org.dromara.common.weishi.model.req.AuthRequest
;
...
...
@@ -12,6 +13,7 @@ import org.dromara.mall.service.weishi.IThirdWeishiService;
import
org.springframework.stereotype.Service
;
import
java.time.Duration
;
import
java.util.List
;
import
java.util.Objects
;
/**
...
...
@@ -20,6 +22,7 @@ import java.util.Objects;
**/
@Service
@RequiredArgsConstructor
@Slf4j
public
class
ThirdWeishiServiceImpl
implements
IThirdWeishiService
{
private
final
WeishiService
weishiService
;
...
...
@@ -35,6 +38,11 @@ public class ThirdWeishiServiceImpl implements IThirdWeishiService {
if
(
Objects
.
isNull
(
account
))
{
throw
new
RuntimeException
(
"该部门没有配置"
);
}
String
token
=
updateToken
(
account
);
return
token
;
}
private
String
updateToken
(
Account
account
)
{
String
key
=
StringUtils
.
format
(
WEISHI_TOKEN
,
account
.
getTenantId
(),
account
.
getDeptId
());
String
token
=
RedisUtils
.
getCacheObject
(
key
);
if
(
StringUtils
.
isEmpty
(
token
))
{
...
...
@@ -47,6 +55,18 @@ public class ThirdWeishiServiceImpl implements IThirdWeishiService {
@Override
public
void
updateToken
(
Long
deptId
)
{
List
<
Account
>
accountList
;
if
(
Objects
.
nonNull
(
deptId
))
{
accountList
=
accountMapper
.
selectList
(
Account:
:
getDeptId
,
deptId
);
}
else
{
accountList
=
accountMapper
.
selectList
();
}
accountList
.
forEach
(
account
->
{
try
{
updateToken
(
account
);
}
catch
(
Exception
e
)
{
log
.
info
(
"旅游卫士token更新失败,部门id:{},账号:{},密码:{}"
,
account
.
getDeptId
(),
account
.
getUsername
(),
account
.
getPassword
());
}
});
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论