提交 2e19c743 authored 作者: hzh's avatar hzh

代码优化

上级 a6b735e0
...@@ -13,6 +13,7 @@ import org.dromara.common.weishi.service.WeishiService; ...@@ -13,6 +13,7 @@ import org.dromara.common.weishi.service.WeishiService;
import org.dromara.mall.controller.weishi.admin.bo.InsureBo; import org.dromara.mall.controller.weishi.admin.bo.InsureBo;
import org.dromara.mall.controller.weishi.admin.vo.InsureVo; import org.dromara.mall.controller.weishi.admin.vo.InsureVo;
import org.dromara.mall.service.weishi.IInsureService; import org.dromara.mall.service.weishi.IInsureService;
import org.dromara.mall.service.weishi.IThirdWeishiService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -31,6 +32,7 @@ public class WeishiController { ...@@ -31,6 +32,7 @@ public class WeishiController {
private final WeishiService weishiService; private final WeishiService weishiService;
private final IInsureService insureService; private final IInsureService insureService;
private final IThirdWeishiService thirdWeishiService;
/** /**
* 产品列表 * 产品列表
...@@ -181,7 +183,7 @@ public class WeishiController { ...@@ -181,7 +183,7 @@ public class WeishiController {
* @return token * @return token
*/ */
private String getToken() { private String getToken() {
return insureService.getToken(); return thirdWeishiService.getToken(LoginHelper.getDeptId());
} }
} }
...@@ -2,18 +2,11 @@ package org.dromara.mall.dubbo.weishi; ...@@ -2,18 +2,11 @@ package org.dromara.mall.dubbo.weishi;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.utils.StringUtils;
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.api.weishi.RemoteWeishiService;
import org.dromara.mall.service.weishi.IInsureService; import org.dromara.mall.service.weishi.IInsureService;
import org.dromara.mall.service.weishi.IThirdWeishiService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.Duration;
import static org.dromara.mall.enums.weishi.WeishiConstants.WEISHI_TOKEN;
/** /**
* @author hzh * @author hzh
* @date 2025-05-13 * @date 2025-05-13
...@@ -23,16 +16,12 @@ import static org.dromara.mall.enums.weishi.WeishiConstants.WEISHI_TOKEN; ...@@ -23,16 +16,12 @@ import static org.dromara.mall.enums.weishi.WeishiConstants.WEISHI_TOKEN;
@DubboService @DubboService
public class RemoteWeishiServiceImpl implements RemoteWeishiService { public class RemoteWeishiServiceImpl implements RemoteWeishiService {
private final WeishiService weishiService; private final IThirdWeishiService thirdWeishiService;
private final IInsureService insureService; private final IInsureService insureService;
@Override @Override
public void getToken() { public void getToken() {
String token = RedisUtils.getCacheObject(WEISHI_TOKEN); thirdWeishiService.updateToken(null);
if (StringUtils.isEmpty(token)) {
AuthResponse res = weishiService.authorize();
RedisUtils.setCacheObject(WEISHI_TOKEN, res.getAccess_token(), Duration.ofSeconds(res.getExpires_in().longValue()));
}
} }
@Override @Override
......
package org.dromara.mall.enums.weishi;
public interface WeishiConstants {
/**
* token
*/
String WEISHI_TOKEN = "mall:third:weishi:token";
}
...@@ -15,13 +15,6 @@ import org.dromara.mall.domain.weishi.Insure; ...@@ -15,13 +15,6 @@ import org.dromara.mall.domain.weishi.Insure;
*/ */
public interface IInsureService extends IBaseService<InsureVo, InsureBo, Insure> { public interface IInsureService extends IBaseService<InsureVo, InsureBo, Insure> {
/**
* 获取token
*
* @return token
*/
String getToken();
/** /**
* 保存 * 保存
* *
......
...@@ -15,11 +15,13 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; ...@@ -15,11 +15,13 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.service.AbstractBaseService; import org.dromara.common.mybatis.service.AbstractBaseService;
import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.weishi.constant.OrderStatus; import org.dromara.common.weishi.constant.OrderStatus;
import org.dromara.common.weishi.model.req.ApplyRequest; import org.dromara.common.weishi.model.req.ApplyRequest;
import org.dromara.common.weishi.model.res.*; import org.dromara.common.weishi.model.res.ApplyResponse;
import org.dromara.common.weishi.model.res.DetailResponse;
import org.dromara.common.weishi.model.res.ProductResponse;
import org.dromara.common.weishi.model.res.ProductsResponse;
import org.dromara.common.weishi.service.WeishiService; import org.dromara.common.weishi.service.WeishiService;
import org.dromara.mall.controller.weishi.admin.bo.InsureBo; import org.dromara.mall.controller.weishi.admin.bo.InsureBo;
import org.dromara.mall.controller.weishi.admin.vo.InsureInsuredsVo; import org.dromara.mall.controller.weishi.admin.vo.InsureInsuredsVo;
...@@ -29,14 +31,13 @@ import org.dromara.mall.controller.weishi.admin.vo.InsureVo; ...@@ -29,14 +31,13 @@ import org.dromara.mall.controller.weishi.admin.vo.InsureVo;
import org.dromara.mall.domain.weishi.*; import org.dromara.mall.domain.weishi.*;
import org.dromara.mall.mapper.weishi.*; import org.dromara.mall.mapper.weishi.*;
import org.dromara.mall.service.weishi.IInsureService; import org.dromara.mall.service.weishi.IInsureService;
import org.dromara.mall.service.weishi.IThirdWeishiService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.Duration;
import java.util.*; import java.util.*;
import static cn.hutool.core.date.DatePattern.NORM_DATETIME_MINUTE_PATTERN; import static cn.hutool.core.date.DatePattern.NORM_DATETIME_MINUTE_PATTERN;
import static org.dromara.mall.enums.weishi.WeishiConstants.WEISHI_TOKEN;
/** /**
* 保险订单Service业务层处理 * 保险订单Service业务层处理
...@@ -53,6 +54,7 @@ public class InsureServiceImpl extends AbstractBaseService<InsureVo, InsureBo, I ...@@ -53,6 +54,7 @@ public class InsureServiceImpl extends AbstractBaseService<InsureVo, InsureBo, I
private final InsureUnitMapper unitMapper; private final InsureUnitMapper unitMapper;
private final InsurePolicyHolderMapper policyHolderMapper; private final InsurePolicyHolderMapper policyHolderMapper;
private final InsureInsuredsMapper insuredsMapper; private final InsureInsuredsMapper insuredsMapper;
private final IThirdWeishiService thirdWeishiService;
@Override @Override
public BaseMapperPlus<Insure, InsureVo> mapper() { public BaseMapperPlus<Insure, InsureVo> mapper() {
...@@ -91,21 +93,12 @@ public class InsureServiceImpl extends AbstractBaseService<InsureVo, InsureBo, I ...@@ -91,21 +93,12 @@ public class InsureServiceImpl extends AbstractBaseService<InsureVo, InsureBo, I
private final WeishiService weishiService; private final WeishiService weishiService;
@Override
public String getToken() {
String token = RedisUtils.getCacheObject(WEISHI_TOKEN);
if (StringUtils.isEmpty(token)) {
AuthResponse res = weishiService.authorize();
RedisUtils.setCacheObject(WEISHI_TOKEN, res.getAccess_token(), Duration.ofSeconds(res.getExpires_in().longValue()));
token = res.getAccess_token();
}
return token;
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void apply(ApplyRequest req, ApplyResponse res) { public void apply(ApplyRequest req, ApplyResponse res) {
String token = getToken(); String token = thirdWeishiService.getToken(LoginHelper.getDeptId());
//获取产品列表 //获取产品列表
List<ProductsResponse> productList = weishiService.productList(token); List<ProductsResponse> productList = weishiService.productList(token);
//设置参数 //设置参数
...@@ -228,7 +221,7 @@ public class InsureServiceImpl extends AbstractBaseService<InsureVo, InsureBo, I ...@@ -228,7 +221,7 @@ public class InsureServiceImpl extends AbstractBaseService<InsureVo, InsureBo, I
//获取被保人集合 //获取被保人集合
List<InsureInsureds> insuredsList = insuredsMapper.selectList(new LambdaQueryWrapper<InsureInsureds>().in(InsureInsureds::getOrderNum, orderNumList)); List<InsureInsureds> insuredsList = insuredsMapper.selectList(new LambdaQueryWrapper<InsureInsureds>().in(InsureInsureds::getOrderNum, orderNumList));
insureList.forEach(i -> { insureList.forEach(i -> {
DetailResponse dr = weishiService.insureDetail(getToken(), i.getOrderId()); DetailResponse dr = weishiService.insureDetail(thirdWeishiService.getToken(i.getCreateDept()), i.getOrderId());
if (!StringUtils.equals(i.getStatus(), dr.getStatus())) { if (!StringUtils.equals(i.getStatus(), dr.getStatus())) {
i.setStatus(dr.getStatus()); i.setStatus(dr.getStatus());
baseMapper.updateById(i); baseMapper.updateById(i);
......
...@@ -4,6 +4,7 @@ import lombok.RequiredArgsConstructor; ...@@ -4,6 +4,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.weishi.exception.WeishiException;
import org.dromara.common.weishi.model.req.AuthRequest; import org.dromara.common.weishi.model.req.AuthRequest;
import org.dromara.common.weishi.model.res.AuthResponse; import org.dromara.common.weishi.model.res.AuthResponse;
import org.dromara.common.weishi.service.WeishiService; import org.dromara.common.weishi.service.WeishiService;
...@@ -32,14 +33,13 @@ public class ThirdWeishiServiceImpl implements IThirdWeishiService { ...@@ -32,14 +33,13 @@ public class ThirdWeishiServiceImpl implements IThirdWeishiService {
@Override @Override
public String getToken(Long deptId) { public String getToken(Long deptId) {
if (Objects.isNull(deptId)) { if (Objects.isNull(deptId)) {
throw new RuntimeException("该账号无部门,请先配置部门在使用旅游产品接口"); throw new WeishiException("该账号无部门,请先配置部门在使用旅游产品接口");
} }
Account account = accountMapper.selectOne(Account::getDeptId, deptId); Account account = accountMapper.selectOne(Account::getDeptId, deptId);
if (Objects.isNull(account)) { if (Objects.isNull(account)) {
throw new RuntimeException("该部门没有配置"); throw new WeishiException("该部门没有配置");
} }
String token = updateToken(account); return updateToken(account);
return token;
} }
private String updateToken(Account account) { private String updateToken(Account account) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论