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
e5465d27
Commit
e5465d27
authored
Nov 11, 2021
by
郑勇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: [1005635] 应用算法推荐
parent
d0ecd686
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
1027 additions
and
17 deletions
+1027
-17
BookConstant.java
...main/java/com/pcloud/book/book/constant/BookConstant.java
+2
-0
OpenRecommendVO.java
...c/main/java/com/pcloud/book/book/dto/OpenRecommendVO.java
+19
-0
BookAdviserBiz.java
...rc/main/java/com/pcloud/book/book/biz/BookAdviserBiz.java
+10
-0
BookAdviserBizImpl.java
...ava/com/pcloud/book/book/biz/impl/BookAdviserBizImpl.java
+32
-0
BookAdviserDao.java
...rc/main/java/com/pcloud/book/book/dao/BookAdviserDao.java
+5
-0
BookAdviserDaoImpl.java
...ava/com/pcloud/book/book/dao/impl/BookAdviserDaoImpl.java
+21
-0
BookAdviserFacadeImpl.java
...m/pcloud/book/book/facade/impl/BookAdviserFacadeImpl.java
+26
-0
ChannelConsr.java
...main/java/com/pcloud/book/consumer/user/ChannelConsr.java
+25
-0
MerchantConsr.java
...ain/java/com/pcloud/book/consumer/user/MerchantConsr.java
+25
-0
ResourcePageBiz.java
.../main/java/com/pcloud/book/group/biz/ResourcePageBiz.java
+11
-0
ResourcePageBizImpl.java
...a/com/pcloud/book/group/biz/impl/ResourcePageBizImpl.java
+240
-16
ResourcePageFacade.java
...com/pcloud/book/group/facade/impl/ResourcePageFacade.java
+25
-1
RecommendServeVO.java
.../main/java/com/pcloud/book/group/vo/RecommendServeVO.java
+78
-0
BookRecommendBiz.java
.../java/com/pcloud/book/recommend/biz/BookRecommendBiz.java
+27
-0
BookRecommendBizImpl.java
.../pcloud/book/recommend/biz/impl/BookRecommendBizImpl.java
+97
-0
BookRecommendDao.java
.../java/com/pcloud/book/recommend/dao/BookRecommendDao.java
+17
-0
ResourceRecommendDao.java
...a/com/pcloud/book/recommend/dao/ResourceRecommendDao.java
+17
-0
BookRecommendDaoImpl.java
.../pcloud/book/recommend/dao/impl/BookRecommendDaoImpl.java
+32
-0
ResourceRecommendDaoImpl.java
...oud/book/recommend/dao/impl/ResourceRecommendDaoImpl.java
+32
-0
RecommendServeDto.java
...java/com/pcloud/book/recommend/dto/RecommendServeDto.java
+27
-0
BookRecommend.java
.../java/com/pcloud/book/recommend/entity/BookRecommend.java
+49
-0
ResourceRecommend.java
...a/com/pcloud/book/recommend/entity/ResourceRecommend.java
+49
-0
BookAdviser.Mapper.xml
...ook/src/main/resources/mapper/book/BookAdviser.Mapper.xml
+36
-0
BookRecommend.Mapper.xml
.../main/resources/mapper/recommend/BookRecommend.Mapper.xml
+41
-0
ResourceRecommend.Mapper.xml
...n/resources/mapper/recommend/ResourceRecommend.Mapper.xml
+84
-0
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/book/constant/BookConstant.java
View file @
e5465d27
...
@@ -459,4 +459,6 @@ public class BookConstant {
...
@@ -459,4 +459,6 @@ public class BookConstant {
*/
*/
public
static
final
Long
QQ_ACCOUNT_SETTING_ID
=
999L
;
public
static
final
Long
QQ_ACCOUNT_SETTING_ID
=
999L
;
public
static
final
String
SUPER_MERCHANT_LIST
=
CacheConstant
.
BOOK
+
"superMerchantList"
;
}
}
pcloud-facade-book/src/main/java/com/pcloud/book/book/dto/OpenRecommendVO.java
0 → 100644
View file @
e5465d27
package
com
.
pcloud
.
book
.
book
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 是否开启商品推荐
*/
@Data
public
class
OpenRecommendVO
{
@ApiModelProperty
(
"是否开启商品推荐"
)
private
Integer
isOpenRecommend
;
@ApiModelProperty
(
"推荐商品来源(1-我的应用作品,2-我的作品,同社作品,0-2的基础上加超级作者作品)"
)
private
Integer
recommendFromType
;
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/BookAdviserBiz.java
View file @
e5465d27
...
@@ -466,4 +466,14 @@ public interface BookAdviserBiz {
...
@@ -466,4 +466,14 @@ public interface BookAdviserBiz {
* @return
* @return
*/
*/
Integer
getJumpBookState
(
Long
bookId
,
Long
adviserId
,
Long
channelId
);
Integer
getJumpBookState
(
Long
bookId
,
Long
adviserId
,
Long
channelId
);
/**
* 设置是否开启商品推荐
*/
void
updateOpenRecommend
(
Long
bookId
,
Long
adviserId
,
Long
channelId
,
Integer
isOpenRecommend
,
Integer
recommendFromType
);
/**
* 查看是否开启商品推荐
*/
OpenRecommendVO
getOpenRecommend
(
Long
sceneId
,
Long
bookId
,
Long
adviserId
,
Long
channelId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookAdviserBizImpl.java
View file @
e5465d27
...
@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
...
@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.alibaba.fastjson.TypeReference
;
...
@@ -3401,4 +3402,35 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
...
@@ -3401,4 +3402,35 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
}
}
return
jumpBookState
;
return
jumpBookState
;
}
}
@Override
public
void
updateOpenRecommend
(
Long
bookId
,
Long
adviserId
,
Long
channelId
,
Integer
isOpenRecommend
,
Integer
recommendFromType
)
{
if
(
ObjectUtil
.
hasEmpty
(
bookId
,
adviserId
,
channelId
,
isOpenRecommend
,
recommendFromType
))
{
throw
new
BizException
(
BizException
.
PARAM_IS_NULL
.
getCode
(),
"缺少参数!"
);
}
bookAdviserDao
.
updateOpenRecommend
(
bookId
,
adviserId
,
channelId
,
isOpenRecommend
,
recommendFromType
);
}
@Override
public
OpenRecommendVO
getOpenRecommend
(
Long
sceneId
,
Long
bookId
,
Long
adviserId
,
Long
channelId
)
{
OpenRecommendVO
openRecommendVO
=
null
;
if
(
null
==
sceneId
&&
null
==
bookId
&&
null
==
adviserId
&&
null
==
channelId
)
{
return
openRecommendVO
;
}
if
(
null
!=
bookId
)
{
openRecommendVO
=
bookAdviserDao
.
getOpenRecommend
(
bookId
,
adviserId
,
channelId
);
}
else
if
(
null
!=
sceneId
)
{
//根据sceneId获取二维码信息
Map
<
Long
,
QrcodeSceneDto
>
qrcodeSceneDtoMap
=
qrcodeSceneConsr
.
listBaseInfoByIds
(
Lists
.
newArrayList
(
sceneId
));
if
(
MapUtils
.
isEmpty
(
qrcodeSceneDtoMap
)
||
null
==
qrcodeSceneDtoMap
.
get
(
sceneId
))
{
return
openRecommendVO
;
}
QrcodeSceneDto
qrcodeSceneDto
=
qrcodeSceneDtoMap
.
get
(
sceneId
);
if
(
null
==
qrcodeSceneDto
||
null
==
qrcodeSceneDto
.
getAdviserBookId
())
{
return
openRecommendVO
;
}
openRecommendVO
=
bookAdviserDao
.
getOpenRecommend
(
qrcodeSceneDto
.
getAdviserBookId
(),
qrcodeSceneDto
.
getCreatedByUserLogin
(),
qrcodeSceneDto
.
getChannelPartyId
());
}
return
openRecommendVO
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/BookAdviserDao.java
View file @
e5465d27
...
@@ -13,6 +13,7 @@ import com.pcloud.book.book.dto.BookCountDto;
...
@@ -13,6 +13,7 @@ import com.pcloud.book.book.dto.BookCountDto;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.book.dto.ERPPublishNumDTO
;
import
com.pcloud.book.book.dto.ERPPublishNumDTO
;
import
com.pcloud.book.book.dto.ErpBookInfoDTO
;
import
com.pcloud.book.book.dto.ErpBookInfoDTO
;
import
com.pcloud.book.book.dto.OpenRecommendVO
;
import
com.pcloud.book.book.entity.BookAdviser
;
import
com.pcloud.book.book.entity.BookAdviser
;
import
com.pcloud.book.book.vo.AgentBookStatsDetailVO
;
import
com.pcloud.book.book.vo.AgentBookStatsDetailVO
;
import
com.pcloud.book.book.vo.BookInfo4ScanCount
;
import
com.pcloud.book.book.vo.BookInfo4ScanCount
;
...
@@ -343,4 +344,8 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
...
@@ -343,4 +344,8 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
List
<
Long
>
getYesterdayUpdateBookIds
(
String
startTime
,
String
endTime
);
List
<
Long
>
getYesterdayUpdateBookIds
(
String
startTime
,
String
endTime
);
void
updateJumpBookState
(
Long
bookId
,
Long
adviserId
,
Long
channelId
,
Integer
isJumpBook
);
void
updateJumpBookState
(
Long
bookId
,
Long
adviserId
,
Long
channelId
,
Integer
isJumpBook
);
void
updateOpenRecommend
(
Long
bookId
,
Long
adviserId
,
Long
channelId
,
Integer
isOpenRecommend
,
Integer
recommendFromType
);
OpenRecommendVO
getOpenRecommend
(
Long
bookId
,
Long
adviserId
,
Long
channelId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/impl/BookAdviserDaoImpl.java
View file @
e5465d27
...
@@ -18,6 +18,7 @@ import com.pcloud.book.book.dto.BookCountDto;
...
@@ -18,6 +18,7 @@ import com.pcloud.book.book.dto.BookCountDto;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.book.dto.ERPPublishNumDTO
;
import
com.pcloud.book.book.dto.ERPPublishNumDTO
;
import
com.pcloud.book.book.dto.ErpBookInfoDTO
;
import
com.pcloud.book.book.dto.ErpBookInfoDTO
;
import
com.pcloud.book.book.dto.OpenRecommendVO
;
import
com.pcloud.book.book.entity.BookAdviser
;
import
com.pcloud.book.book.entity.BookAdviser
;
import
com.pcloud.book.book.vo.AgentBookStatsDetailVO
;
import
com.pcloud.book.book.vo.AgentBookStatsDetailVO
;
import
com.pcloud.book.book.vo.BookInfo4ScanCount
;
import
com.pcloud.book.book.vo.BookInfo4ScanCount
;
...
@@ -503,4 +504,24 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
...
@@ -503,4 +504,24 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
paramMap
.
put
(
"isJumpBook"
,
isJumpBook
);
paramMap
.
put
(
"isJumpBook"
,
isJumpBook
);
getSessionTemplate
().
update
(
getStatement
(
"updateJumpBookState"
),
paramMap
);
getSessionTemplate
().
update
(
getStatement
(
"updateJumpBookState"
),
paramMap
);
}
}
@Override
public
void
updateOpenRecommend
(
Long
bookId
,
Long
adviserId
,
Long
channelId
,
Integer
isOpenRecommend
,
Integer
recommendFromType
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"bookId"
,
bookId
);
paramMap
.
put
(
"channelId"
,
channelId
);
paramMap
.
put
(
"adviserId"
,
adviserId
);
paramMap
.
put
(
"isOpenRecommend"
,
isOpenRecommend
);
paramMap
.
put
(
"recommendFromType"
,
recommendFromType
);
getSessionTemplate
().
update
(
getStatement
(
"updateOpenRecommend"
),
paramMap
);
}
@Override
public
OpenRecommendVO
getOpenRecommend
(
Long
bookId
,
Long
adviserId
,
Long
channelId
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"bookId"
,
bookId
);
paramMap
.
put
(
"channelId"
,
channelId
);
paramMap
.
put
(
"adviserId"
,
adviserId
);
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getOpenRecommend"
),
paramMap
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/facade/impl/BookAdviserFacadeImpl.java
View file @
e5465d27
...
@@ -533,4 +533,30 @@ public class BookAdviserFacadeImpl implements BookAdviserFacade {
...
@@ -533,4 +533,30 @@ public class BookAdviserFacadeImpl implements BookAdviserFacade {
return
new
ResponseDto
<>(
bookAdviserBiz
.
getJumpBookState
(
bookId
,
adviserId
,
channelId
));
return
new
ResponseDto
<>(
bookAdviserBiz
.
getJumpBookState
(
bookId
,
adviserId
,
channelId
));
}
}
/**
* 设置是否开启商品推荐
*/
@RequestMapping
(
value
=
"updateOpenRecommend"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
updateOpenRecommend
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"bookId"
)
Long
bookId
,
@RequestParam
(
value
=
"channelId"
)
Long
channelId
,
@RequestParam
(
value
=
"isOpenRecommend"
)
Integer
isOpenRecommend
,
@RequestParam
(
value
=
"recommendFromType"
)
Integer
recommendFromType
)
throws
PermissionException
{
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
bookAdviserBiz
.
updateOpenRecommend
(
bookId
,
adviserId
,
channelId
,
isOpenRecommend
,
recommendFromType
);
return
new
ResponseDto
<>();
}
/**
* 查看是否开启商品推荐
*/
@RequestMapping
(
value
=
"getOpenRecommend"
,
method
=
RequestMethod
.
GET
)
public
ResponseDto
<?>
getOpenRecommend
(
@RequestParam
(
value
=
"sceneId"
,
required
=
false
)
Long
sceneId
,
@RequestParam
(
value
=
"bookId"
,
required
=
false
)
Long
bookId
,
@RequestParam
(
value
=
"adviserId"
,
required
=
false
)
Long
adviserId
,
@RequestParam
(
value
=
"channelId"
,
required
=
false
)
Long
channelId
)
throws
PermissionException
{
return
new
ResponseDto
<>(
bookAdviserBiz
.
getOpenRecommend
(
sceneId
,
bookId
,
adviserId
,
channelId
));
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/user/ChannelConsr.java
View file @
e5465d27
...
@@ -20,13 +20,16 @@ import com.pcloud.channelcenter.wechat.entity.AccountSetting;
...
@@ -20,13 +20,16 @@ import com.pcloud.channelcenter.wechat.entity.AccountSetting;
import
com.pcloud.channelcenter.wechat.service.AccountSettingService
;
import
com.pcloud.channelcenter.wechat.service.AccountSettingService
;
import
com.pcloud.channelcenter.wechat.service.MessageService
;
import
com.pcloud.channelcenter.wechat.service.MessageService
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.promotion.base.exception.PromotionException
;
import
com.pcloud.usercenter.party.channel.service.ChannelService
;
import
com.pcloud.usercenter.party.channel.service.ChannelService
;
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.http.ResponseEntity
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
...
@@ -353,4 +356,26 @@ public class ChannelConsr {
...
@@ -353,4 +356,26 @@ public class ChannelConsr {
return
new
ArrayList
<>();
return
new
ArrayList
<>();
}
}
}
}
/**
* 根据渠道标识,批量获取公众号信息
*/
public
Map
<
Long
,
AccountSettingDto
>
listWechatAccountInfo
(
List
<
Long
>
channelIds
)
throws
BizException
{
LOGGER
.
warn
(
"获取公众号信息[accountSettingService.listWechatAccountInfo],参数列表[channelIds]:"
+
channelIds
);
Map
<
Long
,
AccountSettingDto
>
result
=
new
HashMap
<>();
if
(
CollUtil
.
isEmpty
(
channelIds
)){
return
new
HashMap
<>();
}
try
{
ResponseEntity
<
ResponseDto
<
Map
<
Long
,
AccountSettingDto
>>>
response
=
accountSettingService
.
listWechat
(
channelIds
);
result
=
ResponseHandleUtil
.
parseMap
(
response
,
Long
.
class
,
AccountSettingDto
.
class
);
}
catch
(
BizException
e
)
{
LOGGER
.
error
(
"获取公众号信息[accountSettingService.listWechatAccountInfo]:"
+
e
.
getMessage
(),
e
);
throw
new
BizException
(
e
.
getCode
(),
e
.
getMessage
());
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取公众号信息[accountSettingService.listWechatAccountInfo]:"
+
e
.
getMessage
(),
e
);
throw
new
PromotionException
(
PromotionException
.
_ERROR
,
"获取公众号信息~!"
);
}
return
result
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/user/MerchantConsr.java
View file @
e5465d27
package
com
.
pcloud
.
book
.
consumer
.
user
;
package
com
.
pcloud
.
book
.
consumer
.
user
;
import
com.pcloud.book.applet.contants.AppletConstants
;
import
com.pcloud.book.book.constant.BookConstant
;
import
com.pcloud.book.util.common.CommonUtils
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.resourcecenter.base.constants.ResourceRedisCons
;
import
com.pcloud.usercenter.party.merchant.service.MerchantService
;
import
com.pcloud.usercenter.party.merchant.service.MerchantService
;
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.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
cn.hutool.core.collection.CollUtil
;
/**
/**
* @Description
* @Description
* @Author ruansiyuan
* @Author ruansiyuan
...
@@ -59,4 +67,21 @@ public class MerchantConsr {
...
@@ -59,4 +67,21 @@ public class MerchantConsr {
}
}
return
map
;
return
map
;
}
}
public
List
<
Long
>
getSuperMerchantIdList
()
throws
BizException
{
List
<
Long
>
result
=
null
;
try
{
result
=
JedisClusterUtils
.
getJsonList
(
BookConstant
.
SUPER_MERCHANT_LIST
,
Long
.
class
);
if
(
CollUtil
.
isEmpty
(
result
)){
Map
<
Long
,
Long
>
map
=
ResponseHandleUtil
.
parseMapResponse
(
merchantService
.
getSuperMerchantList
(),
Long
.
class
,
Long
.
class
);
result
=
CollUtil
.
isEmpty
(
map
)
?
new
ArrayList
<>()
:
new
ArrayList
<>(
map
.
keySet
());
JedisClusterUtils
.
setJsonList
(
BookConstant
.
SUPER_MERCHANT_LIST
,
result
,
CommonUtils
.
todayRemainingSeconds
());
}
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取所有超级作者id,<ERROR>.[getSuperMerchantList]:"
+
e
.
getMessage
(),
e
);
}
return
result
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/ResourcePageBiz.java
View file @
e5465d27
...
@@ -14,6 +14,7 @@ import com.pcloud.book.group.entity.ResourcePageCollect;
...
@@ -14,6 +14,7 @@ import com.pcloud.book.group.entity.ResourcePageCollect;
import
com.pcloud.book.group.entity.ResourcePagePic
;
import
com.pcloud.book.group.entity.ResourcePagePic
;
import
com.pcloud.book.group.entity.ResourcePageTool
;
import
com.pcloud.book.group.entity.ResourcePageTool
;
import
com.pcloud.book.group.entity.ResourceRecomManage
;
import
com.pcloud.book.group.entity.ResourceRecomManage
;
import
com.pcloud.book.group.vo.RecommendServeVO
;
import
com.pcloud.book.group.vo.ResourceColumnAndServeVO
;
import
com.pcloud.book.group.vo.ResourceColumnAndServeVO
;
import
com.pcloud.book.group.vo.ResourcePageItemVO
;
import
com.pcloud.book.group.vo.ResourcePageItemVO
;
import
com.pcloud.book.group.vo.ResourcePageOneServe
;
import
com.pcloud.book.group.vo.ResourcePageOneServe
;
...
@@ -472,4 +473,14 @@ public interface ResourcePageBiz {
...
@@ -472,4 +473,14 @@ public interface ResourcePageBiz {
* * @param null
* * @param null
*/
*/
Boolean
checkBookChildGrade
(
Long
bookId
,
Long
adviserId
,
Long
channelId
);
Boolean
checkBookChildGrade
(
Long
bookId
,
Long
adviserId
,
Long
channelId
);
/**
* 客户端-查询书刊推荐资源
*/
List
<
RecommendServeVO
>
getBookRecommendServe
(
Long
wechatUserId
,
Long
bookId
,
Long
adviserId
,
Long
channelId
,
Long
sceneId
);
/**
* 客户端-查询应用或作品推荐资源
*/
List
<
RecommendServeVO
>
getAppRecommendServe
(
Long
wechatUserId
,
Long
bookId
,
Long
adviserId
,
Long
channelId
,
Long
serveId
,
String
serveType
,
Long
sceneId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/ResourcePageBizImpl.java
View file @
e5465d27
package
com
.
pcloud
.
book
.
group
.
biz
.
impl
;
package
com
.
pcloud
.
book
.
group
.
biz
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
com.google.common.collect.Lists
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.extra.qrcode.QrCodeException
;
import
cn.hutool.extra.qrcode.QrCodeUtil
;
import
cn.hutool.http.HttpUtil
;
import
com.pcloud.advertising.advertising.dto.AdvertisingSpaceDTO
;
import
com.pcloud.advertising.advertising.dto.AdvertisingSpaceDTO
;
import
com.pcloud.advertising.advertising.dto.AdvertisingSpaceItemDTO
;
import
com.pcloud.advertising.advertising.dto.AdvertisingSpaceItemDTO
;
import
com.pcloud.analysisengine.browse.dto.BrowseRecordStatisticDTO
;
import
com.pcloud.analysisengine.browse.dto.BrowseRecordStatisticDTO
;
...
@@ -26,6 +21,7 @@ import com.pcloud.book.book.biz.BookBiz;
...
@@ -26,6 +21,7 @@ import com.pcloud.book.book.biz.BookBiz;
import
com.pcloud.book.book.constant.BookConstant
;
import
com.pcloud.book.book.constant.BookConstant
;
import
com.pcloud.book.book.dto.BookAdviserDto
;
import
com.pcloud.book.book.dto.BookAdviserDto
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.book.dto.OpenRecommendVO
;
import
com.pcloud.book.book.dto.RaysSceneCatalogDto
;
import
com.pcloud.book.book.dto.RaysSceneCatalogDto
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.enums.WxworkQrcodeType
;
import
com.pcloud.book.book.enums.WxworkQrcodeType
;
...
@@ -50,11 +46,51 @@ import com.pcloud.book.group.biz.BookGroupBiz;
...
@@ -50,11 +46,51 @@ import com.pcloud.book.group.biz.BookGroupBiz;
import
com.pcloud.book.group.biz.ResourcePageBiz
;
import
com.pcloud.book.group.biz.ResourcePageBiz
;
import
com.pcloud.book.group.biz.ResourcePageBookstoreBiz
;
import
com.pcloud.book.group.biz.ResourcePageBookstoreBiz
;
import
com.pcloud.book.group.constant.ResourcePageConstants
;
import
com.pcloud.book.group.constant.ResourcePageConstants
;
import
com.pcloud.book.group.dao.*
;
import
com.pcloud.book.group.dao.BookAppletSceneDao
;
import
com.pcloud.book.group.dto.*
;
import
com.pcloud.book.group.dao.BookGroupDao
;
import
com.pcloud.book.group.entity.*
;
import
com.pcloud.book.group.dao.ResourcePageCollectDao
;
import
com.pcloud.book.group.dao.ResourcePageColumnDao
;
import
com.pcloud.book.group.dao.ResourcePageCourseDao
;
import
com.pcloud.book.group.dao.ResourcePageDao
;
import
com.pcloud.book.group.dao.ResourcePageItemDao
;
import
com.pcloud.book.group.dao.ResourcePageNavigationDao
;
import
com.pcloud.book.group.dao.ResourcePagePicDao
;
import
com.pcloud.book.group.dao.ResourcePageToolDao
;
import
com.pcloud.book.group.dao.ResourceRecomManageDao
;
import
com.pcloud.book.group.dto.AddBookGroupServeDTO
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.BookGroupServeCountDTO
;
import
com.pcloud.book.group.dto.BookGroupServeDTO
;
import
com.pcloud.book.group.dto.BookServeDTO
;
import
com.pcloud.book.group.dto.MemberActivityBookSetDTO
;
import
com.pcloud.book.group.dto.NavigationParamDTO
;
import
com.pcloud.book.group.dto.ResourcePageCourseDTO
;
import
com.pcloud.book.group.dto.ResourcePageDTO
;
import
com.pcloud.book.group.dto.ResourcePageUrlDTO
;
import
com.pcloud.book.group.entity.BookAppletScene
;
import
com.pcloud.book.group.entity.BookGroup
;
import
com.pcloud.book.group.entity.BookGroupServe
;
import
com.pcloud.book.group.entity.ResourcePage
;
import
com.pcloud.book.group.entity.ResourcePageBookstore
;
import
com.pcloud.book.group.entity.ResourcePageCollect
;
import
com.pcloud.book.group.entity.ResourcePageColumn
;
import
com.pcloud.book.group.entity.ResourcePageCourse
;
import
com.pcloud.book.group.entity.ResourcePageItem
;
import
com.pcloud.book.group.entity.ResourcePageNavigation
;
import
com.pcloud.book.group.entity.ResourcePagePic
;
import
com.pcloud.book.group.entity.ResourcePageTool
;
import
com.pcloud.book.group.entity.ResourceRecomManage
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
import
com.pcloud.book.group.vo.*
;
import
com.pcloud.book.group.vo.RecommendServeVO
;
import
com.pcloud.book.group.vo.ResourceColumnAndServeVO
;
import
com.pcloud.book.group.vo.ResourcePageBookstoreVO
;
import
com.pcloud.book.group.vo.ResourcePageItemVO
;
import
com.pcloud.book.group.vo.ResourcePageOneServe
;
import
com.pcloud.book.group.vo.ResourcePageVO
;
import
com.pcloud.book.group.vo.UpdateResourceColumnVO
;
import
com.pcloud.book.group.vo.UpdateResourcePageVO
;
import
com.pcloud.book.recommend.biz.BookRecommendBiz
;
import
com.pcloud.book.recommend.dto.RecommendServeDto
;
import
com.pcloud.book.rightsSetting.biz.RightsSettingBiz
;
import
com.pcloud.book.rightsSetting.biz.RightsSettingBiz
;
import
com.pcloud.book.skill.biz.PcloudGroupActivityBiz
;
import
com.pcloud.book.skill.biz.PcloudGroupActivityBiz
;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
...
@@ -77,17 +113,22 @@ import com.pcloud.common.core.constant.ProductTypeConstant;
...
@@ -77,17 +113,22 @@ import com.pcloud.common.core.constant.ProductTypeConstant;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.utils.*
;
import
com.pcloud.common.utils.BeanUtils
;
import
com.pcloud.common.utils.DateUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.NumberUtil
;
import
com.pcloud.common.utils.QrcodeUtils
;
import
com.pcloud.common.utils.ServeLinkUtils
;
import
com.pcloud.common.utils.UUIDUitl
;
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.message.common.enums.YesNoEnums
;
import
com.pcloud.message.common.enums.YesNoEnums
;
import
com.pcloud.readercenter.common.enums.YesOrNoNumEnum
;
import
com.pcloud.readercenter.userlabel.dto.UserGradeLabelIdDTO
;
import
com.pcloud.readercenter.userlabel.dto.UserGradeLabelIdDTO
;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
com.pcloud.resourcecenter.product.dto.ProductLabelDto
;
import
com.pcloud.resourcecenter.product.dto.ProductLabelDto
;
import
com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto
;
import
com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto
;
import
com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO
;
import
com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -99,14 +140,31 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -99,14 +140,31 @@ import org.springframework.transaction.annotation.Transactional;
import
java.io.File
;
import
java.io.File
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.concurrent.ExecutionException
;
import
java.util.concurrent.ExecutionException
;
import
java.util.concurrent.Future
;
import
java.util.concurrent.Future
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeoutException
;
import
java.util.concurrent.TimeoutException
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.extra.qrcode.QrCodeException
;
import
cn.hutool.extra.qrcode.QrCodeUtil
;
import
cn.hutool.http.HttpUtil
;
import
lombok.extern.slf4j.Slf4j
;
/**
/**
* @ClassName com.pcloud.book.group.biz.impl.ResourcePageBizImpl
* @ClassName com.pcloud.book.group.biz.impl.ResourcePageBizImpl
* @Author zhuyajie
* @Author zhuyajie
...
@@ -192,6 +250,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
...
@@ -192,6 +250,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
private
AmqpTemplate
amqpTemplate
;
private
AmqpTemplate
amqpTemplate
;
@Autowired
@Autowired
private
BookAdviserBiz
bookAdviserBiz
;
private
BookAdviserBiz
bookAdviserBiz
;
@Autowired
private
BookRecommendBiz
bookRecommendBiz
;
@Value
(
"${nft.book}"
)
@Value
(
"${nft.book}"
)
private
List
<
Long
>
nftBookId
;
private
List
<
Long
>
nftBookId
;
...
@@ -2810,4 +2870,168 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
...
@@ -2810,4 +2870,168 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
}
}
return
false
;
return
false
;
}
}
/**
* 查询书刊推荐资源
*/
@Override
public
List
<
RecommendServeVO
>
getBookRecommendServe
(
Long
wechatUserId
,
Long
bookId
,
Long
adviserId
,
Long
channelId
,
Long
sceneId
)
{
//1.首先查书刊是否开启了资源推荐
OpenRecommendVO
openRecommend
=
getRecommend
(
bookId
,
adviserId
,
channelId
,
sceneId
);
if
(
null
==
openRecommend
||
null
==
openRecommend
.
getIsOpenRecommend
()
||
0
==
openRecommend
.
getIsOpenRecommend
()){
return
null
;
}
//2.从系统数据表里面查到推荐资源,填充资源信息
List
<
RecommendServeDto
>
serveList
=
bookRecommendBiz
.
getById
(
bookId
,
channelId
,
adviserId
,
openRecommend
.
getRecommendFromType
());
if
(
CollUtil
.
isEmpty
(
serveList
)){
return
null
;
}
//3.填充服务信息。以及channel对应的公众号信息
List
<
RecommendServeVO
>
result
=
getRecommendServeVOS
(
channelId
,
serveList
);
return
result
;
}
private
OpenRecommendVO
getRecommend
(
Long
bookId
,
Long
adviserId
,
Long
channelId
,
Long
sceneId
){
OpenRecommendVO
openRecommend
=
null
;
if
(
null
!=
bookId
)
{
openRecommend
=
bookAdviserBiz
.
getOpenRecommend
(
null
,
bookId
,
adviserId
,
channelId
);
}
else
if
(
null
!=
sceneId
)
{
//根据sceneId获取二维码信息
Map
<
Long
,
QrcodeSceneDto
>
qrcodeSceneDtoMap
=
qrcodeSceneConsr
.
listBaseInfoByIds
(
Lists
.
newArrayList
(
sceneId
));
if
(
MapUtils
.
isEmpty
(
qrcodeSceneDtoMap
)
||
null
==
qrcodeSceneDtoMap
.
get
(
sceneId
))
{
return
null
;
}
QrcodeSceneDto
qrcodeSceneDto
=
qrcodeSceneDtoMap
.
get
(
sceneId
);
if
(
null
==
qrcodeSceneDto
||
null
==
qrcodeSceneDto
.
getAdviserBookId
())
{
return
null
;
}
openRecommend
=
bookAdviserBiz
.
getOpenRecommend
(
null
,
qrcodeSceneDto
.
getAdviserBookId
(),
qrcodeSceneDto
.
getCreatedByUserLogin
(),
qrcodeSceneDto
.
getChannelPartyId
());
}
return
openRecommend
;
}
/**
* 客户端-查询应用或作品推荐资源
*/
@Override
public
List
<
RecommendServeVO
>
getAppRecommendServe
(
Long
wechatUserId
,
Long
bookId
,
Long
adviserId
,
Long
channelId
,
Long
serveId
,
String
serveType
,
Long
sceneId
)
{
//1.首先查书刊是否开启了资源推荐
OpenRecommendVO
openRecommend
=
getRecommend
(
bookId
,
adviserId
,
channelId
,
sceneId
);
if
(
null
==
openRecommend
||
null
==
openRecommend
.
getIsOpenRecommend
()
||
0
==
openRecommend
.
getIsOpenRecommend
()){
return
null
;
}
//2.从系统数据表里面查到推荐资源,填充资源信息
List
<
RecommendServeDto
>
serveList
=
bookRecommendBiz
.
getByServeId
(
adviserId
,
serveId
,
serveType
,
openRecommend
.
getRecommendFromType
());
if
(
CollUtil
.
isEmpty
(
serveList
)){
return
null
;
}
//3.填充服务信息。以及channel对应的公众号信息
List
<
RecommendServeVO
>
result
=
getRecommendServeVOS
(
channelId
,
serveList
);
return
result
;
}
private
List
<
RecommendServeVO
>
getRecommendServeVOS
(
Long
channelId
,
List
<
RecommendServeDto
>
serveList
)
{
List
<
Long
>
superMerchantIdList
=
merchantConsr
.
getSuperMerchantIdList
();
List
<
Long
>
superProductIds
=
new
ArrayList
<>();
List
<
Long
>
appIds
=
new
ArrayList
<>();
List
<
Long
>
productIds
=
new
ArrayList
<>();
serveList
.
stream
().
forEach
(
e
->
{
if
(
"APP"
.
equalsIgnoreCase
(
e
.
getServeType
()))
{
appIds
.
add
(
e
.
getServeId
());
}
if
(
"PRODUCT"
.
equalsIgnoreCase
(
e
.
getServeType
()))
{
productIds
.
add
(
e
.
getServeId
());
}
});
Map
<
Long
,
AppDto
>
appDtoMap
=
appConsr
.
getBaseByIds
(
appIds
);
Map
<
Long
,
ProductDto
>
productDtoMap
=
productConsr
.
getProBasesByIds
(
productIds
);
List
<
Long
>
channelIds
=
new
ArrayList
<>();
/* if(CollUtil.isNotEmpty(appDtoMap)){
for (AppDto appDto : appDtoMap.values()) {
if(null!=appDto.getChannelId()){
channelIds.add(appDto.getChannelId());
}
}
}
if(CollUtil.isNotEmpty(productDtoMap)){
for (ProductDto productDto : productDtoMap.values()) {
if(null!=productDto.getChannelId()){
channelIds.add(productDto.getChannelId());
}
}
}*/
Map
<
Long
,
AccountSettingDto
>
map
=
channelConsr
.
listWechatAccountInfo
(
Lists
.
newArrayList
(
channelId
));
List
<
RecommendServeVO
>
result
=
new
ArrayList
<>();
RecommendServeVO
recommendServeVO
;
for
(
RecommendServeDto
dto
:
serveList
)
{
if
(
StrUtil
.
isBlank
(
dto
.
getServeType
())
||
null
==
dto
.
getServeId
())
{
continue
;
}
recommendServeVO
=
new
RecommendServeVO
();
if
(
"APP"
.
equalsIgnoreCase
(
dto
.
getServeType
())
&&
CollUtil
.
isNotEmpty
(
appDtoMap
)
&&
appDtoMap
.
containsKey
(
dto
.
getServeId
()))
{
AppDto
appDto
=
appDtoMap
.
get
(
dto
.
getServeId
());
recommendServeVO
.
setServeId
(
dto
.
getServeId
());
recommendServeVO
.
setServeType
(
"APP"
);
if
(
null
!=
appDto
)
{
recommendServeVO
.
setServeName
(
appDto
.
getTitle
());
recommendServeVO
.
setServePic
(
appDto
.
getSquareImg
());
recommendServeVO
.
setTransverseImg
(
appDto
.
getTransverseImg
());
recommendServeVO
.
setTypeCode
(
appDto
.
getTypeCode
());
recommendServeVO
.
setTypeName
(
appDto
.
getTypeName
());
recommendServeVO
.
setPrice
(
null
==
appDto
.
getRetailPrice
()
?
new
BigDecimal
(
0
)
:
appDto
.
getRetailPrice
());
recommendServeVO
.
setHasThirdLink
(!
StringUtil
.
isEmpty
(
appDto
.
getTurnUrl
())
?
true
:
false
);
}
}
if
(
"PRODUCT"
.
equalsIgnoreCase
(
dto
.
getServeType
())
&&
CollUtil
.
isNotEmpty
(
productDtoMap
)
&&
productDtoMap
.
containsKey
(
dto
.
getServeId
()))
{
ProductDto
productDto
=
productDtoMap
.
get
(
dto
.
getServeId
());
recommendServeVO
.
setServeId
(
dto
.
getServeId
());
recommendServeVO
.
setServeType
(
"PRODUCT"
);
if
(
null
!=
productDto
)
{
if
(
CollUtil
.
isNotEmpty
(
superMerchantIdList
)
&&
superMerchantIdList
.
contains
(
productDto
.
getCreatedUser
())){
superProductIds
.
add
(
productDto
.
getProductId
());
}
recommendServeVO
.
setServeName
(
productDto
.
getProductName
());
recommendServeVO
.
setServePic
(
productDto
.
getCoverImg
());
recommendServeVO
.
setTransverseImg
(
productDto
.
getPicture1
());
recommendServeVO
.
setTypeCode
(
productDto
.
getProductTypeCode
());
recommendServeVO
.
setTypeName
(
productDto
.
getProductTypeName
());
if
(
productDto
.
getProductTypeDto
()
!=
null
)
{
recommendServeVO
.
setTypeCode
(
productDto
.
getProductTypeDto
().
getTypeCode
());
recommendServeVO
.
setTypeName
(
productDto
.
getProductTypeDto
().
getTypeName
());
}
if
(!
ListUtils
.
isEmpty
(
productDto
.
getSpecification
()))
{
Double
advisePrice
=
productDto
.
getSpecification
().
get
(
0
).
getAdvisePrice
();
recommendServeVO
.
setPrice
(
new
BigDecimal
(
advisePrice
));
}
recommendServeVO
.
setTransverseImg
(
StringUtil
.
isEmpty
(
productDto
.
getPicture1
())
?
getDefaultBigPic
(
recommendServeVO
.
getTypeCode
())
:
productDto
.
getPicture1
());
recommendServeVO
.
setHasThirdLink
(!
StringUtil
.
isEmpty
(
productDto
.
getSkipUrl
())
?
true
:
false
);
}
}
if
(
StrUtil
.
isBlank
(
recommendServeVO
.
getServeName
())){
continue
;
}
if
(
CollUtil
.
isNotEmpty
(
map
)
&&
map
.
containsKey
(
channelId
))
{
recommendServeVO
.
setChannelId
(
channelId
);
AccountSettingDto
accountSettingDto
=
map
.
get
(
channelId
);
if
(
null
!=
accountSettingDto
)
{
recommendServeVO
.
setAccountSettingId
(
accountSettingDto
.
getAccountSettingId
());
recommendServeVO
.
setAppDomain
(
"app"
+
(
accountSettingDto
.
getRandom
()
==
null
?
""
:
accountSettingDto
.
getRandom
())
+
"."
+
accountSettingDto
.
getFirstDomain
());
recommendServeVO
.
setDomain
(
accountSettingDto
.
getDomain
());
recommendServeVO
.
setFirstDomain
(
accountSettingDto
.
getFirstDomain
());
recommendServeVO
.
setRandom
(
accountSettingDto
.
getRandom
());
recommendServeVO
.
setProtocol
(
accountSettingDto
.
getProtocol
());
}
}
result
.
add
(
recommendServeVO
);
}
//超级作者作品自动上架
if
(
CollUtil
.
isNotEmpty
(
superProductIds
)){
ThreadPoolUtils
.
OTHER_POOL
.
execute
(()->
{
productConsr
.
productAutoOnShelves
(
channelId
,
superProductIds
);
});
}
return
result
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/impl/ResourcePageFacade.java
View file @
e5465d27
...
@@ -12,8 +12,8 @@ import com.pcloud.channelcenter.qrcode.dto.BookSceneIdListDTO;
...
@@ -12,8 +12,8 @@ import com.pcloud.channelcenter.qrcode.dto.BookSceneIdListDTO;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.utils.SessionUtil
;
import
com.pcloud.common.utils.SessionUtil
;
import
com.pcloud.common.utils.cookie.Cookie
;
import
com.pcloud.common.utils.cookie.Cookie
;
import
com.pcloud.common.utils.encrypt.AESUtil
;
import
com.pcloud.common.utils.encrypt.AESUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.math.NumberUtils
;
import
org.apache.commons.lang3.math.NumberUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -347,4 +347,28 @@ public class ResourcePageFacade {
...
@@ -347,4 +347,28 @@ public class ResourcePageFacade {
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
return
new
ResponseDto
<>(
resourcePageBiz
.
getPopupQrcode4Wechat
(
resourcePageId
,
wechatUserId
));
return
new
ResponseDto
<>(
resourcePageBiz
.
getPopupQrcode4Wechat
(
resourcePageId
,
wechatUserId
));
}
}
@ApiOperation
(
"客户端-查询书刊推荐资源"
)
@GetMapping
(
"getBookRecommendServe"
)
public
ResponseDto
<?>
getBookRecommendServe
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
value
=
"bookId"
,
required
=
false
)
Long
bookId
,
@RequestParam
(
value
=
"adviserId"
,
required
=
false
)
Long
adviserId
,
@RequestParam
(
value
=
"sceneId"
,
required
=
false
)
Long
sceneId
,
@RequestParam
(
value
=
"channelId"
,
required
=
false
)
Long
channelId
)
{
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
return
new
ResponseDto
<>(
resourcePageBiz
.
getBookRecommendServe
(
wechatUserId
,
bookId
,
adviserId
,
channelId
,
sceneId
));
}
@ApiOperation
(
"客户端-查询应用或作品推荐资源"
)
@GetMapping
(
"getServeRecommendList"
)
public
ResponseDto
<?>
getAppRecommendServe
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
value
=
"bookId"
,
required
=
false
)
Long
bookId
,
@RequestParam
(
value
=
"adviserId"
,
required
=
false
)
Long
adviserId
,
@RequestParam
(
value
=
"channelId"
,
required
=
false
)
Long
channelId
,
@RequestParam
(
value
=
"sceneId"
,
required
=
false
)
Long
sceneId
,
@RequestParam
(
value
=
"serveId"
,
required
=
false
)
Long
serveId
,
@RequestParam
(
value
=
"serveType"
,
required
=
false
)
String
serveType
)
{
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
return
new
ResponseDto
<>(
resourcePageBiz
.
getAppRecommendServe
(
wechatUserId
,
bookId
,
adviserId
,
channelId
,
serveId
,
serveType
,
sceneId
));
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/RecommendServeVO.java
0 → 100644
View file @
e5465d27
package
com
.
pcloud
.
book
.
group
.
vo
;
import
com.pcloud.book.applet.dto.AppletOuterBooklistDTO
;
import
com.pcloud.book.applet.dto.GroupActivity4AppletDTO
;
import
com.pcloud.book.applet.entity.AppletThirdResources
;
import
com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO
;
import
com.pcloud.common.dto.BaseDto
;
import
java.math.BigDecimal
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 推荐资源vo
*/
@Data
public
class
RecommendServeVO
extends
BaseDto
{
/**
* 资源id
*/
private
Long
serveId
;
/**
* 资源类型
*/
private
String
serveType
;
/**
* 资源类型
*/
private
String
typeCode
;
/**
* 二维码来源
*/
private
Integer
qrcodeSource
;
/**资源其他信息**/
private
String
serveName
;
private
String
servePic
;
private
String
typeName
;
private
String
transverseImg
;
private
BigDecimal
price
;
private
Long
channelId
;
private
Long
sceneId
;
/**
* 二维码公众号id
*/
private
Long
accountSettingId
;
/**
* 二维码公众号名称
*/
private
String
accountSettingName
;
private
String
domain
;
private
String
firstDomain
;
private
Long
random
;
private
String
appDomain
;
/**
* http协议
*/
private
String
protocol
;
/**
* 是否购买
*/
private
Boolean
buyState
;
@ApiModelProperty
(
"商品应用中有第三方链接"
)
private
Boolean
hasThirdLink
;
}
pcloud-service-book/src/main/java/com/pcloud/book/recommend/biz/BookRecommendBiz.java
0 → 100644
View file @
e5465d27
package
com
.
pcloud
.
book
.
recommend
.
biz
;
import
com.pcloud.book.recommend.dto.RecommendServeDto
;
import
com.pcloud.book.recommend.entity.BookRecommend
;
import
com.pcloud.common.page.PageBeanNew
;
import
java.util.List
;
/**
* 基于书的推荐(BookRecommend)表服务接口
*
* @author makejava
* @since 2021-10-29 15:21:57
*/
public
interface
BookRecommendBiz
{
/**
* 通过ID查询单条数据
*/
List
<
RecommendServeDto
>
getById
(
Long
bookId
,
Long
channelId
,
Long
adviserId
,
Integer
fromType
);
/**
* 查应用或作品的资源推荐
*/
List
<
RecommendServeDto
>
getByServeId
(
Long
adviserId
,
Long
serveId
,
String
serveType
,
Integer
fromType
);
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/recommend/biz/impl/BookRecommendBizImpl.java
0 → 100644
View file @
e5465d27
package
com
.
pcloud
.
book
.
recommend
.
biz
.
impl
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pcloud.book.recommend.dao.ResourceRecommendDao
;
import
com.pcloud.book.recommend.dto.RecommendServeDto
;
import
com.pcloud.book.recommend.entity.BookRecommend
;
import
com.pcloud.book.recommend.dao.BookRecommendDao
;
import
com.pcloud.book.recommend.biz.BookRecommendBiz
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.NumberUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.util.StrUtil
;
/**
* 基于书的推荐(BookRecommend)表服务实现类
*
* @author makejava
* @since 2021-10-29 15:21:58
*/
@Service
(
"bookRecommendBiz"
)
public
class
BookRecommendBizImpl
implements
BookRecommendBiz
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
BookRecommendBizImpl
.
class
);
@Autowired
private
BookRecommendDao
bookRecommendDao
;
@Autowired
private
ResourceRecommendDao
resourceRecommendDao
;
@Override
public
List
<
RecommendServeDto
>
getById
(
Long
bookId
,
Long
channelId
,
Long
adviserId
,
Integer
fromType
)
{
String
recommend
=
bookRecommendDao
.
getBookRecommend
(
bookId
,
channelId
,
adviserId
,
fromType
);
if
(
StrUtil
.
isBlank
(
recommend
)){
return
null
;
}
List
<
RecommendServeDto
>
result
=
getRecommendServeDtos
(
recommend
);
if
(
result
==
null
)
return
null
;
return
result
;
}
private
List
<
RecommendServeDto
>
getRecommendServeDtos
(
String
recommend
)
{
List
<
String
>
ids
=
JSONArray
.
parseArray
(
recommend
,
String
.
class
);
if
(
CollUtil
.
isEmpty
(
ids
)){
return
null
;
}
List
<
RecommendServeDto
>
result
=
new
ArrayList
<>();
RecommendServeDto
recommendServeDto
;
for
(
String
id
:
ids
)
{
recommendServeDto
=
new
RecommendServeDto
();
Long
serveId
=
null
;
String
prefix
=
null
;
if
(
id
.
startsWith
(
"AP"
)){
recommendServeDto
.
setServeType
(
"APP"
);
prefix
=
"AP"
;
}
else
if
(
id
.
startsWith
(
"PD"
)){
recommendServeDto
.
setServeType
(
"PRODUCT"
);
prefix
=
"PD"
;
}
else
{
continue
;
}
String
ap
=
id
.
replace
(
prefix
,
""
);
try
{
serveId
=
Long
.
valueOf
(
ap
);
}
catch
(
NumberFormatException
e
)
{
continue
;
}
recommendServeDto
.
setServeId
(
serveId
);
result
.
add
(
recommendServeDto
);
}
return
result
;
}
@Override
public
List
<
RecommendServeDto
>
getByServeId
(
Long
adviserId
,
Long
serveId
,
String
serveType
,
Integer
fromType
)
{
String
recommend
=
resourceRecommendDao
.
getServeRecommend
(
adviserId
,
serveId
,
serveType
,
fromType
);
if
(
StrUtil
.
isBlank
(
recommend
)){
return
null
;
}
List
<
RecommendServeDto
>
result
=
getRecommendServeDtos
(
recommend
);
if
(
result
==
null
)
return
null
;
return
result
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/recommend/dao/BookRecommendDao.java
0 → 100644
View file @
e5465d27
package
com
.
pcloud
.
book
.
recommend
.
dao
;
import
com.pcloud.book.recommend.entity.BookRecommend
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
/**
* 基于书的推荐(BookRecommend)表数据库访问层
*
* @author makejava
* @since 2021-10-29 15:21:56
*/
public
interface
BookRecommendDao
extends
BaseDao
<
BookRecommend
>
{
String
getBookRecommend
(
Long
bookId
,
Long
channelId
,
Long
adviserId
,
Integer
fromType
);
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/recommend/dao/ResourceRecommendDao.java
0 → 100644
View file @
e5465d27
package
com
.
pcloud
.
book
.
recommend
.
dao
;
import
com.pcloud.book.recommend.entity.ResourceRecommend
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
/**
* 基于资源的推荐(ResourceRecommend)表数据库访问层
*
* @author makejava
* @since 2021-10-29 15:22:48
*/
public
interface
ResourceRecommendDao
extends
BaseDao
<
ResourceRecommend
>
{
String
getServeRecommend
(
Long
adviserId
,
Long
serveId
,
String
serveType
,
Integer
fromType
);
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/recommend/dao/impl/BookRecommendDaoImpl.java
0 → 100644
View file @
e5465d27
package
com
.
pcloud
.
book
.
recommend
.
dao
.
impl
;
import
com.pcloud.book.recommend.entity.BookRecommend
;
import
com.pcloud.book.recommend.dao.BookRecommendDao
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 基于书的推荐(BookRecommend)表数据库访问层
*
* @author makejava
* @since 2021-10-29 15:21:57
*/
@Repository
(
"bookRecommendDaoImpl"
)
public
class
BookRecommendDaoImpl
extends
BaseDaoImpl
<
BookRecommend
>
implements
BookRecommendDao
{
@Override
public
String
getBookRecommend
(
Long
bookId
,
Long
channelId
,
Long
adviserId
,
Integer
fromType
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"bookId"
,
bookId
);
paramMap
.
put
(
"channelId"
,
channelId
);
paramMap
.
put
(
"adviserId"
,
adviserId
);
paramMap
.
put
(
"fromType"
,
fromType
);
return
super
.
getSessionTemplate
().
selectOne
(
getStatement
(
"getBookRecommend"
),
paramMap
);
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/recommend/dao/impl/ResourceRecommendDaoImpl.java
0 → 100644
View file @
e5465d27
package
com
.
pcloud
.
book
.
recommend
.
dao
.
impl
;
import
com.pcloud.book.recommend.entity.ResourceRecommend
;
import
com.pcloud.book.recommend.dao.ResourceRecommendDao
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 基于资源的推荐(ResourceRecommend)表数据库访问层
*
* @author makejava
* @since 2021-10-29 15:22:48
*/
@Repository
(
"resourceRecommendDaoImpl"
)
public
class
ResourceRecommendDaoImpl
extends
BaseDaoImpl
<
ResourceRecommend
>
implements
ResourceRecommendDao
{
@Override
public
String
getServeRecommend
(
Long
adviserId
,
Long
serveId
,
String
serveType
,
Integer
fromType
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"serveId"
,
serveId
);
paramMap
.
put
(
"serveType"
,
serveType
);
paramMap
.
put
(
"fromType"
,
fromType
);
paramMap
.
put
(
"adviserId"
,
adviserId
);
return
super
.
getSessionTemplate
().
selectOne
(
getStatement
(
"getServeRecommend"
),
paramMap
);
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/recommend/dto/RecommendServeDto.java
0 → 100644
View file @
e5465d27
package
com
.
pcloud
.
book
.
recommend
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @ClassName com.pcloud.book.recommend.dto.RecommendServeDto
* @Author David
* @Description
* @Date 2021/10/29 18:16
* @Version 1.0
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public
class
RecommendServeDto
{
@ApiModelProperty
(
"服务标识"
)
private
Long
serveId
;
@ApiModelProperty
(
"服务类型"
)
private
String
serveType
;
}
pcloud-service-book/src/main/java/com/pcloud/book/recommend/entity/BookRecommend.java
0 → 100644
View file @
e5465d27
package
com
.
pcloud
.
book
.
recommend
.
entity
;
import
java.util.Date
;
import
java.math.BigDecimal
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* 基于书的推荐(BookRecommend)实体类
*
* @author makejava
* @since 2021-10-29 15:21:53
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
public
class
BookRecommend
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
780912455843928302L
;
@ApiModelProperty
(
"书刊id"
)
private
Long
bookId
;
@ApiModelProperty
(
"编辑id"
)
private
Long
adviserId
;
@ApiModelProperty
(
"渠道id"
)
private
Integer
channelId
;
@ApiModelProperty
(
"推荐类型"
)
private
Integer
resourceLimitType
;
@ApiModelProperty
(
"推荐id集合"
)
private
String
recommendList
;
@ApiModelProperty
(
"修改时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
updateTime
;
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/recommend/entity/ResourceRecommend.java
0 → 100644
View file @
e5465d27
package
com
.
pcloud
.
book
.
recommend
.
entity
;
import
java.util.Date
;
import
java.math.BigDecimal
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* 基于资源的推荐(ResourceRecommend)实体类
*
* @author makejava
* @since 2021-10-29 15:22:48
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
public
class
ResourceRecommend
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
910936933680168511L
;
@ApiModelProperty
(
"编辑id"
)
private
Long
adviserId
;
@ApiModelProperty
(
"应用或作品id"
)
private
Integer
productOrAppId
;
@ApiModelProperty
(
"服务类型"
)
private
String
serverType
;
@ApiModelProperty
(
"商品来源"
)
private
Integer
resourceLimitType
;
@ApiModelProperty
(
"推荐id集合"
)
private
String
recommendList
;
@ApiModelProperty
(
"修改时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
updateTime
;
}
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/book/BookAdviser.Mapper.xml
View file @
e5465d27
...
@@ -1329,4 +1329,40 @@
...
@@ -1329,4 +1329,40 @@
IS_DELETE = 0
IS_DELETE = 0
</update>
</update>
<update
id=
"updateOpenRecommend"
parameterType=
"map"
>
update
book_adviser
set
is_open_recommend = #{isOpenRecommend},
recommend_from_type = #{recommendFromType},
last_modified_date = NOW()
where
book_id = #{bookId, jdbcType=BIGINT}
AND
adviser_id = #{adviserId, jdbcType=BIGINT}
AND
channel_id = #{channelId, jdbcType=BIGINT}
and
is_delete = 0
</update>
<select
id=
"getOpenRecommend"
parameterType=
"map"
resultType=
"com.pcloud.book.book.dto.OpenRecommendVO"
>
select
is_open_recommend isOpenRecommend,
recommend_from_type recommendFromType
from
book_adviser
where
book_id = #{bookId}
<if
test=
"adviserId != null"
>
and adviser_id = #{adviserId}
</if>
<if
test=
"channelId != null"
>
and channel_id = #{channelId}
</if>
and
is_delete = 0
limit 1
</select>
</mapper>
</mapper>
pcloud-service-book/src/main/resources/mapper/recommend/BookRecommend.Mapper.xml
0 → 100644
View file @
e5465d27
<?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.recommend.dao.impl.BookRecommendDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.recommend.entity.BookRecommend"
>
<result
column=
"book_id"
property=
"bookId"
jdbcType=
"BIGINT"
/>
<result
column=
"adviser_id"
property=
"adviserId"
jdbcType=
"BIGINT"
/>
<result
column=
"channel_id"
property=
"channelId"
jdbcType=
"INTEGER"
/>
<result
column=
"resource_limit_type"
property=
"resourceLimitType"
jdbcType=
"INTEGER"
/>
<result
column=
"recommend_list"
property=
"recommendList"
jdbcType=
"VARCHAR"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
book_id, adviser_id, channel_id, resource_limit_type, recommend_list, update_time
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM book_recommend
WHERE book_id = #{bookId}
</select>
<!--通过主键删除-->
<delete
id=
"deleteById"
>
DELETE FROM book_recommend WHERE book_id = #{bookId}
</delete>
<select
id=
"getBookRecommend"
parameterType=
"map"
resultType=
"String"
>
select recommend_list
from book_recommend
where book_id=#{bookId}
and adviser_id=#{adviserId}
and channel_id=#{channelId}
and resource_limit_type=#{fromType}
limit 1
</select>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/recommend/ResourceRecommend.Mapper.xml
0 → 100644
View file @
e5465d27
<?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.recommend.dao.impl.ResourceRecommendDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.recommend.entity.ResourceRecommend"
>
<result
column=
"adviser_id"
property=
"adviserId"
jdbcType=
"BIGINT"
/>
<result
column=
"product_or_app_id"
property=
"productOrAppId"
jdbcType=
"INTEGER"
/>
<result
column=
"server_type"
property=
"serverType"
jdbcType=
"VARCHAR"
/>
<result
column=
"resource_limit_type"
property=
"resourceLimitType"
jdbcType=
"INTEGER"
/>
<result
column=
"recommend_list"
property=
"recommendList"
jdbcType=
"VARCHAR"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
adviser_id, product_or_app_id, server_type, resource_limit_type, recommend_list, update_time
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM resource_recommend
WHERE adviser_id = #{adviserId}
</select>
<select
id=
"getList"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM resource_recommend
</select>
<insert
id=
"insert"
keyProperty=
"adviserId"
useGeneratedKeys=
"true"
>
INSERT INTO resource_recommend(
recommend_list,
update_time
) VALUES (
#{recommendList, jdbcType=VARCHAR},
#{updateTime, jdbcType=TIMESTAMP}
)
</insert>
<insert
id=
"batchInsert"
keyProperty=
"adviserId"
useGeneratedKeys=
"true"
>
INSERT INTO resource_recommend (
recommend_list,
update_time
) VALUES
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(
#{item.recommendList, jdbcType=VARCHAR},
#{item.updateTime, jdbcType=TIMESTAMP}
)
</foreach>
</insert>
<!--通过主键修改数据-->
<update
id=
"update"
>
UPDATE resource_recommend
<set>
<if
test=
"recommendList != null and recommendList != ''"
>
recommend_list = #{recommendList},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
</set>
WHERE adviser_id = #{adviserId}
</update>
<!--通过主键删除-->
<delete
id=
"deleteById"
>
DELETE FROM resource_recommend WHERE adviser_id = #{adviserId}
</delete>
<select
id=
"getServeRecommend"
parameterType=
"map"
resultType=
"String"
>
select recommend_list
from resource_recommend
where product_or_app_id=#{serveId}
and server_type=#{serveType}
and resource_limit_type=#{fromType}
and adviser_id=#{adviserId}
limit 1
</select>
</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