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
7365d894
Commit
7365d894
authored
Oct 13, 2023
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
公众号订阅
parent
2e44f766
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
45 additions
and
14 deletions
+45
-14
ch-dao/src/main/java/com/wwdz/ch/db/dao/OfficialAccountSubscribeRecordDao.java
...com/wwdz/ch/db/dao/OfficialAccountSubscribeRecordDao.java
+2
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/OfficialAccountSubscribeRecordDaoImpl.java
...wdz/ch/db/impl/OfficialAccountSubscribeRecordDaoImpl.java
+10
-2
ch-wx-api/src/main/java/com/wwdz/ch/wx/api/OfficialAccountApi.java
.../src/main/java/com/wwdz/ch/wx/api/OfficialAccountApi.java
+1
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/api/OfficialAccountCallbackController.java
...com/wwdz/ch/wx/api/OfficialAccountCallbackController.java
+16
-8
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/OfficialAccountSubscribeRecordServiceImpl.java
...ch/wx/impl/OfficialAccountSubscribeRecordServiceImpl.java
+12
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/OfficialAccountSubscribeRecordService.java
.../ch/wx/service/OfficialAccountSubscribeRecordService.java
+3
-0
ch-wx-api/src/test/java/com/wwdz/ch/wx/api/OfficialAccountApiTest.java
.../test/java/com/wwdz/ch/wx/api/OfficialAccountApiTest.java
+1
-3
No files found.
ch-dao/src/main/java/com/wwdz/ch/db/dao/OfficialAccountSubscribeRecordDao.java
View file @
7365d894
...
@@ -12,4 +12,6 @@ public interface OfficialAccountSubscribeRecordDao {
...
@@ -12,4 +12,6 @@ public interface OfficialAccountSubscribeRecordDao {
boolean
isExisted
(
String
openid
);
boolean
isExisted
(
String
openid
);
boolean
isSubscribed
(
String
openid
);
boolean
isSubscribed
(
String
openid
);
OfficialAccountSubscribeRecord
findOne
(
String
openid
);
}
}
ch-dao/src/main/java/com/wwdz/ch/db/impl/OfficialAccountSubscribeRecordDaoImpl.java
View file @
7365d894
...
@@ -30,10 +30,10 @@ public class OfficialAccountSubscribeRecordDaoImpl implements OfficialAccountSub
...
@@ -30,10 +30,10 @@ public class OfficialAccountSubscribeRecordDaoImpl implements OfficialAccountSub
}
}
@Override
@Override
public
boolean
isExisted
(
String
unio
nid
)
{
public
boolean
isExisted
(
String
ope
nid
)
{
OfficialAccountSubscribeRecordExample
example
=
new
OfficialAccountSubscribeRecordExample
();
OfficialAccountSubscribeRecordExample
example
=
new
OfficialAccountSubscribeRecordExample
();
OfficialAccountSubscribeRecordExample
.
Criteria
criteria
=
example
.
createCriteria
();
OfficialAccountSubscribeRecordExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
and
UnionidEqualTo
(
unio
nid
);
criteria
.
and
OpenidEqualTo
(
ope
nid
);
return
officialAccountSubscribeRecordMapper
.
countByExample
(
example
)
>
0
;
return
officialAccountSubscribeRecordMapper
.
countByExample
(
example
)
>
0
;
}
}
...
@@ -45,4 +45,12 @@ public class OfficialAccountSubscribeRecordDaoImpl implements OfficialAccountSub
...
@@ -45,4 +45,12 @@ public class OfficialAccountSubscribeRecordDaoImpl implements OfficialAccountSub
criteria
.
andEnabledEqualTo
(
1
);
criteria
.
andEnabledEqualTo
(
1
);
return
officialAccountSubscribeRecordMapper
.
countByExample
(
example
)
>
0
;
return
officialAccountSubscribeRecordMapper
.
countByExample
(
example
)
>
0
;
}
}
@Override
public
OfficialAccountSubscribeRecord
findOne
(
String
openid
)
{
OfficialAccountSubscribeRecordExample
example
=
new
OfficialAccountSubscribeRecordExample
();
OfficialAccountSubscribeRecordExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andOpenidEqualTo
(
openid
);
return
officialAccountSubscribeRecordMapper
.
selectOneByExample
(
example
);
}
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/api/OfficialAccountApi.java
View file @
7365d894
...
@@ -65,7 +65,7 @@ public class OfficialAccountApi {
...
@@ -65,7 +65,7 @@ public class OfficialAccountApi {
* @param openid
* @param openid
* @return
* @return
*/
*/
public
String
getUnionidBy
o
penid
(
String
openid
)
{
public
String
getUnionidBy
O
penid
(
String
openid
)
{
String
token
=
getAccessToken
();
String
token
=
getAccessToken
();
String
url
=
GET_USER_BASE_INFO_URL
+
"&access_token="
+
token
+
"&openid="
+
openid
;
String
url
=
GET_USER_BASE_INFO_URL
+
"&access_token="
+
token
+
"&openid="
+
openid
;
OkHttpUtil
okHttpUtil
=
OkHttpUtil
.
builder
().
url
(
url
);
OkHttpUtil
okHttpUtil
=
OkHttpUtil
.
builder
().
url
(
url
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/api/OfficialAccountCallbackController.java
View file @
7365d894
...
@@ -2,6 +2,7 @@ package com.wwdz.ch.wx.api;
...
@@ -2,6 +2,7 @@ package com.wwdz.ch.wx.api;
import
com.wwdz.ch.core.consts.OfficalAccountEnum
;
import
com.wwdz.ch.core.consts.OfficalAccountEnum
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.dao.UserDao
;
import
com.wwdz.ch.db.dao.UserDao
;
import
com.wwdz.ch.db.domain.OfficialAccountSubscribeRecord
;
import
com.wwdz.ch.db.domain.OfficialAccountSubscribeRecord
;
import
com.wwdz.ch.db.domain.User
;
import
com.wwdz.ch.db.domain.User
;
...
@@ -91,25 +92,32 @@ public class OfficialAccountCallbackController {
...
@@ -91,25 +92,32 @@ public class OfficialAccountCallbackController {
logger
.
info
(
"解析xml得到 openId:{}, event :{}, time:{}"
,
userOpenId
,
event
,
date
);
logger
.
info
(
"解析xml得到 openId:{}, event :{}, time:{}"
,
userOpenId
,
event
,
date
);
//新增或更新订阅记录
//新增或更新订阅记录
OfficialAccountSubscribeRecord
officialAccountSubscribeRecord
=
new
OfficialAccountSubscribeRecord
();
OfficialAccountSubscribeRecord
officialAccountSubscribeRecord
=
new
OfficialAccountSubscribeRecord
();
//根据openid获取unionid
String
unionid
=
officialAccountApi
.
getUnionidByopenid
(
userOpenId
);
officialAccountSubscribeRecord
.
setUnionid
(
unionid
);
officialAccountSubscribeRecord
.
setOpenid
(
userOpenId
);
officialAccountSubscribeRecord
.
setOpenid
(
userOpenId
);
String
unionid
=
null
;
if
(
SUBSCRIBE_EVENT
.
equals
(
event
))
{
if
(
SUBSCRIBE_EVENT
.
equals
(
event
))
{
//只有关注了公众号,才可以通过根据openid获取unionid
unionid
=
officialAccountApi
.
getUnionidByOpenid
(
userOpenId
);
officialAccountSubscribeRecord
.
setUnionid
(
unionid
);
officialAccountSubscribeRecord
.
setEnabled
(
1
);
officialAccountSubscribeRecord
.
setEnabled
(
1
);
}
else
{
}
else
{
officialAccountSubscribeRecord
.
setEnabled
(
0
);
officialAccountSubscribeRecord
.
setEnabled
(
0
);
}
}
//查询有无历史订阅记录
//查询有无历史订阅记录
boolean
isExisted
=
officialAccountSubscribeRecordService
.
isExisted
(
u
nioni
d
);
boolean
isExisted
=
officialAccountSubscribeRecordService
.
isExisted
(
u
serOpenI
d
);
if
(
isExisted
)
{
if
(
isExisted
)
{
/* Result<OfficialAccountSubscribeRecord> result = officialAccountSubscribeRecordService.findOne(userOpenId);
OfficialAccountSubscribeRecord oldRecord = result.getData();
officialAccountSubscribeRecord.setUnionid(oldRecord.getUnionid());*/
officialAccountSubscribeRecord
.
setUpdateTime
(
date
);
officialAccountSubscribeRecord
.
setUpdateTime
(
date
);
officialAccountSubscribeRecordService
.
update
(
officialAccountSubscribeRecord
);
officialAccountSubscribeRecordService
.
update
(
officialAccountSubscribeRecord
);
}
else
{
}
else
{
//没有历史订阅记录,先根据unionid查询手机号
//没有历史订阅记录,
User
user
=
userDao
.
queryByOid
(
unionid
);
if
(
SUBSCRIBE_EVENT
.
equals
(
event
))
{
if
(
user
!=
null
)
{
//根据unionid查询手机号
officialAccountSubscribeRecord
.
setPhone
(
user
.
getMobile
());
User
user
=
userDao
.
queryByOid
(
unionid
);
if
(
user
!=
null
)
{
officialAccountSubscribeRecord
.
setPhone
(
user
.
getMobile
());
}
}
}
officialAccountSubscribeRecord
.
setCreateTime
(
date
);
officialAccountSubscribeRecord
.
setCreateTime
(
date
);
officialAccountSubscribeRecord
.
setUpdateTime
(
date
);
officialAccountSubscribeRecord
.
setUpdateTime
(
date
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/OfficialAccountSubscribeRecordServiceImpl.java
View file @
7365d894
...
@@ -62,4 +62,16 @@ public class OfficialAccountSubscribeRecordServiceImpl implements OfficialAccoun
...
@@ -62,4 +62,16 @@ public class OfficialAccountSubscribeRecordServiceImpl implements OfficialAccoun
}
}
return
Result
.
failed
();
return
Result
.
failed
();
}
}
@Override
public
Result
findOne
(
String
openid
)
{
try
{
OfficialAccountSubscribeRecord
officialAccountSubscribeRecord
=
officialAccountSubscribeRecordDao
.
findOne
(
openid
);
return
Result
.
success
(
officialAccountSubscribeRecord
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"findOne error :{}"
,
e
);
}
return
Result
.
failed
();
}
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/OfficialAccountSubscribeRecordService.java
View file @
7365d894
...
@@ -22,4 +22,7 @@ public interface OfficialAccountSubscribeRecordService {
...
@@ -22,4 +22,7 @@ public interface OfficialAccountSubscribeRecordService {
* @return
* @return
*/
*/
Result
isSubscribed
(
String
openid
);
Result
isSubscribed
(
String
openid
);
Result
findOne
(
String
openid
);
}
}
ch-wx-api/src/test/java/com/wwdz/ch/wx/api/OfficialAccountApiTest.java
View file @
7365d894
...
@@ -6,8 +6,6 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -6,8 +6,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
static
org
.
junit
.
Assert
.*;
@SpringBootTest
@SpringBootTest
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
public
class
OfficialAccountApiTest
{
public
class
OfficialAccountApiTest
{
...
@@ -24,6 +22,6 @@ public class OfficialAccountApiTest {
...
@@ -24,6 +22,6 @@ public class OfficialAccountApiTest {
@Test
@Test
public
void
getUserBaseInfo
()
{
public
void
getUserBaseInfo
()
{
String
openid
=
"oNPTN6QaVliZfKB53OzZRPBZr_r8"
;
String
openid
=
"oNPTN6QaVliZfKB53OzZRPBZr_r8"
;
officialAccountApi
.
getUnionidBy
o
penid
(
openid
);
officialAccountApi
.
getUnionidBy
O
penid
(
openid
);
}
}
}
}
\ No newline at end of file
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