Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-link-module-fortune-hub
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-link-module-fortune-hub
Commits
23734aca
提交
23734aca
authored
12月 12, 2025
作者:
吕本才
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(mp): 完善小程序登录及用户校验逻辑
上级
391ec332
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
32 行增加
和
15 行删除
+32
-15
WechatMiniProgramController.java
.../hub/controller/mp/query/WechatMiniProgramController.java
+5
-7
MiniProgramOpenIdVO.java
...ain/java/com/link/hub/pojo/mp/vo/MiniProgramOpenIdVO.java
+1
-1
MpLoginVo.java
src/main/java/com/link/hub/pojo/mp/vo/MpLoginVo.java
+12
-0
WechatMiniProgramService.java
...b/service/weChatMiniProgram/WechatMiniProgramService.java
+2
-1
LotteryParticipateServiceImpl.java
...weChatMiniProgram/impl/LotteryParticipateServiceImpl.java
+4
-0
WechatMiniProgramServiceServiceImpl.java
...MiniProgram/impl/WechatMiniProgramServiceServiceImpl.java
+4
-1
WechatMiniProgramUserServiceServiceImpl.java
...Program/impl/WechatMiniProgramUserServiceServiceImpl.java
+4
-5
没有找到文件。
src/main/java/com/link/hub/controller/mp/query/WechatMiniProgramController.java
浏览文件 @
23734aca
package
com
.
link
.
hub
.
controller
.
mp
.
query
;
package
com
.
link
.
hub
.
controller
.
mp
.
query
;
import
com.link.hub.pojo.mp.vo.MiniProgramOpenIdVO
;
import
com.link.hub.pojo.mp.vo.MiniProgramOpenIdVO
;
import
com.link.hub.pojo.mp.vo.MpLoginVo
;
import
com.link.hub.service.officeAccount.WechatOfficeAccountService
;
import
com.link.hub.service.officeAccount.WechatOfficeAccountService
;
import
com.link.hub.service.weChatMiniProgram.WechatMiniProgramService
;
import
com.link.hub.service.weChatMiniProgram.WechatMiniProgramService
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
...
@@ -24,8 +22,8 @@ public class WechatMiniProgramController {
...
@@ -24,8 +22,8 @@ public class WechatMiniProgramController {
@Resource
@Resource
private
WechatOfficeAccountService
wechatOfficeAccountService
;
private
WechatOfficeAccountService
wechatOfficeAccountService
;
@PostMapping
(
"/login"
)
@PostMapping
(
"/login"
)
public
MiniProgramOpenIdVO
getUserInfo
(
String
code
)
{
public
MiniProgramOpenIdVO
mpLogin
(
@RequestBody
MpLoginVo
vo
)
{
MiniProgramOpenIdVO
userInfo
=
wechatMiniProgramService
.
getUserInfo
(
code
);
MiniProgramOpenIdVO
userInfo
=
wechatMiniProgramService
.
getUserInfo
(
vo
);
return
userInfo
;
return
userInfo
;
}
}
...
@@ -33,7 +31,7 @@ public class WechatMiniProgramController {
...
@@ -33,7 +31,7 @@ public class WechatMiniProgramController {
* 是否关注公众号
* 是否关注公众号
* @param openid
* @param openid
*/
*/
@GetMapping
(
"/isSubscribe"
)
@GetMapping
(
"/
query/
isSubscribe"
)
public
Boolean
isSubscribe
(
String
openid
)
{
public
Boolean
isSubscribe
(
String
openid
)
{
return
wechatOfficeAccountService
.
isSubscribe
(
openid
);
return
wechatOfficeAccountService
.
isSubscribe
(
openid
);
}
}
...
...
src/main/java/com/link/hub/pojo/mp/vo/MiniProgramOpenIdVO.java
浏览文件 @
23734aca
...
@@ -5,7 +5,7 @@ import lombok.Data;
...
@@ -5,7 +5,7 @@ import lombok.Data;
@Data
@Data
public
class
MiniProgramOpenIdVO
{
public
class
MiniProgramOpenIdVO
{
private
String
openid
;
private
String
openid
;
private
String
session_key
;
//
private String session_key;
private
String
unionid
;
private
String
unionid
;
private
String
token
;
private
String
token
;
private
Long
userId
;
private
Long
userId
;
...
...
src/main/java/com/link/hub/pojo/mp/vo/MpLoginVo.java
0 → 100644
浏览文件 @
23734aca
package
com
.
link
.
hub
.
pojo
.
mp
.
vo
;
import
lombok.Data
;
@Data
public
class
MpLoginVo
{
private
String
code
;
// 头像链接
private
String
avatarUrl
;
// 昵称
private
String
nickname
;
}
src/main/java/com/link/hub/service/weChatMiniProgram/WechatMiniProgramService.java
浏览文件 @
23734aca
package
com
.
link
.
hub
.
service
.
weChatMiniProgram
;
package
com
.
link
.
hub
.
service
.
weChatMiniProgram
;
import
com.link.hub.pojo.mp.vo.MiniProgramOpenIdVO
;
import
com.link.hub.pojo.mp.vo.MiniProgramOpenIdVO
;
import
com.link.hub.pojo.mp.vo.MpLoginVo
;
public
interface
WechatMiniProgramService
{
public
interface
WechatMiniProgramService
{
MiniProgramOpenIdVO
getUserInfo
(
String
code
);
MiniProgramOpenIdVO
getUserInfo
(
MpLoginVo
code
);
// Object isSubscribe(String openid);
// Object isSubscribe(String openid);
}
}
src/main/java/com/link/hub/service/weChatMiniProgram/impl/LotteryParticipateServiceImpl.java
浏览文件 @
23734aca
...
@@ -43,6 +43,10 @@ public class LotteryParticipateServiceImpl extends ServiceImpl<LotteryParticipat
...
@@ -43,6 +43,10 @@ public class LotteryParticipateServiceImpl extends ServiceImpl<LotteryParticipat
MpUserDto
mpUserDto
=
new
MpUserDto
();
MpUserDto
mpUserDto
=
new
MpUserDto
();
mpUserDto
.
setId
(
SecurityUtils
.
getUserId
());
mpUserDto
.
setId
(
SecurityUtils
.
getUserId
());
WechatMiniProgramUser
wechatMiniProgramUser
=
wechatMiniProgramUserService
.
queryMiniProgramUserOne
(
mpUserDto
);
WechatMiniProgramUser
wechatMiniProgramUser
=
wechatMiniProgramUserService
.
queryMiniProgramUserOne
(
mpUserDto
);
// 根据用户id查询小程序的用户信息
if
(
wechatMiniProgramUser
==
null
)
{
throw
new
IllegalArgumentException
(
"用户不存在"
);
}
String
openid
=
wechatMiniProgramUser
.
getOpenid
();
String
openid
=
wechatMiniProgramUser
.
getOpenid
();
if
(!
checkIsSubscribe
(
openid
))
{
if
(!
checkIsSubscribe
(
openid
))
{
throw
new
IllegalArgumentException
(
"用户未关注公众号"
);
throw
new
IllegalArgumentException
(
"用户未关注公众号"
);
...
...
src/main/java/com/link/hub/service/weChatMiniProgram/impl/WechatMiniProgramServiceServiceImpl.java
浏览文件 @
23734aca
...
@@ -7,6 +7,7 @@ import com.link.hub.domain.weChatMiniProgram.entity.WechatMiniProgramUser;
...
@@ -7,6 +7,7 @@ import com.link.hub.domain.weChatMiniProgram.entity.WechatMiniProgramUser;
import
com.link.hub.pojo.mp.dto.MpOpenIdDTO
;
import
com.link.hub.pojo.mp.dto.MpOpenIdDTO
;
import
com.link.hub.pojo.mp.dto.MpUserDto
;
import
com.link.hub.pojo.mp.dto.MpUserDto
;
import
com.link.hub.pojo.mp.vo.MiniProgramOpenIdVO
;
import
com.link.hub.pojo.mp.vo.MiniProgramOpenIdVO
;
import
com.link.hub.pojo.mp.vo.MpLoginVo
;
import
com.link.hub.service.weChatMiniProgram.WechatMiniProgramService
;
import
com.link.hub.service.weChatMiniProgram.WechatMiniProgramService
;
import
com.link.hub.service.weChatMiniProgram.WechatMiniProgramUserService
;
import
com.link.hub.service.weChatMiniProgram.WechatMiniProgramUserService
;
import
com.sfa.common.core.constant.SecurityConstants
;
import
com.sfa.common.core.constant.SecurityConstants
;
...
@@ -40,7 +41,9 @@ public class WechatMiniProgramServiceServiceImpl implements WechatMiniProgramSer
...
@@ -40,7 +41,9 @@ public class WechatMiniProgramServiceServiceImpl implements WechatMiniProgramSer
private
Long
expireTime
;
private
Long
expireTime
;
@Override
@Override
public
MiniProgramOpenIdVO
getUserInfo
(
String
code
)
{
public
MiniProgramOpenIdVO
getUserInfo
(
MpLoginVo
vo
)
{
String
code
=
vo
.
getCode
();
JSONObject
jsonObject
=
WeChatPlatFormUtils
.
getOpenid
(
code
,
weChatMiniProgramConfig
.
getAppId
(),
weChatMiniProgramConfig
.
getAppSecret
());
JSONObject
jsonObject
=
WeChatPlatFormUtils
.
getOpenid
(
code
,
weChatMiniProgramConfig
.
getAppId
(),
weChatMiniProgramConfig
.
getAppSecret
());
// 从jsonObject中获取openid
// 从jsonObject中获取openid
String
openid
=
jsonObject
.
getString
(
"openid"
);
String
openid
=
jsonObject
.
getString
(
"openid"
);
...
...
src/main/java/com/link/hub/service/weChatMiniProgram/impl/WechatMiniProgramUserServiceServiceImpl.java
浏览文件 @
23734aca
...
@@ -7,7 +7,6 @@ import com.link.hub.domain.weChatMiniProgram.wq.WechatMiniProgramUserWq;
...
@@ -7,7 +7,6 @@ import com.link.hub.domain.weChatMiniProgram.wq.WechatMiniProgramUserWq;
import
com.link.hub.pojo.mp.dto.MpOpenIdDTO
;
import
com.link.hub.pojo.mp.dto.MpOpenIdDTO
;
import
com.link.hub.pojo.mp.dto.MpUserDto
;
import
com.link.hub.pojo.mp.dto.MpUserDto
;
import
com.link.hub.service.weChatMiniProgram.WechatMiniProgramUserService
;
import
com.link.hub.service.weChatMiniProgram.WechatMiniProgramUserService
;
import
com.sfa.common.core.exception.ServiceException
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -35,10 +34,10 @@ public class WechatMiniProgramUserServiceServiceImpl implements WechatMiniProgra
...
@@ -35,10 +34,10 @@ public class WechatMiniProgramUserServiceServiceImpl implements WechatMiniProgra
wechatMiniProgramUserWq
.
setOpenid
(
mpUserDto
.
getOpenid
());
wechatMiniProgramUserWq
.
setOpenid
(
mpUserDto
.
getOpenid
());
wechatMiniProgramUserWq
.
setUserId
(
mpUserDto
.
getId
());
wechatMiniProgramUserWq
.
setUserId
(
mpUserDto
.
getId
());
WechatMiniProgramUser
wechatMiniProgramUser
=
wechatMiniProgramUserDao
.
queryMiniProgramUserOne
(
wechatMiniProgramUserWq
);
WechatMiniProgramUser
wechatMiniProgramUser
=
wechatMiniProgramUserDao
.
queryMiniProgramUserOne
(
wechatMiniProgramUserWq
);
if
(
wechatMiniProgramUser
==
null
)
{
//
if (wechatMiniProgramUser == null) {
log
.
error
(
"用户不存在,openid:{},userId:{}"
,
mpUserDto
.
getOpenid
(),
mpUserDto
.
getId
());
//
log.error("用户不存在,openid:{},userId:{}", mpUserDto.getOpenid(), mpUserDto.getId());
throw
new
ServiceException
(
"用户不存在"
);
//
throw new ServiceException("用户不存在");
}
//
}
return
wechatMiniProgramUser
;
return
wechatMiniProgramUser
;
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论