Toggle navigation
Toggle navigation
This project
Loading...
Sign in
jiujian
/
client-customer-order-api
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
zhuyifan
2025-03-03 15:10:55 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
6212f20dc7e44bdbb4e4cf728c1d091d2533253c
6212f20d
1 parent
074567a9
fix
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
5 deletions
src/main/java/com/infoloop/tianting/service/LoginService.java
src/main/java/com/infoloop/tianting/service/impl/LoginServiceImpl.java
src/main/java/com/infoloop/tianting/service/LoginService.java
View file @
6212f20
...
...
@@ -3,6 +3,8 @@ package com.infoloop.tianting.service;
import
cn.dev33.satoken.stp.SaTokenInfo
;
import
com.infoloop.tianting.model.dto.PermissionDTO.LoginDto
;
import
java.security.NoSuchAlgorithmException
;
public
interface
LoginService
{
SaTokenInfo
login
(
LoginDto
loginDto
);
SaTokenInfo
login
(
LoginDto
loginDto
)
throws
NoSuchAlgorithmException
;
}
...
...
src/main/java/com/infoloop/tianting/service/impl/LoginServiceImpl.java
View file @
6212f20
...
...
@@ -3,7 +3,6 @@ package com.infoloop.tianting.service.impl;
import
cn.dev33.satoken.stp.SaLoginModel
;
import
cn.dev33.satoken.stp.SaTokenInfo
;
import
cn.dev33.satoken.stp.StpUtil
;
import
cn.hutool.crypto.SecureUtil
;
import
com.infoloop.tianting.clientcustomerservice.ClientCustomerHospitalRecordHospitalStatusEnum
;
import
com.infoloop.tianting.constant.CommonConstants
;
import
com.infoloop.tianting.exception.ClientEndExceptions
;
...
...
@@ -19,6 +18,9 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.security.MessageDigest
;
import
java.security.NoSuchAlgorithmException
;
@Slf4j
@Service
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
...
...
@@ -30,7 +32,7 @@ public class LoginServiceImpl implements LoginService {
private
final
WOperatorServiceRpcClient
wOperatorServiceRpcClient
;
@Override
public
SaTokenInfo
login
(
LoginDto
loginDto
)
{
public
SaTokenInfo
login
(
LoginDto
loginDto
)
throws
NoSuchAlgorithmException
{
if
(
loginDto
.
isShouldLoginWithOpenCode
())
{
final
var
wxUserOpenIdDto
=
wxMiniProgramHttpClient
.
getUserOpenIdByCode
(
loginDto
.
getOpenCode
());
StpUtil
.
login
(
wxUserOpenIdDto
.
getOpenid
(),
SaLoginModel
.
create
()
...
...
@@ -69,7 +71,7 @@ public class LoginServiceImpl implements LoginService {
if
(
operator
.
getId
()
==
0
)
{
throw
ClientEndExceptions
.
AuthenticationFailure
.
build
(
ErrorCodeEnum
.
UNAUTHORIZED
.
name
());
}
if
(!
operator
.
getPassword
().
equals
(
SecureUtil
.
sha1
(
loginDto
.
getPassword
())))
{
if
(!
operator
.
getPassword
().
equals
(
sha1Hash
(
loginDto
.
getPassword
())))
{
throw
ClientEndExceptions
.
AuthenticationFailure
.
build
(
ErrorCodeEnum
.
VALIDATE_FAILED
.
name
());
}
StpUtil
.
login
(
operator
.
getId
(),
SaLoginModel
.
create
()
...
...
@@ -82,7 +84,7 @@ public class LoginServiceImpl implements LoginService {
if
(
operator
.
getId
()
==
0
)
{
throw
ClientEndExceptions
.
AuthenticationFailure
.
build
(
ErrorCodeEnum
.
UNAUTHORIZED
.
name
());
}
if
(!
operator
.
getPassword
().
equals
(
SecureUtil
.
sha1
(
loginDto
.
getPassword
())))
{
if
(!
operator
.
getPassword
().
equals
(
sha1Hash
(
loginDto
.
getPassword
())))
{
throw
ClientEndExceptions
.
AuthenticationFailure
.
build
(
ErrorCodeEnum
.
VALIDATE_FAILED
.
name
());
}
StpUtil
.
login
(
operator
.
getId
(),
SaLoginModel
.
create
()
...
...
@@ -92,5 +94,20 @@ public class LoginServiceImpl implements LoginService {
return
StpUtil
.
getTokenInfo
();
}
}
public
static
String
sha1Hash
(
String
input
)
throws
NoSuchAlgorithmException
{
MessageDigest
md
=
MessageDigest
.
getInstance
(
"SHA-1"
);
md
.
update
(
input
.
getBytes
());
byte
[]
digest
=
md
.
digest
();
return
bytesToHex
(
digest
);
}
private
static
String
bytesToHex
(
byte
[]
bytes
)
{
StringBuilder
sb
=
new
StringBuilder
();
for
(
byte
b
:
bytes
)
{
sb
.
append
(
String
.
format
(
"%02x"
,
b
));
}
return
sb
.
toString
();
}
}
...
...
Please
register
or
login
to post a comment