From 77d6235a76e50d3b3dd8c2c227b7076a10e1d79f Mon Sep 17 00:00:00 2001 From: Richie <280645618@qq.com> Date: Sat, 15 Jun 2024 20:47:15 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0tao=E7=94=B5=E5=AD=90?= =?UTF-8?q?=E9=9D=A2=E5=8D=95=E6=89=93=E5=8D=B0=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- open-api/wei-api/pom.xml | 67 +-- .../views/shipping/ewaybillPrint/index.vue | 21 +- vue/src/views/shop/order_index.vue | 2 +- .../views/shop/tao/ewaybill/account_list.vue | 234 ++++++++++ vue/src/views/shop/tao/ewaybill/index.vue | 401 ++++++++++++++++++ vue/src/views/shop/wei/ewaybill/index.vue | 4 +- 6 files changed, 650 insertions(+), 79 deletions(-) create mode 100644 vue/src/views/shop/tao/ewaybill/account_list.vue create mode 100644 vue/src/views/shop/tao/ewaybill/index.vue diff --git a/open-api/wei-api/pom.xml b/open-api/wei-api/pom.xml index 722f1fbb..291ec4d1 100644 --- a/open-api/wei-api/pom.xml +++ b/open-api/wei-api/pom.xml @@ -24,58 +24,11 @@ - - - - - - - - - - - - - - - - - - + org.springframework.boot spring-boot-starter-webflux - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - wei-api wei-api @@ -84,22 +37,4 @@ ${project.basedir}/libs/wei-api-1.6.3.jar - - - - - - - - - - - - - - - - - - diff --git a/vue/src/views/shipping/ewaybillPrint/index.vue b/vue/src/views/shipping/ewaybillPrint/index.vue index dc0e4025..a19650ba 100644 --- a/vue/src/views/shipping/ewaybillPrint/index.vue +++ b/vue/src/views/shipping/ewaybillPrint/index.vue @@ -1,28 +1,29 @@ diff --git a/vue/src/views/shop/tao/ewaybill/index.vue b/vue/src/views/shop/tao/ewaybill/index.vue new file mode 100644 index 00000000..08630999 --- /dev/null +++ b/vue/src/views/shop/tao/ewaybill/index.vue @@ -0,0 +1,401 @@ + + + diff --git a/vue/src/views/shop/wei/ewaybill/index.vue b/vue/src/views/shop/wei/ewaybill/index.vue index c541fa6d..56a640b1 100644 --- a/vue/src/views/shop/wei/ewaybill/index.vue +++ b/vue/src/views/shop/wei/ewaybill/index.vue @@ -113,7 +113,7 @@ import {listShop} from "@/api/shop/shop"; import {getDeliverList} from "@/api/wei/ewaybill"; export default { - name: "ewaybillWei", + name: "printWei", data() { return { // 遮罩层 @@ -241,7 +241,7 @@ export default { }; // 当发生错误时触发 ws.onerror = function(error) { - obj.msgError("打印组件连接失败!请安装并启动微信视频号小单打印组件!"); + obj.msgError("打印组件连接失败!请安装并启动微信视频号小店打印组件!"); console.error('WebSocket error:', error); // alert('WebSocket error occurred. Check the console for more details.'); }; From 0d6bb321d019247a7abcbb2a75fa2ba5029b4c72 Mon Sep 17 00:00:00 2001 From: Richie <280645618@qq.com> Date: Sun, 16 Jun 2024 18:48:24 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=AE=8C=E6=88=90tao=E7=94=B5=E5=AD=90?= =?UTF-8?q?=E9=9D=A2=E5=8D=95=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/erp_ship_waybill.sql | 68 +++ open-api/tao-api/libs/tao-api2-1.5.4.jar | Bin 59223 -> 0 bytes open-api/tao-api/libs/tao-api2-1.6.16.jar | Bin 0 -> 95766 bytes open-api/tao-api/pom.xml | 4 +- .../tao/controller/EwaybillController.java | 246 ++++++++ .../com/qihang/tao/domain/ErpShipWaybill.java | 78 +++ .../tao/domain/OmsTaoWaybillAccount.java | 98 ++++ .../com/qihang/tao/domain/bo/TaoOrderBo.java | 1 + .../qihang/tao/domain/bo/TaoWaybillGetBo.java | 10 + .../tao/domain/vo/WaybillBranchAccountVo.java | 32 ++ .../tao/mapper/ErpShipWaybillMapper.java | 18 + .../mapper/OmsTaoWaybillAccountMapper.java | 18 + .../com/qihang/tao/openApi/ApiCommon.java | 8 +- .../tao/service/ErpShipWaybillService.java | 19 + .../tao/service/OmsTaoOrderService.java | 2 +- .../service/OmsTaoWaybillAccountService.java | 13 + .../impl/ErpShipWaybillServiceImpl.java | 117 ++++ .../service/impl/OmsTaoOrderServiceImpl.java | 10 + .../impl/OmsTaoWaybillAccountServiceImpl.java | 22 + .../resources/mapper/ErpShipWaybillMapper.xml | 28 + .../mapper/OmsTaoWaybillAccountMapper.xml | 37 ++ vue/src/api/tao/ewaybill.js | 46 ++ .../views/shop/tao/ewaybill/account_list.vue | 234 -------- vue/src/views/shop/tao/ewaybill/index.vue | 523 ++++++++++-------- vue/src/views/shop/tao/order/index.vue | 4 +- 25 files changed, 1165 insertions(+), 471 deletions(-) create mode 100644 docs/erp_ship_waybill.sql delete mode 100644 open-api/tao-api/libs/tao-api2-1.5.4.jar create mode 100644 open-api/tao-api/libs/tao-api2-1.6.16.jar create mode 100644 open-api/tao-api/src/main/java/com/qihang/tao/controller/EwaybillController.java create mode 100644 open-api/tao-api/src/main/java/com/qihang/tao/domain/ErpShipWaybill.java create mode 100644 open-api/tao-api/src/main/java/com/qihang/tao/domain/OmsTaoWaybillAccount.java create mode 100644 open-api/tao-api/src/main/java/com/qihang/tao/domain/bo/TaoWaybillGetBo.java create mode 100644 open-api/tao-api/src/main/java/com/qihang/tao/domain/vo/WaybillBranchAccountVo.java create mode 100644 open-api/tao-api/src/main/java/com/qihang/tao/mapper/ErpShipWaybillMapper.java create mode 100644 open-api/tao-api/src/main/java/com/qihang/tao/mapper/OmsTaoWaybillAccountMapper.java create mode 100644 open-api/tao-api/src/main/java/com/qihang/tao/service/ErpShipWaybillService.java create mode 100644 open-api/tao-api/src/main/java/com/qihang/tao/service/OmsTaoWaybillAccountService.java create mode 100644 open-api/tao-api/src/main/java/com/qihang/tao/service/impl/ErpShipWaybillServiceImpl.java create mode 100644 open-api/tao-api/src/main/java/com/qihang/tao/service/impl/OmsTaoWaybillAccountServiceImpl.java create mode 100644 open-api/tao-api/src/main/resources/mapper/ErpShipWaybillMapper.xml create mode 100644 open-api/tao-api/src/main/resources/mapper/OmsTaoWaybillAccountMapper.xml create mode 100644 vue/src/api/tao/ewaybill.js delete mode 100644 vue/src/views/shop/tao/ewaybill/account_list.vue diff --git a/docs/erp_ship_waybill.sql b/docs/erp_ship_waybill.sql new file mode 100644 index 00000000..d6a6380a --- /dev/null +++ b/docs/erp_ship_waybill.sql @@ -0,0 +1,68 @@ +/* + Navicat Premium Data Transfer + + Source Server : localhost + Source Server Type : MySQL + Source Server Version : 80200 + Source Host : localhost:3306 + Source Schema : qihang-erp + + Target Server Type : MySQL + Target Server Version : 80200 + File Encoding : 65001 + + Date: 16/06/2024 18:29:52 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for erp_ship_waybill +-- ---------------------------- +DROP TABLE IF EXISTS `erp_ship_waybill`; +CREATE TABLE `erp_ship_waybill` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `order_id` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '订单号', + `shop_id` bigint NOT NULL COMMENT '店铺id', + `shop_type` int NOT NULL COMMENT '店铺类型', + `waybill_code` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '快递单号', + `logistics_code` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '快递公司编码', + `print_data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '打印数据', + `status` int NULL DEFAULT NULL COMMENT '状态(1已取号2已打印3已发货)', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发货电子面单记录表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for oms_tao_waybill_account +-- ---------------------------- +DROP TABLE IF EXISTS `oms_tao_waybill_account`; +CREATE TABLE `oms_tao_waybill_account` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `shop_id` bigint NOT NULL COMMENT '店铺id', + `seller_id` bigint NULL DEFAULT NULL COMMENT '商家ID', + `cp_code` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流服务商编码', + `cp_type` int NULL DEFAULT NULL COMMENT '1是直营,2是加盟', + `quantity` int NULL DEFAULT NULL COMMENT '可用单数', + `allocated_quantity` int NULL DEFAULT NULL COMMENT '已用单数', + `branch_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网点ID', + `branch_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网点名称', + `print_quantity` int NULL DEFAULT NULL COMMENT '已经打印的面单总数', + `cancel_quantity` int NULL DEFAULT NULL COMMENT '取消的面对总数', + `waybill_address_id` bigint NULL DEFAULT NULL COMMENT 'waybill 地址记录ID(非地址库ID)', + `province` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省名称(一级地址)', + `city` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '市名称(二级地址)', + `area` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区名称(三级地址)', + `address_detail` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '详细地址', + `name` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货人', + `mobile` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货手机号', + `phone` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货固定电话', + `is_show` int NULL DEFAULT NULL COMMENT '是否前台显示1显示0不显示', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '淘宝电子面单账户信息表' ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/open-api/tao-api/libs/tao-api2-1.5.4.jar b/open-api/tao-api/libs/tao-api2-1.5.4.jar deleted file mode 100644 index d23d37469cc4aad335bc79b633a62f4b3708af01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59223 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 diff --git a/open-api/tao-api/libs/tao-api2-1.6.16.jar b/open-api/tao-api/libs/tao-api2-1.6.16.jar new file mode 100644 index 0000000000000000000000000000000000000000..f042be2b68798d40a81ba1b2623e54b9076fd9dd GIT binary patch literal 95766 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 z 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 cn.qihangerp.open.tao tao-api2 - 1.5.4 + 1.6.16 system - ${project.basedir}/libs/tao-api2-1.5.4.jar + ${project.basedir}/libs/tao-api2-1.6.16.jar diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/controller/EwaybillController.java b/open-api/tao-api/src/main/java/com/qihang/tao/controller/EwaybillController.java new file mode 100644 index 00000000..1c98c729 --- /dev/null +++ b/open-api/tao-api/src/main/java/com/qihang/tao/controller/EwaybillController.java @@ -0,0 +1,246 @@ +package com.qihang.tao.controller; + +import cn.qihangerp.open.tao.WaybillAccountApiHelper; +import cn.qihangerp.open.tao.WaybillApiHelper; +import cn.qihangerp.open.tao.common.ApiResultVo; +import cn.qihangerp.open.tao.model.WaybillBranchAccountList; +import cn.qihangerp.open.tao.model.WaybillCloudPrint; +import cn.qihangerp.open.tao.request.WaybillCloudPrintApplyNewRequest; +import cn.qihangerp.open.tao.request.WaybillCloudPrintApplyNewRequestSender; +import cn.qihangerp.open.tao.request.WaybillCloudPrintApplyNewRequestTradeOrderInfoDto; +import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qihang.common.common.AjaxResult; +import com.qihang.common.common.ResultVoEnum; +import com.qihang.common.enums.EnumShopType; +import com.qihang.common.enums.HttpStatus; +import com.qihang.common.mq.MqMessage; +import com.qihang.common.mq.MqType; +import com.qihang.tao.common.BaseController; +import com.qihang.tao.common.TaoRequest; +import com.qihang.tao.domain.ErpShipWaybill; +import com.qihang.tao.domain.OmsTaoOrder; +import com.qihang.tao.domain.OmsTaoWaybillAccount; +import com.qihang.tao.domain.bo.TaoOrderPushBo; +import com.qihang.tao.domain.bo.TaoWaybillGetBo; +import com.qihang.tao.openApi.ApiCommon; +import com.qihang.tao.service.ErpShipWaybillService; +import com.qihang.tao.service.OmsTaoOrderService; +import com.qihang.tao.service.OmsTaoWaybillAccountService; +import lombok.AllArgsConstructor; +import lombok.extern.java.Log; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Log +@AllArgsConstructor +@RestController +@RequestMapping("/ewaybill") +public class EwaybillController extends BaseController { + private final ApiCommon apiCommon; + private final OmsTaoWaybillAccountService waybillAccountService; + private final OmsTaoOrderService orderService; + private final ErpShipWaybillService erpShipWaybillService; + + @RequestMapping(value = "/get_waybill_account_list", method = RequestMethod.POST) + public AjaxResult getWaybillAccountList(@RequestBody TaoRequest params) throws Exception { + if (params.getShopId() == null || params.getShopId() <= 0) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有店铺Id"); + } + List list = waybillAccountService.list(new LambdaQueryWrapper().eq(OmsTaoWaybillAccount::getShopId, params.getShopId()).eq(OmsTaoWaybillAccount::getIsShow, 1)); + return AjaxResult.success(list); + } + + /** + * 拉取电子面单账号 + * @param params + * @return + * @throws Exception + */ + @RequestMapping(value = "/pull_waybill_account", method = RequestMethod.POST) + public AjaxResult pullWaybillAccount(@RequestBody TaoRequest params) throws Exception { + if (params.getShopId() == null || params.getShopId() <= 0) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有店铺Id"); + } + + var checkResult = apiCommon.checkBefore(params.getShopId()); + if (checkResult.getCode() != HttpStatus.SUCCESS) { + return AjaxResult.error(checkResult.getCode(), checkResult.getMsg(), checkResult.getData()); + } + String accessToken = checkResult.getData().getAccessToken(); + String appKey = checkResult.getData().getAppKey(); + String appSecret = checkResult.getData().getAppSecret(); + Long sellId = checkResult.getData().getSellerShopId(); + + ApiResultVo apiResultVo = WaybillAccountApiHelper.pullWaybillBranchAccountList(appKey, appSecret, accessToken); + List list = new ArrayList<>(); + if(apiResultVo.getCode()==0){ + for (var item : apiResultVo.getList()){ + for(var acc:item.getBranchAccountCols().getWaybillBranchAccount()){ + OmsTaoWaybillAccount vo = new OmsTaoWaybillAccount(); + vo.setShopId(params.getShopId()); + vo.setSellerId(sellId); + vo.setIsShow(1); + vo.setCpCode(item.getCpCode()); + vo.setCpType(item.getCpType()); + vo.setAllocatedQuantity(acc.getAllocatedQuantity()); + vo.setBranchCode(acc.getBranchCode()); + vo.setBranchName(acc.getBranchName()); + vo.setCancelQuantity(acc.getCancelQuantity()); + vo.setPrintQuantity(acc.getPrintQuantity()); + vo.setQuantity(acc.getQuantity()); + if(acc.getShippAddressCols().getWaybillAddress().size()>0) { + vo.setAddressDetail(acc.getShippAddressCols().getWaybillAddress().get(0).getAddressDetail()); + vo.setArea(acc.getShippAddressCols().getWaybillAddress().get(0).getArea()); + vo.setCity(acc.getShippAddressCols().getWaybillAddress().get(0).getCity()); + vo.setProvince(acc.getShippAddressCols().getWaybillAddress().get(0).getProvince()); + vo.setWaybillAddressId(acc.getShippAddressCols().getWaybillAddress().get(0).getWaybillAddressId().longValue()); + list.add(vo); + } + + waybillAccountService.save(vo); + log.info("========添加tao电子面单账户信息=========="); + } + } + } + + + return AjaxResult.success(list); + } + + @PostMapping("/get_waybill_code") + @ResponseBody + public AjaxResult getWaybillCode(@RequestBody TaoWaybillGetBo req) { + if (req.getAccountId() == null || req.getAccountId() <= 0) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,请选择电子面单账户"); + } + if (req.getShopId() == null || req.getShopId() <= 0) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有店铺Id"); + } + if(req.getIds()==null || req.getIds().length<=0) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有选择订单"); + } + var checkResult = apiCommon.checkBefore(req.getShopId()); + if (checkResult.getCode() != HttpStatus.SUCCESS) { + return AjaxResult.error(checkResult.getCode(), checkResult.getMsg(), checkResult.getData()); + } + String accessToken = checkResult.getData().getAccessToken(); + String appKey = checkResult.getData().getAppKey(); + String appSecret = checkResult.getData().getAppSecret(); + Long sellerShopId = checkResult.getData().getSellerShopId(); + + // 获取电子面单账户信息(包含了发货地址信息) + OmsTaoWaybillAccount account = waybillAccountService.getById(req.getAccountId()); + + WaybillCloudPrintApplyNewRequest request = new WaybillCloudPrintApplyNewRequest(); + request.setCp_code(account.getCpCode()); + + WaybillCloudPrintApplyNewRequestSender sender = new WaybillCloudPrintApplyNewRequestSender(); + sender.setName(account.getName()); + sender.setMobile(account.getMobile()); + WaybillCloudPrintApplyNewRequestSender.AddressDTO addressDTO = new WaybillCloudPrintApplyNewRequestSender.AddressDTO(); + addressDTO.setCity(account.getCity()); + addressDTO.setProvince(account.getProvince()); + addressDTO.setDistrict(account.getArea()); + addressDTO.setTown(""); + addressDTO.setDetail(account.getAddressDetail()); + sender.setAddress(addressDTO); + request.setSender(sender); + + // 组合取号的订单信息trade_order_info_dtos + List orderList = new ArrayList<>(); + + for(String orderId:req.getIds()){ + if(StringUtils.hasText(orderId)){ + OmsTaoOrder omsTaoOrder = orderService.queryDetailByTid(orderId); + if(omsTaoOrder!=null) { + WaybillCloudPrintApplyNewRequestTradeOrderInfoDto dto = new WaybillCloudPrintApplyNewRequestTradeOrderInfoDto(); + dto.setObjectId(omsTaoOrder.getTid()); + dto.setTemplateUrl("http://cloudprint.cainiao.com/template/standard/101"); + dto.setUserId(sellerShopId.intValue()); + + WaybillCloudPrintApplyNewRequestTradeOrderInfoDto.OrderInfoDTO orderInfoDTO = new WaybillCloudPrintApplyNewRequestTradeOrderInfoDto.OrderInfoDTO(); + orderInfoDTO.setOrderChannelsType("TB"); + orderInfoDTO.setTradeOrderList(omsTaoOrder.getTid()); + dto.setOrderInfo(orderInfoDTO); + + WaybillCloudPrintApplyNewRequestTradeOrderInfoDto.PackageInfoDTO packageInfoDTO = new WaybillCloudPrintApplyNewRequestTradeOrderInfoDto.PackageInfoDTO(); + List items = new ArrayList<>(); + for (var orderItem : omsTaoOrder.getItems()) { + WaybillCloudPrintApplyNewRequestTradeOrderInfoDto.PackageInfoDTO.ItemsDTO itemsDTO = new WaybillCloudPrintApplyNewRequestTradeOrderInfoDto.PackageInfoDTO.ItemsDTO(); + itemsDTO.setCount(orderItem.getNum()); + itemsDTO.setName(orderItem.getTitle()); + items.add(itemsDTO); + } + packageInfoDTO.setItems(items); + dto.setPackageInfo(packageInfoDTO); + + WaybillCloudPrintApplyNewRequestTradeOrderInfoDto.RecipientDTO recipientDTO = new WaybillCloudPrintApplyNewRequestTradeOrderInfoDto.RecipientDTO(); + WaybillCloudPrintApplyNewRequestTradeOrderInfoDto.RecipientDTO.AddressDTO addressDTO1 = new WaybillCloudPrintApplyNewRequestTradeOrderInfoDto.RecipientDTO.AddressDTO(); + addressDTO1.setCity(omsTaoOrder.getReceiverCity()); + addressDTO1.setTown(omsTaoOrder.getReceiverTown()); + addressDTO1.setProvince(omsTaoOrder.getReceiverState()); + addressDTO1.setDistrict(omsTaoOrder.getReceiverDistrict()); + addressDTO1.setDetail(omsTaoOrder.getReceiverAddress()); + recipientDTO.setAddress(addressDTO1); + recipientDTO.setName(omsTaoOrder.getReceiverName()); + recipientDTO.setOaid(omsTaoOrder.getOaid()); + recipientDTO.setTid(omsTaoOrder.getTid()); + dto.setRecipient(recipientDTO); + orderList.add(dto); + } + } + } + + request.setTrade_order_info_dtos(orderList); + + ApiResultVo apiResultVo = WaybillApiHelper.waybillCloudPrintApplyNew(appKey, appSecret, accessToken, request); + if(apiResultVo.getCode()==0){ + // 保持数据 + for(var result: apiResultVo.getList()){ + ErpShipWaybill waybill = new ErpShipWaybill(); + waybill.setShopId(req.getShopId()); + waybill.setOrderId(result.getObjectId()); + waybill.setWaybillCode(result.getWaybillCode()); + waybill.setLogisticsCode(result.getCpCode()); + waybill.setPrintData(result.getPrintData()); + erpShipWaybillService.waybillUpdate(waybill); + log.info("====保存電子面單信息========"+result.getObjectId()); + } + }else{ + return AjaxResult.error(apiResultVo.getMsg()); + } + + return success(); + } + + @PostMapping("/get_print_data") + @ResponseBody + public AjaxResult getPrintData(@RequestBody TaoWaybillGetBo req) { + if (req.getShopId() == null || req.getShopId() <= 0) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有店铺Id"); + } + if (req.getIds() == null || req.getIds().length <= 0) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有选择订单"); + } + List listByOrderIds = erpShipWaybillService.getListByOrderIds(req.getShopId(), req.getIds()); + return AjaxResult.success(listByOrderIds); + } + + @PostMapping("/push_print_success") + @ResponseBody + public AjaxResult pushPrintSuccess(@RequestBody TaoWaybillGetBo req) { + if (req.getShopId() == null || req.getShopId() <= 0) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有店铺Id"); + } + if (req.getIds() == null || req.getIds().length <= 0) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有选择订单"); + } + erpShipWaybillService.printSuccess(req.getShopId(), req.getIds()); + return AjaxResult.success(); + } +} diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/domain/ErpShipWaybill.java b/open-api/tao-api/src/main/java/com/qihang/tao/domain/ErpShipWaybill.java new file mode 100644 index 00000000..ea0d7344 --- /dev/null +++ b/open-api/tao-api/src/main/java/com/qihang/tao/domain/ErpShipWaybill.java @@ -0,0 +1,78 @@ +package com.qihang.tao.domain; + +import java.io.Serializable; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +/** + * 发货电子面单记录表 + * @TableName erp_ship_waybill + */ +@Data +public class ErpShipWaybill implements Serializable { + /** + * + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 订单号 + */ + private String orderId; + + /** + * 店铺id + */ + private Long shopId; + + /** + * 店铺类型 + */ + private Integer shopType; + + /** + * 快递单号 + */ + private String waybillCode; + + /** + * 快递公司编码 + */ + private String logisticsCode; + + /** + * 打印数据 + */ + private String printData; + + /** + * 状态(1已取号2已打印3已发货) + */ + private Integer status; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 创建人 + */ + private String createBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新人 + */ + private String updateBy; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/domain/OmsTaoWaybillAccount.java b/open-api/tao-api/src/main/java/com/qihang/tao/domain/OmsTaoWaybillAccount.java new file mode 100644 index 00000000..a688fdf4 --- /dev/null +++ b/open-api/tao-api/src/main/java/com/qihang/tao/domain/OmsTaoWaybillAccount.java @@ -0,0 +1,98 @@ +package com.qihang.tao.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; + +/** + * 淘宝电子面单账户信息表 + * @TableName oms_tao_waybill_account + */ +@Data +public class OmsTaoWaybillAccount implements Serializable { + /** + * + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + private Long shopId; + + /** + * 物流服务商编码 + */ + private String cpCode; + + /** + * 1是直营,2是加盟 + */ + private Integer cpType; + + /** + * 商家ID + */ + private Long sellerId; + + /** + * 可用单数 + */ + private Integer quantity; + + /** + * 已用单数 + */ + private Integer allocatedQuantity; + + /** + * 网点ID + */ + private String branchCode; + private String branchName; + + /** + * 已经打印的面单总数 + */ + private Integer printQuantity; + + /** + * 取消的面对总数 + */ + private Integer cancelQuantity; + + /** + * waybill 地址记录ID(非地址库ID) + */ + private Long waybillAddressId; + + /** + * 省名称(一级地址) + */ + private String province; + + /** + * 市名称(二级地址) + */ + private String city; + + /** + * 区名称(三级地址) + */ + private String area; + + /** + * 详细地址 + */ + private String addressDetail; + private String name; + private String mobile; + private String phone; + + /** + * 是否前台显示1显示0不显示 + */ + private Integer isShow; + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/domain/bo/TaoOrderBo.java b/open-api/tao-api/src/main/java/com/qihang/tao/domain/bo/TaoOrderBo.java index 9fb71209..e5d5fbb0 100644 --- a/open-api/tao-api/src/main/java/com/qihang/tao/domain/bo/TaoOrderBo.java +++ b/open-api/tao-api/src/main/java/com/qihang/tao/domain/bo/TaoOrderBo.java @@ -11,4 +11,5 @@ public class TaoOrderBo implements Serializable { private Long erpGoodsSkuId; private Long shopId; private String status; + private Integer erpSendStatus; } diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/domain/bo/TaoWaybillGetBo.java b/open-api/tao-api/src/main/java/com/qihang/tao/domain/bo/TaoWaybillGetBo.java new file mode 100644 index 00000000..9562d19e --- /dev/null +++ b/open-api/tao-api/src/main/java/com/qihang/tao/domain/bo/TaoWaybillGetBo.java @@ -0,0 +1,10 @@ +package com.qihang.tao.domain.bo; + +import lombok.Data; + +@Data +public class TaoWaybillGetBo { + private Long accountId;//电子面单账户id + private String[] ids; + private Long shopId;//店铺Id +} diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/domain/vo/WaybillBranchAccountVo.java b/open-api/tao-api/src/main/java/com/qihang/tao/domain/vo/WaybillBranchAccountVo.java new file mode 100644 index 00000000..db3433d9 --- /dev/null +++ b/open-api/tao-api/src/main/java/com/qihang/tao/domain/vo/WaybillBranchAccountVo.java @@ -0,0 +1,32 @@ +//package com.qihang.tao.domain.vo; +// +//import com.fasterxml.jackson.annotation.JsonProperty; +//import lombok.Data; +// +//@Data +//public class WaybillBranchAccountVo { +// private String cpCode; +// private Integer cpType; +// +// private Integer allocatedQuantity; +// +// private String branchCode; +// +// private String branchName; +// +// private Integer cancelQuantity; +// +// private Integer printQuantity; +// +// private Integer quantity; +// +// private String addressDetail; +// +// private String area; +// +// private String city; +// +// private String province; +// +// private Integer waybillAddressId; +//} diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/mapper/ErpShipWaybillMapper.java b/open-api/tao-api/src/main/java/com/qihang/tao/mapper/ErpShipWaybillMapper.java new file mode 100644 index 00000000..15d9495e --- /dev/null +++ b/open-api/tao-api/src/main/java/com/qihang/tao/mapper/ErpShipWaybillMapper.java @@ -0,0 +1,18 @@ +package com.qihang.tao.mapper; + +import com.qihang.tao.domain.ErpShipWaybill; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author qilip +* @description 针对表【erp_ship_waybill(发货电子面单记录表)】的数据库操作Mapper +* @createDate 2024-06-16 17:18:22 +* @Entity com.qihang.tao.domain.ErpShipWaybill +*/ +public interface ErpShipWaybillMapper extends BaseMapper { + +} + + + + diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/mapper/OmsTaoWaybillAccountMapper.java b/open-api/tao-api/src/main/java/com/qihang/tao/mapper/OmsTaoWaybillAccountMapper.java new file mode 100644 index 00000000..8dacafb4 --- /dev/null +++ b/open-api/tao-api/src/main/java/com/qihang/tao/mapper/OmsTaoWaybillAccountMapper.java @@ -0,0 +1,18 @@ +package com.qihang.tao.mapper; + +import com.qihang.tao.domain.OmsTaoWaybillAccount; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author qilip +* @description 针对表【oms_tao_waybill_account(淘宝电子面单账户信息表)】的数据库操作Mapper +* @createDate 2024-06-16 11:56:38 +* @Entity com.qihang.tao.domain.OmsTaoWaybillAccount +*/ +public interface OmsTaoWaybillAccountMapper extends BaseMapper { + +} + + + + diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/openApi/ApiCommon.java b/open-api/tao-api/src/main/java/com/qihang/tao/openApi/ApiCommon.java index 3a593539..8648797e 100644 --- a/open-api/tao-api/src/main/java/com/qihang/tao/openApi/ApiCommon.java +++ b/open-api/tao-api/src/main/java/com/qihang/tao/openApi/ApiCommon.java @@ -50,9 +50,9 @@ public class ApiCommon { // if(!StringUtils.hasText(platform.getServerUrl())) { // return ResultVo.error(HttpStatus.PARAMS_ERROR, "第三方平台配置错误,没有找到ApiRequestUrl"); // } -// if(shop.getSellerId() == null || shop.getSellerId() <= 0) { -// return ResultVo.error(HttpStatus.PARAMS_ERROR, "第三方平台配置错误,没有找到SellerUserId"); -// } + if(shop.getSellerShopId() == null || shop.getSellerShopId() <= 0) { + return ResultVo.error(HttpStatus.PARAMS_ERROR, "第三方平台配置错误,没有找到SellerShopId"); + } ShopApiParams params = new ShopApiParams(); params.setAppKey(platform.getAppKey()); @@ -60,7 +60,7 @@ public class ApiCommon { params.setAccessToken(shop.getAccessToken()); params.setRedirectUrl(platform.getRedirectUrl()); params.setServerUrl(platform.getServerUrl()); - + params.setSellerShopId(shop.getSellerShopId()); if (!StringUtils.hasText(shop.getAccessToken())) { return ResultVo.error(HttpStatus.UNAUTHORIZED, "Token已过期,请重新授权", params); diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/service/ErpShipWaybillService.java b/open-api/tao-api/src/main/java/com/qihang/tao/service/ErpShipWaybillService.java new file mode 100644 index 00000000..528838a4 --- /dev/null +++ b/open-api/tao-api/src/main/java/com/qihang/tao/service/ErpShipWaybillService.java @@ -0,0 +1,19 @@ +package com.qihang.tao.service; + +import com.qihang.common.common.ResultVo; +import com.qihang.tao.domain.ErpShipWaybill; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** +* @author qilip +* @description 针对表【erp_ship_waybill(发货电子面单记录表)】的数据库操作Service +* @createDate 2024-06-16 17:18:22 +*/ +public interface ErpShipWaybillService extends IService { + ResultVo waybillUpdate(ErpShipWaybill shipWaybill); + List getListByOrderIds(Long shopId,String[] orderIds); + + ResultVo printSuccess(Long shopId,String[] orderIds); +} diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/service/OmsTaoOrderService.java b/open-api/tao-api/src/main/java/com/qihang/tao/service/OmsTaoOrderService.java index f7982d3b..d599afac 100644 --- a/open-api/tao-api/src/main/java/com/qihang/tao/service/OmsTaoOrderService.java +++ b/open-api/tao-api/src/main/java/com/qihang/tao/service/OmsTaoOrderService.java @@ -25,5 +25,5 @@ public interface OmsTaoOrderService extends IService { PageResult queryPageList(TaoOrderBo bo, PageQuery pageQuery); OmsTaoOrder queryDetailById(Long id); - + OmsTaoOrder queryDetailByTid(String tid); } diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/service/OmsTaoWaybillAccountService.java b/open-api/tao-api/src/main/java/com/qihang/tao/service/OmsTaoWaybillAccountService.java new file mode 100644 index 00000000..e36f4b0b --- /dev/null +++ b/open-api/tao-api/src/main/java/com/qihang/tao/service/OmsTaoWaybillAccountService.java @@ -0,0 +1,13 @@ +package com.qihang.tao.service; + +import com.qihang.tao.domain.OmsTaoWaybillAccount; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author qilip +* @description 针对表【oms_tao_waybill_account(淘宝电子面单账户信息表)】的数据库操作Service +* @createDate 2024-06-16 11:56:38 +*/ +public interface OmsTaoWaybillAccountService extends IService { + +} diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/service/impl/ErpShipWaybillServiceImpl.java b/open-api/tao-api/src/main/java/com/qihang/tao/service/impl/ErpShipWaybillServiceImpl.java new file mode 100644 index 00000000..00e250d8 --- /dev/null +++ b/open-api/tao-api/src/main/java/com/qihang/tao/service/impl/ErpShipWaybillServiceImpl.java @@ -0,0 +1,117 @@ +package com.qihang.tao.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qihang.common.common.ResultVo; +import com.qihang.common.enums.EnumShopType; +import com.qihang.tao.domain.ErpShipWaybill; +import com.qihang.tao.domain.OmsTaoOrder; +import com.qihang.tao.mapper.OmsTaoOrderMapper; +import com.qihang.tao.service.ErpShipWaybillService; +import com.qihang.tao.mapper.ErpShipWaybillMapper; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** +* @author qilip +* @description 针对表【erp_ship_waybill(发货电子面单记录表)】的数据库操作Service实现 +* @createDate 2024-06-16 17:18:22 +*/ +@AllArgsConstructor +@Service +public class ErpShipWaybillServiceImpl extends ServiceImpl + implements ErpShipWaybillService{ + private final ErpShipWaybillMapper mapper; + private final OmsTaoOrderMapper orderMapper; + + /** + * 更新电子面单信息 + * @param shipWaybill + * @return + */ + @Transactional + @Override + public ResultVo waybillUpdate(ErpShipWaybill shipWaybill) { + String orderId= shipWaybill.getOrderId(); + if(shipWaybill.getId()!=null&&shipWaybill.getId()>0){ + // 存在,修改 + shipWaybill.setCreateBy(null); + shipWaybill.setCreateTime(null); + shipWaybill.setOrderId(null); + shipWaybill.setShopId(null); + shipWaybill.setShopType(null); + mapper.updateById(shipWaybill); + }else{ + // 新增 + List erpShipWaybills = mapper.selectList(new LambdaQueryWrapper().eq(ErpShipWaybill::getOrderId, orderId)); + if(erpShipWaybills==null|| erpShipWaybills.size()==0) { + shipWaybill.setStatus(1);//已取号 + shipWaybill.setShopType(EnumShopType.TAO.getIndex()); + shipWaybill.setCreateTime(new Date()); + mapper.insert(shipWaybill); + }else{ + ErpShipWaybill update = new ErpShipWaybill(); + update.setId(erpShipWaybills.get(0).getId()); + update.setWaybillCode(shipWaybill.getWaybillCode()); + update.setLogisticsCode(shipWaybill.getLogisticsCode()); + update.setPrintData(shipWaybill.getPrintData()); + update.setStatus(1); + update.setUpdateTime(new Date()); + update.setUpdateBy("重新取号"); + mapper.updateById(update); + } + } + // 更新关联订单erp_send_status状态 + OmsTaoOrder orderUpdate = new OmsTaoOrder(); + orderUpdate.setErpSendStatus(shipWaybill.getStatus()); + orderUpdate.setErpSendCode(shipWaybill.getWaybillCode()); + orderUpdate.setErpSendCompany(shipWaybill.getLogisticsCode()); + orderMapper.update(orderUpdate,new LambdaQueryWrapper().eq(OmsTaoOrder::getTid,orderId)); + + return ResultVo.success(); + } + + @Override + public List getListByOrderIds(Long shopId, String[] orderIds) { + List erpShipWaybills = mapper.selectList( + new LambdaQueryWrapper() + .eq(ErpShipWaybill::getShopId,shopId) + .in(ErpShipWaybill::getOrderId, Arrays.stream(orderIds).toList())); + return erpShipWaybills; + } + + @Transactional + @Override + public ResultVo printSuccess(Long shopId, String[] orderIds) { + List erpShipWaybills = mapper.selectList( + new LambdaQueryWrapper() + .eq(ErpShipWaybill::getShopId,shopId) + .in(ErpShipWaybill::getOrderId, Arrays.stream(orderIds).toList())); + if(erpShipWaybills!=null){ + for (var w : erpShipWaybills){ + ErpShipWaybill update = new ErpShipWaybill(); + update.setId(erpShipWaybills.get(0).getId()); + update.setStatus(2); + update.setUpdateTime(new Date()); + update.setUpdateBy("打印面单"); + mapper.updateById(update); + + // 更新关联订单erp_send_status状态 + OmsTaoOrder orderUpdate = new OmsTaoOrder(); + orderUpdate.setErpSendStatus(update.getStatus()); + + orderMapper.update(orderUpdate,new LambdaQueryWrapper().eq(OmsTaoOrder::getTid,w.getOrderId())); + } + } + return ResultVo.success(); + } +} + + + + diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/service/impl/OmsTaoOrderServiceImpl.java b/open-api/tao-api/src/main/java/com/qihang/tao/service/impl/OmsTaoOrderServiceImpl.java index 8a8eb1d3..e53538b9 100644 --- a/open-api/tao-api/src/main/java/com/qihang/tao/service/impl/OmsTaoOrderServiceImpl.java +++ b/open-api/tao-api/src/main/java/com/qihang/tao/service/impl/OmsTaoOrderServiceImpl.java @@ -165,6 +165,7 @@ public class OmsTaoOrderServiceImpl extends ServiceImpl taoGoodsPage = mapper.selectPage(pageQuery.build(), queryWrapper); @@ -182,6 +183,15 @@ public class OmsTaoOrderServiceImpl extends ServiceImpl().eq(OmsTaoOrderItem::getTid,omsTaoOrder.getTid()))); return omsTaoOrder; } + @Override + public OmsTaoOrder queryDetailByTid(String tid) { + List omsTaoOrders = mapper.selectList(new LambdaQueryWrapper().eq(OmsTaoOrder::getTid, tid)); + if(omsTaoOrders == null) return null; + + OmsTaoOrder omsTaoOrder = omsTaoOrders.get(0); + omsTaoOrder.setItems(itemMapper.selectList(new LambdaQueryWrapper().eq(OmsTaoOrderItem::getTid,omsTaoOrder.getTid()))); + return omsTaoOrder; + } } diff --git a/open-api/tao-api/src/main/java/com/qihang/tao/service/impl/OmsTaoWaybillAccountServiceImpl.java b/open-api/tao-api/src/main/java/com/qihang/tao/service/impl/OmsTaoWaybillAccountServiceImpl.java new file mode 100644 index 00000000..068007a9 --- /dev/null +++ b/open-api/tao-api/src/main/java/com/qihang/tao/service/impl/OmsTaoWaybillAccountServiceImpl.java @@ -0,0 +1,22 @@ +package com.qihang.tao.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qihang.tao.domain.OmsTaoWaybillAccount; +import com.qihang.tao.service.OmsTaoWaybillAccountService; +import com.qihang.tao.mapper.OmsTaoWaybillAccountMapper; +import org.springframework.stereotype.Service; + +/** +* @author qilip +* @description 针对表【oms_tao_waybill_account(淘宝电子面单账户信息表)】的数据库操作Service实现 +* @createDate 2024-06-16 11:56:38 +*/ +@Service +public class OmsTaoWaybillAccountServiceImpl extends ServiceImpl + implements OmsTaoWaybillAccountService{ + +} + + + + diff --git a/open-api/tao-api/src/main/resources/mapper/ErpShipWaybillMapper.xml b/open-api/tao-api/src/main/resources/mapper/ErpShipWaybillMapper.xml new file mode 100644 index 00000000..68098896 --- /dev/null +++ b/open-api/tao-api/src/main/resources/mapper/ErpShipWaybillMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + id,order_id,shop_id, + shop_type,waybill_code,logistics_code, + print_data,status,create_time, + create_by,update_time,update_by + + diff --git a/open-api/tao-api/src/main/resources/mapper/OmsTaoWaybillAccountMapper.xml b/open-api/tao-api/src/main/resources/mapper/OmsTaoWaybillAccountMapper.xml new file mode 100644 index 00000000..f4614119 --- /dev/null +++ b/open-api/tao-api/src/main/resources/mapper/OmsTaoWaybillAccountMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,cp_code,cp_type,shop_id,branch_name, + seller_id,quantity,allocated_quantity, + branch_code,print_quantity,cancel_quantity, + waybill_address_id,province,city,`name`,mobile,phone + area,address_detail,is_show + + diff --git a/vue/src/api/tao/ewaybill.js b/vue/src/api/tao/ewaybill.js new file mode 100644 index 00000000..3ad38515 --- /dev/null +++ b/vue/src/api/tao/ewaybill.js @@ -0,0 +1,46 @@ +import request from '@/utils/request' +// 获取电子面单账户list +export function getWaybillAccountList(data) { + return request({ + url: '/api/tao-api/ewaybill/get_waybill_account_list', + method: 'post', + data: data + }) +} + + +// 更新电子面单账户 +export function pullWaybillAccount(data) { + return request({ + url: '/api/tao-api/ewaybill/pull_waybill_account', + method: 'post', + data: data + }) +} + +// 取号 +export function getWaybillCode(data) { + return request({ + url: '/api/tao-api/ewaybill/get_waybill_code', + method: 'post', + data: data + }) +} + +// 获取打印的数据 +export function getWaybillPrintData(data) { + return request({ + url: '/api/tao-api/ewaybill/get_print_data', + method: 'post', + data: data + }) +} + +// 打印成功 +export function pushWaybillPrintSuccess(data) { + return request({ + url: '/api/tao-api/ewaybill/push_print_success', + method: 'post', + data: data + }) +} diff --git a/vue/src/views/shop/tao/ewaybill/account_list.vue b/vue/src/views/shop/tao/ewaybill/account_list.vue deleted file mode 100644 index 6c303122..00000000 --- a/vue/src/views/shop/tao/ewaybill/account_list.vue +++ /dev/null @@ -1,234 +0,0 @@ - - - diff --git a/vue/src/views/shop/tao/ewaybill/index.vue b/vue/src/views/shop/tao/ewaybill/index.vue index 08630999..ce7e464f 100644 --- a/vue/src/views/shop/tao/ewaybill/index.vue +++ b/vue/src/views/shop/tao/ewaybill/index.vue @@ -1,84 +1,172 @@