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
caf64d8a
Commit
caf64d8a
authored
Dec 19, 2022
by
“zcwang”
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modify:下载超时
parent
16d0ec5c
Pipeline
#44102
passed with stages
in 1 minute 59 seconds
Changes
8
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
151 additions
and
28 deletions
+151
-28
ChangeFlowBiz.java
...om/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
+10
-11
ChangeFlowExportCallback.java
...yanxuan/change/biz/callback/ChangeFlowExportCallback.java
+2
-0
ChangeFlowExportQuery.java
...ail/yanxuan/change/biz/service/ChangeFlowExportQuery.java
+5
-0
InteriorChangeConfigServiceImpl.java
...nge/biz/service/impl/InteriorChangeConfigServiceImpl.java
+37
-17
SupplierChangePrincipalEnum.java
...xuan/change/common/enums/SupplierChangePrincipalEnum.java
+38
-0
ChangeRecordMapper.java
...se/mail/yanxuan/change/dal/mapper/ChangeRecordMapper.java
+2
-0
ChangeCommanderPO.java
...l/yanxuan/change/dal/meta/model/po/ChangeCommanderPO.java
+12
-0
ChangeRecordMapper.xml
.../src/main/resources/mybatis/mapper/ChangeRecordMapper.xml
+45
-0
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
View file @
caf64d8a
...
...
@@ -25,7 +25,6 @@ import java.util.stream.Collectors;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.Valid
;
import
com.netease.mail.yanxuan.change.integration.flow.ius.rsp.leaderChain
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.usermodel.Workbook
;
...
...
@@ -97,6 +96,7 @@ import com.netease.mail.yanxuan.change.integration.flow.ius.IusRpcService;
import
com.netease.mail.yanxuan.change.integration.flow.ius.req.IusDepartmentReq
;
import
com.netease.mail.yanxuan.change.integration.flow.ius.rsp.IusUserInfoRsp
;
import
com.netease.mail.yanxuan.change.integration.flow.ius.rsp.SecondaryDepartments
;
import
com.netease.mail.yanxuan.change.integration.flow.ius.rsp.leaderChain
;
import
com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierSimpleRsp
;
import
com.netease.mail.yanxuan.change.integration.item.SimplePhyCateGoryResultCo
;
import
com.netease.mail.yanxuan.change.integration.item.meta.SpuTO
;
...
...
@@ -189,19 +189,18 @@ public class ChangeFlowBiz {
// 工单负责人
String
changeCommander
=
null
;
// 获取工单负责人
GoodsResponseRpc
goodsResponseRpc
;
GoodsResponseRpc
goodsResponseRpc
=
null
;
try
{
goodsResponseRpc
=
interiorChangeConfigService
.
queryCommanderInfo
(
ChangeCommanderPO
.
builder
().
parentChangeClassId
(
parentChangeClassId
).
sonChangeClassId
(
sonChangeClassId
)
.
changeSupplierId
(
changeFlowCreateReq
.
getChangeSupplier
()).
goodsInfos
(
itemIds
).
flowCreator
(
uid
).
build
());
goodsResponseRpc
=
interiorChangeConfigService
.
queryCommanderInfo
(
ChangeCommanderPO
.
builder
().
parentChangeClassId
(
parentChangeClassId
)
.
sonChangeClassId
(
sonChangeClassId
).
changeSupplierId
(
changeFlowCreateReq
.
getChangeSupplier
())
.
goodsInfos
(
itemIds
).
flowCreator
(
uid
).
createSource
(
changeFlowCreateReq
.
getCreateSource
())
.
supplier
(
changeFlowCreateReq
.
getSupplier
()).
build
());
changeCommander
=
goodsResponseRpc
.
getEmail
();
}
catch
(
Exception
e
)
{
log
.
error
(
"[op:queryCommanderInfo] error,
e:{}"
,
e
);
log
.
error
(
"[op:queryCommanderInfo] error,
goodsResponseRpc:{}, e:{}"
,
JSON
.
toJSONString
(
goodsResponseRpc
),
e
);
}
if
(
changeCommander
==
null
)
{
changeCommander
=
appConfig
.
getTestEmail
();
}
// Assert.notNull(goodsResponseRpc, "未查询到负责人信息");
Assert
.
notNull
(
changeCommander
,
"未查询到负责人信息"
);
// 检验是否需要资料
ChangeConfig
changeConfig
=
changeConfigService
.
getSonChange
(
sonChangeClassId
);
Assert
.
notNull
(
changeConfig
,
"二级变更类型不存在"
);
...
...
@@ -215,7 +214,7 @@ public class ChangeFlowBiz {
Assert
.
isTrue
(
changeExecProject
.
size
()
<=
appConfig
.
getChangeExecLimit
(),
"变更行动方案配置数超限"
);
// 结束时间不可晚于第二天定时任务执行时间
Long
tomorrowSpecificTime
=
DateUtils
.
getTomorrowSpecificTime
(
"0
9
:00:00"
);
Long
tomorrowSpecificTime
=
DateUtils
.
getTomorrowSpecificTime
(
"0
0
:00:00"
);
if
(
changeFlowCreateReq
.
getCreateSource
()
!=
2
)
{
if
(
changeFlowCreateReq
.
getChangeConfirmResultTime
()
==
null
)
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
BAD_REQUEST
,
"变更结果确认时间不能为空"
);
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/callback/ChangeFlowExportCallback.java
View file @
caf64d8a
...
...
@@ -68,6 +68,8 @@ public class ChangeFlowExportCallback implements DesCallbackService {
public
List
<
List
<
ExcelCell
>>
queryExcelData
(
CallbackQueryReq
req
)
{
log
.
info
(
"[op: address book export callback queryExcelData] req={}"
,
JSON
.
toJSONString
(
req
));
ChangeFlowExportQuery
query
=
JSON
.
parseObject
(
req
.
getParamJson
(),
ChangeFlowExportQuery
.
class
);
query
.
setOffset
(
req
.
getOffset
());
query
.
setLimit
(
req
.
getLimit
());
List
<
ChangeFlowExcelDTO
>
list
=
getExportList
(
query
);
return
list
.
stream
().
map
(
ChangeFlowExcelVo:
:
init
).
collect
(
Collectors
.
toList
());
}
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/ChangeFlowExportQuery.java
View file @
caf64d8a
...
...
@@ -82,4 +82,8 @@ public class ChangeFlowExportQuery {
* 登录用户
*/
protected
String
uid
;
private
Long
limit
;
private
Long
offset
;
}
\ No newline at end of file
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/impl/InteriorChangeConfigServiceImpl.java
View file @
caf64d8a
package
com
.
netease
.
mail
.
yanxuan
.
change
.
biz
.
service
.
impl
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.Assert
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.netease.mail.yanxuan.change.biz.config.AppConfig
;
...
...
@@ -10,6 +26,8 @@ import com.netease.mail.yanxuan.change.common.bean.ResponseCode;
import
com.netease.mail.yanxuan.change.common.enums.ChangeCommanderEnum
;
import
com.netease.mail.yanxuan.change.common.enums.ChangePrincipalEnum
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum
;
import
com.netease.mail.yanxuan.change.common.enums.CreateSourceEnum
;
import
com.netease.mail.yanxuan.change.common.enums.SupplierChangePrincipalEnum
;
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.po.ChangeGoodsPrincipalPO
;
...
...
@@ -26,17 +44,8 @@ import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplier
import
com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierSendService
;
import
com.netease.mail.yanxuan.change.integration.flow.supplier.req.SupplierRelatedUserReq
;
import
com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierUserRsp
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.Assert
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
lombok.extern.slf4j.Slf4j
;
/**
* @author WangJiaXiang
...
...
@@ -82,7 +91,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
public
GoodsResponseRpc
queryCommanderInfo
(
ChangeCommanderPO
changeCommander
)
{
GoodsResponseRpc
rpc
=
new
GoodsResponseRpc
();
//获取模板名称 通过一级变更类型 二级变更类型ID 定位模板
ChangeConfig
changeConfig
=
changeConfigService
.
queryChangeType
(
changeCommander
.
getParentChangeClassId
(),
changeCommander
.
getSonChangeClassId
());
ChangeConfig
changeConfig
=
changeConfigService
.
queryChangeType
(
changeCommander
.
getParentChangeClassId
(),
changeCommander
.
getSonChangeClassId
());
if
(
changeConfig
==
null
)
{
return
null
;
}
...
...
@@ -94,6 +104,11 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//直接排除 选项为固定人 或者发起人
if
(
Objects
.
equals
(
changeConfig
.
getChangeCommanderType
(),
ChangeCommanderEnum
.
COMMANDER_ORIGINATOR
.
getId
()))
{
//发起人;
// 如果是同舟端,发起人以商品开发兜底
if
(
changeCommander
.
getCreateSource
().
equals
(
CreateSourceEnum
.
TONG_ZHOU
.
getType
()))
{
return
queryChangeSupplier
(
ChangeCommanderEnum
.
SUPPLIERS_ASSOCIATED
,
changeCommander
.
getSupplier
(),
SupplierChangePrincipalEnum
.
GOODS_BU
.
getName
());
}
rpc
.
setEmail
(
changeCommander
.
getFlowCreator
());
return
rpc
;
}
...
...
@@ -210,13 +225,18 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
List
<
String
>
supplierIdList
=
new
ArrayList
<>();
supplierIdList
.
add
(
changeSupplierId
);
//changeSupplier 根据提供的信息去查询 最终返回
if
(
ChangePrincipalEnum
.
PURCHASE
.
getName
().
equals
(
commander
))
{
req
.
setSearchType
(
1
);
}
else
if
(
ChangePrincipalEnum
.
PROSPECTUS
.
getName
().
equals
(
commander
))
{
req
.
setSearchType
(
2
);
}
else
if
(
ChangePrincipalEnum
.
SQE
.
getName
().
equals
(
commander
))
{
req
.
setSearchType
(
3
);
if
(
SupplierChangePrincipalEnum
.
PURCHASE
.
getName
().
equals
(
commander
))
{
req
.
setSearchType
(
SupplierChangePrincipalEnum
.
PURCHASE
.
getType
());
}
else
if
(
SupplierChangePrincipalEnum
.
PROSPECTUS
.
getName
().
equals
(
commander
))
{
req
.
setSearchType
(
SupplierChangePrincipalEnum
.
PROSPECTUS
.
getType
());
}
else
if
(
SupplierChangePrincipalEnum
.
SQE
.
getName
().
equals
(
commander
))
{
req
.
setSearchType
(
SupplierChangePrincipalEnum
.
SQE
.
getType
());
}
else
if
(
SupplierChangePrincipalEnum
.
GOODS_BU
.
getName
().
equals
(
commander
))
{
req
.
setSearchType
(
SupplierChangePrincipalEnum
.
GOODS_BU
.
getType
());
}
else
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
BAD_REQUEST
,
"供应商角色类型错误"
);
}
req
.
setSupplierIdList
(
supplierIdList
);
//进行参数解析
List
<
SupplierUserRsp
>
listAjaxResponse
=
supplierInfoService
.
querySupplierRelatedUser
(
req
);
...
...
yanxuan-qc-change-system-common/src/main/java/com/netease/mail/yanxuan/change/common/enums/SupplierChangePrincipalEnum.java
0 → 100644
View file @
caf64d8a
/**
* @(#)SupplierChangePrincipalEnum.java, 2022/12/19.
* <p/>
* Copyright 2022 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
common
.
enums
;
/**
* @Author zcwang
* @Date 2022/12/19
*/
public
enum
SupplierChangePrincipalEnum
{
PURCHASE
(
1
,
"采购"
),
PROSPECTUS
(
2
,
"计划"
),
SQE
(
3
,
"SQE"
),
GOODS_BU
(
4
,
"商品开发"
);
SupplierChangePrincipalEnum
(
Integer
type
,
String
name
)
{
this
.
type
=
type
;
this
.
name
=
name
;
}
private
Integer
type
;
private
String
name
;
public
Integer
getType
()
{
return
type
;
}
public
String
getName
()
{
return
name
;
}
}
\ No newline at end of file
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/mapper/ChangeRecordMapper.java
View file @
caf64d8a
...
...
@@ -27,6 +27,8 @@ public interface ChangeRecordMapper extends tk.mybatis.mapper.common.Mapper<Chan
List
<
ChangeRecord
>
selectByCondition
(
ChangeFlowListQueryReq
changeFlowListQueryReq
);
List
<
ChangeRecord
>
selectByConditionAndLimit
(
ChangeFlowListQueryReq
changeFlowListQueryReq
);
@Select
(
"select * from TB_YX_QC_CHANGE_RECORD where id > #{entityId} and `flow_node` in (#{nodeId1}, #{nodeId2}) and change_confirm_result_time <= #{currentTime} limit 200"
)
List
<
ChangeRecord
>
getByStatusAndTime
(
@Param
(
"entityId"
)
Long
entityId
,
@Param
(
"nodeId1"
)
String
nodeId1
,
@Param
(
"nodeId2"
)
String
nodeId2
,
@Param
(
"currentTime"
)
long
currentTime
);
...
...
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/meta/model/po/ChangeCommanderPO.java
View file @
caf64d8a
...
...
@@ -7,6 +7,8 @@ import lombok.NoArgsConstructor;
import
java.util.List
;
import
javax.validation.constraints.NotNull
;
/**
* @author WangJiaXiang
* @date 2022/11/18/018$
...
...
@@ -43,4 +45,14 @@ public class ChangeCommanderPO {
*/
private
String
flowCreator
;
/**
* 创建端(普通or同舟)
*/
private
Integer
createSource
;
/**
* 同舟端所属供应商
*/
private
String
supplier
;
}
yanxuan-qc-change-system-dal/src/main/resources/mybatis/mapper/ChangeRecordMapper.xml
View file @
caf64d8a
...
...
@@ -84,4 +84,48 @@
</where>
order by create_time desc
</select>
<select
id=
"selectByConditionAndLimit"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from TB_YX_QC_CHANGE_RECORD
<where>
<if
test=
"createSource != null "
>
and create_source = #{createSource}
</if>
<if
test=
"itemId != null "
>
and change_item like concat('%',#{itemId},'%')
</if>
<if
test=
"supplier != null "
>
and change_supplier = #{supplier}
</if>
<if
test=
"parentChangeClassId != null"
>
and parent_change_class_id = #{parentChangeClassId}
</if>
<if
test=
"sonChangeClassId != null"
>
and son_change_class_id = #{sonChangeClassId}
</if>
<if
test=
"changeState != null"
>
and `state` = #{changeState}
</if>
<if
test=
"changeCommander != null and changeCommander != ''"
>
and `change_commander` = #{changeCommander}
</if>
<if
test=
"changeDepartment != null and changeDepartment != ''"
>
and `change_department` = #{changeDepartment}
</if>
<if
test=
"changeExecDepartment != null and changeExecDepartment != ''"
>
and participate_change_exec_department like concat('%',#{changeExecDepartment},'%')
</if>
<if
test=
"startTime != null"
>
and create_time > #{startTime}
</if>
<if
test=
"endTime != null"
>
and create_time
<![CDATA[ < ]]>
#{endTime}
</if>
<if
test=
"createSupplier != null"
>
and create_supplier = #{createSupplier}
</if>
</where>
limit #{offset},#{limit}
</select>
</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