feature 1.增加导入客商信息的接口

release
zhenghaiyang@ele-cloud.com 2 years ago
parent 4b1ddc0efe
commit 9314235053
  1. 71
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/buyer/domain/BuyerEntityExcel.java
  2. 25
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/buyer/domain/BuyerEntityYhItemExcel.java
  3. 61
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityCodeController.java
  4. 1
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/ISDEnregyService.java
  5. 46
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java

@ -0,0 +1,71 @@
package com.dxhy.order.consumer.modules.buyer.domain;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
@Data
public class BuyerEntityExcel {
// 主编码的值
@ExcelProperty("CODE")
private String CODE;
// 业务伙伴全称的值
@ExcelProperty("DESC1")
private String DESC1;
// 法人代表的值
@ExcelProperty("DESC12")
private String DESC12;
// 统一社会信用代码(税号)的值
@ExcelProperty("DESC14")
private String DESC14;
// 省份的值
@ExcelProperty("DESC22")
private String DESC22;
// 城市的值
@ExcelProperty("DESC23")
private String DESC23;
// 街道/门牌号的值
@ExcelProperty("DESC24")
private String DESC24;
// 公司电话的值
@ExcelProperty("DESC26")
private String DESC26;
// 手机号
@ExcelProperty("DESC27")
private String DESC27;
// 邮箱
@ExcelProperty("DESC29")
private String DESC29;
// 是否客户的值
@ExcelProperty("DESC38")
private String DESC38;
// 是否供应商的值
@ExcelProperty("DESC39")
private String DESC39;
// 开票名称的值
@ExcelProperty("DESC48")
private String DESC48;
// 开票税号的值
@ExcelProperty("DESC49")
private String DESC49;
@ExcelIgnore
@JSONField(name = "MULTICODE")
private BuyerEntityYhItemExcel MULTICODE;
}

@ -0,0 +1,25 @@
package com.dxhy.order.consumer.modules.buyer.domain;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class BuyerEntityYhItemExcel {
// 银行名称的值
@ExcelProperty("DESC3")
private String DESC3;
// 银行账号的值
@ExcelProperty("DESC4")
private String DESC4;
// 节点编码的值
@ExcelProperty("LISTCODE")
private String LISTCODE;
// A4
@ExcelIgnore
private String SPECIALITYCODE;
@ExcelProperty("CODEID")
private String CODEID;
}

