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
胡园园
yanxuan-qc-change-system
Commits
a8176fe6
Commit
a8176fe6
authored
Nov 24, 2022
by
jx-art
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
测试部门查询 以及修改返回执行人逻辑
parent
74cd2911
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
149 additions
and
41 deletions
+149
-41
InteriorChangeConfigService.java
...nxuan/change/biz/service/InteriorChangeConfigService.java
+2
-2
ChangeConfigService.java
...anxuan/change/biz/service/change/ChangeConfigService.java
+2
-0
InteriorChangeConfigServiceImpl.java
...nge/biz/service/impl/InteriorChangeConfigServiceImpl.java
+62
-29
ChangeConfigServiceImpl.java
...ange/biz/service/impl/change/ChangeConfigServiceImpl.java
+8
-0
ChangeConfigMapper.java
...se/mail/yanxuan/change/dal/mapper/ChangeConfigMapper.java
+3
-0
ChangeCommanderPO.java
...l/yanxuan/change/dal/meta/model/po/ChangeCommanderPO.java
+3
-4
GoodsPurchaseRpc.java
...l/yanxuan/change/dal/meta/model/rpc/GoodsPurchaseRpc.java
+19
-0
GoodsResponseRpc.java
...l/yanxuan/change/dal/meta/model/rpc/GoodsResponseRpc.java
+19
-0
FlowIusRpcService.java
...il/yanxuan/change/integration/flow/FlowIusRpcService.java
+22
-0
ChangeConfigController.java
...yanxuan/change/web/controller/ChangeConfigController.java
+9
-6
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/InteriorChangeConfigService.java
View file @
a8176fe6
package
com
.
netease
.
mail
.
yanxuan
.
change
.
biz
.
service
;
import
com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeCommanderPO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseRpc
;
/**
* @author WangJiaXiang
...
...
@@ -9,8 +10,7 @@ import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeCommanderPO;
*/
public
interface
InteriorChangeConfigService
{
String
queryCommanderInfo
(
ChangeCommanderPO
changeCommander
);
GoodsResponseRpc
queryCommanderInfo
(
ChangeCommanderPO
changeCommander
);
}
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/change/ChangeConfigService.java
View file @
a8176fe6
...
...
@@ -11,6 +11,8 @@ public interface ChangeConfigService {
ChangeConfig
queryChangeConfig
(
Long
id
);
ChangeConfig
queryChangeType
(
Long
parentChangeClassId
,
Long
sonChangeClassId
);
Boolean
deleteChangeConfig
(
Long
id
);
ChangeConfig
addChangeConfig
(
ChangeConfig
changeConfig
);
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/impl/InteriorChangeConfigServiceImpl.java
View file @
a8176fe6
...
...
@@ -9,16 +9,18 @@ import com.netease.mail.yanxuan.change.common.enums.ChangeCommanderEnum;
import
com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeConfig
;
import
com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeCommanderPO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsPurchaseRpc
;
import
com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseRpc
;
import
com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseSqeRpc
;
import
com.netease.mail.yanxuan.change.integration.flow.goods.ItemcenterApiRpcService
;
import
com.netease.mail.yanxuan.change.integration.flow.goods.PfuApiRpcService
;
import
com.netease.mail.yanxuan.change.integration.flow.goods.QcApiRpcService
;
import
com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierSendService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
/**
* @author WangJiaXiang
...
...
@@ -26,6 +28,8 @@ import java.util.Map;
*/
public
class
InteriorChangeConfigServiceImpl
implements
InteriorChangeConfigService
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
InteriorChangeConfigServiceImpl
.
class
);
@Autowired
private
ChangeConfigService
changeConfigService
;
...
...
@@ -38,16 +42,19 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//查看商品BU
@Autowired
private
ItemcenterApiRpcService
itemcenterApiRpcService
;
@Autowired
private
FlowRpcSupplierSendService
supplierSendService
;
@Override
public
String
queryCommanderInfo
(
ChangeCommanderPO
changeCommander
)
{
public
GoodsResponseRpc
queryCommanderInfo
(
ChangeCommanderPO
changeCommander
)
{
//获取模板名称 通过一级变更类型 二级变更类型ID 定位模板
ChangeConfig
changeConfig
=
changeConfigService
.
queryChange
Config
(
changeCommander
.
get
Id
());
ChangeConfig
changeConfig
=
changeConfigService
.
queryChange
Type
(
changeCommander
.
getParentChangeClassId
(),
changeCommander
.
getSonChangeClass
Id
());
//查询出当前模板配置中选择的 角色
ChangeCommanderEnum
changeCommanderEnum
=
ChangeCommanderEnum
.
getChangeCommanderEnum
(
changeConfig
.
getChangeCommanderType
());
//直接排除 选项为固定人 或者发起人
if
(
changeCommanderEnum
.
getId
()
==
1
||
changeCommanderEnum
.
getId
()
==
2
){
return
changeConfig
.
getChangeCommander
();
//固定人或者发起人 changeConfig.getChangeCommander();
return
null
;
}
ChangeSubjectEnum
changeSubjectEnum
=
ChangeSubjectEnum
.
getChangeSubjectEnum
(
changeConfig
.
getChangeSubject
());
if
(
changeSubjectEnum
.
getType
()
==
1
){
...
...
@@ -57,8 +64,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//供应商 采购 计划 SQE
return
queryChangeSupplier
(
changeCommanderEnum
,
changeCommander
.
getChangeSupplierId
(),
changeConfig
.
getChangeCommander
());
}
//其他变更 备注 其他变更之后固定人 和发起人在上面判断会被排除掉
return
changeConfig
.
getChangeCommander
()
;
//其他变更 备注 其他变更之后固定人 和发起人在上面判断会被排除掉
changeConfig.getChangeCommander();
return
null
;
}
...
...
@@ -69,52 +76,75 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
* @param commander 商品的关联角色
* @return
*/
private
String
queryGoodsCommander
(
ChangeCommanderEnum
commanderEnum
,
List
<
Long
>
goodsInfos
,
String
commander
){
private
GoodsResponseRpc
queryGoodsCommander
(
ChangeCommanderEnum
commanderEnum
,
List
<
Long
>
goodsInfos
,
String
commander
){
if
(
commanderEnum
.
getId
()
!=
3
||
goodsInfos
==
null
||
goodsInfos
.
size
()
==
0
||
commander
==
null
){
return
"类型错误 或者未选择商品"
;
return
null
;
}
Map
<
String
,
Integer
>
map
=
new
HashMap
<
String
,
Integer
>();
Map
<
String
,
GoodsResponseRpc
>
map
=
new
HashMap
<
String
,
GoodsResponseRpc
>();
//记录最大出现次数
int
temp
=
0
;
//记录最大值
String
name
=
""
;
GoodsResponseRpc
name
=
new
GoodsResponseRpc
()
;
//记录出现的所有值
List
<
String
>
emails
=
new
ArrayList
<
String
>();
List
<
GoodsResponseRpc
>
emails
=
new
ArrayList
<
GoodsResponseRpc
>();
//遍历取出所有商品关联的人
if
(
commander
.
equals
(
"商品BU"
))
{
String
detail
=
itemcenterApiRpcService
.
getDetail
(
goodsInfos
);
logger
.
error
(
"根据商品查看商品负责BU接口返回值\t"
+
detail
);
getGoodsNameEmail
(
emails
,
detail
);
}
else
if
(
commander
.
equals
(
"采购"
))
{
//采购返回值处理逻辑
String
detail
=
supplierSendService
.
queryGoodsPurchase
(
goodsInfos
);
logger
.
error
(
"根据商品查看商品负责采购接口返回值\t"
+
detail
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
detail
);
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
.
getSupplierName
());
emails
.
add
(
goodsRpc
);
}
}
else
if
(
commander
.
equals
(
"计划"
))
{
String
detail
=
pfuApiRpcService
.
getDetail
(
goodsInfos
);
logger
.
error
(
"根据商品查看商品负责计划接口返回值\t"
+
detail
);
getGoodsNameEmail
(
emails
,
detail
);
}
else
if
(
commander
.
equals
(
"SQE"
))
{
for
(
Long
goods:
goodsInfos
)
{
String
detail
=
qcApiRpcService
.
getDetail
(
goods
.
intValue
());
logger
.
error
(
"根据商品查看商品负责SQE接口返回值\t"
+
detail
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
detail
);
GoodsResponseSqeRpc
data
=
jsonObject
.
getObject
(
"data"
,
GoodsResponseSqeRpc
.
class
);
if
(
data
!=
null
){
emails
.
add
(
data
.
getUserName
());
//需要验证返回值 是否正确
GoodsResponseRpc
rpc
=
new
GoodsResponseRpc
();
rpc
.
setEmail
(
data
.
getUserName
());
rpc
.
setName
(
data
.
getRealName
());
}
}
}
for
(
String
email
:
emails
){
if
(!
map
.
containsKey
(
email
)){
map
.
put
(
email
,
1
);
//逻辑发生变更
for
(
GoodsResponseRpc
email
:
emails
){
if
(!
map
.
containsKey
(
email
.
getName
())){
email
.
setOccurrenceNumber
(
1
);
}
else
{
Integer
integer
=
map
.
get
(
email
);
++
integer
;
if
(
temp
<
integer
){
temp
=
integer
;
name
=
email
;
GoodsResponseRpc
goodsResponseRpc
=
map
.
get
(
email
.
getName
());
email
.
setOccurrenceNumber
(
goodsResponseRpc
.
getOccurrenceNumber
()+
1
);
if
(
temp
<
goodsResponseRpc
.
getOccurrenceNumber
()){
temp
=
goodsResponseRpc
.
getOccurrenceNumber
();
name
=
goodsResponseRpc
;
}
}
map
.
put
(
email
,
integer
);
map
.
put
(
email
.
getName
(),
email
);
}
if
(
name
==
null
){
Iterator
<
GoodsResponseRpc
>
iterator
=
map
.
values
().
iterator
();
name
=
iterator
.
next
();
}
return
name
;
}
/**
* 供应商角色最终查询
* @param commanderEnum 查询方向 枚举
...
...
@@ -122,9 +152,9 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
* @param commander 供应商关联角色
* @return
*/
private
String
queryChangeSupplier
(
ChangeCommanderEnum
commanderEnum
,
String
changeSupplierId
,
String
commander
){
private
GoodsResponseRpc
queryChangeSupplier
(
ChangeCommanderEnum
commanderEnum
,
String
changeSupplierId
,
String
commander
){
if
(
commanderEnum
.
getId
()
!=
4
||
changeSupplierId
==
null
||
commander
==
null
){
return
"返回空值 或者指示值"
;
return
null
;
}
//changeSupplier 根据提供的信息去查询 最终返回
if
(
commander
.
equals
(
"采购"
)){
...
...
@@ -143,14 +173,17 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
* @param emails 储存邮箱队列
* @param response 请求返结果
*/
private
void
getGoodsNameEmail
(
List
<
String
>
emails
,
String
response
){
private
void
getGoodsNameEmail
(
List
<
GoodsResponseRpc
>
emails
,
String
response
){
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
response
);
Map
<
String
,
JSONObject
>
rpcMap
=
JSONObject
.
parseObject
(
jsonObject
.
get
(
"data"
).
toString
(),
Map
.
class
);
if
(
rpcMap
==
null
){
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
OPERATOR_NOT_EXIST
);
}
for
(
String
rpc
:
rpcMap
.
keySet
()){
emails
.
add
(
rpcMap
.
get
(
rpc
).
get
(
"uid"
).
toString
());
GoodsResponseRpc
goodsRpc
=
new
GoodsResponseRpc
();
goodsRpc
.
setEmail
(
rpcMap
.
get
(
rpc
).
get
(
"uid"
).
toString
());
goodsRpc
.
setName
(
rpcMap
.
get
(
rpc
).
get
(
"name"
).
toString
());
emails
.
add
(
goodsRpc
);
}
}
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/impl/change/ChangeConfigServiceImpl.java
View file @
a8176fe6
...
...
@@ -21,6 +21,14 @@ public class ChangeConfigServiceImpl implements ChangeConfigService {
}
@Override
public
ChangeConfig
queryChangeType
(
Long
parentChangeClassId
,
Long
sonChangeClassId
)
{
if
(
parentChangeClassId
==
null
||
sonChangeClassId
==
null
){
return
null
;
}
return
mapper
.
queryChangeType
(
parentChangeClassId
,
sonChangeClassId
);
}
@Override
public
Boolean
deleteChangeConfig
(
Long
id
)
{
mapper
.
deleteById
(
id
);
return
true
;
...
...
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/mapper/ChangeConfigMapper.java
View file @
a8176fe6
...
...
@@ -29,6 +29,9 @@ public interface ChangeConfigMapper extends tk.mybatis.mapper.common.Mapper<Chan
@Delete
(
"delete from TB_YX_QC_CHANGE_CONFIG where id = #{id}"
)
void
deleteById
(
@Param
(
"id"
)
Long
id
);
@Select
(
"select * from TB_YX_QC_CHANGE_CONFIG where parent_change_class_id = #{parentChangeClassId} and son_change_class_id = #{sonChangeClassId}"
)
ChangeConfig
queryChangeType
(
Long
parentChangeClassId
,
Long
sonChangeClassId
);
List
<
ChangeConfigPo
>
selectChangeConfigPo
(
ChangeConfigQueryReq
req
);
List
<
ChangeType
>
queryByparentChangeClassId
();
...
...
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/meta/model/po/ChangeCommanderPO.java
View file @
a8176fe6
...
...
@@ -12,10 +12,9 @@ import java.util.List;
@Data
public
class
ChangeCommanderPO
{
/**
* 变更模板主键ID
*/
private
Long
id
;
private
Long
parentChangeClassId
;
private
Long
sonChangeClassId
;
/**
* 供应商信息
...
...
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/meta/model/rpc/GoodsPurchaseRpc.java
0 → 100644
View file @
a8176fe6
package
com
.
netease
.
mail
.
yanxuan
.
change
.
dal
.
meta
.
model
.
rpc
;
import
lombok.Data
;
/**
* @author WangJiaXiang
* @date 2022/11/24/024$
* 商品采购人返回信息
*/
@Data
public
class
GoodsPurchaseRpc
{
private
String
supplierName
;
private
String
itemId
;
private
String
supplierTraceBusiness
;
}
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/meta/model/rpc/GoodsResponseRpc.java
0 → 100644
View file @
a8176fe6
package
com
.
netease
.
mail
.
yanxuan
.
change
.
dal
.
meta
.
model
.
rpc
;
import
lombok.Data
;
/**
* @author WangJiaXiang
* @date 2022/11/24/024$
* 根据商品查询对应负责人的信息
*/
@Data
public
class
GoodsResponseRpc
{
private
String
name
;
private
String
email
;
private
Integer
occurrenceNumber
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/flow/FlowIusRpcService.java
0 → 100644
View file @
a8176fe6
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
flow
;
import
com.netease.yanxuan.missa.client.annotation.MissaClient
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
/**
* @author WangJiaXiang
* @date 2022/11/24/024$
*/
@Service
@MissaClient
(
serviceCode
=
"yanxuan-ius"
)
public
interface
FlowIusRpcService
{
@GetMapping
(
"/v1/qc/user/get"
)
String
queryEmailInfo
(
@RequestParam
(
name
=
"uid"
)
String
uid
);
@GetMapping
(
"/v1/qc/user/queryLeaderChain"
)
String
queryDepartment
(
@RequestParam
(
name
=
"uid"
)
String
uid
);
}
yanxuan-qc-change-system-web/src/main/java/com/netease/mail/yanxuan/change/web/controller/ChangeConfigController.java
View file @
a8176fe6
...
...
@@ -5,11 +5,10 @@ import com.netease.mail.yanxuan.change.common.bean.AjaxResult;
import
com.netease.mail.yanxuan.change.biz.service.change.AdminChangeConfigService
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeConfigQueryReq
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeConfigReq
;
import
com.netease.mail.yanxuan.change.integration.flow.
supplier.FlowRpcSupplierSend
Service
;
import
com.netease.mail.yanxuan.change.integration.flow.
FlowIusRpc
Service
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
...
...
@@ -105,12 +104,16 @@ public class ChangeConfigController {
}
@Autowired
private
Flow
RpcSupplierSendService
sendEmail
Service
;
private
Flow
IusRpcService
iusRpc
Service
;
@
Pos
tMapping
(
"/test"
)
public
String
queryGoods
(
@RequestBody
List
<
Long
>
longList
){
return
sendEmailService
.
queryGoodsPurchase
(
longList
);
@
Ge
tMapping
(
"/test"
)
public
String
queryGoods
(){
return
iusRpcService
.
queryEmailInfo
(
"grp.gyhtest1001@corp.netease.com"
);
}
@GetMapping
(
"/test1"
)
public
String
queryGoods1
(){
return
iusRpcService
.
queryDepartment
(
"grp.gyhtest1001@corp.netease.com"
);
}
}
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