Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
oms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
oms-ci-test
Commits
a307292c
提交
a307292c
authored
5月 29, 2023
作者:
余乾开
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'release/0.0.1'
上级
0ee90ff7
f7826a26
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
47 行增加
和
117 行删除
+47
-117
pom.xml
pom.xml
+19
-16
AuthHandler.java
src/main/java/com/mmc/oms/common/AuthHandler.java
+1
-28
RentalOrdersController.java
...n/java/com/mmc/oms/controller/RentalOrdersController.java
+2
-2
JwtUtil.java
src/main/java/com/mmc/oms/jwt/JwtUtil.java
+0
-58
RentalOrdersServiceImpl.java
...ava/com/mmc/oms/service/Impl/RentalOrdersServiceImpl.java
+21
-12
RentalOrdersService.java
src/main/java/com/mmc/oms/service/RentalOrdersService.java
+3
-1
application-local.yml
src/main/resources/application-local.yml
+1
-0
没有找到文件。
pom.xml
浏览文件 @
a307292c
...
...
@@ -18,6 +18,17 @@
</properties>
<dependencies>
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpclient
</artifactId>
<version>
4.5.2
</version>
</dependency>
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpcore
</artifactId>
<version>
4.4.5
</version>
</dependency>
<dependency>
<groupId>
com.aliyun.oss
</groupId>
<artifactId>
aliyun-sdk-oss
</artifactId>
<version>
3.10.2
</version>
...
...
@@ -49,12 +60,6 @@
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
easyexcel-core
</artifactId>
<version>
3.1.3
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
...
...
@@ -103,10 +108,6 @@
<version>
0.9.1
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
<version>
3.4.3.4
</version>
...
...
@@ -117,12 +118,6 @@
<version>
3.0.0
</version>
<!--<scope>compile</scope>-->
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
2.0.32
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-redis
</artifactId>
...
...
@@ -144,6 +139,14 @@
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<configuration>
<source>
11
</source>
<target>
11
</target>
</configuration>
</plugin>
</plugins>
</build>
...
...
src/main/java/com/mmc/oms/common/AuthHandler.java
浏览文件 @
a307292c
...
...
@@ -2,7 +2,7 @@ package com.mmc.oms.common;
import
com.alibaba.fastjson.JSONArray
;
import
com.mmc.oms.jwt.JwtConstant
;
import
com.mmc.oms.jwt.JwtUtil
;
import
com.mmc.oms.model.dto.BaseAccountDTO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
...
...
@@ -55,33 +55,6 @@ public class AuthHandler {
return
account
;
}
public
String
addLoginCache
(
Integer
userId
,
Integer
roleId
,
String
tokenType
,
BaseAccountDTO
loginInfo
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
map
.
put
(
JwtConstant
.
USERIDKEY
,
userId
);
map
.
put
(
JwtConstant
.
ROLEIDKEY
,
roleId
);
map
.
put
(
JwtConstant
.
TOKEN_TYPE
,
tokenType
);
String
token
=
JwtUtil
.
createJwt
(
map
);
// loginInfo.setTokenPort(tokenType);
// 缓存登录token-jwt
stringRedisTemplate
.
opsForValue
().
set
(
RedisConstant
.
createLoginTokenKey
(
tokenType
,
roleId
.
toString
(),
userId
.
toString
()),
token
,
JwtConstant
.
EXPIRATION
,
TimeUnit
.
MILLISECONDS
);
// 平台PC管理端登录保存-单位的id及无限下级id集合
if
(
JwtConstant
.
SXTB_ACCOUNT_TOKEN
.
equals
(
tokenType
))
{
/*if (loginInfo.getCompanyInfo() != null && !CollectionUtils.isEmpty(loginInfo.getCompanyInfo().getCompanys())) {
List<Integer> companys = loginInfo.getCompanyInfo().getCompanys();
this.refreshCompanys(companys, loginInfo.getCompanyInfo().getId());
// 置为null--省内存
loginInfo.getCompanyInfo().setCompanys(null);
}*/
}
// 缓存登录对象
stringRedisTemplate
.
opsForValue
().
set
(
token
,
JsonUtil
.
parseObjToJson
(
loginInfo
),
JwtConstant
.
EXPIRATION
,
TimeUnit
.
MILLISECONDS
);
return
token
;
}
/**
* 更新单位缓存
...
...
src/main/java/com/mmc/oms/controller/RentalOrdersController.java
浏览文件 @
a307292c
...
...
@@ -24,8 +24,8 @@ public class RentalOrdersController extends BaseController{
@ApiOperation
(
value
=
"租赁-下单"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
OrderInfoDTO
.
class
)})
@PostMapping
(
"feignAddLease"
)
public
OrderInfoDTO
feignAddLease
(
@RequestBody
LeaseOrderVO
param
)
{
return
rentalOrdersService
.
feignAddLease
(
param
);
public
OrderInfoDTO
feignAddLease
(
HttpServletRequest
request
,
@RequestBody
LeaseOrderVO
param
)
{
return
rentalOrdersService
.
feignAddLease
(
request
,
param
);
}
@ApiOperation
(
value
=
"订单-详情"
)
...
...
src/main/java/com/mmc/oms/jwt/JwtUtil.java
deleted
100644 → 0
浏览文件 @
0ee90ff7
package
com
.
mmc
.
oms
.
jwt
;
import
com.mmc.oms.common.CodeUtil
;
import
io.jsonwebtoken.Claims
;
import
io.jsonwebtoken.JwtBuilder
;
import
io.jsonwebtoken.Jwts
;
import
io.jsonwebtoken.SignatureAlgorithm
;
import
javax.crypto.spec.SecretKeySpec
;
import
javax.xml.bind.DatatypeConverter
;
import
java.security.Key
;
import
java.util.Date
;
import
java.util.Map
;
/**
* @Author small
* @Date 2023/5/24 16:01
* @Version 1.0
*/
public
class
JwtUtil
{
/**
* 根据map中的信息生成token, tokenId为随机生成码,有效时间为24h
*
* @param claims 封装到token中的map
* @return
*/
public
static
String
createJwt
(
Map
<
String
,
Object
>
claims
)
{
return
createJwt
(
claims
,
JwtConstant
.
EXPIRATION
);
}
public
static
String
createJwt
(
Map
<
String
,
Object
>
claims
,
long
expiration
)
{
SignatureAlgorithm
signatureAlgorithm
=
SignatureAlgorithm
.
HS256
;
byte
[]
apiKeySecretBytes
=
DatatypeConverter
.
parseBase64Binary
(
JwtConstant
.
BASE64KEY
);
Key
signingKey
=
new
SecretKeySpec
(
apiKeySecretBytes
,
signatureAlgorithm
.
getJcaName
());
long
nowMillis
=
System
.
currentTimeMillis
();
long
expMillis
=
nowMillis
+
expiration
;
Date
now
=
new
Date
(
nowMillis
);
Date
exp
=
new
Date
(
expMillis
);
JwtBuilder
builder
=
Jwts
.
builder
().
setClaims
(
claims
).
setId
(
CodeUtil
.
randomCode
(
6
)).
setIssuedAt
(
now
)
.
setSubject
(
JwtConstant
.
SUBJECT
).
setIssuer
(
JwtConstant
.
ISSUER
).
signWith
(
signatureAlgorithm
,
signingKey
)
.
setExpiration
(
exp
);
return
builder
.
compact
();
}
/**
* 解析前端传来的token,解析成功则返回Claims,解析失败返回null;解析成功后可通过claims获取信息
*
* @param jwt
* @return
*/
public
static
Claims
parseJwt
(
String
jwt
)
{
Claims
claims
=
Jwts
.
parser
().
setSigningKey
(
DatatypeConverter
.
parseBase64Binary
(
JwtConstant
.
BASE64KEY
))
.
parseClaimsJws
(
jwt
).
getBody
();
return
claims
;
}
}
src/main/java/com/mmc/oms/service/Impl/RentalOrdersServiceImpl.java
浏览文件 @
a307292c
...
...
@@ -12,12 +12,17 @@ import com.mmc.oms.model.vo.RentalOrderVO;
import
com.mmc.oms.service.RentalOrdersService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.http.HttpEntity
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpMethod
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
org.springframework.util.MultiValueMap
;
import
org.springframework.web.client.RestTemplate
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -29,14 +34,17 @@ import java.util.stream.Collectors;
@Service
public
class
RentalOrdersServiceImpl
implements
RentalOrdersService
{
@Autowired
private
RestTemplate
restTemplate
;
@Autowired
private
RestTemplate
restTemplate
;
@Autowired
private
RentalOrdersDao
rentalOrdersDao
;
@Autowired
private
RentalOrdersDao
rentalOrdersDao
;
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
@Override
public
OrderInfoDTO
feignAddLease
(
LeaseOrderVO
param
)
{
public
OrderInfoDTO
feignAddLease
(
HttpServletRequest
request
,
LeaseOrderVO
param
)
{
OrderInfoDO
orderInfo
=
new
OrderInfoDO
(
param
);
// 每天单价
BigDecimal
unitPrice
=
orderInfo
.
getUnitPrice
();
...
...
@@ -54,7 +62,7 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
receipt
.
setOrderInfoId
(
orderInfo
.
getId
());
receipt
.
setCreateTime
(
cdate
);
rentalOrdersDao
.
insertOrderReceipt
(
receipt
);
orderInfo
.
setBalance
(
getRemainingBalance
(
param
.
getRepoAccountId
()));
orderInfo
.
setBalance
(
getRemainingBalance
(
request
,
param
.
getRepoAccountId
()));
// 将当前的用户id及订单编号存入redis
OrderInfoDTO
dto
=
orderInfo
.
buildOrderInfoDTO
();
stringRedisTemplate
.
opsForValue
().
set
(
orderInfo
.
getOrderNo
(),
JsonUtil
.
parseObjToJson
(
dto
));
...
...
@@ -100,13 +108,14 @@ public class RentalOrdersServiceImpl implements RentalOrdersService {
* @param repoAccountId
* @return
*/
public
BigDecimal
getRemainingBalance
(
Integer
repoAccountId
)
{
ResponseEntity
<
String
>
response
=
restTemplate
.
getForEntity
(
"http://localhost:8088/payment/repocash/RemainingBalance?repoAccountId="
+
repoAccountId
,
String
.
class
);
String
body
=
response
.
getBody
();
public
BigDecimal
getRemainingBalance
(
HttpServletRequest
request
,
Integer
repoAccountId
)
{
HttpHeaders
headers
=
new
HttpHeaders
();
//封装请求头
headers
.
add
(
"token"
,
request
.
getHeader
(
"token"
));
HttpEntity
<
MultiValueMap
<
String
,
Object
>>
formEntity
=
new
HttpEntity
<
MultiValueMap
<
String
,
Object
>>(
headers
);
ResponseEntity
<
String
>
result4
=
restTemplate
.
exchange
(
"http://localhost:8088/payment/repocash/RemainingBalance?repoAccountId="
+
repoAccountId
,
HttpMethod
.
GET
,
formEntity
,
String
.
class
);
String
body
=
result4
.
getBody
();
BigDecimal
bigDecimal
=
new
BigDecimal
(
body
);
return
bigDecimal
;
}
...
...
src/main/java/com/mmc/oms/service/RentalOrdersService.java
浏览文件 @
a307292c
...
...
@@ -8,6 +8,8 @@ import com.mmc.oms.model.qo.OrderInfoQO;
import
com.mmc.oms.model.vo.LeaseOrderVO
;
import
com.mmc.oms.model.vo.RentalOrderVO
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @Author small @Date 2023/5/26 10:52 @Version 1.0
*/
...
...
@@ -16,7 +18,7 @@ public interface RentalOrdersService {
OrderInfoDTO
getOrderDetail
(
String
orderNo
);
OrderInfoDTO
feignAddLease
(
LeaseOrderVO
param
);
OrderInfoDTO
feignAddLease
(
HttpServletRequest
request
,
LeaseOrderVO
param
);
PageResult
listPcOrderInfo
(
OrderInfoQO
param
,
BaseAccountDTO
cuser
);
...
...
src/main/resources/application-local.yml
浏览文件 @
a307292c
...
...
@@ -51,3 +51,4 @@ rabbitmq:
workFlyerInfoKey
:
TEST_WORK_FLYER_INFO
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论