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
d2c3236f
Commit
d2c3236f
authored
May 12, 2021
by
郑永强
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: [1004702] RAYS编辑端创建并关联ERP书刊
parent
dd395ed1
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
313 additions
and
24 deletions
+313
-24
BookDto.java
...-book/src/main/java/com/pcloud/book/book/dto/BookDto.java
+24
-0
ProjectOrderSheetDTO.java
...n/java/com/pcloud/book/book/dto/ProjectOrderSheetDTO.java
+43
-0
ProjectRelateVO.java
...c/main/java/com/pcloud/book/book/dto/ProjectRelateVO.java
+16
-0
Book.java
...-book/src/main/java/com/pcloud/book/book/entity/Book.java
+35
-0
BookBiz.java
...-book/src/main/java/com/pcloud/book/book/biz/BookBiz.java
+6
-0
BookAdviserBizImpl.java
...ava/com/pcloud/book/book/biz/impl/BookAdviserBizImpl.java
+2
-14
BookBizImpl.java
.../main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
+59
-0
BookAdviserDao.java
...rc/main/java/com/pcloud/book/book/dao/BookAdviserDao.java
+1
-1
BookAdviserDaoImpl.java
...ava/com/pcloud/book/book/dao/impl/BookAdviserDaoImpl.java
+1
-2
BookFacade.java
...src/main/java/com/pcloud/book/book/facade/BookFacade.java
+2
-0
BookFacadeImpl.java
...java/com/pcloud/book/book/facade/impl/BookFacadeImpl.java
+10
-0
BookSet.java
...-book/src/main/java/com/pcloud/book/book/set/BookSet.java
+13
-0
RelateRaysBookApprovalVO.java
...pcloud/book/book/vo/request/RelateRaysBookApprovalVO.java
+2
-0
SyncRelateDataToRaysVO.java
...m/pcloud/book/book/vo/request/SyncRelateDataToRaysVO.java
+31
-0
ErpConsr.java
.../src/main/java/com/pcloud/book/consumer/erp/ErpConsr.java
+58
-0
Book.Mapper.xml
...rvice-book/src/main/resources/mapper/book/Book.Mapper.xml
+7
-3
BookAdviser.Mapper.xml
...ook/src/main/resources/mapper/book/BookAdviser.Mapper.xml
+3
-4
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/book/dto/BookDto.java
View file @
d2c3236f
...
...
@@ -804,6 +804,10 @@ public class BookDto extends BaseDto {
*/
private
Integer
isApproval
;
/**
* 是否关联erp
*/
private
Integer
isRelate
;
/**
* 排序值
*/
private
Integer
seq
;
...
...
@@ -811,6 +815,10 @@ public class BookDto extends BaseDto {
* 是否有书籍目录开启权限
*/
private
Boolean
openCatalogPermission
;
/**
* ERP单号
*/
private
List
<
String
>
erpNumbers
;
public
Boolean
getOpenCatalogPermission
()
{
return
openCatalogPermission
;
...
...
@@ -845,6 +853,14 @@ public class BookDto extends BaseDto {
this
.
isApproval
=
isApproval
;
}
public
Integer
getIsRelate
()
{
return
isRelate
;
}
public
void
setIsRelate
(
Integer
isRelate
)
{
this
.
isRelate
=
isRelate
;
}
private
String
qrcodeType
;
public
String
getQrcodeType
()
{
...
...
@@ -2278,6 +2294,14 @@ public class BookDto extends BaseDto {
this
.
adviserPwd
=
adviserPwd
;
}
public
List
<
String
>
getErpNumbers
()
{
return
erpNumbers
;
}
public
void
setErpNumbers
(
List
<
String
>
erpNumbers
)
{
this
.
erpNumbers
=
erpNumbers
;
}
@Override
public
String
toString
()
{
return
"BookDto{"
+
...
...
pcloud-facade-book/src/main/java/com/pcloud/book/book/dto/ProjectOrderSheetDTO.java
0 → 100644
View file @
d2c3236f
package
com
.
pcloud
.
book
.
book
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
@NoArgsConstructor
public
class
ProjectOrderSheetDTO
{
private
Long
id
;
private
Long
projectId
;
private
Long
orderSheetId
;
private
String
projectNumber
;
@ApiModelProperty
(
"erp编号"
)
private
String
erpNumber
;
@ApiModelProperty
(
"出版物名称"
)
private
String
bookName
;
@ApiModelProperty
(
"关联RAYS书刊ID"
)
private
Integer
raysBookId
;
@ApiModelProperty
(
"RAYS编辑ID"
)
private
Integer
raysAdviserId
;
@ApiModelProperty
(
"关联RAYS渠道ID"
)
private
Integer
raysChannelId
;
@ApiModelProperty
(
"ISBN"
)
private
String
bookIsbn
;
@ApiModelProperty
(
"序号"
)
private
String
seqNumber
;
}
pcloud-facade-book/src/main/java/com/pcloud/book/book/dto/ProjectRelateVO.java
0 → 100644
View file @
d2c3236f
package
com
.
pcloud
.
book
.
book
.
dto
;
import
lombok.Data
;
@Data
public
class
ProjectRelateVO
{
private
Long
projectId
;
private
Long
raysBookId
;
private
Long
raysAdviserId
;
private
Long
raysChannelId
;
}
pcloud-facade-book/src/main/java/com/pcloud/book/book/entity/Book.java
View file @
d2c3236f
...
...
@@ -5,6 +5,8 @@ package com.pcloud.book.book.entity;
import
com.pcloud.common.entity.BaseEntity
;
import
java.util.List
;
/**
* @描述:书籍实体
* @作者:songx
...
...
@@ -266,6 +268,16 @@ public class Book extends BaseEntity {
*/
private
String
edition
;
/**
* ERP 单号
*/
private
String
erpNumber
;
/**
* 强制更新
*/
private
Integer
forceUpdateSerialNumber
;
public
Long
getThirdTempletId
()
{
return
thirdTempletId
;
}
...
...
@@ -666,6 +678,22 @@ public class Book extends BaseEntity {
this
.
fromErp
=
fromErp
;
}
public
String
getErpNumber
()
{
return
erpNumber
;
}
public
void
setErpNumber
(
String
erpNumber
)
{
this
.
erpNumber
=
erpNumber
;
}
public
Integer
getForceUpdateSerialNumber
()
{
return
forceUpdateSerialNumber
;
}
public
void
setForceUpdateSerialNumber
(
Integer
forceUpdateSerialNumber
)
{
this
.
forceUpdateSerialNumber
=
forceUpdateSerialNumber
;
}
@Override
public
String
toString
()
{
return
"Book{"
+
...
...
@@ -705,6 +733,7 @@ public class Book extends BaseEntity {
", isBookGroup="
+
isBookGroup
+
", bookGroupId="
+
bookGroupId
+
", secondTempletId="
+
secondTempletId
+
", thirdTempletId="
+
thirdTempletId
+
", secondTypeCode='"
+
secondTypeCode
+
'\''
+
", graLabelId="
+
graLabelId
+
", subLabelId="
+
subLabelId
+
...
...
@@ -714,6 +743,12 @@ public class Book extends BaseEntity {
", depLabelId="
+
depLabelId
+
", purLabelId="
+
purLabelId
+
", volLabelId="
+
volLabelId
+
", uniqueNumber='"
+
uniqueNumber
+
'\''
+
", bookAdviserId="
+
bookAdviserId
+
", fromErp="
+
fromErp
+
", edition='"
+
edition
+
'\''
+
", erpNumber='"
+
erpNumber
+
'\''
+
", forceUpdateSerialNumber="
+
forceUpdateSerialNumber
+
'}'
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/BookBiz.java
View file @
d2c3236f
...
...
@@ -11,6 +11,7 @@ import com.pcloud.book.book.vo.*;
import
com.pcloud.book.book.vo.request.BookInfo4ScanCountRequestVO
;
import
com.pcloud.book.book.vo.request.BookQualifyInfoVO
;
import
com.pcloud.book.book.vo.request.BookSearchParamVO
;
import
com.pcloud.book.book.vo.request.SyncRelateDataToRaysVO
;
import
com.pcloud.book.book.vo.request.UpdateBookRobotProcessDto
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.common.exceptions.BizException
;
...
...
@@ -783,4 +784,9 @@ public interface BookBiz {
*/
Map
<
String
,
Object
>
getRaysHomePageStatistics
(
Long
adviserId
);
/**
* 同步数据
* @param vo
*/
void
syncRelateDataToRays
(
SyncRelateDataToRaysVO
vo
);
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookAdviserBizImpl.java
View file @
d2c3236f
...
...
@@ -3114,24 +3114,12 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
if
(
CollUtil
.
isEmpty
(
relateRaysBookList
)){
return
;
}
List
<
RelateRaysBookApprovalVO
>
approvalList
=
CollUtil
.
toList
();
List
<
RelateRaysBookApprovalVO
>
nonApprovalList
=
CollUtil
.
toList
();
for
(
RelateRaysBookApprovalVO
vo
:
relateRaysBookList
)
{
if
(
vo
.
getIsApproval
()
==
null
){
continue
;
}
if
(
YesOrNoNumEnum
.
YES
.
getValue
()
==
vo
.
getIsApproval
()){
approvalList
.
add
(
vo
);
}
else
{
nonApprovalList
.
add
(
vo
);
vo
.
setIsApproval
(
0
);
}
}
if
(
CollUtil
.
isNotEmpty
(
approvalList
)){
bookAdviserDao
.
updateRaysField4Erp
(
approvalList
,
YesOrNoNumEnum
.
YES
.
getValue
());
}
if
(
CollUtil
.
isNotEmpty
(
nonApprovalList
)){
bookAdviserDao
.
updateRaysField4Erp
(
nonApprovalList
,
YesOrNoNumEnum
.
NO
.
getValue
());
}
bookAdviserDao
.
updateRaysField4Erp
(
relateRaysBookList
);
}
@Override
...
...
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
View file @
d2c3236f
...
...
@@ -3,9 +3,11 @@
*/
package
com
.
pcloud
.
book
.
book
.
biz
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.http.HttpUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.Lists
;
...
...
@@ -40,6 +42,7 @@ import com.pcloud.book.book.vo.*;
import
com.pcloud.book.book.vo.request.BookInfo4ScanCountRequestVO
;
import
com.pcloud.book.book.vo.request.BookQualifyInfoVO
;
import
com.pcloud.book.book.vo.request.BookSearchParamVO
;
import
com.pcloud.book.book.vo.request.SyncRelateDataToRaysVO
;
import
com.pcloud.book.book.vo.request.UpdateBookRobotProcessDto
;
import
com.pcloud.book.consumer.analysisengine.SceneRecordConsr
;
import
com.pcloud.book.consumer.app.AppConsr
;
...
...
@@ -362,6 +365,17 @@ public class BookBizImpl implements BookBiz {
if
(
StringUtil
.
isEmpty
(
book
.
getSerialNumber
()))
{
book
.
setSerialNumber
(
null
);
}
if
(
StrUtil
.
isNotEmpty
(
book
.
getErpNumber
())){
// 根据ERP单号获取书刊信息
ProjectOrderSheetDTO
dto
=
erpConsr
.
getByErpNumber
(
book
.
getErpNumber
());
// 判断是否关联
if
(
dto
==
null
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"未找到与ERP单号相同的书刊信息"
);
}
if
(
dto
.
getRaysBookId
()
!=
null
){
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_NULL
,
"ERP单号已关联其它立项书刊,请输入其它ERP单号"
);
}
}
}
/**
...
...
@@ -699,6 +713,7 @@ public class BookBizImpl implements BookBiz {
// 设置渠道信息
bookDto
.
setChannelId
(
channelId
);
bookDto
.
setChannelName
(
channelConsr
.
getNameById
(
channelId
));
bookDto
.
setAdviserId
(
adviserId
);
// 设置主编辑信息
Long
mainAdviserId
=
bookAdviserBiz
.
getMainAdviserId
(
bookId
,
channelId
);
bookSet
.
setMainEditorInfo
(
bookDto
,
mainAdviserId
);
...
...
@@ -714,6 +729,8 @@ public class BookBizImpl implements BookBiz {
bookDto
.
setQrcodeCount
(
qrcodeSceneConsr
.
getBookQRCountByMap
(
adviserId
,
channelId
,
bookId
));
//设置书刊是否是小睿书(开启小睿流程)
bookSet
.
setOpenRobotProcess
(
new
ArrayList
<>(
Arrays
.
asList
(
bookDto
)));
// 尝试加载ERP单号
bookSet
.
setErpNumbers
(
bookDto
);
// 异步发起书刊推荐超级作者资源计算
BookDto
finalBookDto
=
bookDto
;
...
...
@@ -1665,9 +1682,36 @@ public class BookBizImpl implements BookBiz {
//发送编辑任务queue
adviserTaskConsr
.
sendAdviserTaskQueue
(
book
.
getCreatedUser
(),
AdviserTaskConstants
.
TargetTypeEnum
.
BOOK
.
getValue
(),
bookDto
.
getBookId
(),
AdviserTaskConstants
.
OperateTypeEnum
.
CREATE_BOOK
.
getValue
());
// 与ERP进行关联
this
.
relationBook4Erp
(
book
);
return
bookDto
;
}
/**
* 与ERP进行关联
*/
private
void
relationBook4Erp
(
Book
book
)
{
if
(
StrUtil
.
isEmpty
(
book
.
getErpNumber
())){
return
;
}
// 根据ERP单号获取书刊信息
ProjectOrderSheetDTO
dto
=
erpConsr
.
getByErpNumber
(
book
.
getErpNumber
());
// 判断是否关联
if
(
dto
==
null
||
dto
.
getRaysBookId
()
!=
null
){
return
;
}
// 调用erp接口进行关联
ProjectRelateVO
vo
=
new
ProjectRelateVO
();
vo
.
setProjectId
(
dto
.
getProjectId
());
vo
.
setRaysBookId
(
book
.
getBookId
());
vo
.
setRaysAdviserId
(
book
.
getCreatedUser
());
vo
.
setRaysChannelId
(
book
.
getChannelId
());
Integer
changeCount
=
erpConsr
.
relateRaysBook
(
vo
);
if
(
changeCount
==
null
&&
changeCount
<=
0
){
LOGGER
.
info
(
"relationBook4Erp:关联ERP项目可能未成功;book:"
+
book
);
}
}
/**
* 修改图书与图书类型
...
...
@@ -4268,4 +4312,19 @@ public class BookBizImpl implements BookBiz {
.
put
(
"appCount"
,
appCount
)
.
build
();
}
@Override
public
void
syncRelateDataToRays
(
SyncRelateDataToRaysVO
vo
)
{
if
(
vo
==
null
||
vo
.
getBookId
()
==
null
||
vo
.
getAdviserId
()
==
null
||
vo
.
getChannelId
()
==
null
){
throw
new
BizException
(
BizException
.
PARAM_DELETION
.
getCode
(),
"参数不能为空"
);
}
// 判断isbn是否重复
BookDto
bookDto
=
bookDao
.
getByIsbnAndSnum
(
vo
.
getIsbn
(),
vo
.
getSerialNumber
());
if
(
bookDto
!=
null
&&
!
vo
.
getBookId
().
equals
(
bookDto
.
getBookId
())){
throw
new
BizException
(
BizException
.
PARAM_DELETION
.
getCode
(),
"该书已被其他编辑创建,请先修改该书序号再同步"
);
}
Book
book
=
BeanUtil
.
copyProperties
(
vo
,
Book
.
class
);
book
.
setForceUpdateSerialNumber
(
YesOrNoEnums
.
YES
.
getValue
());
bookDao
.
updateByAdviser
(
book
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/BookAdviserDao.java
View file @
d2c3236f
...
...
@@ -328,7 +328,7 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
Map
<
Long
,
BookDto
>
getBookMapByAdviserBookIds
(
List
<
Long
>
adviserBookIds
);
int
updateRaysField4Erp
(
List
<
RelateRaysBookApprovalVO
>
approvalList
,
Integer
isApproval
);
int
updateRaysField4Erp
(
List
<
RelateRaysBookApprovalVO
>
approvalList
);
Integer
hasApprovalBook4Adviser
(
Long
adviserId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/impl/BookAdviserDaoImpl.java
View file @
d2c3236f
...
...
@@ -437,9 +437,8 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
}
@Override
public
int
updateRaysField4Erp
(
List
<
RelateRaysBookApprovalVO
>
approvalList
,
Integer
isApproval
)
{
public
int
updateRaysField4Erp
(
List
<
RelateRaysBookApprovalVO
>
approvalList
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"isApproval"
,
isApproval
);
paramMap
.
put
(
"approvalList"
,
approvalList
);
return
getSessionTemplate
().
update
(
getStatement
(
"updateRaysField4Erp"
),
paramMap
);
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/book/facade/BookFacade.java
View file @
d2c3236f
...
...
@@ -159,6 +159,7 @@ public interface BookFacade {
@ApiImplicitParam
(
name
=
"hasQrcode"
,
value
=
"只看有二维码"
,
dataType
=
"int"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"isPrint"
,
value
=
"是否已下印"
,
dataType
=
"Boolean"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"isApproval"
,
value
=
"是否已立项"
,
dataType
=
"Boolean"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"isRelate"
,
value
=
"是否已关联ERP"
,
dataType
=
"Boolean"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"minimumSupport"
,
value
=
"是否保底支持"
,
dataType
=
"int"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"proLabelId"
,
value
=
"专业"
,
dataType
=
"int"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"depLabelId"
,
value
=
"深度"
,
dataType
=
"int"
,
paramType
=
"query"
),
...
...
@@ -187,6 +188,7 @@ public interface BookFacade {
@RequestParam
(
value
=
"hasQrcode"
,
required
=
false
)
Integer
hasQrcode
,
@RequestParam
(
value
=
"isPrint"
,
required
=
false
)
Boolean
isPrint
,
@RequestParam
(
value
=
"isApproval"
,
required
=
false
)
Boolean
isApproval
,
@RequestParam
(
value
=
"isRelate"
,
required
=
false
)
Boolean
isRelate
,
@RequestParam
(
value
=
"minimumSupport"
,
required
=
false
)
Integer
minimumSupport
,
@RequestParam
(
value
=
"proLabelId"
,
required
=
false
)
Integer
proLabelId
,
@RequestParam
(
value
=
"depLabelId"
,
required
=
false
)
Integer
depLabelId
,
...
...
pcloud-service-book/src/main/java/com/pcloud/book/book/facade/impl/BookFacadeImpl.java
View file @
d2c3236f
...
...
@@ -17,6 +17,7 @@ import com.pcloud.book.book.vo.*;
import
com.pcloud.book.book.vo.request.BookInfo4ScanCountRequestVO
;
import
com.pcloud.book.book.vo.request.BookQualifyInfoVO
;
import
com.pcloud.book.book.vo.request.BookSearchParamVO
;
import
com.pcloud.book.book.vo.request.SyncRelateDataToRaysVO
;
import
com.pcloud.book.book.vo.request.UpdateBookRobotProcessDto
;
import
com.pcloud.book.elasticsearch7.search.domain.dto.param.PlatformSearchDto
;
import
com.pcloud.common.core.constant.SystemCode
;
...
...
@@ -278,6 +279,7 @@ public class BookFacadeImpl implements BookFacade {
@RequestParam
(
value
=
"hasQrcode"
,
required
=
false
)
Integer
hasQrcode
,
@RequestParam
(
value
=
"isPrint"
,
required
=
false
)
Boolean
isPrint
,
@RequestParam
(
value
=
"isApproval"
,
required
=
false
)
Boolean
isApproval
,
@RequestParam
(
value
=
"isRelate"
,
required
=
false
)
Boolean
isRelate
,
@RequestParam
(
value
=
"minimumSupport"
,
required
=
false
)
Integer
minimumSupport
,
@RequestParam
(
value
=
"proLabelId"
,
required
=
false
)
Integer
proLabelId
,
@RequestParam
(
value
=
"depLabelId"
,
required
=
false
)
Integer
depLabelId
,
...
...
@@ -320,6 +322,7 @@ public class BookFacadeImpl implements BookFacade {
paramMap
.
put
(
"thirdTempletIds"
,
Optional
.
ofNullable
(
paramMap
.
get
(
"thirdTempletId"
)).
map
(
Lists:
:
newArrayList
).
orElse
(
Lists
.
newArrayList
()));
paramMap
.
put
(
"isPrint"
,
isPrint
);
paramMap
.
put
(
"isApproval"
,
isApproval
);
paramMap
.
put
(
"isRelate"
,
isRelate
);
paramMap
.
put
(
"minimumSupport"
,
minimumSupport
);
paramMap
.
put
(
"proLabelId"
,
proLabelId
);
paramMap
.
put
(
"depLabelId"
,
depLabelId
);
...
...
@@ -1377,4 +1380,11 @@ public class BookFacadeImpl implements BookFacade {
Long
adviserId
=
(
Long
)
SessionUtil
.
getVlaue
(
token
,
SessionUtil
.
PARTY_ID
);
return
new
ResponseDto
<>(
bookBiz
.
getRaysHomePageStatistics
(
adviserId
));
}
@ApiOperation
(
"更新字段"
)
@PostMapping
(
"syncRelateDataToRays"
)
public
ResponseDto
<?>
syncRelateDataToRays
(
@RequestBody
SyncRelateDataToRaysVO
vo
)
{
bookBiz
.
syncRelateDataToRays
(
vo
);
return
new
ResponseDto
<>();
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/set/BookSet.java
View file @
d2c3236f
...
...
@@ -41,6 +41,7 @@ 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.content.ResourceConsr
;
import
com.pcloud.book.consumer.erp.ErpConsr
;
import
com.pcloud.book.consumer.message.MessageConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.settlement.BookConsr
;
...
...
@@ -194,6 +195,8 @@ public class BookSet {
private
List
<
Object
>
openRobotProcess
;
@Autowired
private
ResourcePageBiz
resourcePageBiz
;
@Autowired
private
ErpConsr
erpConsr
;
/**
* 检验书号是否合法,包括ISSN,ISBN,CSSN
...
...
@@ -2033,4 +2036,14 @@ public class BookSet {
}
}
/**
* 加载ERP单号
*/
public
void
setErpNumbers
(
BookDto
bookDto
)
{
if
(
bookDto
==
null
||
bookDto
.
getBookId
()
==
null
||
bookDto
.
getChannelId
()
==
null
||
bookDto
.
getAdviserId
()
==
null
){
return
;
}
List
<
String
>
erpNumbers
=
erpConsr
.
getErpNumbers
(
bookDto
.
getBookId
(),
bookDto
.
getChannelId
(),
bookDto
.
getAdviserId
());
bookDto
.
setErpNumbers
(
erpNumbers
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/vo/request/RelateRaysBookApprovalVO.java
View file @
d2c3236f
...
...
@@ -18,4 +18,6 @@ public class RelateRaysBookApprovalVO {
@ApiModelProperty
(
"是否立项;0:未立项;1:已立项;"
)
private
Integer
isApproval
;
@ApiModelProperty
(
"是否关联;0:取关;1:关联;"
)
private
Integer
isRelate
;
}
pcloud-service-book/src/main/java/com/pcloud/book/book/vo/request/SyncRelateDataToRaysVO.java
0 → 100644
View file @
d2c3236f
package
com
.
pcloud
.
book
.
book
.
vo
.
request
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
SyncRelateDataToRaysVO
{
private
Long
bookId
;
private
Long
adviserId
;
private
Long
channelId
;
private
String
bookName
;
private
String
isbn
;
private
String
serialNumber
;
private
String
publish
;
private
BigDecimal
bookPrice
;
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/erp/ErpConsr.java
View file @
d2c3236f
...
...
@@ -9,6 +9,8 @@ import com.pcloud.book.book.dto.CreateBookResultVO;
import
com.pcloud.book.book.dto.ERPPublishNumDTO
;
import
com.pcloud.book.book.dto.ErpBookApprovalDTO
;
import
com.pcloud.book.book.dto.ErpBookInfoDTO
;
import
com.pcloud.book.book.dto.ProjectOrderSheetDTO
;
import
com.pcloud.book.book.dto.ProjectRelateVO
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
...
...
@@ -268,4 +270,60 @@ public class ErpConsr {
}
return
new
HashMap
<>();
}
@ParamLog
(
"根据isbn获取erp书刊信息"
)
public
ProjectOrderSheetDTO
getByErpNumber
(
String
erpNumber
)
throws
BizException
{
Map
<
String
,
String
>
querys
=
new
HashMap
<>();
querys
.
put
(
"erpNumber"
,
erpNumber
);
try
{
HttpResponse
response
=
HttpUtils
.
doGet
(
domain
,
"/erp/project4Third/getByErpNumber"
,
"GET"
,
new
HashMap
<>(),
querys
);
String
entityString
=
EntityUtils
.
toString
(
response
.
getEntity
());
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
entityString
);
if
(
jsonObject
.
getInteger
(
"errCode"
)
!=
0
){
throw
new
BizException
(
jsonObject
.
getString
(
"message"
));
}
return
JSONObject
.
parseObject
(
jsonObject
.
getString
(
"data"
),
ProjectOrderSheetDTO
.
class
);
}
catch
(
Exception
e
){
LOGGER
.
error
(
"根据isbn获取erp书刊信息[project4Third.getByErpNumber]:"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_CONTENT_ERROR
,
"根据isbn获取erp书刊信息失败~!"
);
}
}
@ParamLog
(
"获取ERP单号"
)
public
List
<
String
>
getErpNumbers
(
Long
bookId
,
Long
channelId
,
Long
adviserId
)
{
Map
<
String
,
String
>
querys
=
new
HashMap
<>();
querys
.
put
(
"bookId"
,
bookId
.
toString
());
querys
.
put
(
"channelId"
,
channelId
.
toString
());
querys
.
put
(
"adviserId"
,
adviserId
.
toString
());
try
{
HttpResponse
response
=
HttpUtils
.
doGet
(
domain
,
"/erp/project4Third/getErpNumbers"
,
"GET"
,
new
HashMap
<>(),
querys
);
String
entityString
=
EntityUtils
.
toString
(
response
.
getEntity
());
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
entityString
);
if
(
jsonObject
.
getInteger
(
"errCode"
)
!=
0
){
throw
new
BizException
(
jsonObject
.
getString
(
"message"
));
}
return
JSONObject
.
parseArray
(
jsonObject
.
getJSONArray
(
"data"
).
toJSONString
(),
String
.
class
);
}
catch
(
Exception
e
){
LOGGER
.
error
(
"根据isbn获取erp书刊信息[project4Third.getByErpNumber]:"
+
e
.
getMessage
(),
e
);
}
return
CollUtil
.
toList
();
}
@ParamLog
(
"关联RAYS书刊"
)
public
Integer
relateRaysBook
(
ProjectRelateVO
vo
)
throws
BizException
{
try
{
Map
<
String
,
String
>
headers
=
new
HashMap
<>();
headers
.
put
(
"Content-Type"
,
"application/json"
);
HttpResponse
response
=
HttpUtils
.
doPost
(
domain
,
"/erp/project4Third/relateRaysBook"
,
"POST"
,
headers
,
new
HashMap
<>(),
JSONObject
.
toJSONString
(
vo
));
String
entityString
=
EntityUtils
.
toString
(
response
.
getEntity
());
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
entityString
);
if
(
jsonObject
.
getInteger
(
"errCode"
)
!=
0
){
throw
new
BizException
(
jsonObject
.
getString
(
"message"
));
}
return
jsonObject
.
getInteger
(
"data"
);
}
catch
(
Exception
e
){
LOGGER
.
error
(
"关联RAYS书刊[project4Third.relateRaysBook]:"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_CONTENT_ERROR
,
"关联RAYS书刊失败~!"
);
}
}
}
pcloud-service-book/src/main/resources/mapper/book/Book.Mapper.xml
View file @
d2c3236f
...
...
@@ -74,6 +74,7 @@
<result
column=
"is_send_mini_url"
property=
"isSendMiniUrl"
jdbcType=
"BIT"
/>
<result
column=
"is_open_catalog"
property=
"isOpenCatalog"
jdbcType=
"BIT"
/>
<result
column=
"is_approval"
property=
"isApproval"
jdbcType=
"BIT"
/>
<result
column=
"is_relate"
property=
"isRelate"
jdbcType=
"BIT"
/>
</resultMap>
<resultMap
id=
"bookListPageMap"
type=
"bookDto"
extends =
"bookMap"
>
...
...
@@ -315,7 +316,7 @@
B.BOOK_ID, B.TYPE_CODE,B.ISBN, B.BOOK_NAME,T.TYPE_NAME, B.REMARK, B.AUTHOR, B.PUBLISH,
B.PUBLISH_DATE, B.COVER_IMG, B.AD_IMG, B.DETAIL, B.`VERSION`,B.BOOK_PRICE,B.ISSN,B.SERIAL_NUMBER,BA.IS_MAIN_EDITOR,
IF(ISNULL(BF.BOOK_FUND_ID),0,1) IS_FUND_SUPPORT,START_TIME,END_TIME,BA.TEMPLET_ID,BA.SECOND_TEMPLET_ID,BA.third_templet_id,
BA.GRA_LABEL_ID,BA.SUB_LABEL_ID,BA.VER_LABEL_ID,BA.AREA_LABEL_ID, BA.IS_PRINT isPrint,
BA.GRA_LABEL_ID,BA.SUB_LABEL_ID,BA.VER_LABEL_ID,BA.AREA_LABEL_ID, BA.IS_PRINT isPrint,
BA.is_relate,
BA.pro_label_id, BA.dep_label_id,BA.pur_label_id,BA.vol_label_id,if(G.ID IS NULL, 0, 1) isBookGroup, G.id BOOK_GROUP_ID,G.join_group_type,
BA.is_open_robot_process,BA.vol_label_id,b.unique_number,BA.CREATED_DATE,b.edition,BA.is_send_mini_url,
BA.is_open_catalog ,BA.is_approval
...
...
@@ -530,7 +531,7 @@
B.AUTHOR, B.PUBLISH, B.PUBLISH_DATE, B.COVER_IMG, B.ORIGIN_NAME, B.BOOK_PRICE, B.ISSN, B.BOOK_NUM, B.SERIAL_NUMBER,
IF(ISNULL(BF.BOOK_FUND_ID),0,1) IS_FUND_SUPPORT,A.TEMPLET_ID, A.LAST_MODIFIED_DATE,
A.BOOK_ADVISER_ID,I.BOOK_STATUS, CONCAT('BK',A.BOOK_ID) uniqueNumber, if(G.ID IS NULL, 0, 1) isBookGroup, A.IS_PRINT isPrint,
G.id BOOK_GROUP_ID, G.group_qrcode_url groupQrcodeUrl,G.group_qrcode_name groupQrcodeName,A.is_approval,
G.id BOOK_GROUP_ID, G.group_qrcode_url groupQrcodeUrl,G.group_qrcode_name groupQrcodeName,A.is_approval,
A.is_relate,
G.join_group_type,G.single_group singleGroup, G.related_book_group_id relatedBookGroupId,
IF(ISNULL(s.id),0,1) minimumSupport, A.is_open_catalog
FROM
...
...
@@ -624,6 +625,9 @@
<if
test=
"isApproval != null"
>
AND A.is_approval = #{isApproval}
</if>
<if
test=
"isRelate != null"
>
AND A.is_relate = #{isRelate}
</if>
<if
test=
"bookIds != null"
>
<foreach
collection=
"bookIds"
index=
"index"
item=
"item"
open=
"and ("
separator=
"or"
close=
")"
>
<if
test=
"item.bookId != null and item.channelId != null"
>
...
...
@@ -1658,7 +1662,7 @@
<if
test=
"lastModifiedUser != null"
>
LAST_MODIFIED_USER = #{lastModifiedUser, jdbcType=BIGINT},
</if>
<if
test=
"serialNumber != null"
>
<if
test=
"serialNumber != null
or (forceUpdateSerialNumber != null and forceUpdateSerialNumber == 1)
"
>
SERIAL_NUMBER = #{serialNumber, jdbcType=VARCHAR},
</if>
<if
test=
"isbn != null"
>
...
...
pcloud-service-book/src/main/resources/mapper/book/BookAdviser.Mapper.xml
View file @
d2c3236f
...
...
@@ -1222,10 +1222,9 @@
</select>
<update
id=
"updateRaysField4Erp"
parameterType=
"map"
>
UPDATE book_adviser SET is_approval = #{isApproval}, LAST_MODIFIED_DATE = NOW()
WHERE
<foreach
collection=
"approvalList"
item=
"item"
open=
"("
close=
")"
separator=
" OR "
>
book_id = #{item.bookId} AND adviser_id = #{item.adviserId} AND channel_id = #{item.channelId}
<foreach
collection=
"approvalList"
item=
"item"
separator=
"; "
>
UPDATE book_adviser SET is_approval = #{item.isApproval}, is_relate = #{item.isRelate}, LAST_MODIFIED_DATE = NOW()
WHERE book_id = #{item.bookId} AND adviser_id = #{item.adviserId} AND channel_id = #{item.channelId}
</foreach>
</update>
...
...
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