Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
dd_school
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangqi
dd_school
Commits
b9304007
Commit
b9304007
authored
Aug 28, 2023
by
xuwenhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
8.28获取签名
parent
be00bd00
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
40 additions
and
11 deletions
+40
-11
smart-campus/src/main/java/yangtz/cs/liu/wechat/controller/api/Sha1Util.java
+30
-4
smart-campus/src/main/java/yangtz/cs/liu/wechat/controller/api/WxApiController.java
+5
-4
smart-campus/src/main/java/yangtz/cs/liu/wechat/utils/AccessTokenUtil.java
+3
-2
smart-campus/src/main/resources/mapper/schoolgrade/SchoolGradeMapper.xml
+2
-1
No files found.
smart-campus/src/main/java/yangtz/cs/liu/wechat/controller/api/Sha1Util.java
View file @
b9304007
package
yangtz
.
cs
.
liu
.
wechat
.
controller
.
api
;
package
yangtz
.
cs
.
liu
.
wechat
.
controller
.
api
;
import
java.io.UnsupportedEncodingException
;
import
java.security.MessageDigest
;
import
java.security.MessageDigest
;
import
java.security.NoSuchAlgorithmException
;
import
java.security.NoSuchAlgorithmException
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.List
;
public
class
Sha1Util
{
public
class
Sha1Util
{
private
static
final
int
[]
abcde
=
{
private
static
final
int
[]
abcde
=
{
...
@@ -229,6 +227,34 @@ public class Sha1Util {
...
@@ -229,6 +227,34 @@ public class Sha1Util {
return
""
;
return
""
;
}
}
/*sha1加密*/
public
static
String
sha12
(
String
decript
)
{
String
signature
=
""
;
try
{
MessageDigest
crypt
=
MessageDigest
.
getInstance
(
"SHA-1"
);
crypt
.
reset
();
crypt
.
update
(
decript
.
getBytes
(
"UTF-8"
));
signature
=
byteToHex
(
crypt
.
digest
());
return
signature
;
}
catch
(
NoSuchAlgorithmException
e
)
{
e
.
printStackTrace
();
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
}
return
""
;
}
private
static
String
byteToHex
(
final
byte
[]
hash
)
{
Formatter
formatter
=
new
Formatter
();
for
(
byte
b
:
hash
)
{
formatter
.
format
(
"%02x"
,
b
);
}
String
result
=
formatter
.
toString
();
formatter
.
close
();
return
result
;
}
/**
/**
* @Comment SHA1实现
* @Comment SHA1实现
* @Author Ron
* @Author Ron
...
...
smart-campus/src/main/java/yangtz/cs/liu/wechat/controller/api/WxApiController.java
View file @
b9304007
...
@@ -323,14 +323,14 @@ public class WxApiController extends BaseController {
...
@@ -323,14 +323,14 @@ public class WxApiController extends BaseController {
String
token
=
accessTokenUtil
.
getToken
();
String
token
=
accessTokenUtil
.
getToken
();
//获取jsapi_ticket
//获取jsapi_ticket
String
ticket
=
null
;
String
ticket
=
null
;
ticket
=
redisCache
.
getCacheObject
(
"ticket"
);
//
ticket = redisCache.getCacheObject("ticket");
if
(
StringUtils
.
isEmpty
(
ticket
)){
if
(
StringUtils
.
isEmpty
(
ticket
)){
String
ticketss
=
HttpUtils
.
sendGet
(
String
ticketss
=
HttpUtils
.
sendGet
(
"https://api.weixin.qq.com/cgi-bin/ticket/getticket?"
+
"access_token="
+
token
"https://api.weixin.qq.com/cgi-bin/ticket/getticket?"
+
"access_token="
+
token
+
"&type=jsapi"
);
+
"&type=jsapi"
);
JSONObject
jsonObject
=
JSONUtil
.
parseObj
(
ticketss
);
JSONObject
jsonObject
=
JSONUtil
.
parseObj
(
ticketss
);
ticket
=
jsonObject
.
get
(
"ticket"
).
toString
();
ticket
=
jsonObject
.
get
(
"ticket"
).
toString
();
redisCache
.
setCacheObject
(
"ticket"
,
ticket
,
5
,
TimeUnit
.
MINUTES
);
//
redisCache.setCacheObject("ticket", ticket, 5, TimeUnit.MINUTES);
}
}
//生成JS-SDK权限验证的签名
//生成JS-SDK权限验证的签名
//1.生成随机字符串
//1.生成随机字符串
...
@@ -338,7 +338,7 @@ public class WxApiController extends BaseController {
...
@@ -338,7 +338,7 @@ public class WxApiController extends BaseController {
//去掉“-”符号
//去掉“-”符号
String
noncester
=
uuid
.
replaceAll
(
"-"
,
""
);
String
noncester
=
uuid
.
replaceAll
(
"-"
,
""
);
//2获取时间戳
//2获取时间戳
long
timestamp
=
System
.
currentTimeMillis
();
long
timestamp
=
System
.
currentTimeMillis
()
/
1000
;
//3.
//3.
Map
<
String
,
String
>
maps
=
new
TreeMap
<
String
,
String
>();
Map
<
String
,
String
>
maps
=
new
TreeMap
<
String
,
String
>();
maps
.
put
(
"noncestr"
,
noncester
);
maps
.
put
(
"noncestr"
,
noncester
);
...
@@ -348,12 +348,13 @@ public class WxApiController extends BaseController {
...
@@ -348,12 +348,13 @@ public class WxApiController extends BaseController {
String
createLinkString
=
createLinkString
(
maps
);
String
createLinkString
=
createLinkString
(
maps
);
log
.
info
(
createLinkString
);
log
.
info
(
createLinkString
);
//sha1签名,得到signature
//sha1签名,得到signature
String
signature
=
Sha1Util
.
sha1
(
createLinkString
);
String
signature
=
Sha1Util
.
sha1
2
(
createLinkString
);
map
.
put
(
"noncestr"
,
noncester
);
map
.
put
(
"noncestr"
,
noncester
);
map
.
put
(
"jsapi_ticket"
,
ticket
);
map
.
put
(
"jsapi_ticket"
,
ticket
);
map
.
put
(
"timestamp"
,
String
.
valueOf
(
timestamp
));
map
.
put
(
"timestamp"
,
String
.
valueOf
(
timestamp
));
map
.
put
(
"url"
,
url
);
map
.
put
(
"url"
,
url
);
map
.
put
(
"signature"
,
signature
);
map
.
put
(
"signature"
,
signature
);
map
.
put
(
"cstoken"
,
token
);
return
AjaxResult
.
success
(
map
);
return
AjaxResult
.
success
(
map
);
...
...
smart-campus/src/main/java/yangtz/cs/liu/wechat/utils/AccessTokenUtil.java
View file @
b9304007
...
@@ -38,7 +38,8 @@ public class AccessTokenUtil {
...
@@ -38,7 +38,8 @@ public class AccessTokenUtil {
public
RedisCache
redisCache
;
public
RedisCache
redisCache
;
public
String
getToken
()
{
public
String
getToken
()
{
String
token
=
redisCache
.
getCacheObject
(
ACCESS_TOKEN
);
// String token = redisCache.getCacheObject(ACCESS_TOKEN);
String
token
=
null
;
if
(
StringUtils
.
isEmpty
(
token
))
{
if
(
StringUtils
.
isEmpty
(
token
))
{
try
{
try
{
String
url
=
accessTokenUri
;
String
url
=
accessTokenUri
;
...
@@ -54,7 +55,7 @@ public class AccessTokenUtil {
...
@@ -54,7 +55,7 @@ public class AccessTokenUtil {
token
=
accessToken
;
token
=
accessToken
;
log
.
info
(
accessToken
);
log
.
info
(
accessToken
);
// 将access_token存入redis
// 将access_token存入redis
redisCache
.
setCacheObject
(
"access_token"
,
accessToken
,
5
,
TimeUnit
.
MINUTES
);
//
redisCache.setCacheObject("access_token", accessToken, 5, TimeUnit.MINUTES);
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
log
.
error
(
e
.
getMessage
(),
e
);
...
...
smart-campus/src/main/resources/mapper/schoolgrade/SchoolGradeMapper.xml
View file @
b9304007
...
@@ -12,8 +12,9 @@
...
@@ -12,8 +12,9 @@
select distinct sg.id from school_grade sg
select distinct sg.id from school_grade sg
left join school_class sc on sc.grade_id = sg.id
left join school_class sc on sc.grade_id = sg.id
left join school_class_mentor scm on scm.class_id = sc.id
left join school_class_mentor scm on scm.class_id = sc.id
left join school_class_headmaster sch on sch.class_id = sc.id
where sg.del_flag = '0' and sc.del_flag = '0' and scm.del_flag = '0'
where sg.del_flag = '0' and sc.del_flag = '0' and scm.del_flag = '0'
and scm.teacher_id = #{userId} and sg.school_year = #{schoolYear}
and scm.teacher_id = #{userId}
or sch.teacher_id = #{userId}
and sg.school_year = #{schoolYear}
order by sg.id
order by sg.id
</select>
</select>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment