Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo-1
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
solo-1
Commits
c2c2f072
Unverified
Commit
c2c2f072
authored
Mar 20, 2019
by
Liang Ding
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
#12719
parent
8d55c6a2
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
88 additions
and
2 deletions
+88
-2
src/main/java/org/b3log/solo/model/Option.java
src/main/java/org/b3log/solo/model/Option.java
+11
-1
src/main/java/org/b3log/solo/service/CronMgmtService.java
src/main/java/org/b3log/solo/service/CronMgmtService.java
+7
-0
src/main/java/org/b3log/solo/service/PageMgmtService.java
src/main/java/org/b3log/solo/service/PageMgmtService.java
+2
-0
src/main/java/org/b3log/solo/service/UserMgmtService.java
src/main/java/org/b3log/solo/service/UserMgmtService.java
+68
-1
No files found.
src/main/java/org/b3log/solo/model/Option.java
View file @
c2c2f072
...
...
@@ -26,7 +26,7 @@ import org.json.JSONObject;
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="https://github.com/hzchendou">hzchendou</a>
* @version 1.5.0.
5, Mar 17
, 2019
* @version 1.5.0.
6, Mar 20
, 2019
* @since 0.6.0
*/
public
final
class
Option
{
...
...
@@ -242,6 +242,11 @@ public final class Option {
*/
public
static
final
String
ID_C_GITHUB_REPOS
=
"githubRepos"
;
/**
* Key of USite.
*/
public
static
final
String
ID_C_USITE
=
"usite"
;
// Category constants
/**
* Category - Preference.
...
...
@@ -258,6 +263,11 @@ public final class Option {
*/
public
static
final
String
CATEGORY_C_GITHUB
=
"github"
;
/**
* Category - HacPai.
*/
public
static
final
String
CATEGORY_C_HACPAI
=
"hacpai"
;
//// Transient ////
/**
* Key of statistic blog published article count.
...
...
src/main/java/org/b3log/solo/service/CronMgmtService.java
View file @
c2c2f072
...
...
@@ -71,6 +71,12 @@ public class CronMgmtService {
@Inject
private
ExportService
exportService
;
/**
* User management service.
*/
@Inject
private
UserMgmtService
userMgmtService
;
/**
* Start all cron tasks.
*/
...
...
@@ -91,6 +97,7 @@ public class CronMgmtService {
SCHEDULED_EXECUTOR_SERVICE
.
scheduleAtFixedRate
(()
->
{
try
{
pageMgmtService
.
refreshGitHub
();
userMgmtService
.
refreshUSite
();
}
catch
(
final
Exception
e
)
{
LOGGER
.
log
(
Level
.
ERROR
,
"Executes cron failed"
,
e
);
}
finally
{
...
...
src/main/java/org/b3log/solo/service/PageMgmtService.java
View file @
c2c2f072
...
...
@@ -150,6 +150,8 @@ public class PageMgmtService {
optionMgmtService
.
addOrUpdateOption
(
githubReposOpt
);
}
catch
(
final
Exception
e
)
{
LOGGER
.
log
(
Level
.
ERROR
,
"Updates github repos option failed"
,
e
);
return
;
}
final
StringBuilder
contentBuilder
=
new
StringBuilder
();
...
...
src/main/java/org/b3log/solo/service/UserMgmtService.java
View file @
c2c2f072
...
...
@@ -17,6 +17,8 @@
*/
package
org
.
b3log
.
solo
.
service
;
import
jodd.http.HttpRequest
;
import
jodd.http.HttpResponse
;
import
org.apache.commons.lang.StringUtils
;
import
org.b3log.latke.Keys
;
import
org.b3log.latke.Latkes
;
...
...
@@ -31,17 +33,22 @@ import org.b3log.latke.service.LangPropsService;
import
org.b3log.latke.service.ServiceException
;
import
org.b3log.latke.service.annotation.Service
;
import
org.b3log.latke.util.Strings
;
import
org.b3log.solo.model.Common
;
import
org.b3log.solo.model.Option
;
import
org.b3log.solo.model.UserExt
;
import
org.b3log.solo.repository.UserRepository
;
import
org.b3log.solo.util.Solos
;
import
org.json.JSONObject
;
import
javax.servlet.http.HttpServletResponse
;
/**
* User management service.
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="https://hacpai.com/member/DASHU">DASHU</a>
* @author <a href="https://github.com/nanolikeyou">nanolikeyou</a>
* @version 1.1.0.1
6, Feb 8
, 2019
* @version 1.1.0.1
7, Mar 20
, 2019
* @since 0.4.0
*/
@Service
...
...
@@ -81,6 +88,66 @@ public class UserMgmtService {
@Inject
private
OptionMgmtService
optionMgmtService
;
/**
* Init service.
*/
@Inject
private
InitService
initService
;
/**
* Refresh usite. 展示站点连接 https://github.com/b3log/solo/issues/12719
*/
public
void
refreshUSite
()
{
if
(!
initService
.
isInited
())
{
return
;
}
JSONObject
admin
;
try
{
admin
=
userRepository
.
getAdmin
();
}
catch
(
final
Exception
e
)
{
return
;
}
JSONObject
usite
;
try
{
final
JSONObject
requestJSON
=
new
JSONObject
().
put
(
User
.
USER_NAME
,
admin
.
optString
(
User
.
USER_NAME
)).
put
(
UserExt
.
USER_B3_KEY
,
admin
.
optString
(
UserExt
.
USER_B3_KEY
));
final
HttpResponse
res
=
HttpRequest
.
post
(
"https://hacpai.com/user/usite"
).
trustAllCerts
(
true
).
connectionTimeout
(
3000
).
timeout
(
7000
).
header
(
"User-Agent"
,
Solos
.
USER_AGENT
).
body
(
requestJSON
.
toString
()).
send
();
if
(
HttpServletResponse
.
SC_OK
!=
res
.
statusCode
())
{
return
;
}
res
.
charset
(
"UTF-8"
);
final
JSONObject
result
=
new
JSONObject
(
res
.
bodyText
());
if
(
0
!=
result
.
optInt
(
Keys
.
STATUS_CODE
))
{
return
;
}
usite
=
result
.
optJSONObject
(
Common
.
DATA
);
}
catch
(
final
Exception
e
)
{
LOGGER
.
log
(
Level
.
ERROR
,
"Gets usite failed"
,
e
);
return
;
}
JSONObject
usiteOpt
=
optionQueryService
.
getOptionById
(
Option
.
ID_C_USITE
);
if
(
null
==
usiteOpt
)
{
usiteOpt
=
new
JSONObject
();
usiteOpt
.
put
(
Keys
.
OBJECT_ID
,
Option
.
ID_C_USITE
);
usiteOpt
.
put
(
Option
.
OPTION_CATEGORY
,
Option
.
CATEGORY_C_HACPAI
);
}
usiteOpt
.
put
(
Option
.
OPTION_VALUE
,
usite
.
toString
());
try
{
optionMgmtService
.
addOrUpdateOption
(
usiteOpt
);
}
catch
(
final
Exception
e
)
{
LOGGER
.
log
(
Level
.
ERROR
,
"Updates usite option failed"
,
e
);
return
;
}
}
/**
* Updates a user by the specified request json object.
*
...
...
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