Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yanxuan-qc-change-system
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
yx-qc-change-flow
yanxuan-qc-change-system
Commits
5ca0f3df
Commit
5ca0f3df
authored
Jan 06, 2023
by
“zcwang”
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modify: 查询商品负责人
parent
204da432
Pipeline
#44570
passed with stages
in 1 minute 44 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
71 additions
and
36 deletions
+71
-36
InteriorChangeConfigServiceImpl.java
...nge/biz/service/impl/InteriorChangeConfigServiceImpl.java
+71
-36
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/impl/InteriorChangeConfigServiceImpl.java
View file @
5ca0f3df
...
...
@@ -65,12 +65,15 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//查询商品的SQE
@Autowired
private
QcApiRpcService
qcApiRpcService
;
//查看执行人
@Autowired
private
PfuApiRpcService
pfuApiRpcService
;
//查看商品BU
@Autowired
private
ItemcenterApiRpcService
itemcenterApiRpcService
;
@Autowired
private
FlowRpcSupplierSendService
supplierSendService
;
...
...
@@ -87,7 +90,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
private
ItemcenterRpcService
itemcenterRpcService
;
/**
* 接口不完整,关于商品的查询已经完成
供应商查询不完整接口已对接 具体返回值接口测试未完成
* 接口不完整,关于商品的查询已经完成 供应商查询不完整接口已对接 具体返回值接口测试未完成
*
* @param changeCommander
* @return
...
...
@@ -102,7 +105,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
return
null
;
}
//查询出当前模板配置中选择的 角色
ChangeCommanderEnum
changeCommanderEnum
=
ChangeCommanderEnum
.
getChangeCommanderEnum
(
changeConfig
.
getChangeCommanderType
());
ChangeCommanderEnum
changeCommanderEnum
=
ChangeCommanderEnum
.
getChangeCommanderEnum
(
changeConfig
.
getChangeCommanderType
());
if
(
changeCommanderEnum
==
null
)
{
return
null
;
}
...
...
@@ -112,7 +116,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
// 如果是同舟端,发起人以商品开发兜底
if
(
changeCommander
.
getCreateSource
().
equals
(
CreateSourceEnum
.
TONG_ZHOU
.
getType
()))
{
return
queryChangeSupplier
(
ChangeCommanderEnum
.
SUPPLIERS_ASSOCIATED
,
changeCommander
.
getSupplier
(),
SupplierChangePrincipalEnum
.
GOODS_BU
.
getName
());
SupplierChangePrincipalEnum
.
GOODS_BU
.
getName
());
}
rpc
.
setEmail
(
changeCommander
.
getFlowCreator
());
return
rpc
;
...
...
@@ -124,10 +128,12 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
}
if
(
Objects
.
equals
(
ChangeSubjectEnum
.
PRODUCT
.
getType
(),
changeConfig
.
getChangeSubject
()))
{
//商品变更
return
queryGoodsCommander
(
changeCommanderEnum
,
changeCommander
.
getGoodsInfos
(),
changeConfig
.
getChangeCommander
());
return
queryGoodsCommander
(
changeCommanderEnum
,
changeCommander
.
getGoodsInfos
(),
changeConfig
.
getChangeCommander
());
}
else
if
(
Objects
.
equals
(
ChangeSubjectEnum
.
SUPPLIER
.
getType
(),
changeConfig
.
getChangeSubject
()))
{
//供应商 采购 计划 SQE
return
queryChangeSupplier
(
changeCommanderEnum
,
changeCommander
.
getChangeSupplierId
(),
changeConfig
.
getChangeCommander
());
return
queryChangeSupplier
(
changeCommanderEnum
,
changeCommander
.
getChangeSupplierId
(),
changeConfig
.
getChangeCommander
());
}
//其他变更 备注 其他变更之后固定人 和发起人在上面判断会被排除掉 changeConfig.getChangeCommander();
return
null
;
...
...
@@ -136,14 +142,18 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
/**
* 商品的最终角色查询
*
* @param commanderEnum 查询方向 枚举
* @param goodsInfos 商品的列表
* @param commander 商品的关联角色 ChangeCommanderEnum
* @param commanderEnum
* 查询方向 枚举
* @param goodsInfos
* 商品的列表
* @param commander
* 商品的关联角色 ChangeCommanderEnum
* @return
*/
private
GoodsResponseRpc
queryGoodsCommander
(
ChangeCommanderEnum
commanderEnum
,
List
<
Long
>
goodsInfos
,
String
commander
)
{
private
GoodsResponseRpc
queryGoodsCommander
(
ChangeCommanderEnum
commanderEnum
,
List
<
Long
>
goodsInfos
,
String
commander
)
{
if
(!
commanderEnum
.
getId
().
equals
(
ChangeCommanderEnum
.
GOODS_ASSOCIATED
.
getId
())
||
CollectionUtils
.
isEmpty
(
goodsInfos
)
||
commander
==
null
)
{
||
CollectionUtils
.
isEmpty
(
goodsInfos
)
||
commander
==
null
)
{
return
null
;
}
Map
<
String
,
GoodsResponseRpc
>
map
=
new
HashMap
<
String
,
GoodsResponseRpc
>();
...
...
@@ -165,8 +175,9 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
String
detail
=
supplierSendService
.
queryGoodsPurchase
(
goodsInfos
);
logger
.
info
(
"[queryGoodsCommander] purchase:{}"
,
detail
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
detail
);
List
<
GoodsPurchaseRpc
>
purchaseRpcs
=
JSONObject
.
parseArray
(
jsonObject
.
get
(
"data"
).
toString
(),
GoodsPurchaseRpc
.
class
);
for
(
GoodsPurchaseRpc
purchaseRpc
:
purchaseRpcs
)
{
List
<
GoodsPurchaseRpc
>
purchaseRpcs
=
JSONObject
.
parseArray
(
jsonObject
.
get
(
"data"
).
toString
(),
GoodsPurchaseRpc
.
class
);
for
(
GoodsPurchaseRpc
purchaseRpc:
purchaseRpcs
)
{
GoodsResponseRpc
goodsRpc
=
new
GoodsResponseRpc
();
goodsRpc
.
setEmail
(
purchaseRpc
.
getSupplierTraceBusiness
());
goodsRpc
.
setName
(
purchaseRpc
.
getSupplierTraceBusinessName
());
...
...
@@ -177,7 +188,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
logger
.
info
(
"[queryGoodsCommander] prospectus:{}"
,
detail
);
getGoodsNameEmail
(
emails
,
detail
);
}
else
if
(
ChangePrincipalEnum
.
SQE
.
getName
().
equals
(
commander
))
{
for
(
Long
goods
:
goodsInfos
)
{
for
(
Long
goods:
goodsInfos
)
{
String
detail
=
qcApiRpcService
.
getDetail
(
goods
.
intValue
());
logger
.
info
(
"[queryGoodsCommander] SQE:{}"
,
detail
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
detail
);
...
...
@@ -192,7 +203,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
}
}
//逻辑发生变更
for
(
GoodsResponseRpc
email
:
emails
)
{
for
(
GoodsResponseRpc
email:
emails
)
{
if
(!
map
.
containsKey
(
email
.
getName
()))
{
email
.
setOccurrenceNumber
(
1
);
}
else
{
...
...
@@ -212,18 +223,22 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
return
name
;
}
/**
* 供应商角色最终查询
*
* @param commanderEnum 查询方向 枚举
* @param changeSupplierId 供应商信息
* @param commander 供应商关联角色
* @param commanderEnum
* 查询方向 枚举
* @param changeSupplierId
* 供应商信息
* @param commander
* 供应商关联角色
* @return
*/
private
GoodsResponseRpc
queryChangeSupplier
(
ChangeCommanderEnum
commanderEnum
,
String
changeSupplierId
,
String
commander
)
{
private
GoodsResponseRpc
queryChangeSupplier
(
ChangeCommanderEnum
commanderEnum
,
String
changeSupplierId
,
String
commander
)
{
GoodsResponseRpc
rpc
=
new
GoodsResponseRpc
();
if
(!
commanderEnum
.
getId
().
equals
(
ChangeCommanderEnum
.
SUPPLIERS_ASSOCIATED
.
getId
())
||
changeSupplierId
==
null
||
commander
==
null
)
{
if
(!
commanderEnum
.
getId
().
equals
(
ChangeCommanderEnum
.
SUPPLIERS_ASSOCIATED
.
getId
())
||
changeSupplierId
==
null
||
commander
==
null
)
{
return
null
;
}
SupplierRelatedUserReq
req
=
new
SupplierRelatedUserReq
();
...
...
@@ -240,8 +255,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
req
.
setSearchType
(
SupplierChangePrincipalEnum
.
GOODS_BU
.
getType
());
}
else
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
BAD_REQUEST
,
"供应商角色类型错误"
);
}
}
req
.
setSupplierIdList
(
supplierIdList
);
//进行参数解析
List
<
SupplierUserRsp
>
listAjaxResponse
=
supplierInfoService
.
querySupplierRelatedUser
(
req
);
...
...
@@ -250,19 +265,20 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
}
SupplierUserRsp
supplierUserRsp
=
listAjaxResponse
.
get
(
0
);
Map
<
String
,
String
>
uid2NameMap
=
supplierUserRsp
.
getUid2NameMap
();
for
(
String
key
:
uid2NameMap
.
keySet
())
{
for
(
String
key:
uid2NameMap
.
keySet
())
{
rpc
.
setName
(
uid2NameMap
.
get
(
key
));
rpc
.
setEmail
(
key
);
}
return
rpc
;
}
/**
* 重复代码复用方法
*
* @param emails 储存邮箱队列
* @param response 请求返结果
* @param emails
* 储存邮箱队列
* @param response
* 请求返结果
*/
private
void
getGoodsNameEmail
(
List
<
GoodsResponseRpc
>
emails
,
String
response
)
{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
response
);
...
...
@@ -270,7 +286,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
if
(
rpcMap
==
null
)
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
OPERATOR_NOT_EXIST
);
}
for
(
String
rpc
:
rpcMap
.
keySet
())
{
for
(
String
rpc:
rpcMap
.
keySet
())
{
GoodsResponseRpc
goodsRpc
=
new
GoodsResponseRpc
();
goodsRpc
.
setEmail
(
rpcMap
.
get
(
rpc
).
get
(
"uid"
).
toString
());
goodsRpc
.
setName
(
rpcMap
.
get
(
rpc
).
get
(
"name"
).
toString
());
...
...
@@ -280,10 +296,11 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
/**
* 获取商品负责人信息
*
* @param emails
*/
private
void
getGoodsEmail
(
List
<
GoodsResponseRpc
>
emails
,
List
<
ItemManagerTO
>
itemManagerTOS
)
{
for
(
ItemManagerTO
itemManagerTO
:
itemManagerTOS
)
{
for
(
ItemManagerTO
itemManagerTO:
itemManagerTOS
)
{
GoodsResponseRpc
goodsRpc
=
new
GoodsResponseRpc
();
goodsRpc
.
setEmail
(
itemManagerTO
.
getUid
());
goodsRpc
.
setName
(
itemManagerTO
.
getName
());
...
...
@@ -300,7 +317,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//商品BU
List
<
ItemManagerTO
>
product
=
itemcenterRpcService
.
getProduct
(
itemIds
);
logger
.
info
(
"[queryGoodsPrincipalInfo] product:{}"
,
product
);
// todo:组装商品开发
getGoodsPrincipalNameEmailV2
(
map
,
product
);
//计划
String
project
=
pfuApiRpcService
.
getDetail
(
itemIds
);
logger
.
info
(
"[queryGoodsPrincipalInfo] project:{}"
,
project
);
...
...
@@ -345,14 +362,14 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
try
{
GoodsResponseRpc
goodsResponseRpc
=
queryChangeSupplier
(
ChangeCommanderEnum
.
SUPPLIERS_ASSOCIATED
,
req
.
getChangeSupplier
(),
SupplierChangePrincipalEnum
.
GOODS_BU
.
getName
());
SupplierChangePrincipalEnum
.
GOODS_BU
.
getName
());
commanderResponse
.
setName
(
goodsResponseRpc
.
getName
());
commanderResponse
.
setEmail
(
goodsResponseRpc
.
getEmail
());
}
catch
(
Exception
e
)
{
log
.
error
(
"[queryCommanderEmail] goodsResponseRpc error,e{}"
,
e
);
}
return
commanderResponse
;
}
else
{
}
else
{
return
null
;
}
case
FIXED_PERSON:
...
...
@@ -364,7 +381,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
List
<
Long
>
itemIdList
=
itemVOS
.
stream
().
map
(
ItemVO:
:
getItemId
).
collect
(
Collectors
.
toList
());
try
{
GoodsResponseRpc
goodsResponseRpc
=
queryGoodsCommander
(
changeCommanderEnum
,
itemIdList
,
changeExecUser
);
GoodsResponseRpc
goodsResponseRpc
=
queryGoodsCommander
(
changeCommanderEnum
,
itemIdList
,
changeExecUser
);
log
.
info
(
"[queryCommanderEmail] queryGoodsCommander:{}"
,
JSON
.
toJSONString
(
goodsResponseRpc
));
commanderResponse
.
setName
(
goodsResponseRpc
.
getName
());
commanderResponse
.
setEmail
(
goodsResponseRpc
.
getEmail
());
...
...
@@ -376,8 +394,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
String
changeSupplier
=
req
.
getChangeSupplier
();
Assert
.
isTrue
(
StringUtils
.
isNotBlank
(
changeSupplier
),
"变更负责人为供应商时,供应商不可为空"
);
try
{
GoodsResponseRpc
supplierResponseRpc
=
queryChangeSupplier
(
changeCommanderEnum
,
changeSupplier
,
changeExecUser
);
GoodsResponseRpc
supplierResponseRpc
=
queryChangeSupplier
(
changeCommanderEnum
,
changeSupplier
,
changeExecUser
);
log
.
debug
(
"[queryCommanderEmail] queryChangeSupplier:{}"
,
JSON
.
toJSONString
(
supplierResponseRpc
));
commanderResponse
.
setName
(
supplierResponseRpc
.
getName
());
commanderResponse
.
setEmail
(
supplierResponseRpc
.
getEmail
());
...
...
@@ -393,7 +411,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
/**
* 请求数据解析以及装载
*
* @param type 1:BU 2:计划
* @param type
* 1:BU 2:计划
* @param map
* @param response
*/
...
...
@@ -403,7 +422,7 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
if
(
rpcMap
==
null
)
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
OPERATOR_NOT_EXIST
);
}
for
(
String
rpc
:
rpcMap
.
keySet
())
{
for
(
String
rpc:
rpcMap
.
keySet
())
{
ChangeGoodsPrincipalPO
goodsRpc
=
map
.
get
(
Long
.
parseLong
(
rpc
));
String
uid
=
null
;
if
(
type
.
equals
(
ChangePrincipalEnum
.
GOODS_BU
.
getType
()))
{
...
...
@@ -432,6 +451,22 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
}
}
private
void
getGoodsPrincipalNameEmailV2
(
Map
<
Long
,
ChangeGoodsPrincipalPO
>
map
,
List
<
ItemManagerTO
>
product
)
{
for
(
ItemManagerTO
rpc
:
product
)
{
ChangeGoodsPrincipalPO
goodsRpc
=
map
.
get
(
rpc
.
getItemId
());
String
uid
=
null
;
try
{
uid
=
rpc
.
getUid
();
goodsRpc
.
setFunctionaryName
(
rpc
.
getName
());
goodsRpc
.
setFunctionaryEmail
(
uid
);
}
catch
(
Exception
e
)
{
log
.
error
(
"[getGoodsPrincipalNameEmailV2] query error,rpc:{}"
,
rpc
,
e
);
goodsRpc
.
setFunctionaryName
(
null
);
goodsRpc
.
setFunctionaryEmail
(
null
);
}
goodsRpc
(
ChangePrincipalEnum
.
GOODS_BU
.
getType
(),
uid
,
goodsRpc
);
}
}
/**
* 负责人兜底方法
...
...
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