Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
midjourney-proxy
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
徐少华
midjourney-proxy
Commits
74072d31
Commit
74072d31
authored
Jul 22, 2020
by
桂前礼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: [1003283] 小睿入群流程优化-webview公众号长按识别直接入群方案 新增多公众号支持
parent
4803f485
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
501 additions
and
40 deletions
+501
-40
BookGroupBiz.java
...src/main/java/com/pcloud/book/group/biz/BookGroupBiz.java
+2
-0
GroupMaterialAccountBiz.java
...va/com/pcloud/book/group/biz/GroupMaterialAccountBiz.java
+17
-0
BookGroupBizImpl.java
...java/com/pcloud/book/group/biz/impl/BookGroupBizImpl.java
+59
-6
GroupMaterialAccountBizImpl.java
...loud/book/group/biz/impl/GroupMaterialAccountBizImpl.java
+98
-0
WeixinQrcodeBizImpl.java
...a/com/pcloud/book/group/biz/impl/WeixinQrcodeBizImpl.java
+33
-15
GroupQrcodeDao.java
...c/main/java/com/pcloud/book/group/dao/GroupQrcodeDao.java
+2
-1
GroupQrcodeDaoImpl.java
...va/com/pcloud/book/group/dao/impl/GroupQrcodeDaoImpl.java
+3
-1
GroupMaterialAccount.java
...va/com/pcloud/book/group/entity/GroupMaterialAccount.java
+47
-0
BookGroupFacade.java
...in/java/com/pcloud/book/group/facade/BookGroupFacade.java
+19
-9
BookGroupFacadeImpl.java
...om/pcloud/book/group/facade/impl/BookGroupFacadeImpl.java
+19
-7
GroupMaterialAccountMapper.java
.../pcloud/book/group/mapper/GroupMaterialAccountMapper.java
+77
-0
GroupMaterialAccountMapper.xml
...ain/resources/mapper/group/GroupMaterialAccountMapper.xml
+123
-0
GroupQrcode.Mapper.xml
...ok/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
+2
-1
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/BookGroupBiz.java
View file @
74072d31
...
@@ -55,6 +55,7 @@ import com.pcloud.book.group.vo.TotalRescourceDataVO;
...
@@ -55,6 +55,7 @@ import com.pcloud.book.group.vo.TotalRescourceDataVO;
import
com.pcloud.book.group.vo.UserBookInfoVO
;
import
com.pcloud.book.group.vo.UserBookInfoVO
;
import
com.pcloud.book.group.vo.WxGroupStatisticVO
;
import
com.pcloud.book.group.vo.WxGroupStatisticVO
;
import
com.pcloud.book.keywords.vo.ListKeywordVO
;
import
com.pcloud.book.keywords.vo.ListKeywordVO
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.dto.StoreFlowInfoDto
;
import
com.pcloud.common.dto.StoreFlowInfoDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageBean
;
import
com.pcloud.common.page.PageBean
;
...
@@ -917,4 +918,5 @@ public interface BookGroupBiz {
...
@@ -917,4 +918,5 @@ public interface BookGroupBiz {
*/
*/
Map
<
String
,
BookGroupServeCountDTO
>
mapBookGroupQrcodeServeCount
(
List
<
Long
>
adviserIds
,
List
<
Long
>
bookIds
,
List
<
Long
>
channelIds
,
Integer
groupType
);
Map
<
String
,
BookGroupServeCountDTO
>
mapBookGroupQrcodeServeCount
(
List
<
Long
>
adviserIds
,
List
<
Long
>
bookIds
,
List
<
Long
>
channelIds
,
Integer
groupType
);
String
getGroupNewsMaterialById
(
Long
bookGroupQrcodeId
,
Long
classifyId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/GroupMaterialAccountBiz.java
0 → 100644
View file @
74072d31
package
com
.
pcloud
.
book
.
group
.
biz
;
import
com.pcloud.book.group.entity.GroupMaterialAccount
;
/**
* @author guiq
* @version 1.0
* @since 2020年7月23日
*/
public
interface
GroupMaterialAccountBiz
{
/**
* 获取一个新增/更新永久图文素材未达限制的公众号
*/
GroupMaterialAccount
getActiveAccount
();
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/BookGroupBizImpl.java
View file @
74072d31
package
com
.
pcloud
.
book
.
group
.
biz
.
impl
;
package
com
.
pcloud
.
book
.
group
.
biz
.
impl
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.ZipUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pcloud.analysisengine.browse.dto.GroupBrowseStatisticVO
;
import
com.pcloud.analysisengine.browse.dto.GroupBrowseStatisticVO
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.appcenter.base.dto.AppPriceCacheDTO
;
import
com.pcloud.appcenter.base.dto.AppPriceCacheDTO
;
...
@@ -43,6 +44,7 @@ import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
...
@@ -43,6 +44,7 @@ import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import
com.pcloud.book.group.biz.BookGroupAppBiz
;
import
com.pcloud.book.group.biz.BookGroupAppBiz
;
import
com.pcloud.book.group.biz.BookGroupBiz
;
import
com.pcloud.book.group.biz.BookGroupBiz
;
import
com.pcloud.book.group.biz.BookGroupClassifyBiz
;
import
com.pcloud.book.group.biz.BookGroupClassifyBiz
;
import
com.pcloud.book.group.biz.GroupMaterialAccountBiz
;
import
com.pcloud.book.group.biz.GroupQrcodeBiz
;
import
com.pcloud.book.group.biz.GroupQrcodeBiz
;
import
com.pcloud.book.group.constant.BookBusinessConstants
;
import
com.pcloud.book.group.constant.BookBusinessConstants
;
import
com.pcloud.book.group.dao.AppClickRecordDao
;
import
com.pcloud.book.group.dao.AppClickRecordDao
;
...
@@ -114,6 +116,7 @@ import com.pcloud.book.group.entity.BookGroupAgentRecord;
...
@@ -114,6 +116,7 @@ import com.pcloud.book.group.entity.BookGroupAgentRecord;
import
com.pcloud.book.group.entity.BookGroupCipherUser
;
import
com.pcloud.book.group.entity.BookGroupCipherUser
;
import
com.pcloud.book.group.entity.BookGroupFriendGuide
;
import
com.pcloud.book.group.entity.BookGroupFriendGuide
;
import
com.pcloud.book.group.entity.BookGroupServe
;
import
com.pcloud.book.group.entity.BookGroupServe
;
import
com.pcloud.book.group.entity.GroupMaterialAccount
;
import
com.pcloud.book.group.entity.GroupQrcode
;
import
com.pcloud.book.group.entity.GroupQrcode
;
import
com.pcloud.book.group.entity.JoinGroupCipher
;
import
com.pcloud.book.group.entity.JoinGroupCipher
;
import
com.pcloud.book.group.entity.PushBookGroupUpdate
;
import
com.pcloud.book.group.entity.PushBookGroupUpdate
;
...
@@ -127,6 +130,7 @@ import com.pcloud.book.group.enums.ChangeOriginTypeEnum;
...
@@ -127,6 +130,7 @@ import com.pcloud.book.group.enums.ChangeOriginTypeEnum;
import
com.pcloud.book.group.enums.CipherTypeEnum
;
import
com.pcloud.book.group.enums.CipherTypeEnum
;
import
com.pcloud.book.group.enums.JoinGroupTypeEnum
;
import
com.pcloud.book.group.enums.JoinGroupTypeEnum
;
import
com.pcloud.book.group.enums.LargeTempletEnum
;
import
com.pcloud.book.group.enums.LargeTempletEnum
;
import
com.pcloud.book.group.mapper.GroupMaterialAccountMapper
;
import
com.pcloud.book.group.set.GroupSet
;
import
com.pcloud.book.group.set.GroupSet
;
import
com.pcloud.book.group.tools.BookExcelReader
;
import
com.pcloud.book.group.tools.BookExcelReader
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
...
@@ -138,6 +142,7 @@ import com.pcloud.book.group.vo.ClassifyQrcodeVO;
...
@@ -138,6 +142,7 @@ import com.pcloud.book.group.vo.ClassifyQrcodeVO;
import
com.pcloud.book.group.vo.ExcelDataVO
;
import
com.pcloud.book.group.vo.ExcelDataVO
;
import
com.pcloud.book.group.vo.FriendsVO
;
import
com.pcloud.book.group.vo.FriendsVO
;
import
com.pcloud.book.group.vo.GroupIncomeStaticParamVO
;
import
com.pcloud.book.group.vo.GroupIncomeStaticParamVO
;
import
com.pcloud.book.group.vo.GroupQrcodeBaseInfoVO
;
import
com.pcloud.book.group.vo.GroupScanTrendParamVO
;
import
com.pcloud.book.group.vo.GroupScanTrendParamVO
;
import
com.pcloud.book.group.vo.GroupScanTrendVO
;
import
com.pcloud.book.group.vo.GroupScanTrendVO
;
import
com.pcloud.book.group.vo.GroupStatisticVO
;
import
com.pcloud.book.group.vo.GroupStatisticVO
;
...
@@ -208,6 +213,8 @@ import com.pcloud.facade.tradecenter.dto.GroupMoneyDto;
...
@@ -208,6 +213,8 @@ import com.pcloud.facade.tradecenter.dto.GroupMoneyDto;
import
com.pcloud.facade.tradecenter.dto.ProductSaleDetailDto
;
import
com.pcloud.facade.tradecenter.dto.ProductSaleDetailDto
;
import
com.pcloud.facade.tradecenter.dto.SpeWechatGroupDto
;
import
com.pcloud.facade.tradecenter.dto.SpeWechatGroupDto
;
import
com.pcloud.facade.tradecenter.dto.WechatGroupDto
;
import
com.pcloud.facade.tradecenter.dto.WechatGroupDto
;
import
com.pcloud.facade.wechat.material.dto.GroupNewsMaterialAddDTO
;
import
com.pcloud.facade.wechat.material.service.MaterialService
;
import
com.pcloud.labelcenter.label.service.LabelService
;
import
com.pcloud.labelcenter.label.service.LabelService
;
import
com.pcloud.liveapp.live.dto.ProductIdSearchDto
;
import
com.pcloud.liveapp.live.dto.ProductIdSearchDto
;
import
com.pcloud.liveapp.live.service.TimeTableService
;
import
com.pcloud.liveapp.live.service.TimeTableService
;
...
@@ -241,7 +248,7 @@ import com.pcloud.wechatgroup.selfrobot.dto.SelfRobotDTO;
...
@@ -241,7 +248,7 @@ import com.pcloud.wechatgroup.selfrobot.dto.SelfRobotDTO;
import
com.pcloud.wechatgroup.selfrobot.dto.UserRobotDTO
;
import
com.pcloud.wechatgroup.selfrobot.dto.UserRobotDTO
;
import
com.pcloud.wechatgroup.selfrobot.enums.SelfRobotTypeEnum
;
import
com.pcloud.wechatgroup.selfrobot.enums.SelfRobotTypeEnum
;
import
com.sdk.wxgroup.SendMessageTypeEnum
;
import
com.sdk.wxgroup.SendMessageTypeEnum
;
import
lombok.SneakyThrows
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -272,9 +279,6 @@ import java.util.concurrent.ThreadPoolExecutor;
...
@@ -272,9 +279,6 @@ import java.util.concurrent.ThreadPoolExecutor;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
cn.hutool.core.util.ZipUtil
;
import
lombok.SneakyThrows
;
/**
/**
* Description 社群书群二维码业务逻辑层接口实现类 Created by PENG on 2019/4/17.
* Description 社群书群二维码业务逻辑层接口实现类 Created by PENG on 2019/4/17.
*/
*/
...
@@ -409,6 +413,14 @@ public class BookGroupBizImpl implements BookGroupBiz {
...
@@ -409,6 +413,14 @@ public class BookGroupBizImpl implements BookGroupBiz {
private
AppletGroupSearchRecordBiz
appletGroupSearchRecordBiz
;
private
AppletGroupSearchRecordBiz
appletGroupSearchRecordBiz
;
@Autowired
@Autowired
private
BookBrowseRecordBiz
bookBrowseRecordBiz
;
private
BookBrowseRecordBiz
bookBrowseRecordBiz
;
@Value
(
"${system.env}"
)
private
String
envStr
;
@Autowired
private
MaterialService
materialService
;
@Autowired
private
GroupMaterialAccountBiz
groupMaterialAccountBiz
;
@Autowired
private
GroupMaterialAccountMapper
groupMaterialAccountMapper
;
private
static
final
ThreadPoolExecutor
PLATFORM_STATISTICS_EXPORT_THREAD
=
new
ThreadPoolExecutor
(
2
,
2
,
private
static
final
ThreadPoolExecutor
PLATFORM_STATISTICS_EXPORT_THREAD
=
new
ThreadPoolExecutor
(
2
,
2
,
0
,
TimeUnit
.
SECONDS
,
new
LinkedBlockingQueue
<>(),
0
,
TimeUnit
.
SECONDS
,
new
LinkedBlockingQueue
<>(),
...
@@ -5266,4 +5278,45 @@ public class BookGroupBizImpl implements BookGroupBiz {
...
@@ -5266,4 +5278,45 @@ public class BookGroupBizImpl implements BookGroupBiz {
}
}
return
bookGroupServeDao
.
mapBookGroupQrcodeServeCount
(
adviserIds
,
bookIds
,
channelIds
,
joinGroupType
);
return
bookGroupServeDao
.
mapBookGroupQrcodeServeCount
(
adviserIds
,
bookIds
,
channelIds
,
joinGroupType
);
}
}
@Override
public
String
getGroupNewsMaterialById
(
Long
bookGroupQrcodeId
,
Long
classifyId
)
{
if
(
bookGroupQrcodeId
==
null
)
{
// 切群,获取新切群的群二维码
String
groupQrCode
=
groupQrcodeBiz
.
getChangeGroupQrCode
(
classifyId
);
// 通过群二维码反查 bookGroupQrcodeId
ClassifyQrcodeVO
groupQrcodeInfo
=
groupQrcodeBiz
.
getGroupQrcodeInfo
(
groupQrCode
,
classifyId
);
if
(
Objects
.
isNull
(
groupQrcodeInfo
))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"未查询到分类下群二维码"
);
}
bookGroupQrcodeId
=
groupQrcodeInfo
.
getId
();
}
GroupQrcodeBaseInfoVO
groupInfo
=
groupQrcodeDao
.
getBaseById
(
bookGroupQrcodeId
);
GroupMaterialAccount
activeAccount
=
groupMaterialAccountBiz
.
getActiveAccount
();
String
mediaId
=
updateMediaId
(
groupInfo
,
activeAccount
,
bookGroupQrcodeId
);
if
(
StrUtil
.
isBlank
(
mediaId
))
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"未获取到图文素材链接"
);
}
return
ResponseHandleUtil
.
parseResponse
(
materialService
.
getGroupNewsMaterialByMediaId
(
mediaId
),
String
.
class
);
}
private
String
updateMediaId
(
GroupQrcodeBaseInfoVO
groupInfo
,
GroupMaterialAccount
account
,
Long
bookGroupQrcodeId
)
{
if
(
groupInfo
!=
null
&&
account
!=
null
)
{
String
mediaId
=
groupQrcodeDao
.
getMediaId
(
bookGroupQrcodeId
);
if
(
StrUtil
.
isBlank
(
mediaId
))
{
GroupNewsMaterialAddDTO
groupNewsMaterialAddDTO
=
new
GroupNewsMaterialAddDTO
();
groupNewsMaterialAddDTO
.
setAccountId
(
account
.
getAccountId
());
groupNewsMaterialAddDTO
.
setCoverMediaId
(
account
.
getCoverMediaId
());
groupNewsMaterialAddDTO
.
setGroupHeadImg
(
account
.
getHeadMediaId
());
groupNewsMaterialAddDTO
.
setGroupName
(
groupInfo
.
getGroupName
());
groupNewsMaterialAddDTO
.
setQrcodeUrl
(
groupInfo
.
getQrcodeUrl
());
groupNewsMaterialAddDTO
.
setMediaId
(
mediaId
);
mediaId
=
ResponseHandleUtil
.
parseResponse
(
materialService
.
getGroupNewsMaterial
(
groupNewsMaterialAddDTO
),
String
.
class
);
groupQrcodeDao
.
updateMediaId
(
bookGroupQrcodeId
,
mediaId
,
new
Date
());
}
return
mediaId
;
}
return
null
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/GroupMaterialAccountBizImpl.java
0 → 100644
View file @
74072d31
package
com
.
pcloud
.
book
.
group
.
biz
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.pcloud.book.group.biz.GroupMaterialAccountBiz
;
import
com.pcloud.book.group.entity.GroupMaterialAccount
;
import
com.pcloud.book.group.mapper.GroupMaterialAccountMapper
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.facade.wechat.exceptions.WechatSeviceException
;
import
com.pcloud.facade.wechat.material.service.MaterialService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Objects
;
/**
* GroupMaterialAccountBiz实现
*
* @author guiq
* @version 1.0
* @since 2020年7月23日
*/
@Slf4j
@Component
(
"groupMaterialAccountBiz"
)
public
class
GroupMaterialAccountBizImpl
implements
GroupMaterialAccountBiz
{
/**
* 永久图文素材群头像
*/
private
static
final
String
GROUP_HEAD_IMAGE
=
"https://file.raysgo.com/oss/uploadfe/png/5ac51d7a8ad9c6ac9d32355ecbd64898.png"
;
/**
* 永久图文素材封面
*/
private
static
final
String
COVER_IMAGE
=
"https://file.raysgo.com/oss/uploadfe/png/2b5d5797fc09d240c64de18fee3261d4.png"
;
@Autowired
private
GroupMaterialAccountMapper
groupMaterialAccountMapper
;
@Autowired
private
MaterialService
materialService
;
@Override
public
GroupMaterialAccount
getActiveAccount
()
{
// 查询未达到限制或者已达到限制但已经超过24小时的
Date
yesterday
=
DateUtil
.
offsetDay
(
new
Date
(),-
1
).
toJdkDate
();
List
<
GroupMaterialAccount
>
activeAccount
=
groupMaterialAccountMapper
.
getActiveAccount
(
yesterday
);
return
checkLimit
(
activeAccount
);
}
/**
* 筛选一个可用的公众号
*/
private
GroupMaterialAccount
checkLimit
(
List
<
GroupMaterialAccount
>
accounts
)
{
if
(
CollUtil
.
isEmpty
(
accounts
))
{
return
null
;
}
for
(
GroupMaterialAccount
account
:
accounts
)
{
if
(
Objects
.
nonNull
(
account
))
{
// 补充群头像 - 图文消息内的图片
if
(
StrUtil
.
isBlank
(
account
.
getCoverMediaId
())
||
StrUtil
.
isBlank
(
account
.
getHeadMediaId
()))
{
try
{
if
(
StrUtil
.
isBlank
(
account
.
getHeadMediaId
())){
String
url
=
ResponseHandleUtil
.
parseResponse
(
materialService
.
uploadImg
(
account
.
getAccountId
(),
GROUP_HEAD_IMAGE
),
String
.
class
);
account
.
setHeadMediaId
(
url
);
}
if
(
StrUtil
.
isBlank
(
account
.
getCoverMediaId
())){
String
mediaId
=
ResponseHandleUtil
.
parseResponse
(
materialService
.
addImgMaterial
(
account
.
getAccountId
(),
COVER_IMAGE
),
String
.
class
);
account
.
setCoverMediaId
(
mediaId
);
}
}
catch
(
WechatSeviceException
e
)
{
// 接口调用超过限制,继续循环,获取下一个公众号
if
(
45009
==
e
.
getCode
())
{
// 更新状态为达到限制
if
(
account
.
getStatus
()
==
1
)
{
account
.
setStatus
(
0
);
account
.
setUpdateTime
(
new
Date
());
groupMaterialAccountMapper
.
update
(
account
);
}
}
continue
;
}
}
// 更新状态为可用
if
(
account
.
getStatus
()
==
0
||
account
.
getUpdateTime
()==
null
)
{
account
.
setStatus
(
1
);
account
.
setUpdateTime
(
new
Date
());
groupMaterialAccountMapper
.
update
(
account
);
}
return
account
;
}
}
return
null
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/WeixinQrcodeBizImpl.java
View file @
74072d31
package
com
.
pcloud
.
book
.
group
.
biz
.
impl
;
package
com
.
pcloud
.
book
.
group
.
biz
.
impl
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.consumer.promotion.PromotionConsr
;
import
com.pcloud.book.consumer.promotion.PromotionConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.group.biz.GroupMaterialAccountBiz
;
import
com.pcloud.book.group.biz.WeixinQrcodeBiz
;
import
com.pcloud.book.group.biz.WeixinQrcodeBiz
;
import
com.pcloud.book.group.dao.GroupQrcodeDao
;
import
com.pcloud.book.group.dao.GroupQrcodeDao
;
import
com.pcloud.book.group.dao.WeixinQrcodeDao
;
import
com.pcloud.book.group.dao.WeixinQrcodeDao
;
...
@@ -15,33 +15,35 @@ import com.pcloud.book.group.dto.SyncWeixinGroupIdRequestDTO;
...
@@ -15,33 +15,35 @@ import com.pcloud.book.group.dto.SyncWeixinGroupIdRequestDTO;
import
com.pcloud.book.group.dto.UpdateQrDTO
;
import
com.pcloud.book.group.dto.UpdateQrDTO
;
import
com.pcloud.book.group.dto.WeixinQrcodeCountDTO
;
import
com.pcloud.book.group.dto.WeixinQrcodeCountDTO
;
import
com.pcloud.book.group.dto.WeixinQrcodeDTO
;
import
com.pcloud.book.group.dto.WeixinQrcodeDTO
;
import
com.pcloud.book.group.entity.GroupMaterialAccount
;
import
com.pcloud.book.group.entity.GroupQrcode
;
import
com.pcloud.book.group.entity.GroupQrcode
;
import
com.pcloud.book.group.entity.WeixinQrcode
;
import
com.pcloud.book.group.entity.WeixinQrcode
;
import
com.pcloud.book.group.entity.WeixinQrcodeGeneration
;
import
com.pcloud.book.group.entity.WeixinQrcodeGeneration
;
import
com.pcloud.book.group.enums.JoinGroupTypeEnum
;
import
com.pcloud.book.group.enums.JoinGroupTypeEnum
;
import
com.pcloud.book.group.enums.UpdateStatusEnum
;
import
com.pcloud.book.group.enums.UpdateStatusEnum
;
import
com.pcloud.book.group.mapper.GroupMaterialAccountMapper
;
import
com.pcloud.book.group.tools.Kit
;
import
com.pcloud.book.group.tools.Kit
;
import
com.pcloud.book.group.tools.QrcodeTools
;
import
com.pcloud.book.group.tools.QrcodeTools
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
import
com.pcloud.book.group.vo.GroupQrcodeBaseInfoVO
;
import
com.pcloud.book.group.vo.QrStatisticsVO
;
import
com.pcloud.book.group.vo.QrStatisticsVO
;
import
com.pcloud.book.group.vo.WeixinQrcodeVO
;
import
com.pcloud.book.group.vo.WeixinQrcodeVO
;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.biz.MessageBiz
;
import
com.pcloud.common.core.biz.MessageBiz
;
import
com.pcloud.common.core.dto.SendEmailDto
;
import
com.pcloud.common.core.dto.SendEmailDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.QrcodeUtils
;
import
com.pcloud.common.utils.QrcodeUtils
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.facade.wechat.exceptions.WechatSeviceException
;
import
com.pcloud.facade.wechat.material.dto.GroupNewsMaterialAddDTO
;
import
com.pcloud.facade.wechat.material.dto.GroupNewsMaterialAddDTO
;
import
com.pcloud.facade.wechat.material.service.MaterialService
;
import
com.pcloud.facade.wechat.material.service.MaterialService
;
import
com.pcloud.wechatgroup.group.dto.GroupRobotDTO
;
import
com.pcloud.wechatgroup.group.dto.GroupRobotDTO
;
import
com.sdk.wxgroup.AddToGroupVO
;
import
com.sdk.wxgroup.AddToGroupVO
;
import
com.sdk.wxgroup.QrcodeVO
;
import
com.sdk.wxgroup.QrcodeVO
;
import
com.sdk.wxgroup.WxGroupSDK
;
import
com.sdk.wxgroup.WxGroupSDK
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
...
@@ -54,6 +56,7 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -54,6 +56,7 @@ import org.springframework.transaction.annotation.Transactional;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -88,6 +91,10 @@ public class WeixinQrcodeBizImpl implements WeixinQrcodeBiz {
...
@@ -88,6 +91,10 @@ public class WeixinQrcodeBizImpl implements WeixinQrcodeBiz {
private
String
envStr
;
private
String
envStr
;
@Autowired
@Autowired
private
MaterialService
materialService
;
private
MaterialService
materialService
;
@Autowired
private
GroupMaterialAccountBiz
groupMaterialAccountBiz
;
@Autowired
private
GroupMaterialAccountMapper
groupMaterialAccountMapper
;
@Override
@Override
...
@@ -205,30 +212,41 @@ public class WeixinQrcodeBizImpl implements WeixinQrcodeBiz {
...
@@ -205,30 +212,41 @@ public class WeixinQrcodeBizImpl implements WeixinQrcodeBiz {
BeanUtils
.
copyProperties
(
updateQrDTO
,
updateQr
);
BeanUtils
.
copyProperties
(
updateQrDTO
,
updateQr
);
promotionConsr
.
updateQrUrl
(
updateQr
);
promotionConsr
.
updateQrUrl
(
updateQr
);
// 更新群的同时需要更新永久素材
// 更新群的同时需要更新永久素材
if
(
"pro"
.
equals
(
envStr
)){
GroupMaterialAccount
activeAccount
=
groupMaterialAccountBiz
.
getActiveAccount
();
updateMediaId
(
updateQrDTO
,
66057L
,
"L6BtF7zqCqBhtLlyVcDtm7_owz_L9ZR9ZAwzxzCZaXw"
);
if
(
Objects
.
nonNull
(
activeAccount
))
{
}
else
if
(
"test"
.
equals
(
envStr
)){
updateMediaId
(
updateQrDTO
,
activeAccount
);
updateMediaId
(
updateQrDTO
,
50674L
,
"0VyyKa3G6YER2UJs_GAVV4dow0gLZ2QBeQwuAe1PpP0"
);
}
}
}
}
}
}
private
void
updateMediaId
(
UpdateQrDTO
updateQrDTO
,
Long
accountId
,
String
coverMediaId
)
{
private
void
updateMediaId
(
UpdateQrDTO
updateQrDTO
,
GroupMaterialAccount
activeAccount
)
{
WeixinQrcode
qrcode
=
weixinQrcodeDao
.
getById
(
updateQrDTO
.
getId
());
WeixinQrcode
qrcode
=
weixinQrcodeDao
.
getById
(
updateQrDTO
.
getId
());
// 未使用的群暂时不做处理
// 未使用的群暂时不做处理
GroupQrcode
baseById
=
groupQrcodeDao
.
getByWxGroupId
(
qrcode
.
getWeixinGroupId
());
GroupQrcode
baseById
=
groupQrcodeDao
.
getByWxGroupId
(
qrcode
.
getWeixinGroupId
());
if
(
baseById
!=
null
&&
baseById
.
getId
()!=
null
)
{
if
(
baseById
!=
null
&&
baseById
.
getId
()
!=
null
)
{
String
mediaId
=
groupQrcodeDao
.
getMediaId
(
baseById
.
getId
());
String
mediaId
=
groupQrcodeDao
.
getMediaId
(
baseById
.
getId
());
GroupNewsMaterialAddDTO
groupNewsMaterialAddDTO
=
new
GroupNewsMaterialAddDTO
();
GroupNewsMaterialAddDTO
groupNewsMaterialAddDTO
=
new
GroupNewsMaterialAddDTO
();
groupNewsMaterialAddDTO
.
setAccountId
(
accountId
);
groupNewsMaterialAddDTO
.
setAccountId
(
activeAccount
.
getAccountId
());
groupNewsMaterialAddDTO
.
setCoverMediaId
(
coverMediaId
);
groupNewsMaterialAddDTO
.
setCoverMediaId
(
activeAccount
.
getHeadMediaId
());
groupNewsMaterialAddDTO
.
setCoverMediaId
(
activeAccount
.
getCoverMediaId
());
groupNewsMaterialAddDTO
.
setGroupName
(
baseById
.
getGroupName
());
groupNewsMaterialAddDTO
.
setGroupName
(
baseById
.
getGroupName
());
groupNewsMaterialAddDTO
.
setQrcodeUrl
(
updateQrDTO
.
getUrl
());
groupNewsMaterialAddDTO
.
setQrcodeUrl
(
updateQrDTO
.
getUrl
());
groupNewsMaterialAddDTO
.
setMediaId
(
mediaId
);
groupNewsMaterialAddDTO
.
setMediaId
(
mediaId
);
String
mId
=
ResponseHandleUtil
.
parseResponse
(
materialService
.
getGroupNewsMaterial
(
groupNewsMaterialAddDTO
),
String
.
class
);
try
{
if
(
StrUtil
.
isBlank
(
mediaId
)){
mediaId
=
ResponseHandleUtil
.
parseResponse
(
materialService
.
getGroupNewsMaterial
(
groupNewsMaterialAddDTO
),
String
.
class
);
mediaId
=
mId
;
// 增加素材更新时间字段,方便查询更新失败的群信息
groupQrcodeDao
.
updateMediaId
(
baseById
.
getId
(),
mediaId
);
groupQrcodeDao
.
updateMediaId
(
baseById
.
getId
(),
mediaId
,
new
Date
());
}
catch
(
WechatSeviceException
e
)
{
// 接口调用超过限制,继续循环,获取下一个公众号
if
(
45009
==
e
.
getCode
())
{
// 更新状态为达到限制
if
(
activeAccount
.
getStatus
()
==
1
)
{
activeAccount
.
setStatus
(
0
);
activeAccount
.
setUpdateTime
(
new
Date
());
groupMaterialAccountMapper
.
update
(
activeAccount
);
}
}
throw
new
BizException
(
WechatSeviceException
.
MATERIAL_ADD_ERROR
,
"更新二维码永久图文素材失败!"
);
}
}
}
}
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/GroupQrcodeDao.java
View file @
74072d31
...
@@ -17,6 +17,7 @@ import com.pcloud.book.group.vo.GroupQrcodeBaseInfoVO;
...
@@ -17,6 +17,7 @@ import com.pcloud.book.group.vo.GroupQrcodeBaseInfoVO;
import
com.pcloud.book.group.vo.ListGroupQrcodeResponseVO
;
import
com.pcloud.book.group.vo.ListGroupQrcodeResponseVO
;
import
com.pcloud.common.core.dao.BaseDao
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -334,5 +335,5 @@ public interface GroupQrcodeDao extends BaseDao<GroupQrcode> {
...
@@ -334,5 +335,5 @@ public interface GroupQrcodeDao extends BaseDao<GroupQrcode> {
String
getMediaId
(
Long
id
);
String
getMediaId
(
Long
id
);
void
updateMediaId
(
Long
id
,
String
mediaId
);
void
updateMediaId
(
Long
id
,
String
mediaId
,
Date
date
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/GroupQrcodeDaoImpl.java
View file @
74072d31
...
@@ -23,6 +23,7 @@ import com.pcloud.common.core.dao.BaseDaoImpl;
...
@@ -23,6 +23,7 @@ import com.pcloud.common.core.dao.BaseDaoImpl;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -346,10 +347,11 @@ public class GroupQrcodeDaoImpl extends BaseDaoImpl<GroupQrcode> implements Grou
...
@@ -346,10 +347,11 @@ public class GroupQrcodeDaoImpl extends BaseDaoImpl<GroupQrcode> implements Grou
}
}
@Override
@Override
public
void
updateMediaId
(
Long
id
,
String
mediaId
)
{
public
void
updateMediaId
(
Long
id
,
String
mediaId
,
Date
date
)
{
HashMap
<
String
,
Object
>
map
=
CollUtil
.
newHashMap
(
2
);
HashMap
<
String
,
Object
>
map
=
CollUtil
.
newHashMap
(
2
);
map
.
put
(
"id"
,
id
);
map
.
put
(
"id"
,
id
);
map
.
put
(
"mediaId"
,
mediaId
);
map
.
put
(
"mediaId"
,
mediaId
);
map
.
put
(
"date"
,
date
);
getSqlSession
().
update
(
getStatement
(
"updateMediaId"
),
map
);
getSqlSession
().
update
(
getStatement
(
"updateMediaId"
),
map
);
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/entity/GroupMaterialAccount.java
0 → 100644
View file @
74072d31
package
com
.
pcloud
.
book
.
group
.
entity
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 群二维码永久素材与公众号关系表(GroupMaterialAccount)实体类
*
* @author guiq
* @since 2020-07-23
*/
@Data
public
class
GroupMaterialAccount
implements
Serializable
{
private
static
final
long
serialVersionUID
=
760026119257184103L
;
/**
* 群二维码获取永久图文素材专用公众号列表
*/
private
Long
id
;
/**
* 公众号ID
*/
private
Long
accountId
;
/**
* 该公众号下的一个永久图片素材,用于作为图文素材的封面
*/
private
String
coverMediaId
;
/**
* 群头像素材mediaId
*/
private
String
headMediaId
;
/**
* 接口调用是否达到限制 ,默认0 【0:否 1:是】
*/
private
Integer
status
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新时间
*/
private
Date
updateTime
;
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/BookGroupFacade.java
View file @
74072d31
package
com
.
pcloud
.
book
.
group
.
facade
;
package
com
.
pcloud
.
book
.
group
.
facade
;
import
com.pcloud.book.group.dto.*
;
import
com.pcloud.book.group.dto.BookAppletSceneDTO
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.ChangeQrCodeTypeDto
;
import
com.pcloud.book.group.dto.SelfBookGroupStParamDTO
;
import
com.pcloud.book.group.dto.UserSelectParamDTO
;
import
com.pcloud.book.group.entity.BookGroup
;
import
com.pcloud.book.group.entity.BookGroup
;
import
com.pcloud.book.group.entity.BookGroupClassify
;
import
com.pcloud.book.group.entity.BookGroupClassify
;
import
com.pcloud.book.group.entity.BookGroupServe
;
import
com.pcloud.book.group.entity.BookGroupServe
;
...
@@ -21,8 +25,11 @@ import com.pcloud.common.exceptions.BizException;
...
@@ -21,8 +25,11 @@ import com.pcloud.common.exceptions.BizException;
import
com.pcloud.common.page.PageBean
;
import
com.pcloud.common.page.PageBean
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.permission.PermissionException
;
import
com.pcloud.common.permission.PermissionException
;
import
io.swagger.annotations.Api
;
import
javax.servlet.http.HttpServletRequest
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
org.codehaus.jackson.JsonParseException
;
import
org.codehaus.jackson.JsonParseException
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.CookieValue
;
import
org.springframework.web.bind.annotation.CookieValue
;
...
@@ -34,14 +41,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
...
@@ -34,14 +41,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
import
java.util.List
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
/**
/**
* Description 社群书群二维码接口
* Description 社群书群二维码接口
...
@@ -763,4 +765,12 @@ public interface BookGroupFacade {
...
@@ -763,4 +765,12 @@ public interface BookGroupFacade {
@ApiOperation
(
"资源服务类型旧数据处理"
)
@ApiOperation
(
"资源服务类型旧数据处理"
)
@GetMapping
(
"updateBookServeTypeCode"
)
@GetMapping
(
"updateBookServeTypeCode"
)
ResponseDto
<?>
updateBookServeTypeCode
();
ResponseDto
<?>
updateBookServeTypeCode
();
@ApiOperation
(
value
=
"通过 bookGroupQrcodeId 或者 classifyId 获取群二维码永久图文素材"
,
httpMethod
=
"GET"
)
@RequestMapping
(
value
=
"/getGroupNewsMaterialById"
,
method
=
RequestMethod
.
GET
)
ResponseDto
<?>
getGroupNewsMaterialById
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
value
=
"bookGroupQrcodeId"
,
required
=
false
)
Long
bookGroupQrcodeId
,
@RequestParam
(
value
=
"classifyId"
,
required
=
false
)
Long
classifyId
)
throws
PermissionException
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/impl/BookGroupFacadeImpl.java
View file @
74072d31
...
@@ -45,8 +45,10 @@ import com.pcloud.common.utils.nginx.NginxUtils;
...
@@ -45,8 +45,10 @@ import com.pcloud.common.utils.nginx.NginxUtils;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.wechatgroup.base.exception.WechatGroupBizException
;
import
com.pcloud.wechatgroup.base.exception.WechatGroupBizException
;
import
com.pcloud.wechatgroup.message.enums.IsSystem
;
import
com.pcloud.wechatgroup.message.enums.IsSystem
;
import
io.swagger.annotations.ApiOperation
;
import
javax.servlet.http.HttpServletRequest
;
import
io.swagger.annotations.ApiParam
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
org.codehaus.jackson.JsonParseException
;
import
org.codehaus.jackson.JsonParseException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
...
@@ -61,16 +63,12 @@ import org.springframework.web.bind.annotation.RequestParam;
...
@@ -61,16 +63,12 @@ import org.springframework.web.bind.annotation.RequestParam;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
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
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
/**
/**
* Description 社群书群二维码接口实现类 Created by PENG on 2019/4/17.
* Description 社群书群二维码接口实现类 Created by PENG on 2019/4/17.
*/
*/
...
@@ -1247,4 +1245,18 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
...
@@ -1247,4 +1245,18 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
return
new
ResponseDto
<>();
return
new
ResponseDto
<>();
}
}
@Override
@RequestMapping
(
value
=
"/getGroupNewsMaterialById"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
getGroupNewsMaterialById
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
value
=
"bookGroupQrcodeId"
,
required
=
false
)
Long
bookGroupQrcodeId
,
@RequestParam
(
value
=
"classifyId"
,
required
=
false
)
Long
classifyId
)
throws
PermissionException
{
Cookie
.
getUserInfo
(
userInfo
);
if
(
bookGroupQrcodeId
==
null
&&
classifyId
==
null
)
{
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"classifyId 和 bookGroupQrcodeId 不可同时为空!"
);
}
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
1
);
map
.
put
(
"url"
,
bookGroupBiz
.
getGroupNewsMaterialById
(
bookGroupQrcodeId
,
classifyId
));
return
new
ResponseDto
<>(
map
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/mapper/GroupMaterialAccountMapper.java
0 → 100644
View file @
74072d31
package
com
.
pcloud
.
book
.
group
.
mapper
;
import
com.pcloud.book.group.entity.GroupMaterialAccount
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
import
java.util.List
;
/**
* 群二维码永久素材与公众号关系表(GroupMaterialAccount)表数据库访问层
*
* @author guiq
* @since 2020-07-23
*/
@Mapper
@Component
public
interface
GroupMaterialAccountMapper
{
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
GroupMaterialAccount
queryById
(
Long
id
);
/**
* 查询指定行数据
*
* @param offset 查询起始位置
* @param limit 查询条数
* @return 对象列表
*/
List
<
GroupMaterialAccount
>
queryAllByLimit
(
@Param
(
"offset"
)
int
offset
,
@Param
(
"limit"
)
int
limit
);
/**
* 通过实体作为筛选条件查询
*
* @param groupMaterialAccount 实例对象
* @return 对象列表
*/
List
<
GroupMaterialAccount
>
queryAll
(
GroupMaterialAccount
groupMaterialAccount
);
/**
* 新增数据
*
* @param groupMaterialAccount 实例对象
* @return 影响行数
*/
int
insert
(
GroupMaterialAccount
groupMaterialAccount
);
/**
* 修改数据
*
* @param groupMaterialAccount 实例对象
* @return 影响行数
*/
int
update
(
GroupMaterialAccount
groupMaterialAccount
);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 影响行数
*/
int
deleteById
(
Long
id
);
/**
* 获取一个新增/更新永久图文素材未达限制的公众号
* @param date
*/
List
<
GroupMaterialAccount
>
getActiveAccount
(
@Param
(
"date"
)
Date
date
);
}
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/group/GroupMaterialAccountMapper.xml
0 → 100644
View file @
74072d31
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.pcloud.book.group.mapper.GroupMaterialAccountMapper"
>
<resultMap
type=
"com.pcloud.book.group.entity.GroupMaterialAccount"
id=
"GroupMaterialAccountMap"
>
<result
property=
"id"
column=
"id"
jdbcType=
"INTEGER"
/>
<result
property=
"accountId"
column=
"account_id"
jdbcType=
"INTEGER"
/>
<result
property=
"coverMediaId"
column=
"cover_media_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"headMediaId"
column=
"head_media_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"status"
column=
"status"
jdbcType=
"INTEGER"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"updateTime"
column=
"update_time"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<!--查询单个-->
<select
id=
"queryById"
resultMap=
"GroupMaterialAccountMap"
>
select id,
account_id,
cover_media_id,
head_media_id,
status,
create_time,
update_time
from book.group_material_account
where id = #{id}
</select>
<!--查询指定行数据-->
<select
id=
"queryAllByLimit"
resultMap=
"GroupMaterialAccountMap"
>
select id,
account_id,
cover_media_id,
head_media_id,
status,
create_time,
update_time
from book.group_material_account
limit #{offset}, #{limit}
</select>
<!--通过实体作为筛选条件查询-->
<select
id=
"queryAll"
resultMap=
"GroupMaterialAccountMap"
>
select
id, account_id, cover_media_id, head_media_id, status, create_time, update_time
from book.group_material_account
<where>
<if
test=
"id != null"
>
and id = #{id}
</if>
<if
test=
"accountId != null"
>
and account_id = #{accountId}
</if>
<if
test=
"coverMediaId != null and coverMediaId != ''"
>
and cover_media_id = #{coverMediaId}
</if>
<if
test=
"headMediaId != null and headMediaId != ''"
>
and head_media_id = #{headMediaId}
</if>
<if
test=
"status != null"
>
and status = #{status}
</if>
<if
test=
"createTime != null"
>
and create_time = #{createTime}
</if>
<if
test=
"updateTime != null"
>
and update_time = #{updateTime}
</if>
</where>
</select>
<select
id=
"getActiveAccount"
resultMap=
"GroupMaterialAccountMap"
>
select id,
account_id,
cover_media_id,
head_media_id,
status,
create_time,
update_time
from book.group_material_account
where status = 1 or (status = 0 and update_time
<![CDATA[ < ]]>
#{date})
</select>
<!--新增所有列-->
<insert
id=
"insert"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into book.group_material_account(account_id, cover_media_id, head_media_id, status, create_time,
update_time)
values (#{accountId}, #{coverMediaId}, #{headMediaId}, #{status}, #{createTime}, #{updateTime})
</insert>
<!--通过主键修改数据-->
<update
id=
"update"
>
update book.group_material_account
<set>
<if
test=
"accountId != null"
>
account_id = #{accountId},
</if>
<if
test=
"coverMediaId != null and coverMediaId != ''"
>
cover_media_id = #{coverMediaId},
</if>
<if
test=
"headMediaId != null and headMediaId != ''"
>
head_media_id = #{headMediaId},
</if>
<if
test=
"status != null"
>
status = #{status},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
</set>
where id = #{id}
</update>
<!--通过主键删除-->
<delete
id=
"deleteById"
>
delete
from book.group_material_account
where id = #{id}
</delete>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/group/GroupQrcode.Mapper.xml
View file @
74072d31
...
@@ -984,7 +984,7 @@
...
@@ -984,7 +984,7 @@
</select>
</select>
<update
id=
"updateMediaId"
parameterType=
"map"
>
<update
id=
"updateMediaId"
parameterType=
"map"
>
UPDATE book_group_qrcode SET media_id = #{mediaId}
UPDATE book_group_qrcode SET media_id = #{mediaId}
,update_material_time = #{date}
WHERE id = #{id}
WHERE id = #{id}
</update>
</update>
</mapper>
</mapper>
\ 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