Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
a8be5f1d
Commit
a8be5f1d
authored
Jan 13, 2025
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
乾岛签到分享信息
parent
10fc2c5e
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
168 additions
and
4 deletions
+168
-4
ch-core/src/main/java/com/wwdz/ch/core/consts/CommConsts.java
...ore/src/main/java/com/wwdz/ch/core/consts/CommConsts.java
+6
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/qiandao/QdHomePageServiceImpl.java
...va/com/wwdz/ch/wx/impl/qiandao/QdHomePageServiceImpl.java
+103
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/qiandao/QdHomePageService.java
...ava/com/wwdz/ch/wx/service/qiandao/QdHomePageService.java
+20
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/qiandao/QdHomePageController.java
...java/com/wwdz/ch/wx/web/qiandao/QdHomePageController.java
+39
-4
No files found.
ch-core/src/main/java/com/wwdz/ch/core/consts/CommConsts.java
View file @
a8be5f1d
...
@@ -43,6 +43,12 @@ public interface CommConsts {
...
@@ -43,6 +43,12 @@ public interface CommConsts {
*/
*/
public
static
final
String
UPLOAD_PRE_WXACODE_DIRECTORY
=
"quanku/wxacode/"
;
public
static
final
String
UPLOAD_PRE_WXACODE_DIRECTORY
=
"quanku/wxacode/"
;
/**
* 上传微信小程序码目录
*/
public
static
final
String
UPLOAD_QIANDAO_PRE_WXACODE_DIRECTORY
=
"qiandao/wxacode/"
;
/**
/**
* 拍卖出价的锁
* 拍卖出价的锁
*/
*/
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/qiandao/QdHomePageServiceImpl.java
View file @
a8be5f1d
package
com.wwdz.ch.wx.impl.qiandao
;
package
com.wwdz.ch.wx.impl.qiandao
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.pagehelper.PageInfo
;
import
com.qiniu.storage.model.FileInfo
;
import
com.wwdz.ch.core.api.qiandao.QdWxLoginManager
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.consts.DisposableSubscribeRecordEnum
;
import
com.wwdz.ch.core.consts.MediaTypeEnum
;
import
com.wwdz.ch.core.storage.QiniuStorage
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.util.OkHttpUtil
;
import
com.wwdz.ch.core.util.RedisUtils
;
import
com.wwdz.ch.db.dao.SignInShareImageDao
;
import
com.wwdz.ch.db.dao.UserSignInDao
;
import
com.wwdz.ch.db.dao.UserSignInDao
;
import
com.wwdz.ch.db.dao.qiandao.*
;
import
com.wwdz.ch.db.dao.qiandao.*
;
import
com.wwdz.ch.db.domain.SignInShareImage
;
import
com.wwdz.ch.db.domain.User
;
import
com.wwdz.ch.db.domain.qiandao.QdUser
;
import
com.wwdz.ch.db.domain.qiandao.QdUser
;
import
com.wwdz.ch.db.domain.qiandao.QdUserSignInNote
;
import
com.wwdz.ch.db.domain.qiandao.QdUserSignInNote
;
import
com.wwdz.ch.db.domain.qiandao.SignInTask
;
import
com.wwdz.ch.db.domain.qiandao.SignInTask
;
import
com.wwdz.ch.db.dto.request.UserSignInRequestDto
;
import
com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto
;
import
com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto
;
import
com.wwdz.ch.wx.constant.LoginTypeEnum
;
import
com.wwdz.ch.wx.entity.request.QdHomePageRequestDto
;
import
com.wwdz.ch.wx.entity.request.QdHomePageRequestDto
;
import
com.wwdz.ch.wx.service.qiandao.QdHomePageService
;
import
com.wwdz.ch.wx.service.qiandao.QdHomePageService
;
import
com.xxdxxs.utils.JsonUtils
;
import
com.xxdxxs.utils.StringUtils
;
import
com.xxdxxs.utils.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.InputStream
;
import
java.time.DayOfWeek
;
import
java.time.LocalDate
;
import
java.time.format.DateTimeFormatter
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
@Service
@Service
public
class
QdHomePageServiceImpl
implements
QdHomePageService
{
public
class
QdHomePageServiceImpl
implements
QdHomePageService
{
...
@@ -40,9 +61,22 @@ public class QdHomePageServiceImpl implements QdHomePageService {
...
@@ -40,9 +61,22 @@ public class QdHomePageServiceImpl implements QdHomePageService {
@Autowired
@Autowired
QdUserSignInDao
qdUserSignInDao
;
QdUserSignInDao
qdUserSignInDao
;
@Autowired
QdWxLoginManager
qdWxLoginManager
;
@Autowired
QiniuStorage
qiniuStorage
;
@Autowired
@Autowired
QdOfficialAccountSubscribeRecordDao
qdOfficialAccountSubscribeRecordDao
;
QdOfficialAccountSubscribeRecordDao
qdOfficialAccountSubscribeRecordDao
;
@Autowired
RedisUtils
redisUtils
;
@Autowired
SignInShareImageDao
signInShareImageDao
;
@Override
@Override
public
Result
findUserInfo
(
QdHomePageRequestDto
dto
)
{
public
Result
findUserInfo
(
QdHomePageRequestDto
dto
)
{
try
{
try
{
...
@@ -81,4 +115,73 @@ public class QdHomePageServiceImpl implements QdHomePageService {
...
@@ -81,4 +115,73 @@ public class QdHomePageServiceImpl implements QdHomePageService {
}
}
@Override
public
Result
getAcode
(
String
page
,
String
scene
,
HttpServletRequest
request
)
{
try
{
String
url
=
""
;
// 判断是否存储过该请求路径的微信小程序码图片
String
keyName
=
CommConsts
.
UPLOAD_QIANDAO_PRE_WXACODE_DIRECTORY
+
page
+
"/"
+
scene
+
"."
+
MediaTypeEnum
.
IMAGE_JPG
.
getExt
();
FileInfo
fileInfo
=
(
FileInfo
)
qiniuStorage
.
checkFile
(
keyName
);
if
(
Objects
.
isNull
(
fileInfo
))
{
InputStream
inputStream
=
qdWxLoginManager
.
getWxacodeStream
(
page
,
scene
);
if
(
Objects
.
isNull
(
inputStream
))
{
return
Result
.
failed
(
"获取微信小程序流失败"
);
}
// 新生成微信小程序码并上传到七牛云
qiniuStorage
.
store
(
inputStream
,
1
,
MediaTypeEnum
.
IMAGE_JPG
.
getMime
(),
keyName
);
}
url
=
qiniuStorage
.
generateUrl
(
keyName
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"url"
,
url
);
logger
.
info
(
"【请求结束】获取小程序码成功"
);
return
Result
.
success
(
map
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"获取小程序码失败"
,
e
);
return
Result
.
failed
(
"获取小程序码失败"
);
}
}
@Override
public
Result
getShareInfo
(
UserSignInRequestDto
dto
)
{
try
{
LocalDate
today
=
LocalDate
.
now
();
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy/MM/dd"
);
String
formattedDate
=
today
.
format
(
formatter
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
String
url
=
"https://quanku.wanwudezhi.com/daily_data"
;
OkHttpUtil
okHttpUtil
=
OkHttpUtil
.
builder
().
url
(
url
);
String
responseStr
=
okHttpUtil
.
get
().
sync
();
ObjectMapper
objectMapper
=
new
ObjectMapper
();
map
.
put
(
"suitable"
,
objectMapper
.
readValue
(
JsonUtils
.
getValueByPath
(
responseStr
,
"yi"
),
String
[].
class
));
map
.
put
(
"avoid"
,
objectMapper
.
readValue
(
JsonUtils
.
getValueByPath
(
responseStr
,
"ji"
),
String
[].
class
));
map
.
put
(
"lunar_date"
,
JsonUtils
.
getValueByPath
(
responseStr
,
"lunar_date"
));
map
.
put
(
"author"
,
JsonUtils
.
getValueByPath
(
responseStr
,
"quote/author"
));
map
.
put
(
"text"
,
JsonUtils
.
getValueByPath
(
responseStr
,
"quote/text"
));
String
backgroundImage
=
"https://cdn.wanwudezhi.com/static/web-static/image/a193ed538686e6921cd3d611569043f5_1974x2964.jpeg"
;
if
(
Objects
.
isNull
(
redisUtils
.
get
(
formattedDate
)))
{
SignInShareImage
signInShareImage
=
signInShareImageDao
.
findOne
();
if
(
signInShareImage
!=
null
)
{
backgroundImage
=
signInShareImage
.
getImage
();
redisUtils
.
set
(
formattedDate
,
backgroundImage
,
60
*
60
*
24
);
}
}
else
{
backgroundImage
=
redisUtils
.
get
(
formattedDate
).
toString
();
}
map
.
put
(
"backgroundImage"
,
backgroundImage
);
QdUser
user
=
qdUserDao
.
queryById
(
dto
.
getUserId
());
map
.
put
(
"userName"
,
user
.
getNickName
());
map
.
put
(
"avatar"
,
user
.
getAvatar
());
map
.
put
(
"date"
,
formattedDate
);
DayOfWeek
dayOfWeek
=
today
.
getDayOfWeek
();
String
weekDay
=
dayOfWeek
.
getDisplayName
(
java
.
time
.
format
.
TextStyle
.
FULL
,
java
.
util
.
Locale
.
CHINESE
);
map
.
put
(
"weekDay"
,
weekDay
);
return
Result
.
success
(
map
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"获取分享信息失败 error : {}"
,
e
);
}
return
Result
.
failed
();
}
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/qiandao/QdHomePageService.java
View file @
a8be5f1d
package
com.wwdz.ch.wx.service.qiandao
;
package
com.wwdz.ch.wx.service.qiandao
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.dto.request.UserSignInRequestDto
;
import
com.wwdz.ch.wx.entity.request.QdHomePageRequestDto
;
import
com.wwdz.ch.wx.entity.request.QdHomePageRequestDto
;
import
javax.servlet.http.HttpServletRequest
;
public
interface
QdHomePageService
{
public
interface
QdHomePageService
{
/**
/**
...
@@ -14,4 +17,21 @@ public interface QdHomePageService {
...
@@ -14,4 +17,21 @@ public interface QdHomePageService {
/**
* 获取小程序码
*
* @param page
* @param scene
* @param request
* @return
*/
Result
getAcode
(
String
page
,
String
scene
,
HttpServletRequest
request
);
/**
* 获取分享信息
* @param dto
* @return
*/
Result
getShareInfo
(
UserSignInRequestDto
dto
);
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/qiandao/QdHomePageController.java
View file @
a8be5f1d
package
com.wwdz.ch.wx.web.qiandao
;
package
com.wwdz.ch.wx.web.qiandao
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.wwdz.ch.core.consts.ResultCode
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.dto.request.UserSignInRequestDto
;
import
com.wwdz.ch.wx.entity.request.QdHomePageRequestDto
;
import
com.wwdz.ch.wx.entity.request.QdHomePageRequestDto
;
import
com.wwdz.ch.wx.service.qiandao.QdHomePageService
;
import
com.wwdz.ch.wx.service.qiandao.QdHomePageService
;
import
com.xxdxxs.service.FormHandler
;
import
com.xxdxxs.validation.Validator
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.
PostMapping
;
import
org.springframework.web.bind.annotation.
*
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
javax.servlet.http.HttpServletRequest
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Objects
;
@RestController
@RestController
@RequestMapping
(
"/wx/qdHomePage"
)
@RequestMapping
(
"/wx/qdHomePage"
)
...
@@ -29,4 +34,34 @@ public class QdHomePageController {
...
@@ -29,4 +34,34 @@ public class QdHomePageController {
return
qdHomePageService
.
findUserInfo
(
dto
);
return
qdHomePageService
.
findUserInfo
(
dto
);
}
}
@ApiOperation
(
value
=
"小程序码"
)
@GetMapping
(
"/getAcode"
)
public
Result
getAcode
(
String
page
,
String
scene
,
HttpServletRequest
request
)
{
logger
.
info
(
"【请求开始】获小程序码,请求参数:{}"
,
"page="
+
page
+
",scene="
+
scene
);
if
(
StringUtils
.
isBlank
(
page
))
{
return
Result
.
failed
(
"页面路径不能为空"
);
}
if
(
StringUtils
.
isBlank
(
scene
))
{
return
Result
.
failed
(
"路径参数不能为空"
);
}
return
qdHomePageService
.
getAcode
(
page
,
scene
,
request
);
}
@ApiOperation
(
value
=
"查询签到分享的信息"
)
@PostMapping
(
"/getShareInfo"
)
public
Result
getShareInfo
(
@RequestBody
UserSignInRequestDto
dto
)
{
logger
.
info
(
"【请求开始】查询签到分享的信息,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
Validator
validator
=
new
Validator
(
FormHandler
.
ofEntity
(
dto
));
validator
.
set
(
"userId"
,
"用户id"
).
must
().
number
()
.
end
();
if
(!
validator
.
isValid
())
{
return
Result
.
failed
(
ResultCode
.
PARAM_ERROR
);
}
return
qdHomePageService
.
getShareInfo
(
dto
);
}
}
}
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