Commit b1fa65e2 by “zcwang”

modify: 查询商品负责人

parent 038e4fce
...@@ -22,6 +22,7 @@ import com.netease.mail.yanxuan.change.biz.config.AppConfig; ...@@ -22,6 +22,7 @@ import com.netease.mail.yanxuan.change.biz.config.AppConfig;
import com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory; import com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory;
import com.netease.mail.yanxuan.change.biz.service.InteriorChangeConfigService; import com.netease.mail.yanxuan.change.biz.service.InteriorChangeConfigService;
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.rpc.ItemcenterRpcService;
import com.netease.mail.yanxuan.change.common.bean.ResponseCode; 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.ChangeCommanderEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangePrincipalEnum; import com.netease.mail.yanxuan.change.common.enums.ChangePrincipalEnum;
...@@ -37,6 +38,7 @@ import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsPurchaseRpc; ...@@ -37,6 +38,7 @@ 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.GoodsResponseRpc;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseSqeRpc; import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseSqeRpc;
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.integration.flow.goods.ItemManagerTO;
import com.netease.mail.yanxuan.change.integration.flow.goods.ItemcenterApiRpcService; 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.PfuApiRpcService;
import com.netease.mail.yanxuan.change.integration.flow.goods.QcApiRpcService; import com.netease.mail.yanxuan.change.integration.flow.goods.QcApiRpcService;
...@@ -81,6 +83,9 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -81,6 +83,9 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
@Autowired @Autowired
private FlowRpcSupplierInfoService supplierInfoService; private FlowRpcSupplierInfoService supplierInfoService;
@Autowired
private ItemcenterRpcService itemcenterRpcService;
/** /**
* 接口不完整,关于商品的查询已经完成 供应商查询不完整接口已对接 具体返回值接口测试未完成 * 接口不完整,关于商品的查询已经完成 供应商查询不完整接口已对接 具体返回值接口测试未完成
* *
...@@ -151,9 +156,9 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -151,9 +156,9 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//遍历取出所有商品关联的人 //遍历取出所有商品关联的人
if (ChangePrincipalEnum.GOODS_BU.getName().equals(commander)) { if (ChangePrincipalEnum.GOODS_BU.getName().equals(commander)) {
String detail = itemcenterApiRpcService.getDetail(goodsInfos); List<ItemManagerTO> product = itemcenterRpcService.getProduct(goodsInfos);
logger.info("[queryGoodsCommander] goods_bu:{}", detail); logger.info("[queryGoodsCommander] goods_bu:{}", product);
getGoodsNameEmail(emails, detail); getGoodsEmail(emails, product);
} else if (ChangePrincipalEnum.PURCHASE.getName().equals(commander)) { } else if (ChangePrincipalEnum.PURCHASE.getName().equals(commander)) {
//采购返回值处理逻辑 //采购返回值处理逻辑
...@@ -273,6 +278,19 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -273,6 +278,19 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
} }
} }
/**
* 获取商品负责人信息
* @param emails
*/
private void getGoodsEmail(List<GoodsResponseRpc> emails, List<ItemManagerTO> itemManagerTOS) {
for (ItemManagerTO itemManagerTO : itemManagerTOS) {
GoodsResponseRpc goodsRpc = new GoodsResponseRpc();
goodsRpc.setEmail(itemManagerTO.getUid());
goodsRpc.setName(itemManagerTO.getName());
emails.add(goodsRpc);
}
}
@Override @Override
public Map<Long, ChangeGoodsPrincipalPO> queryGoodsPrincipalInfo(List<Long> itemIds) { public Map<Long, ChangeGoodsPrincipalPO> queryGoodsPrincipalInfo(List<Long> itemIds) {
Map<Long, ChangeGoodsPrincipalPO> map = new HashMap<>(); Map<Long, ChangeGoodsPrincipalPO> map = new HashMap<>();
...@@ -280,9 +298,9 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -280,9 +298,9 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
map.put(itemId, new ChangeGoodsPrincipalPO()); map.put(itemId, new ChangeGoodsPrincipalPO());
} }
//商品BU //商品BU
String functionary = itemcenterApiRpcService.getDetail(itemIds); List<ItemManagerTO> product = itemcenterRpcService.getProduct(itemIds);
logger.info("[queryGoodsPrincipalInfo] functionary:{}", functionary); logger.info("[queryGoodsPrincipalInfo] product:{}", product);
getGoodsPrincipalNameEmail(ChangePrincipalEnum.GOODS_BU.getType(), map, functionary); // todo:组装商品开发
//计划 //计划
String project = pfuApiRpcService.getDetail(itemIds); String project = pfuApiRpcService.getDetail(itemIds);
logger.info("[queryGoodsPrincipalInfo] project:{}", project); logger.info("[queryGoodsPrincipalInfo] project:{}", project);
......
/**
* @(#)ItemcenterRpcService.java, 2023/1/6.
* <p/>
* Copyright 2023 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package com.netease.mail.yanxuan.change.biz.service.rpc;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists;
import com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory;
import com.netease.mail.yanxuan.change.common.bean.ResponseCode;
import com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum;
import com.netease.mail.yanxuan.change.integration.flow.goods.ItemManagerTO;
import com.netease.mail.yanxuan.change.integration.flow.goods.ItemcenterApiRpcService;
import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse;
import lombok.extern.slf4j.Slf4j;
/**
* @Author zcwang
* @Date 2023/1/6
*/
@Component
@Slf4j
public class ItemcenterRpcService {
@Autowired
private ItemcenterApiRpcService itemcenterApiRpcService;
public List<ItemManagerTO> getProduct(List<Long> itemIds) {
List<ItemManagerTO> itemManagerTOS = new ArrayList<>();
List<List<Long>> partition = Lists.partition(itemIds, 200);
for (List<Long> list : partition) {
String collect = StringUtils.join(list, ",");
AjaxResponse<List<ItemManagerTO>> response = itemcenterApiRpcService.getProduct("qc", collect);
if (ResponseCodeEnum.SUCCESS.getCode() == response.getCode()) {
log.info("[getProduct] itemManagerTOS={}", JSON.toJSONString(itemManagerTOS));
if (CollectionUtils.isNotEmpty(response.getData())) {
itemManagerTOS.addAll(response.getData());
}
} else {
log.error("[getProduct] get Product detail failed, query={}, errMsg={}", JSON.toJSONString(itemIds),
JSON.toJSONString(response));
throw ExceptionFactory.createBiz(ResponseCode.DETAIL_FLOW_ERROR, "查询工单详情错误");
}
}
return itemManagerTOS;
}
}
\ No newline at end of file
/**
* @(#)ItemManagerTO.java, 2023/1/6.
* <p/>
* Copyright 2023 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package com.netease.mail.yanxuan.change.integration.flow.goods;
import lombok.Data;
/**
* @Author zcwang
* @Date 2023/1/6
*/
@Data
public class ItemManagerTO {
/**
* 邮箱账号
*/
private String uid;
/**
* 用户名
*/
private String name;
/**
* 商品id
*/
private Long itemId;
}
\ No newline at end of file
package com.netease.mail.yanxuan.change.integration.flow.goods; package com.netease.mail.yanxuan.change.integration.flow.goods;
import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse;
import com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO;
import com.netease.yanxuan.missa.client.annotation.MissaClient; import com.netease.yanxuan.missa.client.annotation.MissaClient;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
/** /**
...@@ -24,6 +29,9 @@ public interface ItemcenterApiRpcService { ...@@ -24,6 +29,9 @@ public interface ItemcenterApiRpcService {
@PostMapping(value = "/yxicadmin/api/xhr/item/group/itemIds.json") @PostMapping(value = "/yxicadmin/api/xhr/item/group/itemIds.json")
String getDetail(@RequestBody List<Long> goodsId); String getDetail(@RequestBody List<Long> goodsId);
@GetMapping(value = "/yxicadmin/api/xhr/item/queryManagers")
AjaxResponse<List<ItemManagerTO>> getProduct(@RequestParam(value = "product") String product, @RequestParam(value = "itemIds") String itemIds);
/* /*
* 调用案例 * 调用案例
SupplierSendEmailReq req = new SupplierSendEmailReq(); SupplierSendEmailReq req = new SupplierSendEmailReq();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment