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
aae6b942
Commit
aae6b942
authored
Dec 01, 2022
by
jx-art
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/feature-changeFlow-221110' into feature-changeFlow-221110
parents
dd1d5f7b
6da7c095
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
913 additions
and
17 deletions
+913
-17
ChangeFlowBiz.java
...om/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
+27
-1
FlowService.java
...ease/mail/yanxuan/change/biz/service/rpc/FlowService.java
+3
-1
ItemService.java
...ease/mail/yanxuan/change/biz/service/rpc/ItemService.java
+31
-10
ChangeFlowVO.java
...e/mail/yanxuan/change/dal/meta/model/vo/ChangeFlowVO.java
+11
-0
FlowRpcService.java
.../mail/yanxuan/change/integration/flow/FlowRpcService.java
+16
-0
ItemRpcService.java
.../mail/yanxuan/change/integration/item/ItemRpcService.java
+11
-4
ChildSkuTO.java
...mail/yanxuan/change/integration/item/meta/ChildSkuTO.java
+37
-0
MultiMediaDetailTO.java
...xuan/change/integration/item/meta/MultiMediaDetailTO.java
+58
-0
PolicyTO.java
...e/mail/yanxuan/change/integration/item/meta/PolicyTO.java
+27
-0
PreSellDetailTO.java
...yanxuan/change/integration/item/meta/PreSellDetailTO.java
+40
-0
QcCategory.java
...mail/yanxuan/change/integration/item/meta/QcCategory.java
+135
-0
QcCategoryVO.java
...il/yanxuan/change/integration/item/meta/QcCategoryVO.java
+40
-0
SkuSpecCombineTO.java
...anxuan/change/integration/item/meta/SkuSpecCombineTO.java
+24
-0
SkuSpecTO.java
.../mail/yanxuan/change/integration/item/meta/SkuSpecTO.java
+39
-0
SkuSpecValueTO.java
.../yanxuan/change/integration/item/meta/SkuSpecValueTO.java
+38
-0
SkuTo.java
...ease/mail/yanxuan/change/integration/item/meta/SkuTo.java
+73
-0
SpuDetailTO.java
...ail/yanxuan/change/integration/item/meta/SpuDetailTO.java
+43
-0
SpuDetailVideoTO.java
...anxuan/change/integration/item/meta/SpuDetailVideoTO.java
+36
-0
SpuIssueTO.java
...mail/yanxuan/change/integration/item/meta/SpuIssueTO.java
+27
-0
SpuPropTO.java
.../mail/yanxuan/change/integration/item/meta/SpuPropTO.java
+36
-0
SpuTO.java
...ease/mail/yanxuan/change/integration/item/meta/SpuTO.java
+87
-0
TagTO.java
...ease/mail/yanxuan/change/integration/item/meta/TagTO.java
+34
-0
BatchQuerySpuInfoParam.java
...change/integration/item/param/BatchQuerySpuInfoParam.java
+39
-0
CommonIdsParamQuery.java
...an/change/integration/item/param/CommonIdsParamQuery.java
+1
-1
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
View file @
aae6b942
...
@@ -41,6 +41,7 @@ import com.netease.mail.yanxuan.change.biz.service.ChangeFlowService;
...
@@ -41,6 +41,7 @@ import com.netease.mail.yanxuan.change.biz.service.ChangeFlowService;
import
com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService
;
import
com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService
;
import
com.netease.mail.yanxuan.change.biz.service.change.ChangeTypeService
;
import
com.netease.mail.yanxuan.change.biz.service.change.ChangeTypeService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.FlowService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.FlowService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.ItemService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.TodoService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.TodoService
;
import
com.netease.mail.yanxuan.change.common.bean.CommonConstants
;
import
com.netease.mail.yanxuan.change.common.bean.CommonConstants
;
import
com.netease.mail.yanxuan.change.common.bean.RequestLocalBean
;
import
com.netease.mail.yanxuan.change.common.bean.RequestLocalBean
;
...
@@ -72,9 +73,14 @@ import com.netease.mail.yanxuan.change.dal.meta.model.vo.BasicChangeFlowVO;
...
@@ -72,9 +73,14 @@ import com.netease.mail.yanxuan.change.dal.meta.model.vo.BasicChangeFlowVO;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowExecVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowExecVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowListVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowListVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ItemBasicInfoVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ItemVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ItemVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.PageVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.PageVO
;
import
com.netease.mail.yanxuan.change.integration.excel.ChangeFlowExcelDTO
;
import
com.netease.mail.yanxuan.change.integration.excel.ChangeFlowExcelDTO
;
import
com.netease.mail.yanxuan.change.integration.item.SimplePhyCateGoryResultCo
;
import
com.netease.mail.yanxuan.change.integration.item.meta.SpuTO
;
import
com.netease.mail.yanxuan.change.integration.item.param.BatchQuerySpuInfoParam
;
import
com.netease.mail.yanxuan.change.integration.item.param.CommonIdsParamQuery
;
import
com.netease.mail.yanxuan.change.integration.todo.TaskCreateDTO
;
import
com.netease.mail.yanxuan.change.integration.todo.TaskCreateDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.base.UserBaseDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.base.UserBaseDTO
;
...
@@ -122,6 +128,8 @@ public class ChangeFlowBiz {
...
@@ -122,6 +128,8 @@ public class ChangeFlowBiz {
@Autowired
@Autowired
private
TodoService
todoService
;
private
TodoService
todoService
;
@Autowired
private
ItemService
itemService
;
public
String
createAndSubmit
(
ChangeFlowCreateReq
changeFlowCreateReq
)
{
public
String
createAndSubmit
(
ChangeFlowCreateReq
changeFlowCreateReq
)
{
String
uid
=
RequestLocalBean
.
getUid
();
String
uid
=
RequestLocalBean
.
getUid
();
...
@@ -547,6 +555,8 @@ public class ChangeFlowBiz {
...
@@ -547,6 +555,8 @@ public class ChangeFlowBiz {
ChangeFlowVO
changeFlowVO
=
new
ChangeFlowVO
();
ChangeFlowVO
changeFlowVO
=
new
ChangeFlowVO
();
changeFlowVO
.
setId
(
changeRecord
.
getId
());
changeFlowVO
.
setId
(
changeRecord
.
getId
());
changeFlowVO
.
setFlowId
(
changeRecord
.
getFlowId
());
changeFlowVO
.
setFlowId
(
changeRecord
.
getFlowId
());
changeFlowVO
.
setParentChangeClassId
(
changeRecord
.
getParentChangeClassId
());
changeFlowVO
.
setSonChangeClassId
(
changeFlowVO
.
getSonChangeClassId
());
changeFlowVO
.
setChangeSubject
(
changeRecord
.
getChangeSubject
());
changeFlowVO
.
setChangeSubject
(
changeRecord
.
getChangeSubject
());
ChangeType
parentChangeType
=
changeTypeService
.
getChangeTypeById
(
changeRecord
.
getParentChangeClassId
());
ChangeType
parentChangeType
=
changeTypeService
.
getChangeTypeById
(
changeRecord
.
getParentChangeClassId
());
if
(
parentChangeType
==
null
)
{
if
(
parentChangeType
==
null
)
{
...
@@ -571,7 +581,23 @@ public class ChangeFlowBiz {
...
@@ -571,7 +581,23 @@ public class ChangeFlowBiz {
changeFlowVO
.
setChangeProfitDesc
(
changeRecord
.
getChangeProfitDesc
());
changeFlowVO
.
setChangeProfitDesc
(
changeRecord
.
getChangeProfitDesc
());
String
itemJsonStr
=
changeRecord
.
getChangeItem
();
String
itemJsonStr
=
changeRecord
.
getChangeItem
();
if
(
StringUtils
.
isNotBlank
(
itemJsonStr
))
{
if
(
StringUtils
.
isNotBlank
(
itemJsonStr
))
{
changeFlowVO
.
setChangeItems
(
JSON
.
parseArray
(
itemJsonStr
,
ItemVO
.
class
));
List
<
ItemVO
>
itemList
=
JSON
.
parseArray
(
itemJsonStr
,
ItemVO
.
class
);
changeFlowVO
.
setChangeItems
(
itemList
);
// 变更结果确认节点,展示变更商品基础信息
String
flowNode
=
changeRecord
.
getFlowNode
();
if
(
ChangeFlowEnum
.
CHANGE_FLOW_CONFIRM
.
getNodeId
().
equals
(
flowNode
))
{
List
<
Long
>
itemIds
=
itemList
.
stream
().
map
(
ItemVO:
:
getItemId
).
collect
(
Collectors
.
toList
());
// 批量查询spu信息
List
<
SpuTO
>
spuTOS
=
itemService
.
batchQuerySpuInfo
(
BatchQuerySpuInfoParam
.
builder
().
ids
(
itemIds
)
.
commonProps
(
new
ArrayList
<>()).
spuProps
(
new
ArrayList
<>()).
build
());
// 批量查询物理类目
Map
<
Long
,
List
<
SimplePhyCateGoryResultCo
>>
categoryChain
=
itemService
.
queryBySpuIds
(
CommonIdsParamQuery
.
builder
().
ids
(
itemIds
).
build
());
// 批量查询品控类目
List
<
ItemBasicInfoVO
>
itemBasicInfoVOList
=
new
ArrayList
<>();
}
}
}
changeFlowVO
.
setChangeState
(
changeRecord
.
getState
());
changeFlowVO
.
setChangeState
(
changeRecord
.
getState
());
changeFlowVO
.
setChangeCreator
(
changeRecord
.
getCreator
());
changeFlowVO
.
setChangeCreator
(
changeRecord
.
getCreator
());
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/rpc/FlowService.java
View file @
aae6b942
...
@@ -149,5 +149,6 @@ public class FlowService {
...
@@ -149,5 +149,6 @@ public class FlowService {
approverDTO
.
setRemark
(
remark
);
approverDTO
.
setRemark
(
remark
);
approverDTO
.
setContent
(
content
);
approverDTO
.
setContent
(
content
);
approverDTO
.
setOperateResult
(
FlowxOperationEnum
.
DELIVER
.
getName
());
approverDTO
.
setOperateResult
(
FlowxOperationEnum
.
DELIVER
.
getName
());
};
flowRpcService
.
updateApprovers
(
CommonConstants
.
FLOWX_PRODUCT
,
approverDTO
);
}
}
}
\ No newline at end of file
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/rpc/Item
Rpc
Service.java
→
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/rpc/ItemService.java
View file @
aae6b942
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
*/
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
biz
.
service
.
rpc
;
package
com
.
netease
.
mail
.
yanxuan
.
change
.
biz
.
service
.
rpc
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -15,9 +16,11 @@ import org.springframework.stereotype.Component;
...
@@ -15,9 +16,11 @@ import org.springframework.stereotype.Component;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.integration.item.CommonIdsParamQuery
;
import
com.netease.mail.yanxuan.change.integration.item.ItemRpcService
;
import
com.netease.mail.yanxuan.change.integration.item.ItemCategoryRpcService
;
import
com.netease.mail.yanxuan.change.integration.item.SimplePhyCateGoryResultCo
;
import
com.netease.mail.yanxuan.change.integration.item.SimplePhyCateGoryResultCo
;
import
com.netease.mail.yanxuan.change.integration.item.meta.SpuTO
;
import
com.netease.mail.yanxuan.change.integration.item.param.BatchQuerySpuInfoParam
;
import
com.netease.mail.yanxuan.change.integration.item.param.CommonIdsParamQuery
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -27,25 +30,44 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -27,25 +30,44 @@ import lombok.extern.slf4j.Slf4j;
*/
*/
@Slf4j
@Slf4j
@Component
@Component
public
class
Item
Rpc
Service
{
public
class
ItemService
{
@Autowired
@Autowired
private
Item
CategoryRpcService
itemCategory
RpcService
;
private
Item
RpcService
item
RpcService
;
/**
/**
* 查询物理类目
* 查询物理类目
*
* @param query
* @param query
* @return
* @return
* key: 商品id,value:商品的物理类目
*/
*/
public
Map
<
Long
,
List
<
SimplePhyCateGoryResultCo
>>
queryCategoryChain
(
CommonIdsParamQuery
query
)
{
public
Map
<
Long
,
List
<
SimplePhyCateGoryResultCo
>>
queryBySpuIds
(
CommonIdsParamQuery
query
)
{
AjaxResult
<
Map
<
Long
,
List
<
SimplePhyCateGoryResultCo
>>>
response
=
itemCategoryRpcService
.
queryCategoryChain
(
query
);
log
.
info
(
"[ItemRpcService-queryCategoryChain] request of query={}"
,
JSON
.
toJSONString
(
query
));
AjaxResult
<
Map
<
Long
,
List
<
SimplePhyCateGoryResultCo
>>>
response
=
itemRpcService
.
queryBySpuIds
(
query
);
log
.
info
(
"[ItemRpcService-queryCategoryChain] response of query queryCategoryChain ={}"
,
log
.
info
(
"[ItemRpcService-queryCategoryChain] response of query queryCategoryChain ={}"
,
JSON
.
toJSONString
(
response
));
JSON
.
toJSONString
(
response
));
if
(
Boolean
.
TRUE
.
equals
(
response
.
isSuccess
()))
{
if
(
Boolean
.
TRUE
.
equals
(
response
.
isSuccess
()))
{
return
response
.
getData
();
return
response
.
getData
();
}
}
log
.
error
(
"[op:rpc-queryCategoryChain] query categoryChain detail failed, query={}, errMsg={}"
,
query
,
log
.
error
(
"[op:rpc-queryCategoryChain] query categoryChain detail failed, query={}, errMsg={}"
,
query
,
response
.
getMsg
());
response
.
getMsg
());
return
new
HashMap
<>();
return
new
HashMap
<>();
}
}
}
\ No newline at end of file
public
List
<
SpuTO
>
batchQuerySpuInfo
(
BatchQuerySpuInfoParam
query
)
{
log
.
info
(
"[ItemRpcService-batchQuerySpuInfo] request of query={}"
,
JSON
.
toJSONString
(
query
));
AjaxResult
<
List
<
SpuTO
>>
response
=
itemRpcService
.
batchQuerySpuInfo
(
query
);
log
.
info
(
"[ItemRpcService-batchQuerySpuInfo] response of query batchQuerySpuInfo ={}"
,
JSON
.
toJSONString
(
response
));
if
(
Boolean
.
TRUE
.
equals
(
response
.
isSuccess
()))
{
return
response
.
getData
();
}
log
.
error
(
"[op:rpc-batchQuerySpuInfo] query batchQuerySpuInfo failed, query={}, errMsg={}"
,
query
,
response
.
getMsg
());
return
new
ArrayList
<>();
}
}
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/meta/model/vo/ChangeFlowVO.java
View file @
aae6b942
...
@@ -37,6 +37,17 @@ public class ChangeFlowVO {
...
@@ -37,6 +37,17 @@ public class ChangeFlowVO {
* 工单id
* 工单id
*/
*/
private
Long
flowId
;
private
Long
flowId
;
/**
* 一级变更类型id
*/
private
Long
parentChangeClassId
;
/**
* 二级变更类型id
*/
private
Long
sonChangeClassId
;
/**
/**
* 变更主体
* 变更主体
* @see ChangeSubjectEnum
* @see ChangeSubjectEnum
...
...
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/flow/FlowRpcService.java
View file @
aae6b942
...
@@ -13,11 +13,13 @@ import org.springframework.stereotype.Service;
...
@@ -13,11 +13,13 @@ import org.springframework.stereotype.Service;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse
;
import
com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.flow.FlowCreateReqDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.flow.FlowCreateReqDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.flow.NodeSubmitReqDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.flow.NodeSubmitReqDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.flow.UpdateNodeApproverDTO
;
import
com.netease.yanxuan.missa.client.annotation.MissaClient
;
import
com.netease.yanxuan.missa.client.annotation.MissaClient
;
/**
/**
...
@@ -38,6 +40,12 @@ public interface FlowRpcService {
...
@@ -38,6 +40,12 @@ public interface FlowRpcService {
@PostMapping
(
value
=
"/{product}/workOrderFlow/v1/create"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
@PostMapping
(
value
=
"/{product}/workOrderFlow/v1/create"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
AjaxResponse
<
String
>
create
(
@PathVariable
(
"product"
)
String
product
,
FlowCreateReqDTO
req
);
AjaxResponse
<
String
>
create
(
@PathVariable
(
"product"
)
String
product
,
FlowCreateReqDTO
req
);
/**
* 工单详情查询
* @param flowxProduct
* @param flowId
* @return
*/
@GetMapping
(
value
=
"/{product}/workOrder/v1/{flowId}/detail"
)
@GetMapping
(
value
=
"/{product}/workOrder/v1/{flowId}/detail"
)
AjaxResponse
<
FlowDataDTO
>
getDetail
(
@PathVariable
(
"product"
)
String
flowxProduct
,
AjaxResponse
<
FlowDataDTO
>
getDetail
(
@PathVariable
(
"product"
)
String
flowxProduct
,
@PathVariable
(
"flowId"
)
String
flowId
);
@PathVariable
(
"flowId"
)
String
flowId
);
...
@@ -51,4 +59,12 @@ public interface FlowRpcService {
...
@@ -51,4 +59,12 @@ public interface FlowRpcService {
*/
*/
@PostMapping
(
value
=
"/{product}/workOrderFlow/v1/submit"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
@PostMapping
(
value
=
"/{product}/workOrderFlow/v1/submit"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
AjaxResponse
<
List
<
String
>>
submit
(
@PathVariable
(
"product"
)
String
flowxProduct
,
NodeSubmitReqDTO
nodeSubmitReqDTO
);
AjaxResponse
<
List
<
String
>>
submit
(
@PathVariable
(
"product"
)
String
flowxProduct
,
NodeSubmitReqDTO
nodeSubmitReqDTO
);
/**
* 更新待办负责人
* @param flowxProduct
* @param approverDTO
*/
@PutMapping
(
value
=
"/{product}/workOrderFlow/v1/approvers/update"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
void
updateApprovers
(
@PathVariable
(
"product"
)
String
flowxProduct
,
UpdateNodeApproverDTO
approverDTO
);
}
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/Item
Category
RpcService.java
→
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/ItemRpcService.java
View file @
aae6b942
...
@@ -14,6 +14,9 @@ import org.springframework.stereotype.Service;
...
@@ -14,6 +14,9 @@ import org.springframework.stereotype.Service;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.integration.item.meta.SpuTO
;
import
com.netease.mail.yanxuan.change.integration.item.param.BatchQuerySpuInfoParam
;
import
com.netease.mail.yanxuan.change.integration.item.param.CommonIdsParamQuery
;
import
com.netease.yanxuan.missa.client.annotation.MissaClient
;
import
com.netease.yanxuan.missa.client.annotation.MissaClient
;
/**
/**
...
@@ -21,14 +24,17 @@ import com.netease.yanxuan.missa.client.annotation.MissaClient;
...
@@ -21,14 +24,17 @@ import com.netease.yanxuan.missa.client.annotation.MissaClient;
* @Date 2022/11/30
* @Date 2022/11/30
*/
*/
@Service
@Service
@MissaClient
(
serviceCode
=
"ic-basis"
,
path
=
"/category"
)
@MissaClient
(
serviceCode
=
"ic-basis"
)
public
interface
Item
Category
RpcService
{
public
interface
ItemRpcService
{
/**
/**
* 批量查询商品分类物理类目链
* 批量查询商品分类物理类目链
* @param query
* @param query
* @return
* @return
*/
*/
@PostMapping
(
value
=
"/phy/queryChainByIds"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
@PostMapping
(
value
=
"/spu/phy/queryBySpuIds"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
AjaxResult
<
Map
<
Long
,
List
<
SimplePhyCateGoryResultCo
>>>
queryCategoryChain
(
CommonIdsParamQuery
query
);
AjaxResult
<
Map
<
Long
,
List
<
SimplePhyCateGoryResultCo
>>>
queryBySpuIds
(
CommonIdsParamQuery
query
);
@PostMapping
(
value
=
"/spu/queryByIds"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
AjaxResult
<
List
<
SpuTO
>>
batchQuerySpuInfo
(
BatchQuerySpuInfoParam
query
);
}
}
\ No newline at end of file
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/ChildSkuTO.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author jmt
* @Date 2021/6/7
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
ChildSkuTO
{
//父sku id
private
long
superSkuId
;
//子sku id
private
long
childSkuId
;
//商品id
private
long
spuId
;
//商品名称
private
String
spuName
;
//商品昵称/销售名称
private
String
spuNickName
;
//sku下的规格值展示字符串
private
String
specValueDisplayString
;
//子sku数量
private
int
num
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/MultiMediaDetailTO.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
java.util.List
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author jmt
* @Date 2021/6/7
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
MultiMediaDetailTO
{
/**
* 透底图(原商品主图)
*/
private
String
primaryPicUrl
;
/**
* listPicUrl
*/
private
String
listPicUrl
;
/**
* scenePicUrl
*/
private
String
scenePicUrl
;
/**
* 详情页图列表
*/
private
List
<
String
>
detailPicUrls
;
/**
* 质检报告图列表
*/
private
List
<
String
>
reportPicUrls
;
/**
* 商品详情页头图视频Json对象
*/
private
SpuDetailVideoTO
videoInfo
;
/**
* 放大透底图
*/
private
String
zoomTransPicUrl
;
/**
* 放大透底图
*/
private
String
zoomTransPicV2Url
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/PolicyTO.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author jmt
* @Date 2021/6/7
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
PolicyTO
{
private
long
id
;
//标题
private
String
title
;
//内容
private
String
content
;
//是否强制勾选 0-否 1-是
private
int
defaultChecked
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/PreSellDetailTO.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author jmt
* @Date 2021/6/7
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
PreSellDetailTO
{
//预售ID
private
long
preSellId
;
//SKU ID
private
long
skuId
;
//预售开始时间
private
long
startTime
;
//预售结束时间
private
long
endTime
;
//0-待预售 1-预售中 2 预售结束
private
int
status
;
//是否已确认发货
private
boolean
deliverConfirmed
;
//预计发货日期,UNIX时间戳,当前(2020年6月)精确到日期,取到日期即可
private
long
deliverDate
;
//预售数据版本号,2020年6月预售接入库存中心后版本为1,在此之前为0
private
int
version
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/QcCategory.java
0 → 100644
View file @
aae6b942
/**
* @(#)QcCategory.java, 2022/11/30.
* <p/>
* Copyright 2022 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
java.io.Serializable
;
/**
* @Author zcwang
* @Date 2022/11/30
*/
public
class
QcCategory
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1862762370395334378L
;
/**
* 主键id
*/
private
Long
id
;
/**
* 类目名称
*/
private
String
categoryName
;
/**
* 类目说明
*/
private
String
categoryDesc
;
/**
* 等级
*/
private
Integer
categoryLevel
;
/**
* 上级id
*/
private
Long
parentId
;
/**
* 创建时间
*/
private
Long
createTime
;
/**
* 修改时间
*/
private
Long
modifyTime
;
/**
* 创建人uid
*/
private
String
creator
;
/**
* 最后编辑人uid
*/
private
String
updator
;
public
Long
getId
()
{
return
id
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
String
getCategoryName
()
{
return
categoryName
;
}
public
void
setCategoryName
(
String
categoryName
)
{
this
.
categoryName
=
categoryName
;
}
public
String
getCategoryDesc
()
{
return
categoryDesc
;
}
public
void
setCategoryDesc
(
String
categoryDesc
)
{
this
.
categoryDesc
=
categoryDesc
;
}
public
Integer
getCategoryLevel
()
{
return
categoryLevel
;
}
public
void
setCategoryLevel
(
Integer
categoryLevel
)
{
this
.
categoryLevel
=
categoryLevel
;
}
public
Long
getParentId
()
{
return
parentId
;
}
public
void
setParentId
(
Long
parentId
)
{
this
.
parentId
=
parentId
;
}
public
Long
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Long
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Long
getModifyTime
()
{
return
modifyTime
;
}
public
void
setModifyTime
(
Long
modifyTime
)
{
this
.
modifyTime
=
modifyTime
;
}
public
String
getCreator
()
{
return
creator
;
}
public
void
setCreator
(
String
creator
)
{
this
.
creator
=
creator
;
}
public
String
getUpdator
()
{
return
updator
;
}
public
void
setUpdator
(
String
updator
)
{
this
.
updator
=
updator
;
}
}
\ No newline at end of file
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/QcCategoryVO.java
0 → 100644
View file @
aae6b942
/**
* @(#)QcCategoryVO.java, 2022/11/30.
* <p/>
* Copyright 2022 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
java.util.List
;
import
org.springframework.beans.BeanUtils
;
import
com.google.common.collect.Lists
;
/**
* @Author zcwang
* @Date 2022/11/30
*/
public
class
QcCategoryVO
extends
QcCategory
{
private
static
final
long
serialVersionUID
=
6925160563010855926L
;
private
List
<
QcCategoryVO
>
children
;
public
QcCategoryVO
()
{
}
public
static
QcCategoryVO
init
(
QcCategory
qcCategory
)
{
QcCategoryVO
qcCategoryVO
=
new
QcCategoryVO
();
BeanUtils
.
copy
(
qcCategory
,
qcCategoryVO
);
qcCategoryVO
.
setChildren
(
Lists
.
newArrayList
());
return
qcCategoryVO
;
}
public
List
<
QcCategoryVO
>
getChildren
()
{
return
children
;
}
public
void
setChildren
(
List
<
QcCategoryVO
>
children
)
{
this
.
children
=
children
;
}
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/SkuSpecCombineTO.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author jmt
* @Date 2021/6/7
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
SkuSpecCombineTO
{
private
long
id
;
private
long
skuId
;
private
long
skuSpecId
;
private
long
skuSpecValueId
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/SkuSpecTO.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
java.util.List
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author jmt
* @Date 2021/6/7
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
SkuSpecTO
{
//主键
private
long
id
;
//规格名称
private
String
name
;
//前台显示用的名称
private
String
frontDesc
;
//规格类型: 0-文字;1-图片
private
int
type
;
//显示顺序
private
int
viewOrder
;
//是否在详情页隐藏,默认false-不隐藏
private
boolean
firstHideFlag
;
//规格值列表
private
List
<
SkuSpecValueTO
>
specValueList
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/SkuSpecValueTO.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author jmt
* @Date 2021/6/7
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
SkuSpecValueTO
{
private
long
id
;
/**
* 所属的规格
*/
private
long
skuSpecId
;
/**
* 显示顺序
*/
private
int
viewOrder
;
/**
* 值
*/
private
String
value
;
/**
* 规格图片url
*/
private
String
picUrl
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/SkuTo.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.Map
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author jmt
* @Date 2021/6/7
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
SkuTo
{
//ID
private
Long
id
;
//SPU ID
private
Long
spuId
;
//sku展示名
private
String
displayName
;
//sku图片
private
String
picUrl
;
//是否是主sku
private
boolean
primarySku
;
//是否是组合装:0-否;1-是
private
int
isCombine
;
//是否启用过:0-否;1-是
private
int
isUsed
;
//商品原始销售价,不会因单品变价活动而变动
private
BigDecimal
retailPrice
;
//仓库id
private
long
storeHouseId
;
//商品条码
private
List
<
String
>
barCodeList
;
private
long
operationAttribute
;
//0-关闭;1-开启;2-作废(对应原invalid=1)
private
int
status
;
//SKU描述(目前仅定制商品使用)
private
String
skuDesc
;
//SKU规格构成对象
private
List
<
SkuSpecCombineTO
>
skuSpecCombine
;
//SPU对象,查询参数增加spu时有值
private
SpuTO
spu
;
private
Map
<
String
,
String
>
propertyMap
;
//子SKU信息
private
List
<
ChildSkuTO
>
childSkuList
;
//预售详情
private
PreSellDetailTO
preSellDetail
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/SpuDetailTO.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
java.util.List
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author jmt
* @Date 2021/6/7
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
SpuDetailTO
{
/**
* SPU ID
*/
private
long
id
;
/**
* 商品短链
*/
private
String
shortUrl
;
/**
* seo描述信息
*/
private
String
seoDesc
;
/**
* 详情页html
*/
private
String
detailHtml
;
/**
* 商详展示的SPU前台属性,null或者空表示没有
*/
private
List
<
SpuPropTO
>
frontSpuPropList
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/SpuDetailVideoTO.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author jmt
* @Date 2021/6/7
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
SpuDetailVideoTO
{
/**
* 商品详情页头图MP4视频
*/
private
String
mp4VideoUrl
;
/**
* 商品详情页头图MP4视频大小
*/
private
long
mp4VideoSize
;
/**
* 商品详情页头图WEBM视频
*/
private
String
webmVideoUrl
;
/**
* 商品详情页头图WEBM视频大小
*/
private
long
webmVideoSize
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/SpuIssueTO.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author jmt
* @Date 2021/6/7
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
SpuIssueTO
{
private
long
id
;
//0-商品配置;1-通用问题
private
long
type
;
private
String
question
;
private
String
answer
;
private
int
rank
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/SpuPropTO.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author jmt
* @Date 2021/6/7
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
SpuPropTO
{
/**
* 商品id
*/
private
Long
itemId
;
/**
* 属性名
*/
private
String
attrName
;
/**
* 属性值
*/
private
String
attrValue
;
/**
* 属性排序
*/
private
int
showIndex
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/SpuTO.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.Map
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
SpuTO
{
//商品ID
private
long
id
;
//商品名
private
String
name
;
//商品销售标题
private
String
nickName
;
// itemType http://yx.mail.netease.com/wiki#/doc/791608
private
int
itemType
;
//商品状态 0,1:未上架 2:已上架 4:预上架
private
int
status
;
//主skuId
private
long
primarySkuId
;
//商品零售价,如果商品未设置主SKU,售价为null
private
BigDecimal
retailPrice
;
//商品描述
private
String
simpleDesc
;
//上架时间
private
long
onSaleTime
;
//更新时间
private
long
updateTime
;
//款式信息,X件装可选
private
int
pieceNum
;
//pieceNum的单位描述
private
String
pieceUnitDesc
;
//款式信息,X色可选
private
int
colorNum
;
//产地
private
String
productPlace
;
//商品中心发布状态:0:草稿;1:未发布 2:已发布(仅在已发布情况下各渠道可以进行售卖)3:作废
private
int
icStatus
;
//商品多媒体信息
private
MultiMediaDetailTO
mediaDetail
;
//SPU详情信息
private
SpuDetailTO
detail
;
//SPU关联的SKU列表
private
List
<
SkuTo
>
skuList
;
//SPU关联的规格信息列表
private
List
<
SkuSpecTO
>
specList
;
//商品常见问题列表
private
List
<
SpuIssueTO
>
issueList
;
//标签列表(当前仅有制造商标签)
private
List
<
TagTO
>
tagList
;
//服务政策列表
private
List
<
PolicyTO
>
policyList
;
//SPU属性集合,值范围和内容
private
Map
<
String
,
String
>
propertyMap
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/meta/TagTO.java
0 → 100644
View file @
aae6b942
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
meta
;
import
java.util.List
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author jmt
* @Date 2021/6/7
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public
class
TagTO
{
private
long
id
;
//标签所属类目id
private
long
categoryId
;
//标签所属类名
private
String
categoryName
;
//名称
private
String
name
;
//排序号
private
int
showIndex
;
private
List
<
Long
>
spuIds
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/param/BatchQuerySpuInfoParam.java
0 → 100644
View file @
aae6b942
/**
* @(#)BatchQuerySpuInfoParam.java, 2022/11/30.
* <p/>
* Copyright 2022 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
param
;
import
java.util.List
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author zcwang
* @Date 2022/11/30
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
BatchQuerySpuInfoParam
{
/**
* id列表,上限200
*/
private
List
<
Long
>
ids
;
/**
* 常规属性
*/
private
List
<
String
>
commonProps
;
/**
* 额外需要查询的
*/
private
List
<
String
>
spuProps
;
}
\ No newline at end of file
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/CommonIdsParamQuery.java
→
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/item/
param/
CommonIdsParamQuery.java
View file @
aae6b942
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
* Copyright 2022 Netease, Inc. All rights reserved.
* Copyright 2022 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
;
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
item
.
param
;
import
java.util.List
;
import
java.util.List
;
...
...
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