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
42a85258
Commit
42a85258
authored
Aug 31, 2020
by
郑勇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
faet: [1003514] 1003514 转同意立项时,取消自动创建书刊信息录入操作、自动创建RAYS书刊最多只能批量处理5个
parent
8a7413a2
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
182 additions
and
2 deletions
+182
-2
BookApplication.java
...e-book/src/main/java/com/pcloud/book/BookApplication.java
+10
-0
BookBiz.java
...-book/src/main/java/com/pcloud/book/book/biz/BookBiz.java
+4
-0
BookBizImpl.java
.../main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
+73
-0
BookFacade.java
...src/main/java/com/pcloud/book/book/facade/BookFacade.java
+4
-0
BookFacadeImpl.java
...java/com/pcloud/book/book/facade/impl/BookFacadeImpl.java
+7
-0
ErpConsr.java
.../src/main/java/com/pcloud/book/consumer/erp/ErpConsr.java
+21
-0
MQTopicConumer.java
...c/main/java/com/pcloud/book/mq/config/MQTopicConumer.java
+5
-0
BookMQProducer.java
...main/java/com/pcloud/book/mq/producer/BookMQProducer.java
+5
-0
BookProducerImpl.java
...va/com/pcloud/book/mq/producer/impl/BookProducerImpl.java
+8
-0
ErpCreateBookListener.java
.../java/com/pcloud/book/mq/topic/ErpCreateBookListener.java
+43
-0
Book.Mapper.xml
...rvice-book/src/main/resources/mapper/book/Book.Mapper.xml
+2
-2
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/BookApplication.java
View file @
42a85258
...
...
@@ -301,4 +301,14 @@ public class BookApplication {
public
Binding
tipBind
()
{
return
RabbitMQFactory
.
bindingExchange
(
tipQueue
(),
MQTopicProducer
.
TIP_FOR_WECHAT_USER
);
}
@Bean
public
Queue
erpCreateBookQueue
()
{
return
RabbitMQFactory
.
queueBuilder
(
MQTopicConumer
.
ERP_AUTO_CREATE_BOOK
);
}
@Bean
public
Binding
erpCreateBookBind
()
{
return
RabbitMQFactory
.
bindingExchange
(
erpCreateBookQueue
(),
MQTopicProducer
.
ERP_AUTO_CREATE_BOOK
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/BookBiz.java
View file @
42a85258
...
...
@@ -675,4 +675,8 @@ public interface BookBiz {
void
relateBookAdviser4Erp
(
RelateAdviserVO
relateAdviserVO
);
List
<
CreateBookResultVO
>
batchCreateBook4Erp
(
List
<
CreateBookVO
>
createBookVOList
);
void
addCreateInfoToMq
(
List
<
CreateBookVO
>
createBookVOList
);
List
<
CreateBookResultVO
>
batchCreateBook4ErpNew
(
List
<
CreateBookVO
>
createBookVOList
);
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
View file @
42a85258
...
...
@@ -7,6 +7,7 @@ import com.google.common.collect.Lists;
import
com.google.common.collect.Maps
;
import
com.alibaba.fastjson.JSONObject
;
import
com.netflix.discovery.converters.Auto
;
import
com.pcloud.analysisengine.qrcode.dto.BookTimeSourceDto
;
import
com.pcloud.appcenter.assist.dto.AssistTempletDTO
;
import
com.pcloud.appcenter.base.exception.AppBizException
;
...
...
@@ -71,6 +72,7 @@ import com.pcloud.book.consumer.analysisengine.SceneRecordConsr;
import
com.pcloud.book.consumer.app.AssistTempletConsr
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.common.ExportConsr
;
import
com.pcloud.book.consumer.erp.ErpConsr
;
import
com.pcloud.book.consumer.isbn.IsbnConsr
;
import
com.pcloud.book.consumer.message.MessageConsr
;
import
com.pcloud.book.consumer.raystask.MainLineConsr
;
...
...
@@ -236,6 +238,9 @@ public class BookBizImpl implements BookBiz {
@Autowired
private
QrcodeSceneErpDao
qrcodeSceneErpDao
;
@Autowired
private
ErpConsr
erpConsr
;
/**
...
...
@@ -2547,6 +2552,7 @@ public class BookBizImpl implements BookBiz {
createBookResultVO
.
setChannelId
(
createBookVO
.
getChannelId
());
resultList
.
add
(
createBookResultVO
);
}
erpConsr
.
batchUpdateRelateInfo
(
resultList
);
return
resultList
;
}
...
...
@@ -2666,6 +2672,36 @@ public class BookBizImpl implements BookBiz {
return
bookDto
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
BookDto
create4ErpNew
(
Book
book
)
{
LOGGER
.
info
(
"Erp自动创建图书book="
+
book
);
BookDto
bookDto
;
while
(
true
){
bookDto
=
bookDao
.
getByIsbnAndSnum
(
book
.
getIsbn
(),
book
.
getSerialNumber
());
if
(
bookDto
==
null
)
{
break
;
}
// 图书已存在,重新生成序号
book
.
setSerialNumber
(
this
.
builderSerialNumber
(
book
.
getIsbn
()));
}
// 新增图书
bookDao
.
insert
(
book
);
esBookAndAdviserBiz
.
updateBookAndAdviserToES
(
Collections
.
singletonList
(
book
.
getBookId
()));
// 查看现代纸书是否存在
BookGroupDTO
dtoByBookId
=
null
;
// 如果没有编辑id,暂时将数据存放到临时表,后续关联编辑时再建立关系
createBookAdviserErpRelation
(
book
);
// 书籍总数缓存加1
bookCache
.
incrObject
(
BookConstant
.
BOOK_CACHE
+
"PLATFORM_BOOK_COUNT"
);
bookDto
=
bookDao
.
getByIsbnAndSnum
(
book
.
getIsbn
(),
book
.
getSerialNumber
());
if
(
null
==
bookDto
){
return
new
BookDto
();
}
bookDto
.
setChannelId
(
book
.
getChannelId
());
bookDto
.
setIsDelete
(
null
==
dtoByBookId
?
1
:
dtoByBookId
.
getIsDelete
()
?
1
:
0
);
return
bookDto
;
}
/**
* 新增图书与编辑关联关系
* @param book
...
...
@@ -2720,4 +2756,41 @@ public class BookBizImpl implements BookBiz {
String
year
=
String
.
valueOf
(
date
.
get
(
Calendar
.
YEAR
));
return
year
+
bookSerialNumber
.
getSerialNumber
();
}
@Override
public
void
addCreateInfoToMq
(
List
<
CreateBookVO
>
createBookVOList
)
{
if
(
ListUtils
.
isEmpty
(
createBookVOList
)){
return
;
}
bookMQProducer
.
addCreateInfoToMq
(
createBookVOList
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
List
<
CreateBookResultVO
>
batchCreateBook4ErpNew
(
List
<
CreateBookVO
>
createBookVOList
)
{
List
<
CreateBookResultVO
>
resultList
=
Lists
.
newArrayList
();
if
(
CollectionUtils
.
isEmpty
(
createBookVOList
)){
return
resultList
;
}
Book
book
;
CreateBookResultVO
createBookResultVO
;
for
(
CreateBookVO
createBookVO
:
createBookVOList
)
{
book
=
new
Book
();
BeanUtils
.
copyProperties
(
createBookVO
,
book
);
book
.
setCreatedUser
(
createBookVO
.
getAdviserId
());
book
.
setLastModifiedUser
(
createBookVO
.
getAdviserId
());
book
.
setFromErp
(
1
);
// 创建现代纸书或者小睿书
this
.
create4ErpNew
(
book
);
// 构建返回值
createBookResultVO
=
new
CreateBookResultVO
();
createBookResultVO
.
setProjectId
(
createBookVO
.
getProjectId
());
createBookResultVO
.
setBookId
(
book
.
getBookId
());
createBookResultVO
.
setAdviserId
(
createBookVO
.
getAdviserId
());
createBookResultVO
.
setChannelId
(
createBookVO
.
getChannelId
());
resultList
.
add
(
createBookResultVO
);
}
erpConsr
.
batchUpdateRelateInfo
(
resultList
);
return
resultList
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/facade/BookFacade.java
View file @
42a85258
...
...
@@ -787,4 +787,8 @@ public interface BookFacade {
@ApiOperation
(
"erp自动创建RAYS书刊"
)
@RequestMapping
(
value
=
"/batchCreateBook4Erp"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
batchCreateBook4Erp
(
@RequestBody
List
<
CreateBookVO
>
createBookVOList
)
throws
BizException
;
@ApiOperation
(
"erp创建书刊插入数据到mq"
)
@RequestMapping
(
value
=
"/addCreateInfoToMq"
,
method
=
RequestMethod
.
POST
)
ResponseDto
<?>
addCreateInfoToMq
(
@RequestBody
List
<
CreateBookVO
>
createBookVOList
)
throws
BizException
;
}
pcloud-service-book/src/main/java/com/pcloud/book/book/facade/impl/BookFacadeImpl.java
View file @
42a85258
...
...
@@ -1134,4 +1134,11 @@ public class BookFacadeImpl implements BookFacade {
public
ResponseDto
<?>
batchCreateBook4Erp
(
@RequestBody
List
<
CreateBookVO
>
createBookVOList
)
throws
BizException
{
return
new
ResponseDto
<>(
bookBiz
.
batchCreateBook4Erp
(
createBookVOList
));
}
@Override
@RequestMapping
(
value
=
"/addCreateInfoToMq"
,
method
=
RequestMethod
.
POST
)
public
ResponseDto
<?>
addCreateInfoToMq
(
@RequestBody
List
<
CreateBookVO
>
createBookVOList
)
throws
BizException
{
bookBiz
.
addCreateInfoToMq
(
createBookVOList
);
return
new
ResponseDto
<>();
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/erp/ErpConsr.java
View file @
42a85258
...
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.book.dto.CreateBookResultVO
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
...
...
@@ -140,4 +141,24 @@ public class ErpConsr {
return
null
;
}
}
@ParamLog
(
"创建书刊之后同步去更新erp信息"
)
public
void
batchUpdateRelateInfo
(
List
<
CreateBookResultVO
>
createBookResultVOS
){
if
(
ListUtils
.
isEmpty
(
createBookResultVOS
)){
return
;
}
Map
<
String
,
String
>
headers
=
new
HashMap
<>();
headers
.
put
(
"Content-Type"
,
"application/json"
);
try
{
HttpResponse
response
=
HttpUtils
.
doPost
(
domain
,
"/erp/project/batchUpdateRelateInfo"
,
"POST"
,
headers
,
new
HashMap
<>(),
JSONObject
.
toJSONString
(
createBookResultVOS
));
String
entityString
=
EntityUtils
.
toString
(
response
.
getEntity
());
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
entityString
);
if
(
jsonObject
.
getInteger
(
"errCode"
)
!=
0
){
throw
new
BizException
(
jsonObject
.
getString
(
"message"
));
}
}
catch
(
Exception
e
){
LOGGER
.
error
(
"创建书刊之后同步去更新erp信息[projectService.batchUpdateRelateInfo]:"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_CONTENT_ERROR
,
"创建书刊之后同步去更新erp信息~!"
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/mq/config/MQTopicConumer.java
View file @
42a85258
...
...
@@ -104,4 +104,9 @@ public class MQTopicConumer {
* 个人号发送文本消息
*/
public
static
final
String
TIP_FOR_WECHAT_USER
=
PREFIX
+
MQTopicProducer
.
TIP_FOR_WECHAT_USER
;
/**
* erp端创建书刊
*/
public
static
final
String
ERP_AUTO_CREATE_BOOK
=
PREFIX
+
MQTopicProducer
.
ERP_AUTO_CREATE_BOOK
;
}
pcloud-service-book/src/main/java/com/pcloud/book/mq/producer/BookMQProducer.java
View file @
42a85258
...
...
@@ -2,8 +2,11 @@ package com.pcloud.book.mq.producer;
import
com.pcloud.book.book.dto.BookCoverImgUpdateDTO
;
import
com.pcloud.book.book.dto.BookNameUpdateDTO
;
import
com.pcloud.book.book.dto.CreateBookVO
;
import
com.pcloud.book.clock.dto.PushBookClockKeywordDTO
;
import
java.util.List
;
public
interface
BookMQProducer
{
void
sendUpdateBookCoverImgTopic
(
BookCoverImgUpdateDTO
bookCoverImgUpdateDTO
);
...
...
@@ -11,4 +14,6 @@ public interface BookMQProducer {
void
sendUpdateBookNameTopic
(
BookNameUpdateDTO
bookNameUpdateDTO
);
void
pushBookClockKeyword
(
PushBookClockKeywordDTO
pushBookClockKeywordDTO
);
void
addCreateInfoToMq
(
List
<
CreateBookVO
>
createBookVOList
);
}
pcloud-service-book/src/main/java/com/pcloud/book/mq/producer/impl/BookProducerImpl.java
View file @
42a85258
...
...
@@ -2,6 +2,7 @@ package com.pcloud.book.mq.producer.impl;
import
com.pcloud.book.book.dto.BookCoverImgUpdateDTO
;
import
com.pcloud.book.book.dto.BookNameUpdateDTO
;
import
com.pcloud.book.book.dto.CreateBookVO
;
import
com.pcloud.book.clock.dto.PushBookClockKeywordDTO
;
import
com.pcloud.book.mq.producer.BookMQProducer
;
import
com.pcloud.common.core.constant.MQTopicProducer
;
...
...
@@ -9,6 +10,8 @@ import com.pcloud.common.core.constant.MQTopicProducer;
import
org.springframework.amqp.core.AmqpTemplate
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
import
javax.annotation.Resource
;
@Component
(
"bookMQProducer"
)
...
...
@@ -31,4 +34,9 @@ public class BookProducerImpl implements BookMQProducer {
public
void
pushBookClockKeyword
(
PushBookClockKeywordDTO
pushBookClockKeywordDTO
)
{
amqpTemplate
.
convertAndSend
(
MQTopicProducer
.
EXCHAGE
,
MQTopicProducer
.
PUSH_BOOK_CLOCK_KEYWORD
,
pushBookClockKeywordDTO
);
}
@Override
public
void
addCreateInfoToMq
(
List
<
CreateBookVO
>
createBookVOList
)
{
amqpTemplate
.
convertAndSend
(
MQTopicProducer
.
EXCHAGE
,
MQTopicProducer
.
ERP_AUTO_CREATE_BOOK
,
createBookVOList
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/mq/topic/ErpCreateBookListener.java
0 → 100644
View file @
42a85258
package
com
.
pcloud
.
book
.
mq
.
topic
;
import
com.pcloud.book.book.biz.BookBiz
;
import
com.pcloud.book.book.dto.CreateBookVO
;
import
com.pcloud.book.mq.config.MQTopicConumer
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.amqp.rabbit.annotation.RabbitHandler
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
@Component
@RabbitListener
(
queues
=
MQTopicConumer
.
ERP_AUTO_CREATE_BOOK
)
public
class
ErpCreateBookListener
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
ErpCreateBookListener
.
class
);
@Autowired
private
BookBiz
bookBiz
;
/**
* 接收erp自动创建书刊
*/
@ParamLog
(
"接收erp自动创建书刊"
)
@RabbitHandler
public
void
onMessage
(
List
<
CreateBookVO
>
createBookVOList
)
throws
BizException
{
try
{
LOGGER
.
error
(
"接收erp自动创建书刊信息"
+
createBookVOList
);
if
(
ListUtils
.
isEmpty
(
createBookVOList
))
return
;
bookBiz
.
batchCreateBook4ErpNew
(
createBookVOList
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"接收erp自动创建书刊失败"
+
e
.
getMessage
(),
e
);
}
}
}
pcloud-service-book/src/main/resources/mapper/book/Book.Mapper.xml
View file @
42a85258
...
...
@@ -80,7 +80,7 @@
INSERT INTO `BOOK` (
ISBN, TYPE_CODE, BOOK_NAME,BOOK_PRICE, REMARK, AUTHOR, PUBLISH, PUBLISH_DATE, COVER_IMG, DETAIL,
SPONSOR, ORGANIZER, CN, RELEASE_CYCLE, BOOK_NUM, PROGRAMA, MAIL_CODE, ADDRESS, TELEPHONE, MAIL, PURPOSE, ORIGIN_NAME,
CREATED_USER, CREATED_DATE, LAST_MODIFIED_USER, LAST_MODIFIED_DATE, ISSN, SERIAL_NUMBER, AD_IMG
CREATED_USER, CREATED_DATE, LAST_MODIFIED_USER, LAST_MODIFIED_DATE, ISSN, SERIAL_NUMBER, AD_IMG
,unique_number
<if
test=
"fromErp != null"
>
,FROM_ERP
</if>
...
...
@@ -92,7 +92,7 @@
#{cn, jdbcType=VARCHAR}, #{releaseCycle, jdbcType=VARCHAR}, #{bookNum, jdbcType=VARCHAR}, #{programa, jdbcType=VARCHAR},
#{mailCode, jdbcType=VARCHAR}, #{address, jdbcType=VARCHAR}, #{telephone, jdbcType=VARCHAR}, #{mail, jdbcType=VARCHAR},
#{purpose, jdbcType=VARCHAR}, #{originName, jdbcType=VARCHAR}, #{createdUser, jdbcType=BIGINT}, NOW(),
#{createdUser, jdbcType=BIGINT}, NOW(),#{issn, jdbcType=VARCHAR},#{serialNumber, jdbcType=VARCHAR},#{adImg, jdbcType=VARCHAR}
#{createdUser, jdbcType=BIGINT}, NOW(),#{issn, jdbcType=VARCHAR},#{serialNumber, jdbcType=VARCHAR},#{adImg, jdbcType=VARCHAR}
,#{uniqueNumber}
<if
test=
"fromErp != null"
>
, #{fromErp}
</if>
...
...
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