@ -3,11 +3,16 @@ package com.dxhy.order.consumer.modules.commodity.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.order.baseservice.module.base.service.BaseService;
import com.dxhy.order.consumer.modules.buyer.domain.BuyerEntityExcel;
import com.dxhy.order.consumer.modules.buyer.domain.BuyerEntityYhItemExcel;
import com.dxhy.order.consumer.modules.commodity.domain.dto.CommodityCodeEntityExcel;
import com.dxhy.order.consumer.modules.commodity.domain.dto.QueryGroupCommodityDTO;
import com.dxhy.order.consumer.modules.commodity.domain.dto.QuoteGroupCommodityDTO;
import com.dxhy.order.consumer.modules.commodity.domain.dto.SyncGroupCommodityDTO;
import com.dxhy.order.consumer.modules.commodity.service.IGroupCommodityCodeService;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmGmfxxtbMulticodeBO;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmGmfxxtbMulticodeValuelistBO;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmGmfxxtbReqBO;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmSyncGroupTaxCodeReqBO;
import com.dxhy.order.consumer.openapi.service.ISDEnregyService;
import com.dxhy.order.model.PageUtils;
@ -22,6 +27,8 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Description 集团物料库
@ -69,7 +76,7 @@ public class GroupCommodityCodeController {
}
@RequestMapping("/uploadGroupCommodityDTO")
public R emailUpload(@RequestParam(value = "file") MultipartFile file) {
public R uploadGroupCommodityDTO(@RequestParam(value = "file") MultipartFile file) {
try {
List<CommodityCodeEntityExcel> entityExcelList = EasyExcel.read(file.getInputStream()).sheet().head(CommodityCodeEntityExcel.class).headRowNumber(1).doReadSync();
log.info("解析的数据:{}", JSONObject.toJSONString(entityExcelList));
@ -94,4 +101,56 @@ public class GroupCommodityCodeController {
throw new RuntimeException(e);
}
}
@RequestMapping("/uploadBuyerInfo")
public R uploadBuyerInfo(@RequestParam(value = "file") MultipartFile file) {
try {
List<BuyerEntityExcel> buyerEntityExcels = EasyExcel.read(file.getInputStream()).sheet(0).head(BuyerEntityExcel.class).headRowNumber(1).doReadSync();
List<BuyerEntityYhItemExcel> buyerEntityYhItemExcels = EasyExcel.read(file.getInputStream()).sheet(1).head(BuyerEntityYhItemExcel.class).headRowNumber(1).doReadSync();
log.info("解析的数据:{}", JSONObject.toJSONString(buyerEntityExcels));
if (buyerEntityExcels == null || buyerEntityExcels.isEmpty() || buyerEntityYhItemExcels == null || !buyerEntityYhItemExcels.isEmpty()) {
return R.error("数据解析失败");
}
Map<String, List<BuyerEntityYhItemExcel>> listMap = buyerEntityYhItemExcels.stream().collect(Collectors.groupingBy(BuyerEntityYhItemExcel::getCODEID));
List<MdmGmfxxtbReqBO> reqBOList = Lists.newArrayList();
for (BuyerEntityExcel buyerEntity : buyerEntityExcels) {
MdmGmfxxtbReqBO reqBO = new MdmGmfxxtbReqBO();
reqBO.setCODE(buyerEntity.getCODE());
reqBO.setDESC1(buyerEntity.getDESC1());
reqBO.setDESC12(buyerEntity.getDESC12());
reqBO.setDESC14(buyerEntity.getDESC14());
reqBO.setDESC22(buyerEntity.getDESC22());
reqBO.setDESC23(buyerEntity.getDESC23());
reqBO.setDESC24(buyerEntity.getDESC24());
reqBO.setDESC26(buyerEntity.getDESC26());
reqBO.setDESC38(buyerEntity.getDESC38());
reqBO.setDESC39(buyerEntity.getDESC39());
reqBO.setDESC48(buyerEntity.getDESC48());
reqBO.setDESC49(buyerEntity.getDESC49());
reqBO.setDESC27(buyerEntity.getDESC27());
reqBO.setDESC29(buyerEntity.getDESC29());
List<BuyerEntityYhItemExcel> itemExcels = listMap.get(buyerEntity.getCODE());
if (itemExcels != null) {
MdmGmfxxtbMulticodeBO multicodeBO = new MdmGmfxxtbMulticodeBO();
List<MdmGmfxxtbMulticodeValuelistBO> itemExces = Lists.newArrayList();
for (BuyerEntityYhItemExcel itemExcel : itemExcels) {
MdmGmfxxtbMulticodeValuelistBO valuelistBO = new MdmGmfxxtbMulticodeValuelistBO();
valuelistBO.setDESC3(itemExcel.getDESC3());
valuelistBO.setDESC4(itemExcel.getDESC4());
valuelistBO.setLISTCODE(itemExcel.getLISTCODE());
valuelistBO.setSPECIALITYCODE("");
itemExces.add(valuelistBO);
}
multicodeBO.setVALUELIST(itemExces);
reqBO.setMULTICODE(multicodeBO);
}
reqBO.setUUID(baseService.getGenerateShotKey());
reqBOList.add(reqBO);
}
String str = sdEnregyService.syncBuyerMessageService(reqBOList);
return R.ok().put("data",str);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}

@ -65,6 +65,7 @@ public interface ISDEnregyService {
* @return
*/
public R proactiveSyncMdmBuyer(String code);
String syncBuyerMessageService(List<MdmGmfxxtbReqBO> mdmGmfxxtbReqBOS);
public SDEnergyMdmBaseBO buildResult(SDEnergyMdmBaseBO baseBO, List respList, Function<Object, SDEnergyMdmBaseRespBO> handleFunction);
}

@ -183,23 +183,26 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
list.add(entity);
}
SDEnergyMdmBaseBO baseBO = JSONObject.parseObject(requestBody, SDEnergyMdmBaseBO.class);
SDEnergyMdmBaseBO result = buildResult(
baseBO,
list,
i -> {
BuyerEntity t = (BuyerEntity) i;
SDEnergyMdmBaseRespBO resp = new SDEnergyMdmBaseRespBO();
resp.setCODE(t.getBuyerCode());
resp.setUUID(t.getUUID());
resp.setSYNSTATUS(t.getSuccess() ? "0" : "1");
resp.setSYNRESULT(t.getSuccess() ? "success" : "failed");
return resp;
}
);
String respStr = "";
if(StringUtils.isNotBlank(requestBody)){
SDEnergyMdmBaseBO baseBO = JSONObject.parseObject(requestBody, SDEnergyMdmBaseBO.class);
SDEnergyMdmBaseBO result = buildResult(
baseBO,
list,
i -> {
BuyerEntity t = (BuyerEntity) i;
SDEnergyMdmBaseRespBO resp = new SDEnergyMdmBaseRespBO();
resp.setCODE(t.getBuyerCode());
resp.setUUID(t.getUUID());
resp.setSYNSTATUS(t.getSuccess() ? "0" : "1");
resp.setSYNRESULT(t.getSuccess() ? "success" : "failed");
return resp;
}
);
respStr = JsonUtils.getInstance().toJsonStringNullToEmpty(result);
}
String resp = JsonUtils.getInstance().toJsonStringNullToEmpty(result);
return AjaxResult.success("success", resp);
return AjaxResult.success("success", respStr);
}
/**
* 集团物料同步接口
@ -465,6 +468,17 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
}
}
@Override
public String syncBuyerMessageService(List<MdmGmfxxtbReqBO> mdmGmfxxtbReqBOS){
AjaxResult syncResult = this.syncBuyerMessage(mdmGmfxxtbReqBOS,null);
if (syncResult.isSuccess()) {
return "";
} else {
// return R.error();
return null;
}
}
/**
* 主动同步购方信息
*

Loading…
Cancel
Save