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
83192758
Commit
83192758
authored
Mar 30, 2020
by
阮思源
Committed by
郑永强
Apr 03, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
加字段
parent
19d947c2
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
591 additions
and
45 deletions
+591
-45
BookService.java
...c/main/java/com/pcloud/book/book/service/BookService.java
+6
-0
pom.xml
pcloud-service-book/pom.xml
+0
-6
BookBiz.java
...-book/src/main/java/com/pcloud/book/book/biz/BookBiz.java
+5
-0
BookBizImpl.java
.../main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
+5
-0
BookDao.java
...-book/src/main/java/com/pcloud/book/book/dao/BookDao.java
+5
-2
BookDaoImpl.java
.../main/java/com/pcloud/book/book/dao/impl/BookDaoImpl.java
+13
-8
BookServiceImpl.java
...va/com/pcloud/book/book/service/impl/BookServiceImpl.java
+8
-0
ErpConsr.java
.../src/main/java/com/pcloud/book/consumer/erp/ErpConsr.java
+33
-2
CustomPlanBiz.java
...c/main/java/com/pcloud/book/custom/biz/CustomPlanBiz.java
+3
-0
CustomPlanBizImpl.java
...va/com/pcloud/book/custom/biz/impl/CustomPlanBizImpl.java
+57
-2
PlanReadTypeDto.java
...main/java/com/pcloud/book/custom/dto/PlanReadTypeDto.java
+19
-0
CustomPlan.java
...c/main/java/com/pcloud/book/custom/entity/CustomPlan.java
+13
-0
PlanReadTypeEnum.java
...n/java/com/pcloud/book/custom/enums/PlanReadTypeEnum.java
+26
-0
CustomPlanFacade.java
.../java/com/pcloud/book/custom/facade/CustomPlanFacade.java
+8
-0
CustomPlanMapper.java
.../java/com/pcloud/book/custom/mapper/CustomPlanMapper.java
+6
-0
DelayReceiver.java
...src/main/java/com/pcloud/book/mq/delay/DelayReceiver.java
+2
-0
PersonalStageJumpBiz.java
...m/pcloud/book/personalstage/biz/PersonalStageJumpBiz.java
+5
-0
PersonalStageBizImpl.java
...oud/book/personalstage/biz/impl/PersonalStageBizImpl.java
+80
-16
PersonalStageJumpBizImpl.java
...book/personalstage/biz/impl/PersonalStageJumpBizImpl.java
+131
-0
PersonalStageConstant.java
...ud/book/personalstage/constant/PersonalStageConstant.java
+8
-0
UserReplaceCodeDao.java
...com/pcloud/book/personalstage/dao/UserReplaceCodeDao.java
+3
-0
UserReplaceCodeDaoImpl.java
...d/book/personalstage/dao/impl/UserReplaceCodeDaoImpl.java
+10
-0
PersonalStageJumpDto.java
...m/pcloud/book/personalstage/dto/PersonalStageJumpDto.java
+3
-0
TimeJumpDelayDTO.java
...a/com/pcloud/book/personalstage/dto/TimeJumpDelayDTO.java
+26
-0
TimeJumpNextDTO.java
...va/com/pcloud/book/personalstage/dto/TimeJumpNextDTO.java
+23
-0
PersonalStageJump.java
...m/pcloud/book/personalstage/entity/PersonalStageJump.java
+3
-0
JumpTypeEnum.java
...ava/com/pcloud/book/personalstage/enums/JumpTypeEnum.java
+1
-0
PersonalStageFacade.java
...pcloud/book/personalstage/facade/PersonalStageFacade.java
+10
-0
BaseStageJumpRequestVO.java
...book/personalstage/vo/request/BaseStageJumpRequestVO.java
+4
-0
Book.Mapper.xml
...rvice-book/src/main/resources/mapper/book/Book.Mapper.xml
+7
-0
CustomPlanMapper.xml
...ook/src/main/resources/mapper/custom/CustomPlanMapper.xml
+44
-6
PersonalStageJump.Mapper.xml
...sources/mapper/personalstage/PersonalStageJump.Mapper.xml
+11
-3
UserReplaceCode.xml
...c/main/resources/mapper/personalstage/UserReplaceCode.xml
+13
-0
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/book/service/BookService.java
View file @
83192758
...
@@ -257,4 +257,10 @@ public interface BookService {
...
@@ -257,4 +257,10 @@ public interface BookService {
ResponseEntity
<
ResponseDto
<
List
<
Long
>>>
getBookIdsByBookName
(
ResponseEntity
<
ResponseDto
<
List
<
Long
>>>
getBookIdsByBookName
(
@RequestParam
(
value
=
"bookName"
)
String
bookName
@RequestParam
(
value
=
"bookName"
)
String
bookName
)
throws
BizException
;
)
throws
BizException
;
@ApiOperation
(
"根据isbn模糊匹配,获得所有book_id"
)
@RequestMapping
(
value
=
"/getBookIdsByIsbn"
,
method
=
RequestMethod
.
GET
)
ResponseEntity
<
ResponseDto
<
List
<
Long
>>>
getBookIdsByIsbn
(
@RequestParam
(
value
=
"isbn"
)
String
isbn
)
throws
BizException
;
}
}
pcloud-service-book/pom.xml
View file @
83192758
...
@@ -216,12 +216,6 @@
...
@@ -216,12 +216,6 @@
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.pcloud.facade
</groupId>
<artifactId>
pcloud-facade-erp
</artifactId>
<version>
${pcloud-facade.version}
</version>
</dependency>
<dependency>
<groupId>
fakepath
</groupId>
<groupId>
fakepath
</groupId>
<artifactId>
jbarcode
</artifactId>
<artifactId>
jbarcode
</artifactId>
<version>
0.2.8
</version>
<version>
0.2.8
</version>
...
...
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/BookBiz.java
View file @
83192758
...
@@ -627,4 +627,9 @@ public interface BookBiz {
...
@@ -627,4 +627,9 @@ public interface BookBiz {
*/
*/
PageBeanNew
<
BookDto
>
getBookAndServeList4Channel
(
Integer
currentPage
,
Integer
numPerPage
,
Long
channelId
,
String
name
,
PageBeanNew
<
BookDto
>
getBookAndServeList4Channel
(
Integer
currentPage
,
Integer
numPerPage
,
Long
channelId
,
String
name
,
Integer
isFundSupport
,
String
startDate
,
String
endDate
);
Integer
isFundSupport
,
String
startDate
,
String
endDate
);
/**
* 根据isbn模糊匹配,获得所有book_id
*/
List
<
Long
>
getBookIdsByIsbn
(
String
isbn
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
View file @
83192758
...
@@ -2025,4 +2025,9 @@ public class BookBizImpl implements BookBiz {
...
@@ -2025,4 +2025,9 @@ public class BookBizImpl implements BookBiz {
});
});
}
}
@Override
public
List
<
Long
>
getBookIdsByIsbn
(
String
isbn
)
{
return
bookDao
.
getBookIdsByIsbn
(
isbn
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/BookDao.java
View file @
83192758
...
@@ -3,8 +3,6 @@
...
@@ -3,8 +3,6 @@
*/
*/
package
com
.
pcloud
.
book
.
book
.
dao
;
package
com
.
pcloud
.
book
.
book
.
dao
;
import
java.util.List
;
import
java.util.Map
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.book.dto.BookInfo4AnlysicsDTO
;
import
com.pcloud.book.book.dto.BookInfo4AnlysicsDTO
;
import
com.pcloud.book.book.dto.BookInfoAnalysicsDTO
;
import
com.pcloud.book.book.dto.BookInfoAnalysicsDTO
;
...
@@ -12,6 +10,9 @@ import com.pcloud.book.book.entity.Book;
...
@@ -12,6 +10,9 @@ import com.pcloud.book.book.entity.Book;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
com.pcloud.common.core.dao.BaseDao
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @描述:书籍数据访问层接口
* @描述:书籍数据访问层接口
* @作者:songx
* @作者:songx
...
@@ -329,4 +330,6 @@ public interface BookDao extends BaseDao<Book> {
...
@@ -329,4 +330,6 @@ public interface BookDao extends BaseDao<Book> {
List
<
Long
>
getBookIdsByBookName
(
String
bookName
);
List
<
Long
>
getBookIdsByBookName
(
String
bookName
);
BookDto
getAdviserBookByName
(
String
bookName
);
BookDto
getAdviserBookByName
(
String
bookName
);
List
<
Long
>
getBookIdsByIsbn
(
String
isbn
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/impl/BookDaoImpl.java
View file @
83192758
...
@@ -3,21 +3,19 @@
...
@@ -3,21 +3,19 @@
*/
*/
package
com
.
pcloud
.
book
.
book
.
dao
.
impl
;
package
com
.
pcloud
.
book
.
book
.
dao
.
impl
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
com.google.common.collect.Lists
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
org.springframework.stereotype.Repository
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
import
com.pcloud.book.book.dao.BookDao
;
import
com.pcloud.book.book.dao.BookDao
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.book.dto.BookInfo4AnlysicsDTO
;
import
com.pcloud.book.book.dto.BookInfo4AnlysicsDTO
;
import
com.pcloud.book.book.dto.BookInfoAnalysicsDTO
;
import
com.pcloud.book.book.dto.BookInfoAnalysicsDTO
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.vo.BookSaleVO
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @描述:书籍数据访问层实现类
* @描述:书籍数据访问层实现类
...
@@ -328,4 +326,11 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
...
@@ -328,4 +326,11 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
paramMap
.
put
(
"bookName"
,
bookName
);
paramMap
.
put
(
"bookName"
,
bookName
);
return
super
.
getSqlSession
().
selectOne
(
getStatement
(
"getAdviserBookByName"
),
paramMap
);
return
super
.
getSqlSession
().
selectOne
(
getStatement
(
"getAdviserBookByName"
),
paramMap
);
}
}
@Override
public
List
<
Long
>
getBookIdsByIsbn
(
String
isbn
)
{
Map
<
String
,
Object
>
paramMap
=
Maps
.
newHashMap
();
paramMap
.
put
(
"isbn"
,
isbn
);
return
super
.
getSqlSession
().
selectOne
(
getStatement
(
"getBookIdsByIsbn"
),
paramMap
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/service/impl/BookServiceImpl.java
View file @
83192758
...
@@ -210,4 +210,12 @@ public class BookServiceImpl implements BookService {
...
@@ -210,4 +210,12 @@ public class BookServiceImpl implements BookService {
)
throws
BizException
{
)
throws
BizException
{
return
ResponseHandleUtil
.
toResponse
(
bookBiz
.
getBookIdsByBookName
(
bookName
));
return
ResponseHandleUtil
.
toResponse
(
bookBiz
.
getBookIdsByBookName
(
bookName
));
}
}
@ApiOperation
(
"根据isbn模糊匹配,获得所有book_id"
)
@RequestMapping
(
value
=
"/getBookIdsByIsbn"
,
method
=
RequestMethod
.
GET
)
@Override
public
ResponseEntity
<
ResponseDto
<
List
<
Long
>>>
getBookIdsByIsbn
(
@RequestParam
(
value
=
"isbn"
)
String
isbn
)
throws
BizException
{
return
ResponseHandleUtil
.
toResponse
(
bookBiz
.
getBookIdsByIsbn
(
isbn
));
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/erp/ErpConsr.java
View file @
83192758
...
@@ -3,13 +3,19 @@ package com.pcloud.book.consumer.erp;
...
@@ -3,13 +3,19 @@ package com.pcloud.book.consumer.erp;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.erp.project.service.ProjectService
;
import
com.pcloud.erp.project.service.ProjectService
;
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.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Repository
(
"erpConsr"
)
@Repository
(
"erpConsr"
)
public
class
ErpConsr
{
public
class
ErpConsr
{
/**
/**
...
@@ -19,7 +25,7 @@ public class ErpConsr {
...
@@ -19,7 +25,7 @@ public class ErpConsr {
@Autowired
@Autowired
private
ProjectService
projectService
;
private
ProjectService
projectService
;
@ParamLog
(
"根据书名获取等级"
)
@ParamLog
(
"根据书名获取等级"
)
public
Integer
getBookServiceLevel
(
String
bookName
)
throws
BizException
{
public
Integer
getBookServiceLevel
(
String
bookName
)
throws
BizException
{
try
{
try
{
...
@@ -29,6 +35,31 @@ public class ErpConsr {
...
@@ -29,6 +35,31 @@ public class ErpConsr {
throw
new
BookBizException
(
BookBizException
.
INVOKE_CONTENT_ERROR
,
"获取资源基本信息失败~!"
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_CONTENT_ERROR
,
"获取资源基本信息失败~!"
);
}
}
}
}
@ParamLog
(
"批量获取项目名称"
)
public
Map
<
Long
,
String
>
getBookNames
(
List
<
Long
>
bookIds
)
throws
BizException
{
if
(
ListUtils
.
isEmpty
(
bookIds
)){
return
new
HashMap
<>();
}
try
{
return
ResponseHandleUtil
.
parseMap
(
projectService
.
getBookNames
(
bookIds
),
Long
.
class
,
String
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"批量获取项目名称[projectService.getBookNames]:"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_CONTENT_ERROR
,
"批量获取项目名称~!"
);
}
}
@ParamLog
(
"通过书名获取ERP端的bookId"
)
public
List
<
Long
>
getIdByBookName
(
String
bookName
)
throws
BizException
{
if
(
StringUtil
.
isEmpty
(
bookName
)){
return
null
;
}
try
{
return
ResponseHandleUtil
.
parseListResponse
(
projectService
.
getIdByBookName
(
bookName
),
Long
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"通过书名获取ERP端的bookId[projectService.getIdByBookName]:"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_CONTENT_ERROR
,
"通过书名获取ERP端的bookId错误"
);
}
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/custom/biz/CustomPlanBiz.java
View file @
83192758
package
com
.
pcloud
.
book
.
custom
.
biz
;
package
com
.
pcloud
.
book
.
custom
.
biz
;
import
com.pcloud.book.custom.dto.PlanReadTypeDto
;
import
com.pcloud.book.custom.entity.CustomPlan
;
import
com.pcloud.book.custom.entity.CustomPlan
;
import
com.pcloud.book.custom.vo.*
;
import
com.pcloud.book.custom.vo.*
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
...
@@ -47,4 +48,6 @@ public interface CustomPlanBiz {
...
@@ -47,4 +48,6 @@ public interface CustomPlanBiz {
AddBookNameVO
getUserBookAdnServiceType
(
String
wxId
,
String
robotWxId
,
Integer
type
);
AddBookNameVO
getUserBookAdnServiceType
(
String
wxId
,
String
robotWxId
,
Integer
type
);
UserBookServiceVO
getUserBookServiceById
(
Long
userBookServiceId
);
UserBookServiceVO
getUserBookServiceById
(
Long
userBookServiceId
);
List
<
PlanReadTypeDto
>
getPlanReadTypesByBookId
(
Long
bookId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/custom/biz/impl/CustomPlanBizImpl.java
View file @
83192758
...
@@ -5,12 +5,16 @@ import com.dcg.coolq.sdk.message.MessageBuilder;
...
@@ -5,12 +5,16 @@ import com.dcg.coolq.sdk.message.MessageBuilder;
import
com.dcg.coolq.sdk.message.vos.send.PrivateMsgSendVO
;
import
com.dcg.coolq.sdk.message.vos.send.PrivateMsgSendVO
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.book.biz.BookBiz
;
import
com.pcloud.book.book.dto.BookDto
;
import
com.pcloud.book.consumer.app.AppConsr
;
import
com.pcloud.book.consumer.app.AppConsr
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.erp.ErpConsr
;
import
com.pcloud.book.consumer.feedback.FeedbackConsr
;
import
com.pcloud.book.consumer.feedback.FeedbackConsr
;
import
com.pcloud.book.consumer.shareimage.ShareImageConsr
;
import
com.pcloud.book.consumer.shareimage.ShareImageConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.custom.biz.CustomPlanBiz
;
import
com.pcloud.book.custom.biz.CustomPlanBiz
;
import
com.pcloud.book.custom.dto.PlanReadTypeDto
;
import
com.pcloud.book.custom.entity.CustomPlan
;
import
com.pcloud.book.custom.entity.CustomPlan
;
import
com.pcloud.book.custom.entity.CustomPlanModule
;
import
com.pcloud.book.custom.entity.CustomPlanModule
;
import
com.pcloud.book.custom.entity.CustomPlanModuleSuggestion
;
import
com.pcloud.book.custom.entity.CustomPlanModuleSuggestion
;
...
@@ -19,7 +23,17 @@ import com.pcloud.book.custom.enums.PlanUseStateEnum;
...
@@ -19,7 +23,17 @@ import com.pcloud.book.custom.enums.PlanUseStateEnum;
import
com.pcloud.book.custom.mapper.CustomPlanMapper
;
import
com.pcloud.book.custom.mapper.CustomPlanMapper
;
import
com.pcloud.book.custom.mapper.CustomPlanModuleMapper
;
import
com.pcloud.book.custom.mapper.CustomPlanModuleMapper
;
import
com.pcloud.book.custom.mapper.CustomPlanModuleSuggestionMapper
;
import
com.pcloud.book.custom.mapper.CustomPlanModuleSuggestionMapper
;
import
com.pcloud.book.custom.vo.*
;
import
com.pcloud.book.custom.vo.AddBookNameVO
;
import
com.pcloud.book.custom.vo.AddCustomPlan4UserVO
;
import
com.pcloud.book.custom.vo.AddSuggestionListVO
;
import
com.pcloud.book.custom.vo.AddSuggestionVO
;
import
com.pcloud.book.custom.vo.CustomPlanModuleVO
;
import
com.pcloud.book.custom.vo.CustomPlanPaperVO
;
import
com.pcloud.book.custom.vo.EditCustomPlanModuleVO
;
import
com.pcloud.book.custom.vo.ModuleSuggestionVO
;
import
com.pcloud.book.custom.vo.SuggestionListVO
;
import
com.pcloud.book.custom.vo.ToPdfVO
;
import
com.pcloud.book.custom.vo.UserBookServiceVO
;
import
com.pcloud.book.group.biz.WeixinQrcodeBiz
;
import
com.pcloud.book.group.biz.WeixinQrcodeBiz
;
import
com.pcloud.book.group.tools.Kit
;
import
com.pcloud.book.group.tools.Kit
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
import
com.pcloud.book.group.tools.SendWeixinRequestTools
;
...
@@ -50,6 +64,7 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -50,6 +64,7 @@ import org.springframework.transaction.annotation.Transactional;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -82,6 +97,10 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
...
@@ -82,6 +97,10 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
private
WechatGroupConsr
wechatGroupConsr
;
private
WechatGroupConsr
wechatGroupConsr
;
@Autowired
@Autowired
private
WeixinQrcodeBiz
weixinQrcodeBiz
;
private
WeixinQrcodeBiz
weixinQrcodeBiz
;
@Autowired
private
BookBiz
bookBiz
;
@Autowired
private
ErpConsr
erpConsr
;
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
@@ -124,7 +143,13 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
...
@@ -124,7 +143,13 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
@Override
@Override
public
CustomPlan
getCustomPlanById
(
Integer
planId
)
{
public
CustomPlan
getCustomPlanById
(
Integer
planId
)
{
return
customPlanMapper
.
getById
(
planId
);
CustomPlan
customPlan
=
customPlanMapper
.
getById
(
planId
);
if
(
null
!=
customPlan
&&
null
!=
customPlan
.
getBookId
()){
Map
<
Long
,
String
>
bookNames
=
erpConsr
.
getBookNames
(
Arrays
.
asList
(
customPlan
.
getBookId
()));
if
(
MapUtils
.
isNotEmpty
(
bookNames
)
&&
bookNames
.
containsKey
(
customPlan
.
getBookId
()))
customPlan
.
setBookName
(
bookNames
.
get
(
customPlan
.
getBookId
()));
}
return
customPlan
;
}
}
@Override
@Override
...
@@ -142,6 +167,17 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
...
@@ -142,6 +167,17 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
}
}
List
<
CustomPlan
>
customPlanList
=
customPlanMapper
.
listCustomPlanByPage
(
currentPage
*
numPerPage
,
List
<
CustomPlan
>
customPlanList
=
customPlanMapper
.
listCustomPlanByPage
(
currentPage
*
numPerPage
,
numPerPage
,
content
,
useState
,
hasPdf
,
robotType
,
readType
);
numPerPage
,
content
,
useState
,
hasPdf
,
robotType
,
readType
);
List
<
Long
>
bookIds
=
customPlanList
.
stream
().
filter
(
a
->
null
!=
a
.
getBookId
()).
map
(
a
->
a
.
getBookId
()).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
Long
,
String
>
bookNameMap
=
new
HashMap
<>();
if
(!
ListUtils
.
isEmpty
(
bookIds
)){
bookNameMap
=
erpConsr
.
getBookNames
(
bookIds
);
}
for
(
CustomPlan
customPlan
:
customPlanList
)
{
if
(
null
!=
customPlan
.
getBookId
()
&&
MapUtils
.
isNotEmpty
(
bookNameMap
)
&&
bookNameMap
.
containsKey
(
customPlan
.
getBookId
())){
String
bookName
=
bookNameMap
.
get
(
customPlan
.
getBookId
());
customPlan
.
setBookName
(
bookName
);
}
}
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
count
,
customPlanList
);
return
new
PageBeanNew
<>(
currentPage
,
numPerPage
,
count
,
customPlanList
);
}
}
...
@@ -221,6 +257,7 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
...
@@ -221,6 +257,7 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
@Override
@Override
public
List
<
CustomPlanModuleVO
>
getCustomPlanModule
(
Integer
planId
)
{
public
List
<
CustomPlanModuleVO
>
getCustomPlanModule
(
Integer
planId
)
{
List
<
CustomPlanModuleVO
>
parentPlanModuleVOList
=
customPlanModuleMapper
.
getCustomPlanModuleByPlanId
(
planId
,
0
);
List
<
CustomPlanModuleVO
>
parentPlanModuleVOList
=
customPlanModuleMapper
.
getCustomPlanModuleByPlanId
(
planId
,
0
);
CustomPlan
customPlan
=
customPlanMapper
.
getById
(
planId
);
for
(
CustomPlanModuleVO
planModuleVO
:
parentPlanModuleVOList
)
{
for
(
CustomPlanModuleVO
planModuleVO
:
parentPlanModuleVOList
)
{
if
(
PlanModuleTypeEnum
.
GROUP
.
value
.
equals
(
planModuleVO
.
getModuleType
()))
{
if
(
PlanModuleTypeEnum
.
GROUP
.
value
.
equals
(
planModuleVO
.
getModuleType
()))
{
List
<
CustomPlanModuleVO
>
planModuleVOList
=
customPlanModuleMapper
.
getCustomPlanModuleByPlanId
(
planId
,
planModuleVO
.
getId
());
List
<
CustomPlanModuleVO
>
planModuleVOList
=
customPlanModuleMapper
.
getCustomPlanModuleByPlanId
(
planId
,
planModuleVO
.
getId
());
...
@@ -228,6 +265,14 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
...
@@ -228,6 +265,14 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
planModuleVO
.
setCustomPlanModuleVOList
(
planModuleVOList
);
planModuleVO
.
setCustomPlanModuleVOList
(
planModuleVOList
);
}
}
}
}
if
(
PlanModuleTypeEnum
.
TOP
.
value
.
equals
(
planModuleVO
.
getModuleType
())){
planModuleVO
.
setReadType
(
null
!=
customPlan
?
customPlan
.
getReadType
()
:
null
);
planModuleVO
.
setBookName
(
null
);
if
(
null
!=
customPlan
&&
null
!=
customPlan
.
getBookId
())
{
BookDto
bookDto
=
bookBiz
.
getBaseById
(
customPlan
.
getBookId
());
planModuleVO
.
setBookName
(
null
!=
bookDto
?
bookDto
.
getBookName
()
:
null
);
}
}
}
}
return
parentPlanModuleVOList
;
return
parentPlanModuleVOList
;
}
}
...
@@ -445,4 +490,14 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
...
@@ -445,4 +490,14 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
public
UserBookServiceVO
getUserBookServiceById
(
Long
userBookServiceId
)
{
public
UserBookServiceVO
getUserBookServiceById
(
Long
userBookServiceId
)
{
return
customPlanModuleSuggestionMapper
.
getUserBookServiceById
(
userBookServiceId
);
return
customPlanModuleSuggestionMapper
.
getUserBookServiceById
(
userBookServiceId
);
}
}
@ParamLog
(
"根据书Id获取定制计划"
)
@Override
public
List
<
PlanReadTypeDto
>
getPlanReadTypesByBookId
(
Long
bookId
)
{
if
(
bookId
==
null
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"书id为空!"
);
}
List
<
PlanReadTypeDto
>
list
=
customPlanMapper
.
getPlanReadTypesByBookId
(
bookId
);
return
list
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/custom/dto/PlanReadTypeDto.java
0 → 100644
View file @
83192758
package
com
.
pcloud
.
book
.
custom
.
dto
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
public
class
PlanReadTypeDto
implements
Serializable
{
@ApiModelProperty
(
"定制服务id"
)
private
Long
customPlanId
;
@ApiModelProperty
(
"阅读类型1轻松2高效3深度"
)
private
Integer
readType
;
}
pcloud-service-book/src/main/java/com/pcloud/book/custom/entity/CustomPlan.java
View file @
83192758
...
@@ -54,4 +54,16 @@ public class CustomPlan {
...
@@ -54,4 +54,16 @@ public class CustomPlan {
@ApiModelProperty
(
"阅读类型1轻松2高效3深度"
)
@ApiModelProperty
(
"阅读类型1轻松2高效3深度"
)
private
Integer
readType
;
private
Integer
readType
;
@ApiModelProperty
(
"书Id"
)
private
Long
bookId
;
@ApiModelProperty
(
"权益图片"
)
private
String
rightsPic
;
@ApiModelProperty
(
"按钮名称"
)
private
String
buttonName
;
@ApiModelProperty
(
"书籍名称"
)
private
String
bookName
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/custom/enums/PlanReadTypeEnum.java
0 → 100644
View file @
83192758
package
com
.
pcloud
.
book
.
custom
.
enums
;
import
java.util.Arrays
;
public
enum
PlanReadTypeEnum
{
RELAX
(
1
,
"轻松阅读"
),
EFFICIENT
(
2
,
"高效阅读"
),
DEPTH
(
3
,
"深度阅读"
);
public
final
Integer
id
;
public
final
String
desc
;
PlanReadTypeEnum
(
Integer
id
,
String
desc
){
this
.
id
=
id
;
this
.
desc
=
desc
;
}
public
static
Integer
getIdByDesc
(
String
desc
){
return
Arrays
.
stream
(
PlanReadTypeEnum
.
values
()).
filter
(
x
->
x
.
desc
.
equals
(
desc
)).
map
(
x
->
x
.
id
).
findFirst
().
orElse
(
null
);
}
public
static
String
getDescById
(
Integer
id
){
return
Arrays
.
stream
(
PlanReadTypeEnum
.
values
()).
filter
(
x
->
x
.
id
.
equals
(
id
)).
map
(
x
->
x
.
desc
).
findFirst
().
orElse
(
null
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/custom/facade/CustomPlanFacade.java
View file @
83192758
...
@@ -266,5 +266,13 @@ public class CustomPlanFacade {
...
@@ -266,5 +266,13 @@ public class CustomPlanFacade {
return
new
ResponseDto
<>(
customReadPlanBiz
.
copyCustomReadPlanById
(
customReadPlanId
));
return
new
ResponseDto
<>(
customReadPlanBiz
.
copyCustomReadPlanById
(
customReadPlanId
));
}
}
@ApiOperation
(
"根据书Id获取定制计划类型"
)
@GetMapping
(
"getPlanReadTypesByBookId"
)
ResponseDto
<?>
getPlanReadTypesByBookId
(
@RequestParam
(
"bookId"
)
Long
bookId
)
throws
BizException
,
PermissionException
{
return
new
ResponseDto
<>(
customPlanBiz
.
getPlanReadTypesByBookId
(
bookId
));
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/custom/mapper/CustomPlanMapper.java
View file @
83192758
package
com
.
pcloud
.
book
.
custom
.
mapper
;
package
com
.
pcloud
.
book
.
custom
.
mapper
;
import
com.pcloud.book.custom.dto.PlanReadTypeDto
;
import
com.pcloud.book.custom.entity.CustomPlan
;
import
com.pcloud.book.custom.entity.CustomPlan
;
import
com.pcloud.book.custom.vo.CustomPlanPaperVO
;
import
com.pcloud.book.custom.vo.CustomPlanPaperVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
...
@@ -32,4 +33,8 @@ public interface CustomPlanMapper {
...
@@ -32,4 +33,8 @@ public interface CustomPlanMapper {
List
<
CustomPlanPaperVO
>
listPlanPaperByPage
(
Map
<
String
,
Object
>
paramMap
);
List
<
CustomPlanPaperVO
>
listPlanPaperByPage
(
Map
<
String
,
Object
>
paramMap
);
void
updatePdfUrl
(
CustomPlan
customPlan
);
void
updatePdfUrl
(
CustomPlan
customPlan
);
List
<
PlanReadTypeDto
>
getPlanReadTypesByBookId
(
@Param
(
"bookId"
)
Long
bookId
);
CustomPlan
getLastCustomPlan
(
@Param
(
"bookIds"
)
List
<
Long
>
bookIds
,
@Param
(
"readType"
)
Integer
readType
);
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/mq/delay/DelayReceiver.java
View file @
83192758
...
@@ -54,6 +54,8 @@ public class DelayReceiver {
...
@@ -54,6 +54,8 @@ public class DelayReceiver {
personalStageJumpBiz
.
delayPaper
(
dto
);
personalStageJumpBiz
.
delayPaper
(
dto
);
}
else
if
(
CultivateConstant
.
ENERGY_CONSUMPTION_DELAY
.
equals
(
dto
.
getType
()))
{
}
else
if
(
CultivateConstant
.
ENERGY_CONSUMPTION_DELAY
.
equals
(
dto
.
getType
()))
{
cultivateBiz
.
dealDelayEnergyConsumption
(
dto
);
cultivateBiz
.
dealDelayEnergyConsumption
(
dto
);
}
else
if
(
PersonalStageConstant
.
PERSONALSTAGE_DELAY_TIME_JUMP
.
equals
(
dto
.
getType
())){
personalStageJumpBiz
.
dealDelayTimeJump
(
dto
);
}
}
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/biz/PersonalStageJumpBiz.java
View file @
83192758
...
@@ -4,6 +4,7 @@ import com.pcloud.book.personalstage.dto.LinkClickRecordDTO;
...
@@ -4,6 +4,7 @@ import com.pcloud.book.personalstage.dto.LinkClickRecordDTO;
import
com.pcloud.book.personalstage.dto.EndServiceJumpNextDTO
;
import
com.pcloud.book.personalstage.dto.EndServiceJumpNextDTO
;
import
com.pcloud.book.personalstage.dto.PersonalStageJumpDto
;
import
com.pcloud.book.personalstage.dto.PersonalStageJumpDto
;
import
com.pcloud.book.personalstage.dto.PlanJumpNextDTO
;
import
com.pcloud.book.personalstage.dto.PlanJumpNextDTO
;
import
com.pcloud.book.personalstage.dto.TimeJumpNextDTO
;
import
com.pcloud.book.personalstage.enums.JumpTypeEnum
;
import
com.pcloud.book.personalstage.enums.JumpTypeEnum
;
import
com.pcloud.book.personalstage.vo.request.CreateStageJumpRequestVO
;
import
com.pcloud.book.personalstage.vo.request.CreateStageJumpRequestVO
;
import
com.pcloud.book.personalstage.vo.request.UpdateStageJumpRequestVO
;
import
com.pcloud.book.personalstage.vo.request.UpdateStageJumpRequestVO
;
...
@@ -109,6 +110,10 @@ public interface PersonalStageJumpBiz {
...
@@ -109,6 +110,10 @@ public interface PersonalStageJumpBiz {
void
planJumpNext
(
PlanJumpNextDTO
planJumpNextDTO
);
void
planJumpNext
(
PlanJumpNextDTO
planJumpNextDTO
);
void
setDelayTimeJump
(
TimeJumpNextDTO
timeJumpNextDTO
);
void
dealDelayTimeJump
(
DelayQueueDTO
dto
);
/**
/**
* 删除用户的需求单记录
* 删除用户的需求单记录
* @param robotId
* @param robotId
...
...
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/biz/impl/PersonalStageBizImpl.java
View file @
83192758
...
@@ -8,6 +8,9 @@ import com.pcloud.book.book.constant.BookConstant;
...
@@ -8,6 +8,9 @@ import com.pcloud.book.book.constant.BookConstant;
import
com.pcloud.book.consumer.content.ResourceConsr
;
import
com.pcloud.book.consumer.content.ResourceConsr
;
import
com.pcloud.book.consumer.erp.ErpConsr
;
import
com.pcloud.book.consumer.erp.ErpConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.custom.entity.CustomPlan
;
import
com.pcloud.book.custom.enums.PlanReadTypeEnum
;
import
com.pcloud.book.custom.mapper.CustomPlanMapper
;
import
com.pcloud.book.custom.mapper.CustomPlanModuleSuggestionMapper
;
import
com.pcloud.book.custom.mapper.CustomPlanModuleSuggestionMapper
;
import
com.pcloud.book.custom.vo.AddBookNameVO
;
import
com.pcloud.book.custom.vo.AddBookNameVO
;
import
com.pcloud.book.custom.vo.UserBookServiceVO
;
import
com.pcloud.book.custom.vo.UserBookServiceVO
;
...
@@ -138,10 +141,10 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
...
@@ -138,10 +141,10 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
private
UserReplaceCodeDao
userReplaceCodeDao
;
private
UserReplaceCodeDao
userReplaceCodeDao
;
@Autowired
@Autowired
private
ReplaceCodeDao
replaceCodeDao
;
private
ReplaceCodeDao
replaceCodeDao
;
@Autowired
@Autowired
private
PersonalAppletsDao
personalAppletsDao
;
private
PersonalAppletsDao
personalAppletsDao
;
@Autowired
private
CustomPlanMapper
customPlanMapper
;
@Autowired
@Autowired
private
ErpConsr
erpConsr
;
private
ErpConsr
erpConsr
;
...
@@ -671,22 +674,31 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
...
@@ -671,22 +674,31 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
personalStageUser
.
setRobotClassifyId
(
robotClassifyId
);
personalStageUser
.
setRobotClassifyId
(
robotClassifyId
);
personalStageUser
.
setPersonalStageId
(
personalStageId
);
personalStageUser
.
setPersonalStageId
(
personalStageId
);
personalStageUserDao
.
insert
(
personalStageUser
);
personalStageUserDao
.
insert
(
personalStageUser
);
// 设置定时跳转
TimeJumpNextDTO
timeJumpNextDTO
=
new
TimeJumpNextDTO
();
timeJumpNextDTO
.
setRobotWxId
(
robotId
);
timeJumpNextDTO
.
setWxId
(
userWxId
);
timeJumpNextDTO
.
setPersonalStageId
(
personalStageId
);
timeJumpNextDTO
.
setPersonalStageUserId
(
personalStageUser
.
getId
());
timeJumpNextDTO
.
setIp
(
ip
);
personalStageJumpBiz
.
setDelayTimeJump
(
timeJumpNextDTO
);
//同时插入唤醒队列
//同时插入唤醒队列
//查询第一个唤醒时长
//查询第一个唤醒时长
if
(
wakeup
==
null
){
if
(
wakeup
!=
null
){
return
personalStageUser
;
Integer
toStageStartTime
=
wakeup
.
getToStageStartTime
();
}
WakeupDelayDTO
wakeupDelayDTO
=
new
WakeupDelayDTO
();
Integer
toStageStartTime
=
wakeup
.
getToStageStartTime
();
wakeupDelayDTO
.
setPersonalStageWakeupId
(
wakeup
.
getId
());
WakeupDelayDTO
wakeupDelayDTO
=
new
WakeupDelayDTO
();
wakeupDelayDTO
.
setRobotId
(
robotId
);
wakeupDelayDTO
.
setPersonalStageWakeupId
(
wakeup
.
getId
());
wakeupDelayDTO
.
setWxId
(
userWxId
);
wakeupDelayDTO
.
setRobotId
(
robotId
);
wakeupDelayDTO
.
setIp
(
ip
);
wakeupDelayDTO
.
setWxId
(
userWxId
);
wakeupDelayDTO
.
setPersonalStageId
(
personalStageId
);
wakeupDelayDTO
.
setIp
(
ip
);
wakeupDelayDTO
.
setPersonalStageUserId
(
personalStageUser
.
getId
());
wakeupDelayDTO
.
setPersonalStageId
(
personalStageId
);
wakeupDelayDTO
.
setPersonalStageCreateTime
(
DateUtils
.
formatDate
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
));
wakeupDelayDTO
.
setPersonalStageUserId
(
personalStageUser
.
getId
());
DelayQueueDTO
delayQueueDTO
=
DelayQueueDTO
.
builder
().
key
(
userWxId
).
type
(
PersonalStageConstant
.
PERSONALSTAGE_DELAY_WAKEUP
).
msg
(
wakeupDelayDTO
).
timeout
(
toStageStartTime
*
1000
).
build
();
wakeupDelayDTO
.
setPersonalStageCreateTime
(
DateUtils
.
formatDate
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
));
delayMessageSender
.
send
(
delayQueueDTO
);
DelayQueueDTO
delayQueueDTO
=
DelayQueueDTO
.
builder
().
key
(
userWxId
).
type
(
PersonalStageConstant
.
PERSONALSTAGE_DELAY_WAKEUP
).
msg
(
wakeupDelayDTO
).
timeout
(
toStageStartTime
*
1000
).
build
();
}
delayMessageSender
.
send
(
delayQueueDTO
);
return
personalStageUser
;
return
personalStageUser
;
}
}
...
@@ -870,6 +882,58 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
...
@@ -870,6 +882,58 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
content
=
replaceUserSendContent
(
content
,
robotId
,
userWxId
);
content
=
replaceUserSendContent
(
content
,
robotId
,
userWxId
);
content
=
replaceReadingStyle
(
content
,
robotId
,
userWxId
);
content
=
replaceReadingStyle
(
content
,
robotId
,
userWxId
);
content
=
replaceBookSearch
(
content
,
robotId
,
userWxId
);
content
=
replaceBookSearch
(
content
,
robotId
,
userWxId
);
content
=
replaceRights
(
content
,
robotId
,
userWxId
);
return
content
;
}
/**
* 替换权益链接
* @param content
* @param robotId
* @param userWxId
* @return
*/
private
String
replaceRights
(
String
content
,
String
robotId
,
String
userWxId
)
{
if
(
content
.
indexOf
(
PersonalStageConstant
.
PLAN_RIGHTS
)
>
-
1
)
{
// 查询用户最近搜索的书
UserReplaceCode
userReplaceCodeBookName
=
userReplaceCodeDao
.
getLastOneUserReplace
(
userWxId
,
robotId
,
1
);
UserReplaceCode
userReplaceCodeReadType
=
userReplaceCodeDao
.
getLastOneUserReplace
(
userWxId
,
robotId
,
2
);
if
(
userReplaceCodeBookName
==
null
||
userReplaceCodeReadType
==
null
)
{
LOGGER
.
info
(
"未找到用户输入的书名或阅读类型,无法进行跳转"
);
return
content
.
replace
(
PersonalStageConstant
.
PLAN_RIGHTS
,
""
);
}
String
bookName
=
userReplaceCodeBookName
.
getContent
();
if
(
StringUtil
.
isEmpty
(
bookName
))
{
LOGGER
.
info
(
"图书名称为空,无法替换链接"
);
return
content
.
replace
(
PersonalStageConstant
.
PLAN_RIGHTS
,
""
);
}
// content 有可能是数字,也有可能是文字
Integer
readType
=
null
;
if
(
NumberUtil
.
isNumber
(
userReplaceCodeReadType
.
getContent
())){
readType
=
Integer
.
parseInt
(
userReplaceCodeReadType
.
getContent
());
}
else
{
readType
=
PlanReadTypeEnum
.
getIdByDesc
(
userReplaceCodeReadType
.
getContent
());
}
if
(
readType
==
null
)
{
LOGGER
.
info
(
"阅读类型不正确,无法替换链接; userReplaceCodeReadType.getContent: "
+
userReplaceCodeReadType
.
getContent
());
return
content
.
replace
(
PersonalStageConstant
.
PLAN_RIGHTS
,
""
);
}
// 根据书名查询用户对应的权益(方案)
List
<
Long
>
bookIds
=
erpConsr
.
getIdByBookName
(
bookName
);
if
(
ListUtils
.
isEmpty
(
bookIds
)){
LOGGER
.
info
(
"在ERP中未找到对应的书,无法替换链接"
);
return
content
.
replace
(
PersonalStageConstant
.
PLAN_RIGHTS
,
""
);
}
CustomPlan
customPlan
=
customPlanMapper
.
getLastCustomPlan
(
bookIds
,
readType
);
if
(
customPlan
==
null
)
{
LOGGER
.
info
(
"未找到对应的权益,无法替换链接"
);
return
content
.
replace
(
PersonalStageConstant
.
PLAN_RIGHTS
,
""
);
}
//查询该用户最后的阶段
PersonalStageUser
last
=
personalStageUserDao
.
getLast
(
userWxId
,
robotId
,
null
);
String
h5link
=
wechatLinkPrefix
+
"/personalCenter/madeProject?planId="
+
customPlan
.
getId
()
+
"&wxId="
+
userWxId
+
"&robotWxId="
+
robotId
+(
last
!=
null
&&
NumberUtil
.
isNumber
(
last
.
getPersonalStageId
())
&&
last
.
getPersonalStageId
()
>
0
?
"&personalStageId="
+
last
.
getPersonalStageId
()
:
""
);
return
content
.
replace
(
PersonalStageConstant
.
PLAN_RIGHTS
,
UrlUtils
.
getShortUrl4Own
(
h5link
));
}
return
content
;
return
content
;
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/biz/impl/PersonalStageJumpBizImpl.java
View file @
83192758
...
@@ -8,6 +8,8 @@ import com.pcloud.book.consumer.content.ResourceConsr;
...
@@ -8,6 +8,8 @@ import com.pcloud.book.consumer.content.ResourceConsr;
import
com.pcloud.book.consumer.feedback.FeedbackConsr
;
import
com.pcloud.book.consumer.feedback.FeedbackConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.custom.biz.CustomPlanBiz
;
import
com.pcloud.book.custom.biz.CustomPlanBiz
;
import
com.pcloud.book.custom.mapper.CustomPlanModuleSuggestionMapper
;
import
com.pcloud.book.custom.vo.UserBookServiceVO
;
import
com.pcloud.book.group.biz.WeixinQrcodeBiz
;
import
com.pcloud.book.group.biz.WeixinQrcodeBiz
;
import
com.pcloud.book.guide.biz.PcloudGuideBiz
;
import
com.pcloud.book.guide.biz.PcloudGuideBiz
;
import
com.pcloud.book.keywords.enums.ReplyTypeEnum
;
import
com.pcloud.book.keywords.enums.ReplyTypeEnum
;
...
@@ -39,6 +41,7 @@ import com.pcloud.common.exceptions.BizException;
...
@@ -39,6 +41,7 @@ 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.DateNewUtils
;
import
com.pcloud.common.utils.DateNewUtils
;
import
com.pcloud.common.utils.DateUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.NumberUtil
;
import
com.pcloud.common.utils.NumberUtil
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
...
@@ -114,6 +117,10 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
...
@@ -114,6 +117,10 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
@Autowired
@Autowired
private
PersonalAppletsDao
personalAppletsDao
;
private
PersonalAppletsDao
personalAppletsDao
;
@Autowired
private
CustomPlanModuleSuggestionMapper
customPlanModuleSuggestionMapper
;
@Autowired
private
UserReplaceCodeDao
userReplaceCodeDao
;
...
@@ -143,6 +150,12 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
...
@@ -143,6 +150,12 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
if
(
JumpTypeEnum
.
PLAN_TRIGGER
.
key
.
equals
(
vo
.
getJumpType
())){
if
(
JumpTypeEnum
.
PLAN_TRIGGER
.
key
.
equals
(
vo
.
getJumpType
())){
checkOnlyOnePlanJump
(
vo
.
getPersonalStageId
(),
null
);
checkOnlyOnePlanJump
(
vo
.
getPersonalStageId
(),
null
);
}
}
if
(
JumpTypeEnum
.
TIME_TRIGGER
.
key
.
equals
(
vo
.
getJumpType
())){
if
(!
NumberUtil
.
isNumber
(
vo
.
getToStageStartTime
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"定时时长不能为空"
);
}
checkOnlyOneTimeJump
(
vo
.
getPersonalStageId
(),
null
);
}
if
(
vo
.
getOpenEmail
()){
if
(
vo
.
getOpenEmail
()){
this
.
checkEmail
(
vo
.
getEmails
());
this
.
checkEmail
(
vo
.
getEmails
());
}
}
...
@@ -205,6 +218,26 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
...
@@ -205,6 +218,26 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
}
}
}
}
/**
* 定时跳转配置唯一性
* @param personalStageId
* @param personalStageJumpId
*/
private
void
checkOnlyOneTimeJump
(
Long
personalStageId
,
Long
personalStageJumpId
)
{
List
<
PersonalStageJump
>
stageJumps
=
personalStageJumpDao
.
getByJumpType
(
personalStageId
,
JumpTypeEnum
.
TIME_TRIGGER
.
key
);
if
(!
ListUtils
.
isEmpty
(
stageJumps
)){
if
(
personalStageJumpId
==
null
){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"已有其他阶段跳转配置了定时跳转"
);
}
else
{
//判断是不是旧的已有的修改
List
<
Long
>
jumpIds
=
stageJumps
.
stream
().
filter
(
s
->
s
.
getId
()!=
null
).
map
(
PersonalStageJump:
:
getId
).
collect
(
Collectors
.
toList
());
if
(!
jumpIds
.
contains
(
personalStageJumpId
)){
throw
new
BookBizException
(
BookBizException
.
ERROR
,
"已有其他阶段跳转配置了定时跳转"
);
}
}
}
}
@Override
@Override
@ParamLog
(
"获取跳转设置列表"
)
@ParamLog
(
"获取跳转设置列表"
)
public
PageBeanNew
getJumpList
(
Long
personalStageId
,
Integer
currentPage
,
Integer
numPerPage
)
{
public
PageBeanNew
getJumpList
(
Long
personalStageId
,
Integer
currentPage
,
Integer
numPerPage
)
{
...
@@ -825,6 +858,104 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
...
@@ -825,6 +858,104 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
pcloudGuideBiz
.
stopPcloudGuidePush
(
robotId
,
wxId
);
pcloudGuideBiz
.
stopPcloudGuidePush
(
robotId
,
wxId
);
}
}
@ParamLog
(
"设置延迟定时跳转"
)
public
void
setDelayTimeJump
(
TimeJumpNextDTO
timeJumpNextDTO
){
if
(
timeJumpNextDTO
==
null
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"参数为空!"
);
}
if
(
timeJumpNextDTO
.
getPersonalStageId
()==
null
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"阶段id参数为空!"
);
}
if
(
StringUtil
.
isEmpty
(
timeJumpNextDTO
.
getRobotWxId
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"机器人id参数为空!"
);
}
if
(
StringUtil
.
isEmpty
(
timeJumpNextDTO
.
getWxId
())){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"用户id参数为空!"
);
}
//查询跳转
List
<
PersonalStageJump
>
jumps
=
personalStageJumpDao
.
getByJumpType
(
timeJumpNextDTO
.
getPersonalStageId
(),
JumpTypeEnum
.
TIME_TRIGGER
.
key
);
if
(
ListUtils
.
isEmpty
(
jumps
)){
LOGGER
.
info
(
"没有该类型的跳转的阶段,无法设置定时跳转!"
);
return
;
}
PersonalStageJump
personalStageJump
=
jumps
.
get
(
0
);
Long
afterStageId
=
personalStageJump
.
getAfterPersonalStageId
();
if
(
afterStageId
==
null
){
LOGGER
.
info
(
"没有下一阶段,无法设置定时跳转!"
);
return
;
}
Integer
toStageStartTime
=
personalStageJump
.
getToStageStartTime
();
TimeJumpDelayDTO
delayDTO
=
new
TimeJumpDelayDTO
();
delayDTO
.
setRobotId
(
timeJumpNextDTO
.
getRobotWxId
());
delayDTO
.
setWxId
(
timeJumpNextDTO
.
getWxId
());
delayDTO
.
setIp
(
timeJumpNextDTO
.
getIp
());
delayDTO
.
setPersonalStageId
(
timeJumpNextDTO
.
getPersonalStageId
());
delayDTO
.
setPersonalStageUserId
(
timeJumpNextDTO
.
getPersonalStageUserId
());
delayDTO
.
setPersonalStageCreateTime
(
DateUtils
.
formatDate
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
));
DelayQueueDTO
delayQueueDTO
=
DelayQueueDTO
.
builder
().
key
(
timeJumpNextDTO
.
getWxId
()).
type
(
PersonalStageConstant
.
PERSONALSTAGE_DELAY_TIME_JUMP
).
msg
(
delayDTO
).
timeout
(
toStageStartTime
*
60
*
1000
).
build
();
delayMessageSender
.
send
(
delayQueueDTO
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ParamLog
(
"处理延迟定时跳转"
)
@Override
public
void
dealDelayTimeJump
(
DelayQueueDTO
dto
)
{
TimeJumpDelayDTO
delayDTO
=
(
TimeJumpDelayDTO
)
dto
.
getMsg
();
String
wxId
=
delayDTO
.
getWxId
();
String
robotId
=
delayDTO
.
getRobotId
();
Long
personalStageId
=
delayDTO
.
getPersonalStageId
();
PersonalStageUser
last
=
personalStageUserDao
.
getLast
(
wxId
,
robotId
,
personalStageId
);
if
(
last
==
null
){
LOGGER
.
info
(
"用户无阶段,无法进行定时跳转!"
);
return
;
}
if
(!
last
.
getPersonalStageId
().
equals
(
personalStageId
)){
LOGGER
.
info
(
"用户已不在当前阶段,无法进行定时跳转!"
);
return
;
}
//查询跳转
List
<
PersonalStageJump
>
jumps
=
personalStageJumpDao
.
getByJumpType
(
personalStageId
,
JumpTypeEnum
.
TIME_TRIGGER
.
key
);
if
(
ListUtils
.
isEmpty
(
jumps
)){
LOGGER
.
info
(
"没有该类型的跳转的阶段,无法进行定时跳转!"
);
return
;
}
PersonalStageJump
personalStageJump
=
jumps
.
get
(
0
);
Long
afterStageId
=
personalStageJump
.
getAfterPersonalStageId
();
Long
stageJumpId
=
personalStageJump
.
getId
();
if
(
afterStageId
==
null
){
LOGGER
.
info
(
"没有下一阶段,无法进行定时跳转!"
);
return
;
}
// 查询用户最后一次输入书名对应的权益(方案)
// 查询用户最近搜索的书
UserReplaceCode
lastOneUserReplace
=
userReplaceCodeDao
.
getLastOneUserReplace
(
wxId
,
robotId
,
1
);
if
(
lastOneUserReplace
==
null
){
LOGGER
.
info
(
"未找到用户输入的书名,无法进行跳转"
);
return
;
}
if
(
personalStageJump
.
getOpenEmail
()!=
null
&&
personalStageJump
.
getOpenEmail
()){
PersonalStageJumpKeywordDto
jumpKeywordDto
=
new
PersonalStageJumpKeywordDto
();
jumpKeywordDto
.
setAfterPersonalStageId
(
afterStageId
);
jumpKeywordDto
.
setPersonalStageJumpId
(
stageJumpId
);
String
content
=
"读者触发了定时跳转"
;
sendEmail
(
wxId
,
robotId
,
content
,
jumpKeywordDto
);
}
GroupRobotDTO
groupRobotDTO
=
wechatGroupConsr
.
getGroupRobotByWxId
(
robotId
);
String
ip
=
weixinQrcodeBiz
.
getRobotIpByGeneration
(
groupRobotDTO
.
getVersion
());
//处理需求单记录
dealPaperRecord
(
personalStageId
,
afterStageId
,
wxId
,
robotId
);
// 将用户置为下个阶段
PersonalStageUser
nextPersonalStageUser
=
personalStageBiz
.
nextStageAddStageUserAndWakeupDelay
(
robotId
,
wxId
,
ip
,
afterStageId
);
// 发送内容衔接语
sendJumpLinkups
(
wxId
,
robotId
,
ip
,
stageJumpId
,
nextPersonalStageUser
.
getId
());
// 停止发送引导语
pcloudGuideBiz
.
stopPcloudGuidePush
(
robotId
,
wxId
);
}
@ParamLog
(
"发送阶段跳转邮件"
)
@ParamLog
(
"发送阶段跳转邮件"
)
private
void
sendEmail
(
String
userWxId
,
String
robotWxId
,
String
content
,
PersonalStageJumpKeywordDto
jumpKeywordDto
)
{
private
void
sendEmail
(
String
userWxId
,
String
robotWxId
,
String
content
,
PersonalStageJumpKeywordDto
jumpKeywordDto
)
{
try
{
try
{
...
...
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/constant/PersonalStageConstant.java
View file @
83192758
...
@@ -10,6 +10,9 @@ public class PersonalStageConstant {
...
@@ -10,6 +10,9 @@ public class PersonalStageConstant {
public
static
final
String
USER_SEND_KEYWORD_COUNT_LOCK
=
"USER_SEND_KEYWORD_COUNT_LOCK"
;
public
static
final
String
USER_SEND_KEYWORD_COUNT_LOCK
=
"USER_SEND_KEYWORD_COUNT_LOCK"
;
public
static
final
String
PERSONALSTAGE_DELAY_LINKUP
=
"PERSONALSTAGE_DELAY_LINKUP"
;
public
static
final
String
PERSONALSTAGE_DELAY_LINKUP
=
"PERSONALSTAGE_DELAY_LINKUP"
;
public
static
final
String
PERSONALSTAGE_DELAY_TIME_JUMP
=
"PERSONALSTAGE_DELAY_TIME_JUMP"
;
// 进度模板字符串
// 进度模板字符串
public
static
final
String
PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE
=
"${PROGRESS_URL}"
;
public
static
final
String
PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE
=
"${PROGRESS_URL}"
;
public
static
final
String
PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE_1
=
"${PROGRESS_URL_1}"
;
public
static
final
String
PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE_1
=
"${PROGRESS_URL_1}"
;
...
@@ -40,6 +43,11 @@ public class PersonalStageConstant {
...
@@ -40,6 +43,11 @@ public class PersonalStageConstant {
public
static
final
String
BOOK_SEARCH
=
"${BOOK_SEARCH}"
;
public
static
final
String
BOOK_SEARCH
=
"${BOOK_SEARCH}"
;
/**
/**
* 方案权益
*/
public
static
final
String
PLAN_RIGHTS
=
"${PLAN_RIGHTS}"
;
/**
* 跳转之前的最后一次非关键词
* 跳转之前的最后一次非关键词
*/
*/
public
static
final
String
LAST_NOT_KEYWORD_CONTENT_BEFORE_JUMP_STAGE_CACHE
=
"BOOK:LAST_NOT_KEYWORD_CONTENT_BEFORE_JUMP_STAGE_CACHE"
;
public
static
final
String
LAST_NOT_KEYWORD_CONTENT_BEFORE_JUMP_STAGE_CACHE
=
"BOOK:LAST_NOT_KEYWORD_CONTENT_BEFORE_JUMP_STAGE_CACHE"
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/dao/UserReplaceCodeDao.java
View file @
83192758
...
@@ -12,4 +12,6 @@ public interface UserReplaceCodeDao extends BaseDao<UserReplaceCode> {
...
@@ -12,4 +12,6 @@ public interface UserReplaceCodeDao extends BaseDao<UserReplaceCode> {
List
<
String
>
getUserReplaceRecordByCodeId
(
String
wxId
,
String
robotId
,
Long
codeId
);
List
<
String
>
getUserReplaceRecordByCodeId
(
String
wxId
,
String
robotId
,
Long
codeId
);
UserReplaceCode
getLastUserReplaceByCodeId
(
String
wxId
,
String
robotId
,
Long
replaceCodeId
);
UserReplaceCode
getLastUserReplaceByCodeId
(
String
wxId
,
String
robotId
,
Long
replaceCodeId
);
UserReplaceCode
getLastOneUserReplace
(
String
wxId
,
String
robotId
,
Integer
replaceCodeId
);
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/dao/impl/UserReplaceCodeDaoImpl.java
View file @
83192758
...
@@ -37,4 +37,14 @@ public class UserReplaceCodeDaoImpl extends BaseDaoImpl<UserReplaceCode> impleme
...
@@ -37,4 +37,14 @@ public class UserReplaceCodeDaoImpl extends BaseDaoImpl<UserReplaceCode> impleme
map
.
put
(
"replaceCodeId"
,
replaceCodeId
);
map
.
put
(
"replaceCodeId"
,
replaceCodeId
);
return
super
.
getSqlSession
().
selectOne
(
getStatement
(
"getLastUserReplaceByCodeId"
),
map
);
return
super
.
getSqlSession
().
selectOne
(
getStatement
(
"getLastUserReplaceByCodeId"
),
map
);
}
}
@Override
public
UserReplaceCode
getLastOneUserReplace
(
String
wxId
,
String
robotId
,
Integer
replaceCodeId
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"wxId"
,
wxId
);
map
.
put
(
"robotId"
,
robotId
);
map
.
put
(
"replaceCodeId"
,
replaceCodeId
);
return
super
.
getSqlSession
().
selectOne
(
getStatement
(
"getLastOneUserReplace"
),
map
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/dto/PersonalStageJumpDto.java
View file @
83192758
...
@@ -43,6 +43,9 @@ public class PersonalStageJumpDto implements Serializable {
...
@@ -43,6 +43,9 @@ public class PersonalStageJumpDto implements Serializable {
@ApiModelProperty
(
"定制化阶段名称"
)
@ApiModelProperty
(
"定制化阶段名称"
)
private
String
personalStageName
;
private
String
personalStageName
;
@ApiModelProperty
(
"距离阶段开始时间"
)
private
Integer
toStageStartTime
;
@ApiModelProperty
(
"跳转关键词文案列表"
)
@ApiModelProperty
(
"跳转关键词文案列表"
)
private
List
<
PersonalStageJumpKeyword
>
jumpKeywords
;
private
List
<
PersonalStageJumpKeyword
>
jumpKeywords
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/dto/TimeJumpDelayDTO.java
0 → 100644
View file @
83192758
package
com
.
pcloud
.
book
.
personalstage
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
@ApiModel
(
"定时跳转延时dto"
)
public
class
TimeJumpDelayDTO
implements
Serializable
{
@ApiModelProperty
(
"定制化阶段id"
)
private
Long
personalStageId
;
@ApiModelProperty
(
"机器人id"
)
private
String
robotId
;
@ApiModelProperty
(
"用户wxId"
)
private
String
wxId
;
@ApiModelProperty
(
"ip地址"
)
private
String
ip
;
@ApiModelProperty
(
"用户阶段记录id"
)
private
Long
personalStageUserId
;
@ApiModelProperty
(
"用户阶段创建时间"
)
private
String
personalStageCreateTime
;
}
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/dto/TimeJumpNextDTO.java
0 → 100644
View file @
83192758
package
com
.
pcloud
.
book
.
personalstage
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
TimeJumpNextDTO
implements
Serializable
{
@ApiModelProperty
(
"机器人id"
)
private
String
robotWxId
;
@ApiModelProperty
(
"微信Id"
)
private
String
wxId
;
@ApiModelProperty
(
"阶段id"
)
private
Long
personalStageId
;
private
Long
personalStageUserId
;
private
String
ip
;
}
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/entity/PersonalStageJump.java
View file @
83192758
...
@@ -27,5 +27,7 @@ public class PersonalStageJump extends BaseEntity {
...
@@ -27,5 +27,7 @@ public class PersonalStageJump extends BaseEntity {
@ApiModelProperty
(
"转账金额"
)
@ApiModelProperty
(
"转账金额"
)
private
Double
transferMoney
;
private
Double
transferMoney
;
@ApiModelProperty
(
"距离阶段开始时间"
)
private
Integer
toStageStartTime
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/enums/JumpTypeEnum.java
View file @
83192758
...
@@ -8,6 +8,7 @@ public enum JumpTypeEnum {
...
@@ -8,6 +8,7 @@ public enum JumpTypeEnum {
PAPER_TRIGGER
(
4
,
"需求定制单触发"
),
PAPER_TRIGGER
(
4
,
"需求定制单触发"
),
END_SERVICE
(
5
,
"人工客服结束触发"
),
END_SERVICE
(
5
,
"人工客服结束触发"
),
PLAN_TRIGGER
(
6
,
"方案定制单触发"
),
PLAN_TRIGGER
(
6
,
"方案定制单触发"
),
TIME_TRIGGER
(
7
,
"定时跳转"
),
ZERO_BOOK
(
8
,
"0级书跳转"
),
ZERO_BOOK
(
8
,
"0级书跳转"
),
NO_ZERO_BOOK
(
9
,
"非0级书跳转"
);
NO_ZERO_BOOK
(
9
,
"非0级书跳转"
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/facade/PersonalStageFacade.java
View file @
83192758
...
@@ -331,4 +331,14 @@ public class PersonalStageFacade {
...
@@ -331,4 +331,14 @@ public class PersonalStageFacade {
return
new
ResponseDto
<>(
personalStageBiz
.
getUserReplaceMap4CustomerService
(
wxId
,
robotId
));
return
new
ResponseDto
<>(
personalStageBiz
.
getUserReplaceMap4CustomerService
(
wxId
,
robotId
));
}
}
@ApiOperation
(
"replaceProjectProgressUrl"
)
@GetMapping
(
"replaceProjectProgressUrl"
)
public
ResponseDto
<?>
replaceProjectProgressUrl
(
@RequestParam
(
"content"
)
@ApiParam
(
"content"
)
String
content
,
@RequestParam
(
"userWxId"
)
@ApiParam
(
"用户id"
)
String
userWxId
,
@RequestParam
(
"personalStageUserId"
)
@ApiParam
(
"personalStageUserId"
)
Long
personalStageUserId
,
@RequestParam
(
"ip"
)
@ApiParam
(
"用户id"
)
String
ip
,
@RequestParam
(
"robotId"
)
@ApiParam
(
"机器人id"
)
String
robotId
){
return
new
ResponseDto
<>(
personalStageBiz
.
replaceProjectProgressUrl
(
content
,
robotId
,
userWxId
,
personalStageUserId
,
ip
));
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/personalstage/vo/request/BaseStageJumpRequestVO.java
View file @
83192758
...
@@ -5,6 +5,7 @@ import com.pcloud.book.personalstage.entity.PersonalStageJumpKeyword;
...
@@ -5,6 +5,7 @@ import com.pcloud.book.personalstage.entity.PersonalStageJumpKeyword;
import
com.pcloud.book.personalstage.entity.PersonalStageJumpLinkup
;
import
com.pcloud.book.personalstage.entity.PersonalStageJumpLinkup
;
import
com.pcloud.common.entity.BaseRequestVO
;
import
com.pcloud.common.entity.BaseRequestVO
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
...
@@ -30,6 +31,9 @@ public abstract class BaseStageJumpRequestVO extends BaseRequestVO {
...
@@ -30,6 +31,9 @@ public abstract class BaseStageJumpRequestVO extends BaseRequestVO {
private
Double
transferMoney
;
private
Double
transferMoney
;
@ApiModelProperty
(
"距离阶段开始时间"
)
private
Integer
toStageStartTime
;
@NotNull
(
message
=
"跳转关键词不能为空"
)
@NotNull
(
message
=
"跳转关键词不能为空"
)
@Size
(
max
=
5
,
message
=
"跳转关键词不能超过5个"
)
@Size
(
max
=
5
,
message
=
"跳转关键词不能超过5个"
)
private
List
<
String
>
keywords
;
private
List
<
String
>
keywords
;
...
...
pcloud-service-book/src/main/resources/mapper/book/Book.Mapper.xml
View file @
83192758
...
@@ -2176,4 +2176,10 @@
...
@@ -2176,4 +2176,10 @@
ORDER BY
ORDER BY
A.LAST_MODIFIED_DATE DESC
A.LAST_MODIFIED_DATE DESC
</select>
</select>
<select
id=
"getBookIdsByIsbn"
parameterType=
"map"
resultType=
"long"
>
select DISTINCT book_id
from BOOK
where isbn like concat('%', #{isbn},'%')
</select>
</mapper>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/custom/CustomPlanMapper.xml
View file @
83192758
<?xml version="1.0" encoding="UTF-8" ?>
<?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" >
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.pcloud.book.custom.mapper.CustomPlanMapper"
>
<mapper
namespace=
"com.pcloud.book.custom.mapper.CustomPlanMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"CustomPlan"
>
<resultMap
id=
"BaseResultMap"
type=
"
com.pcloud.book.custom.entity.
CustomPlan"
>
<id
column=
"id"
jdbcType=
"INTEGER"
property=
"id"
/>
<id
column=
"id"
jdbcType=
"INTEGER"
property=
"id"
/>
<result
column=
"plan_number"
jdbcType=
"VARCHAR"
property=
"planNumber"
/>
<result
column=
"plan_number"
jdbcType=
"VARCHAR"
property=
"planNumber"
/>
<result
column=
"plan_name"
jdbcType=
"VARCHAR"
property=
"planName"
/>
<result
column=
"plan_name"
jdbcType=
"VARCHAR"
property=
"planName"
/>
...
@@ -20,12 +20,16 @@
...
@@ -20,12 +20,16 @@
<result
column=
"suggestion_count"
jdbcType=
"INTEGER"
property=
"suggestionCount"
/>
<result
column=
"suggestion_count"
jdbcType=
"INTEGER"
property=
"suggestionCount"
/>
<result
column=
"confirm_feedback_reply"
jdbcType=
"VARCHAR"
property=
"confirmFeedbackReply"
/>
<result
column=
"confirm_feedback_reply"
jdbcType=
"VARCHAR"
property=
"confirmFeedbackReply"
/>
<result
column=
"robot_type"
jdbcType=
"TINYINT"
property=
"robotType"
/>
<result
column=
"robot_type"
jdbcType=
"TINYINT"
property=
"robotType"
/>
<result
column=
"book_id"
jdbcType=
"BIGINT"
property=
"bookId"
/>
<result
column=
"read_type"
jdbcType=
"INTEGER"
property=
"readType"
/>
<result
column=
"rights_pic"
jdbcType=
"VARCHAR"
property=
"rightsPic"
/>
<result
column=
"button_name"
jdbcType=
"VARCHAR"
property=
"buttonName"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id, plan_number, plan_name, create_user_name, description, open_feedback, paper_id,
id, plan_number, plan_name, create_user_name, description, open_feedback, paper_id,
paper_title, paper_desc, use_state, pdf_url, h5_url, preview_qrcode_url, create_time,
paper_title, paper_desc, use_state, pdf_url, h5_url, preview_qrcode_url, create_time,
update_time, confirm_feedback_reply,robot_type
update_time, confirm_feedback_reply,robot_type
,book_id,read_type,rights_pic,button_name
</sql>
</sql>
<insert
id=
"insert"
parameterType=
"CustomPlan"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<insert
id=
"insert"
parameterType=
"CustomPlan"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
...
@@ -33,12 +37,13 @@
...
@@ -33,12 +37,13 @@
description, open_feedback, paper_id,
description, open_feedback, paper_id,
paper_title, paper_desc, use_state,
paper_title, paper_desc, use_state,
pdf_url, h5_url, preview_qrcode_url,
pdf_url, h5_url, preview_qrcode_url,
create_time, update_time, confirm_feedback_reply,robot_type)
create_time, update_time, confirm_feedback_reply,robot_type,
book_id,read_type,rights_pic,button_name)
values (#{planNumber,jdbcType=VARCHAR}, #{planName,jdbcType=VARCHAR}, #{createUserName,jdbcType=VARCHAR},
values (#{planNumber,jdbcType=VARCHAR}, #{planName,jdbcType=VARCHAR}, #{createUserName,jdbcType=VARCHAR},
#{description,jdbcType=VARCHAR}, #{openFeedback,jdbcType=INTEGER}, #{paperId,jdbcType=INTEGER},
#{description,jdbcType=VARCHAR}, #{openFeedback,jdbcType=INTEGER}, #{paperId,jdbcType=INTEGER},
#{paperTitle,jdbcType=VARCHAR}, #{paperDesc,jdbcType=VARCHAR}, #{useState,jdbcType=INTEGER},
#{paperTitle,jdbcType=VARCHAR}, #{paperDesc,jdbcType=VARCHAR}, #{useState,jdbcType=INTEGER},
#{pdfUrl,jdbcType=VARCHAR}, #{h5Url,jdbcType=VARCHAR}, #{previewQrcodeUrl,jdbcType=VARCHAR},
#{pdfUrl,jdbcType=VARCHAR}, #{h5Url,jdbcType=VARCHAR}, #{previewQrcodeUrl,jdbcType=VARCHAR},
NOW(), NOW(), #{confirmFeedbackReply},#{robotType})
NOW(), NOW(), #{confirmFeedbackReply},#{robotType}
,#{bookId},#{readType},#{rightsPic},#{buttonName}
)
</insert>
</insert>
<update
id=
"update"
parameterType=
"CustomPlan"
>
<update
id=
"update"
parameterType=
"CustomPlan"
>
...
@@ -83,6 +88,18 @@
...
@@ -83,6 +88,18 @@
<if
test=
"robotType != null"
>
<if
test=
"robotType != null"
>
robot_type = #{robotType},
robot_type = #{robotType},
</if>
</if>
<if
test=
"bookId != null"
>
book_id = #{bookId},
</if>
<if
test=
"readType != null"
>
read_type = #{readType},
</if>
<if
test=
"rightsPic != null"
>
rights_pic = #{rightsPic},
</if>
<if
test=
"buttonName != null"
>
button_name = #{buttonName},
</if>
update_time = NOW(),confirm_feedback_reply = #{confirmFeedbackReply}
update_time = NOW(),confirm_feedback_reply = #{confirmFeedbackReply}
</set>
</set>
where id = #{id,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
...
@@ -129,11 +146,10 @@
...
@@ -129,11 +146,10 @@
select
select
a.id, plan_number, plan_name, create_user_name, description, a.open_feedback,
a.id, plan_number, plan_name, create_user_name, description, a.open_feedback,
use_state, pdf_url, h5_url, preview_qrcode_url, a.create_time, COUNT(DISTINCT b.batch_id) suggestion_count,
use_state, pdf_url, h5_url, preview_qrcode_url, a.create_time, COUNT(DISTINCT b.batch_id) suggestion_count,
a.robot_type,t.classify_name robotTypeName,
m.read_type readTyp
e
a.robot_type,t.classify_name robotTypeName,
a.read_type,a.book_id ,a.rights_pic ,a.button_nam
e
from custom_plan a left join custom_plan_module_suggestion b
from custom_plan a left join custom_plan_module_suggestion b
on a.id = b.plan_id
on a.id = b.plan_id
left join pcloud_robot_classify t on a.robot_type = t.id
left join pcloud_robot_classify t on a.robot_type = t.id
LEFT JOIN custom_plan_module m ON a.id=m.plan_id AND m.module_type=6
where 1= 1
where 1= 1
<if
test=
"content != null"
>
<if
test=
"content != null"
>
and (plan_number like concat('%', #{content}, '%')
and (plan_number like concat('%', #{content}, '%')
...
@@ -204,4 +220,25 @@
...
@@ -204,4 +220,25 @@
update custom_plan set pdf_url =#{pdfUrl}
update custom_plan set pdf_url =#{pdfUrl}
where id = #{id,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
</update>
</update>
<select
id=
"getPlanReadTypesByBookId"
parameterType=
"long"
resultType=
"com.pcloud.book.custom.dto.PlanReadTypeDto"
>
select
id customPlanId,
read_type readType
from custom_plan
where book_id = #{bookId}
</select>
<select
id=
"getLastCustomPlan"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from custom_plan
where read_type = #{readType}
AND book_id IN
<foreach
collection=
"bookIds"
item=
"item"
separator=
","
open=
"("
close=
")"
>
${item}
</foreach>
ORDER BY id DESC
LIMIT 1
</select>
</mapper>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/personalstage/PersonalStageJump.Mapper.xml
View file @
83192758
...
@@ -11,10 +11,11 @@
...
@@ -11,10 +11,11 @@
<result
property=
"transferMessage"
column=
"transfer_message"
jdbcType=
"VARCHAR"
/>
<result
property=
"transferMessage"
column=
"transfer_message"
jdbcType=
"VARCHAR"
/>
<result
property=
"transferMoney"
column=
"transfer_money"
jdbcType=
"DOUBLE"
/>
<result
property=
"transferMoney"
column=
"transfer_money"
jdbcType=
"DOUBLE"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"toStageStartTime"
column=
"to_stage_start_time"
jdbcType=
"INTEGER"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id, personal_stage_id, jump_type, after_personal_stage_id, open_email, transfer_message, transfer_money, create_time
id, personal_stage_id, jump_type, after_personal_stage_id, open_email, transfer_message, transfer_money, create_time
, to_stage_start_time
</sql>
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.Long"
>
<select
id=
"getById"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.Long"
>
...
@@ -29,6 +30,7 @@
...
@@ -29,6 +30,7 @@
a.id,
a.id,
a.personal_stage_id personalStageId,
a.personal_stage_id personalStageId,
a.jump_type jumpType,
a.jump_type jumpType,
a.to_stage_start_time toStageStartTime,
a.after_personal_stage_id afterPersonalStageId,
a.after_personal_stage_id afterPersonalStageId,
a.open_email openEmail,
a.open_email openEmail,
a.transfer_message transferMessage,
a.transfer_message transferMessage,
...
@@ -43,6 +45,7 @@
...
@@ -43,6 +45,7 @@
a.id,
a.id,
a.personal_stage_id personalStageId,
a.personal_stage_id personalStageId,
a.jump_type jumpType,
a.jump_type jumpType,
a.to_stage_start_time toStageStartTime,
a.after_personal_stage_id afterPersonalStageId,
a.after_personal_stage_id afterPersonalStageId,
a.open_email openEmail,
a.open_email openEmail,
a.transfer_message transferMessage,
a.transfer_message transferMessage,
...
@@ -66,7 +69,8 @@
...
@@ -66,7 +69,8 @@
open_email,
open_email,
transfer_message,
transfer_message,
transfer_money,
transfer_money,
create_time
create_time,
to_stage_start_time
</trim>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
#{personalStageId,jdbcType=BIGINT},
#{personalStageId,jdbcType=BIGINT},
...
@@ -75,7 +79,8 @@
...
@@ -75,7 +79,8 @@
#{openEmail,jdbcType=BOOLEAN},
#{openEmail,jdbcType=BOOLEAN},
#{transferMessage,jdbcType=VARCHAR},
#{transferMessage,jdbcType=VARCHAR},
#{transferMoney,jdbcType=DOUBLE},
#{transferMoney,jdbcType=DOUBLE},
NOW()
NOW(),
#{toStageStartTime,jdbcType=INTEGER}
</trim>
</trim>
</insert>
</insert>
...
@@ -105,6 +110,9 @@
...
@@ -105,6 +110,9 @@
<if
test=
"transferMoney != null"
>
<if
test=
"transferMoney != null"
>
transfer_money = #{transferMoney},
transfer_money = #{transferMoney},
</if>
</if>
<if
test=
"toStageStartTime != null"
>
to_stage_start_time = #{toStageStartTime},
</if>
</set>
</set>
where id = #{id,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
</update>
</update>
...
...
pcloud-service-book/src/main/resources/mapper/personalstage/UserReplaceCode.xml
View file @
83192758
...
@@ -96,4 +96,16 @@
...
@@ -96,4 +96,16 @@
limit 1
limit 1
</select>
</select>
<select
id=
"getLastOneUserReplace"
parameterType=
"map"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
FROM
user_replace_code
WHERE
robot_id = #{robotId}
AND wx_id = #{wxId}
AND replace_code_id=#{replaceCodeId}
ORDER BY create_time DESC
LIMIT 1
</select>
</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