From d99743e84f1768666a44b1cacb6c6b6d592a74f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AF=E8=88=AA?= Date: Mon, 3 Jun 2024 19:07:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=A7=86=E9=A2=91=E5=8F=B7?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=EF=BC=9B?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E8=A7=86=E9=A2=91=E5=8F=B7=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 --- .../java/com/qihang/wei/bo/PullRequest.java | 9 + .../com/qihang/wei/bo/ShopOrderConfirmBo.java | 8 + .../com/qihang/wei/bo/WeiOrderConfirmBo.java | 28 + .../wei/controller/GoodsApiController.java | 15 +- .../wei/controller/OrderApiController.java | 319 ++++++++---- .../wei/controller/OrderApiController1.java | 152 ++++++ .../wei/controller/OrderController.java | 57 +++ .../qihang/wei/controller/WeiApiCommon.java | 84 +++ .../wei/controller/eWayBillController.java | 14 +- .../com/qihang/wei/domain/OmsWeiGoods.java | 93 ++++ .../com/qihang/wei/domain/OmsWeiGoodsSku.java | 93 ++++ .../com/qihang/wei/domain/OmsWeiOrder.java | 182 +++++++ .../qihang/wei/domain/OmsWeiOrderItem.java | 150 ++++++ .../java/com/qihang/wei/domain/SShop.java | 2 +- .../java/com/qihang/wei/domain/WeiGoods.java | 4 +- .../java/com/qihang/wei/domain/WeiOrder.java | 2 +- .../qihang/wei/mapper/OmsWeiGoodsMapper.java | 18 + .../wei/mapper/OmsWeiGoodsSkuMapper.java | 18 + .../wei/mapper/OmsWeiOrderItemMapper.java | 18 + .../qihang/wei/mapper/OmsWeiOrderMapper.java | 18 + .../com/qihang/wei/openApi/ApiCommon.java | 82 --- .../qihang/wei/openApi/OrderApiHelper.java | 231 --------- .../com/qihang/wei/openApi/PullRequest.java | 8 - .../wei/openApi/bo/CreateTimeRangeBo.java | 9 - .../wei/openApi/bo/GoodsDetailApiBo.java | 10 - .../qihang/wei/openApi/bo/GoodsListApiBo.java | 11 - .../qihang/wei/openApi/bo/OrderDetailBo.java | 8 - .../qihang/wei/openApi/bo/OrderListBo.java | 10 - .../wei/openApi/service/GoodsApiService.java | 18 - .../wei/openApi/service/OrderApiService.java | 19 - .../openApi/service/ShopInfoApiService.java | 13 - .../wei/openApi/service/TokenApiService.java | 14 - .../com/qihang/wei/openApi/vo/BaseResVo.java | 10 - .../qihang/wei/openApi/vo/GoodsDetailVo.java | 10 - .../qihang/wei/openApi/vo/GoodsListVo.java | 12 - .../qihang/wei/openApi/vo/OrderDetailVo.java | 11 - .../qihang/wei/openApi/vo/OrderListVo.java | 12 - .../com/qihang/wei/openApi/vo/OrderVo.java | 19 - .../openApi/vo/OrderVoDeliverInfoAddress.java | 22 - .../wei/openApi/vo/OrderVoDeliveryInfo.java | 20 - .../qihang/wei/openApi/vo/OrderVoDetail.java | 20 - .../openApi/vo/OrderVoDetailProductInfo.java | 35 -- .../qihang/wei/openApi/vo/ProductSkuVo.java | 22 - .../com/qihang/wei/openApi/vo/ProductVo.java | 26 - .../wei/openApi/vo/ShopApiResultVo.java | 8 - .../com/qihang/wei/openApi/vo/ShopInfoVo.java | 12 - .../java/com/qihang/wei/openApi/vo/Token.java | 11 - .../wei/service/OmsWeiGoodsService.java | 13 + .../wei/service/OmsWeiGoodsSkuService.java | 13 + .../wei/service/OmsWeiOrderItemService.java | 13 + .../wei/service/OmsWeiOrderService.java | 20 + .../com/qihang/wei/service/SShopService.java | 4 +- .../qihang/wei/service/WeiGoodsService.java | 2 +- .../qihang/wei/service/WeiOrderService.java | 2 +- .../service/impl/OmsWeiGoodsServiceImpl.java | 22 + .../impl/OmsWeiGoodsSkuServiceImpl.java | 22 + .../impl/OmsWeiOrderItemServiceImpl.java | 22 + .../service/impl/OmsWeiOrderServiceImpl.java | 319 ++++++++++++ .../wei/service/impl/SShopServiceImpl.java | 4 +- .../wei/service/impl/WeiGoodsServiceImpl.java | 6 +- .../wei/service/impl/WeiOrderServiceImpl.java | 2 +- .../resources/mapper/OmsWeiGoodsMapper.xml | 34 ++ .../resources/mapper/OmsWeiGoodsSkuMapper.xml | 34 ++ .../mapper/OmsWeiOrderItemMapper.xml | 48 ++ .../resources/mapper/OmsWeiOrderMapper.xml | 55 ++ vue/src/api/wei/order.js | 10 +- vue/src/views/shop/order_index.vue | 12 +- vue/src/views/shop/wei/ewaybill/index.vue | 44 +- vue/src/views/shop/wei/order/index.vue | 482 ++++++++++++++++++ vue/src/views/shop/wei/order/pull_log.vue | 143 ++++++ 70 files changed, 2454 insertions(+), 839 deletions(-) create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/bo/PullRequest.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/bo/ShopOrderConfirmBo.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/bo/WeiOrderConfirmBo.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderApiController1.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderController.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/controller/WeiApiCommon.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiGoods.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiGoodsSku.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiOrder.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiOrderItem.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiGoodsMapper.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiGoodsSkuMapper.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiOrderItemMapper.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiOrderMapper.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/ApiCommon.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/OrderApiHelper.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/PullRequest.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/CreateTimeRangeBo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/GoodsDetailApiBo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/GoodsListApiBo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/OrderDetailBo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/OrderListBo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/GoodsApiService.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/OrderApiService.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/ShopInfoApiService.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/TokenApiService.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/BaseResVo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/GoodsDetailVo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/GoodsListVo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderDetailVo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderListVo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDeliverInfoAddress.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDeliveryInfo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDetail.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDetailProductInfo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ProductSkuVo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ProductVo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ShopApiResultVo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ShopInfoVo.java delete mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/Token.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiGoodsService.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiGoodsSkuService.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiOrderItemService.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiOrderService.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiGoodsServiceImpl.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiGoodsSkuServiceImpl.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiOrderItemServiceImpl.java create mode 100644 open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiOrderServiceImpl.java create mode 100644 open-api/wei-api/src/main/resources/mapper/OmsWeiGoodsMapper.xml create mode 100644 open-api/wei-api/src/main/resources/mapper/OmsWeiGoodsSkuMapper.xml create mode 100644 open-api/wei-api/src/main/resources/mapper/OmsWeiOrderItemMapper.xml create mode 100644 open-api/wei-api/src/main/resources/mapper/OmsWeiOrderMapper.xml create mode 100644 vue/src/views/shop/wei/order/index.vue create mode 100644 vue/src/views/shop/wei/order/pull_log.vue diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/bo/PullRequest.java b/open-api/wei-api/src/main/java/com/qihang/wei/bo/PullRequest.java new file mode 100644 index 00000000..aa19b43d --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/bo/PullRequest.java @@ -0,0 +1,9 @@ +package com.qihang.wei.bo; + +import lombok.Data; + +@Data +public class PullRequest { + private Long shopId;//店铺Id + private Long orderId;//订单编号 +} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/bo/ShopOrderConfirmBo.java b/open-api/wei-api/src/main/java/com/qihang/wei/bo/ShopOrderConfirmBo.java new file mode 100644 index 00000000..6f5d264e --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/bo/ShopOrderConfirmBo.java @@ -0,0 +1,8 @@ +package com.qihang.wei.bo; + +import lombok.Data; + +@Data +public class ShopOrderConfirmBo { + private String[] ids; +} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/bo/WeiOrderConfirmBo.java b/open-api/wei-api/src/main/java/com/qihang/wei/bo/WeiOrderConfirmBo.java new file mode 100644 index 00000000..f7e3b28d --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/bo/WeiOrderConfirmBo.java @@ -0,0 +1,28 @@ +package com.qihang.wei.bo; + +import lombok.Data; + +@Data +public class WeiOrderConfirmBo { + private String id; + /** + * 收货人的姓名 + */ + private String userName; + + /** + * 收货人的手机号码 + */ + private String telNumber; + + /** + * 收货人的电话号码 + */ + private String detailInfo; + + /** + * 数据库更新人 + */ + private String updateBy; + +} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/controller/GoodsApiController.java b/open-api/wei-api/src/main/java/com/qihang/wei/controller/GoodsApiController.java index 778d3645..ce99dbbb 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/controller/GoodsApiController.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/controller/GoodsApiController.java @@ -1,18 +1,17 @@ package com.qihang.wei.controller; +import cn.qihangerp.open.wei.bo.GoodsDetailApiBo; +import cn.qihangerp.open.wei.bo.GoodsListApiBo; +import cn.qihangerp.open.wei.service.GoodsApiService; +import cn.qihangerp.open.wei.vo.GoodsDetailVo; +import cn.qihangerp.open.wei.vo.GoodsListVo; import com.alibaba.fastjson2.JSONObject; import com.qihang.common.common.AjaxResult; import com.qihang.common.common.ResultVoEnum; import com.qihang.common.enums.HttpStatus; +import com.qihang.wei.bo.PullRequest; import com.qihang.wei.domain.WeiGoods; import com.qihang.wei.domain.WeiGoodsSku; -import com.qihang.wei.openApi.ApiCommon; -import com.qihang.wei.openApi.PullRequest; -import com.qihang.wei.openApi.bo.GoodsDetailApiBo; -import com.qihang.wei.openApi.bo.GoodsListApiBo; -import com.qihang.wei.openApi.service.GoodsApiService; -import com.qihang.wei.openApi.vo.GoodsDetailVo; -import com.qihang.wei.openApi.vo.GoodsListVo; import com.qihang.wei.service.WeiGoodsService; import com.qihang.wei.utils.RemoteUtil; import lombok.AllArgsConstructor; @@ -30,7 +29,7 @@ import java.util.List; @RestController @AllArgsConstructor public class GoodsApiController { - private final ApiCommon apiCommon; + private final WeiApiCommon apiCommon; private final WeiGoodsService weiGoodsService; @RequestMapping(value = "/pull_list", method = RequestMethod.POST) diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderApiController.java b/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderApiController.java index ee3f3ec2..5897aeaf 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderApiController.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderApiController.java @@ -1,26 +1,19 @@ package com.qihang.wei.controller; +import cn.qihangerp.open.wei.OrderApiHelper; +import cn.qihangerp.open.wei.common.ApiResultVo; +import cn.qihangerp.open.wei.model.Order; +import cn.qihangerp.open.wei.model.OrderDetailDeliverInfoAddress; import com.alibaba.fastjson2.JSONObject; import com.qihang.common.common.AjaxResult; import com.qihang.common.common.ResultVoEnum; import com.qihang.common.enums.HttpStatus; -import com.qihang.common.mq.MqUtils; -import com.qihang.wei.domain.WeiOrder; -import com.qihang.wei.domain.WeiOrderItem; -import com.qihang.wei.mapper.WeiOrderItemMapper; -import com.qihang.wei.openApi.ApiCommon; -import com.qihang.wei.openApi.PullRequest; -import com.qihang.wei.openApi.bo.CreateTimeRangeBo; -import com.qihang.wei.openApi.bo.OrderDetailBo; -import com.qihang.wei.openApi.bo.OrderListBo; -import com.qihang.wei.openApi.service.OrderApiService; -import com.qihang.wei.openApi.vo.OrderDetailVo; -import com.qihang.wei.openApi.vo.OrderListVo; -import com.qihang.wei.openApi.vo.OrderVoDeliverInfoAddress; -import com.qihang.wei.service.WeiOrderService; -import com.qihang.wei.utils.RemoteUtil; +import com.qihang.security.common.BaseController; +import com.qihang.wei.bo.PullRequest; +import com.qihang.wei.domain.OmsWeiOrder; +import com.qihang.wei.domain.OmsWeiOrderItem; +import com.qihang.wei.service.OmsWeiOrderService; import lombok.AllArgsConstructor; -import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -28,129 +21,229 @@ import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; import java.util.ArrayList; -import java.util.Date; import java.util.List; @RequestMapping("/order") @RestController @AllArgsConstructor -public class OrderApiController { - private final ApiCommon apiCommon; - private final MqUtils mqUtils; - private final WeiOrderService weiOrderService; +public class OrderApiController extends BaseController { + private final WeiApiCommon apiCommon; + private final OmsWeiOrderService weiOrderService; - @RequestMapping(value = "/pull_list", method = RequestMethod.POST) - public AjaxResult pullList(@RequestBody PullRequest params) throws Exception { + /** + * 拉取订单 + * @param params + * @return + */ + @RequestMapping(value = "/pull_order", method = RequestMethod.POST) + public AjaxResult pullList(@RequestBody PullRequest params) { if (params.getShopId() == null || params.getShopId() <= 0) { return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有店铺Id"); } - Date currDateTime = new Date(); - long beginTime = System.currentTimeMillis(); - var checkResult = apiCommon.checkBefore(params.getShopId()); if (checkResult.getCode() != ResultVoEnum.SUCCESS.getIndex()) { - return AjaxResult.error(checkResult.getCode(), checkResult.getMsg(),checkResult.getData()); + return AjaxResult.error(checkResult.getCode(), checkResult.getMsg(), checkResult.getData()); } + String accessToken = checkResult.getData().getAccessToken(); - String serverUrl = checkResult.getData().getServerUrl(); - String appKey = checkResult.getData().getAppKey(); - String appSecret = checkResult.getData().getAppSecret(); - OrderApiService remoting = RemoteUtil.Remoting(serverUrl, OrderApiService.class); - OrderListBo apiBo = new OrderListBo(); - apiBo.setPage_size(100); - CreateTimeRangeBo tbo= new CreateTimeRangeBo(); - tbo.setStart_time(1710864001L); - tbo.setEnd_time(1710917798L); - apiBo.setCreate_time_range(tbo); +// String appKey = checkResult.getData().getAppKey(); +// String appSecret = checkResult.getData().getAppSecret(); + LocalDateTime endTime = LocalDateTime.now(); + LocalDateTime startTime = endTime.minusHours(1); + ApiResultVo apiResultVo = OrderApiHelper.pullOrderList(startTime, endTime, accessToken); + int insertSuccess = 0;//新增成功的订单 + int totalError = 0; + int hasExistOrder = 0;//已存在的订单数 + if(apiResultVo.getCode() == 0){ + if(apiResultVo.getList()!=null) { + // 拉取到了数据 拉取详情 + for (var orderInfo : apiResultVo.getList()) { - OrderListVo orderList = remoting.getOrderList(accessToken, apiBo); - if(orderList.getErrcode() == 0) { - // 拉取到了数据 拉取详情 - if(orderList.getOrder_id_list()!=null&&orderList.getOrder_id_list().length>0) { - for (var orderId : orderList.getOrder_id_list()) { - OrderDetailBo bo = new OrderDetailBo(); - bo.setOrder_id(orderId.toString()); - OrderDetailVo orderDetail = remoting.getOrderDetail(accessToken, bo); - if(orderDetail.getErrcode() == 0){ - WeiOrder order = new WeiOrder(); - order.setOrderId(orderDetail.getOrder().getOrder_id()); - order.setShopId(params.getShopId()); - order.setOpenid(orderDetail.getOrder().getOpenid()); - order.setCreateTime(orderDetail.getOrder().getCreate_time()); - order.setUpdateTime(orderDetail.getOrder().getUpdate_time()); - order.setUnionid(orderDetail.getOrder().getUnionid()); - order.setStatus(orderDetail.getOrder().getStatus()); - order.setAftersaleDetail(JSONObject.toJSONString(orderDetail.getOrder().getAftersale_detail())); - order.setPayInfo(JSONObject.toJSONString(orderDetail.getOrder().getOrder_detail().getPay_info())); - order.setProductPrice(orderDetail.getOrder().getOrder_detail().getPrice_info().getInteger("product_price")); - order.setOrderPrice(orderDetail.getOrder().getOrder_detail().getPrice_info().getInteger("order_price")); - order.setFreight(orderDetail.getOrder().getOrder_detail().getPrice_info().getInteger("freight")); - order.setDiscountedPrice(orderDetail.getOrder().getOrder_detail().getPrice_info().getInteger("discounted_price")); + OmsWeiOrder order = new OmsWeiOrder(); + order.setOrderId(orderInfo.getOrder_id()); + order.setShopId(params.getShopId()); + order.setOpenid(orderInfo.getOpenid()); + order.setCreateTime(orderInfo.getCreate_time()); + order.setUpdateTime(orderInfo.getUpdate_time()); + order.setUnionid(orderInfo.getUnionid()); + order.setStatus(orderInfo.getStatus()); + order.setAftersaleDetail(JSONObject.toJSONString(orderInfo.getAftersale_detail())); + order.setPayInfo(JSONObject.toJSONString(orderInfo.getOrder_detail().getPay_info())); + order.setProductPrice(orderInfo.getOrder_detail().getPrice_info().getInteger("product_price")); + order.setOrderPrice(orderInfo.getOrder_detail().getPrice_info().getInteger("order_price")); + order.setFreight(orderInfo.getOrder_detail().getPrice_info().getInteger("freight")); + order.setDiscountedPrice(orderInfo.getOrder_detail().getPrice_info().getInteger("discounted_price")); - OrderVoDeliverInfoAddress addressInfo = orderDetail.getOrder().getOrder_detail().getDelivery_info().getAddress_info(); - order.setUserName(addressInfo.getUser_name()); - order.setPostalCode(addressInfo.getPostal_code()); - order.setProvinceName(addressInfo.getProvince_name()); - order.setCityName(addressInfo.getCity_name()); - order.setCountyName(addressInfo.getCounty_name()); - order.setDetailInfo(addressInfo.getDetail_info()); - order.setTelNumber(addressInfo.getTel_number()); - order.setHouseNumber(addressInfo.getHouse_number()); - order.setVirtualOrderTelNumber(addressInfo.getVirtual_order_tel_number()); - order.setTelNumberExtInfo(JSONObject.toJSONString(addressInfo.getTel_number_ext_info())); - order.setUseTelNumber(addressInfo.getUse_tel_number()); - order.setHashCode(addressInfo.getHash_code()); + OrderDetailDeliverInfoAddress addressInfo = orderInfo.getOrder_detail().getDelivery_info().getAddress_info(); + order.setUserName(addressInfo.getUser_name()); + order.setPostalCode(addressInfo.getPostal_code()); + order.setProvinceName(addressInfo.getProvince_name()); + order.setCityName(addressInfo.getCity_name()); + order.setCountyName(addressInfo.getCounty_name()); + order.setDetailInfo(addressInfo.getDetail_info()); + order.setTelNumber(addressInfo.getTel_number()); + order.setHouseNumber(addressInfo.getHouse_number()); + order.setVirtualOrderTelNumber(addressInfo.getVirtual_order_tel_number()); + order.setTelNumberExtInfo(JSONObject.toJSONString(addressInfo.getTel_number_ext_info())); + order.setUseTelNumber(addressInfo.getUse_tel_number()); + order.setHashCode(addressInfo.getHash_code()); - order.setDeliveryProductInfo(JSONObject.toJSONString(orderDetail.getOrder().getOrder_detail().getDelivery_info().getDelivery_product_info())); + order.setDeliveryProductInfo(JSONObject.toJSONString(orderInfo.getOrder_detail().getDelivery_info().getDelivery_product_info())); - order.setShipDoneTime(orderDetail.getOrder().getOrder_detail().getDelivery_info().getShip_done_time()); - order.setEwaybillOrderCode(orderDetail.getOrder().getOrder_detail().getDelivery_info().getEwaybill_order_code()); + order.setShipDoneTime(orderInfo.getOrder_detail().getDelivery_info().getShip_done_time()); + order.setEwaybillOrderCode(orderInfo.getOrder_detail().getDelivery_info().getEwaybill_order_code()); - order.setSettleInfo(JSONObject.toJSONString(orderDetail.getOrder().getOrder_detail().getSettle_info())); + order.setSettleInfo(JSONObject.toJSONString(orderInfo.getOrder_detail().getSettle_info())); - List itemList = new ArrayList<>(); - for (var item:orderDetail.getOrder().getOrder_detail().getProduct_infos()) { - WeiOrderItem oi = new WeiOrderItem(); - oi.setProductId(item.getProduct_id()); - oi.setSkuId(item.getSku_id()); - oi.setThumbImg(item.getThumb_img()); - oi.setSkuCnt(item.getSku_cnt()); - oi.setSalePrice(item.getSale_price()); - oi.setTitle(item.getTitle()); - oi.setOnAftersaleSkuCnt(item.getOn_aftersale_sku_cnt()); - oi.setFinishAftersaleSkuCnt(item.getFinish_aftersale_sku_cnt()); - oi.setSkuCode(item.getSku_code()); - oi.setMarketPrice(item.getMarket_price()); - oi.setRealPrice(item.getReal_price()); - oi.setOutProductId(item.getOut_product_id()); - oi.setOutSkuId(item.getOut_sku_id()); - oi.setIsDiscounted(item.getIs_discounted() + ""); - oi.setEstimatePrice(item.getEstimate_price()); - oi.setIsChangePrice(item.getIs_change_price() + ""); - oi.setChangePrice(item.getChange_price()); - oi.setOutWarehouseId(item.getOut_warehouse_id()); - oi.setUseDeduction(item.getUse_deduction() + ""); + List itemList = new ArrayList<>(); + for (var item:orderInfo.getOrder_detail().getProduct_infos()) { + OmsWeiOrderItem oi = new OmsWeiOrderItem(); + oi.setOrderId(order.getOrderId()); + oi.setShopId(params.getShopId()); + oi.setProductId(item.getProduct_id()); + oi.setSkuId(item.getSku_id()); + oi.setThumbImg(item.getThumb_img()); + oi.setSkuCnt(item.getSku_cnt()); + oi.setSalePrice(item.getSale_price()); + oi.setTitle(item.getTitle()); + oi.setOnAftersaleSkuCnt(item.getOn_aftersale_sku_cnt()); + oi.setFinishAftersaleSkuCnt(item.getFinish_aftersale_sku_cnt()); + oi.setSkuCode(item.getSku_code()); + oi.setMarketPrice(item.getMarket_price()); + oi.setRealPrice(item.getReal_price()); + oi.setOutProductId(item.getOut_product_id()); + oi.setOutSkuId(item.getOut_sku_id()); + oi.setIsDiscounted(item.getIs_discounted() + ""); + oi.setEstimatePrice(item.getEstimate_price()); + oi.setIsChangePrice(item.getIs_change_price() + ""); + oi.setChangePrice(item.getChange_price()); + oi.setOutWarehouseId(item.getOut_warehouse_id()); + oi.setUseDeduction(item.getUse_deduction() + ""); - oi.setSkuAttrs(JSONObject.toJSONString(item.getSku_attrs())); - oi.setSkuDeliverInfo(JSONObject.toJSONString(item.getSku_deliver_info())); - oi.setExtraService(JSONObject.toJSONString(item.getExtra_service())); - oi.setOrderProductCouponInfoList(JSONObject.toJSONString(item.getOrder_product_coupon_info_list())); - itemList.add(oi); - } - order.setItems(itemList); - weiOrderService.saveOrder(params.getShopId(),order); + oi.setSkuAttrs(JSONObject.toJSONString(item.getSku_attrs())); + oi.setSkuDeliverInfo(JSONObject.toJSONString(item.getSku_deliver_info())); + oi.setExtraService(JSONObject.toJSONString(item.getExtra_service())); + oi.setOrderProductCouponInfoList(JSONObject.toJSONString(item.getOrder_product_coupon_info_list())); + itemList.add(oi); + } + order.setItems(itemList); + var result = weiOrderService.saveOrder(params.getShopId(),order); + if (result.getCode() == ResultVoEnum.DataExist.getIndex()) { + //已经存在 + hasExistOrder++; + } else if (result.getCode() == ResultVoEnum.SUCCESS.getIndex()) { + insertSuccess++; + } else { + totalError++; } } } - } - // 获取最后更新时间 - LocalDateTime startTime = null; - LocalDateTime endTime = null; + + return AjaxResult.success(); + } + + /** + * 拉取订单详情 + * @param params + * @return + * @throws Exception + */ + @RequestMapping(value = "/pull_order_detail", method = RequestMethod.POST) + public AjaxResult pullDetail(@RequestBody PullRequest params) throws Exception { + if (params.getShopId() == null || params.getShopId() <= 0) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有店铺Id"); + } + if (params.getOrderId()==null || params.getOrderId()==0) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有订单编号"); + } + + + var checkResult = apiCommon.checkBefore(params.getShopId()); + if (checkResult.getCode() != ResultVoEnum.SUCCESS.getIndex()) { + return AjaxResult.error(checkResult.getCode(), checkResult.getMsg(), checkResult.getData()); + } + String accessToken = checkResult.getData().getAccessToken(); + ApiResultVo apiResultVo = OrderApiHelper.pullOrderDetail(params.getOrderId(), accessToken); + if(apiResultVo.getCode() == 0) { + if (apiResultVo.getData() != null) { + + OmsWeiOrder order = new OmsWeiOrder(); + order.setOrderId(apiResultVo.getData().getOrder_id()); + order.setShopId(params.getShopId()); + order.setOpenid(apiResultVo.getData().getOpenid()); + order.setCreateTime(apiResultVo.getData().getCreate_time()); + order.setUpdateTime(apiResultVo.getData().getUpdate_time()); + order.setUnionid(apiResultVo.getData().getUnionid()); + order.setStatus(apiResultVo.getData().getStatus()); + order.setAftersaleDetail(JSONObject.toJSONString(apiResultVo.getData().getAftersale_detail())); + order.setPayInfo(JSONObject.toJSONString(apiResultVo.getData().getOrder_detail().getPay_info())); + order.setProductPrice(apiResultVo.getData().getOrder_detail().getPrice_info().getInteger("product_price")); + order.setOrderPrice(apiResultVo.getData().getOrder_detail().getPrice_info().getInteger("order_price")); + order.setFreight(apiResultVo.getData().getOrder_detail().getPrice_info().getInteger("freight")); + order.setDiscountedPrice(apiResultVo.getData().getOrder_detail().getPrice_info().getInteger("discounted_price")); + + OrderDetailDeliverInfoAddress addressInfo = apiResultVo.getData().getOrder_detail().getDelivery_info().getAddress_info(); + order.setUserName(addressInfo.getUser_name()); + order.setPostalCode(addressInfo.getPostal_code()); + order.setProvinceName(addressInfo.getProvince_name()); + order.setCityName(addressInfo.getCity_name()); + order.setCountyName(addressInfo.getCounty_name()); + order.setDetailInfo(addressInfo.getDetail_info()); + order.setTelNumber(addressInfo.getTel_number()); + order.setHouseNumber(addressInfo.getHouse_number()); + order.setVirtualOrderTelNumber(addressInfo.getVirtual_order_tel_number()); + order.setTelNumberExtInfo(JSONObject.toJSONString(addressInfo.getTel_number_ext_info())); + order.setUseTelNumber(addressInfo.getUse_tel_number()); + order.setHashCode(addressInfo.getHash_code()); + + order.setDeliveryProductInfo(JSONObject.toJSONString(apiResultVo.getData().getOrder_detail().getDelivery_info().getDelivery_product_info())); + + order.setShipDoneTime(apiResultVo.getData().getOrder_detail().getDelivery_info().getShip_done_time()); + order.setEwaybillOrderCode(apiResultVo.getData().getOrder_detail().getDelivery_info().getEwaybill_order_code()); + + order.setSettleInfo(JSONObject.toJSONString(apiResultVo.getData().getOrder_detail().getSettle_info())); + + List itemList = new ArrayList<>(); + for (var item : apiResultVo.getData().getOrder_detail().getProduct_infos()) { + OmsWeiOrderItem oi = new OmsWeiOrderItem(); + oi.setOrderId(order.getOrderId()); + oi.setShopId(params.getShopId()); + oi.setProductId(item.getProduct_id()); + oi.setSkuId(item.getSku_id()); + oi.setThumbImg(item.getThumb_img()); + oi.setSkuCnt(item.getSku_cnt()); + oi.setSalePrice(item.getSale_price()); + oi.setTitle(item.getTitle()); + oi.setOnAftersaleSkuCnt(item.getOn_aftersale_sku_cnt()); + oi.setFinishAftersaleSkuCnt(item.getFinish_aftersale_sku_cnt()); + oi.setSkuCode(item.getSku_code()); + oi.setMarketPrice(item.getMarket_price()); + oi.setRealPrice(item.getReal_price()); + oi.setOutProductId(item.getOut_product_id()); + oi.setOutSkuId(item.getOut_sku_id()); + oi.setIsDiscounted(item.getIs_discounted() + ""); + oi.setEstimatePrice(item.getEstimate_price()); + oi.setIsChangePrice(item.getIs_change_price() + ""); + oi.setChangePrice(item.getChange_price()); + oi.setOutWarehouseId(item.getOut_warehouse_id()); + oi.setUseDeduction(item.getUse_deduction() + ""); + + oi.setSkuAttrs(JSONObject.toJSONString(item.getSku_attrs())); + oi.setSkuDeliverInfo(JSONObject.toJSONString(item.getSku_deliver_info())); + oi.setExtraService(JSONObject.toJSONString(item.getExtra_service())); + oi.setOrderProductCouponInfoList(JSONObject.toJSONString(item.getOrder_product_coupon_info_list())); + itemList.add(oi); + } + order.setItems(itemList); + weiOrderService.saveOrder(params.getShopId(), order); + + } + } + + return AjaxResult.success(); } } - - diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderApiController1.java b/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderApiController1.java new file mode 100644 index 00000000..3104b212 --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderApiController1.java @@ -0,0 +1,152 @@ +//package com.qihang.wei.controller; +// +//import cn.qihangerp.open.wei.bo.CreateTimeRangeBo; +//import cn.qihangerp.open.wei.bo.OrderDetailBo; +//import cn.qihangerp.open.wei.bo.OrderListBo; +//import cn.qihangerp.open.wei.service.OrderApiService; +//import cn.qihangerp.open.wei.vo.OrderDetailVo; +//import cn.qihangerp.open.wei.vo.OrderListVo; +//import com.alibaba.fastjson2.JSONObject; +//import com.qihang.common.common.AjaxResult; +//import com.qihang.common.common.ResultVoEnum; +//import com.qihang.common.enums.HttpStatus; +//import com.qihang.common.mq.MqUtils; +//import com.qihang.wei.bo.PullRequest; +//import com.qihang.wei.domain.WeiOrder; +//import com.qihang.wei.domain.WeiOrderItem; +//import com.qihang.wei.service.WeiOrderService; +//import com.qihang.wei.utils.RemoteUtil; +//import lombok.AllArgsConstructor; +//import org.springframework.web.bind.annotation.RequestBody; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RequestMethod; +//import org.springframework.web.bind.annotation.RestController; +//import cn.qihangerp.open.wei.model.OrderDetailDeliverInfoAddress; +//import java.time.LocalDateTime; +//import java.util.ArrayList; +//import java.util.Date; +//import java.util.List; +// +//@RequestMapping("/order") +//@RestController +//@AllArgsConstructor +//public class OrderApiController1 { +// private final WeiApiCommon apiCommon; +// private final MqUtils mqUtils; +// private final WeiOrderService weiOrderService; +// +// @RequestMapping(value = "/pull_list", method = RequestMethod.POST) +// public AjaxResult pullList(@RequestBody PullRequest params) throws Exception { +// if (params.getShopId() == null || params.getShopId() <= 0) { +// return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有店铺Id"); +// } +// +// Date currDateTime = new Date(); +// long beginTime = System.currentTimeMillis(); +// +// var checkResult = apiCommon.checkBefore(params.getShopId()); +// if (checkResult.getCode() != ResultVoEnum.SUCCESS.getIndex()) { +// return AjaxResult.error(checkResult.getCode(), checkResult.getMsg(),checkResult.getData()); +// } +// String accessToken = checkResult.getData().getAccessToken(); +// String serverUrl = checkResult.getData().getServerUrl(); +// String appKey = checkResult.getData().getAppKey(); +// String appSecret = checkResult.getData().getAppSecret(); +// OrderApiService remoting = RemoteUtil.Remoting(serverUrl, OrderApiService.class); +// OrderListBo apiBo = new OrderListBo(); +// apiBo.setPage_size(100); +// CreateTimeRangeBo tbo= new CreateTimeRangeBo(); +// tbo.setStart_time(1710864001L); +// tbo.setEnd_time(1710917798L); +// apiBo.setCreate_time_range(tbo); +// +// OrderListVo orderList = remoting.getOrderList(accessToken, apiBo); +// if(orderList.getErrcode() == 0) { +// // 拉取到了数据 拉取详情 +// if(orderList.getOrder_id_list()!=null&&orderList.getOrder_id_list().length>0) { +// for (var orderId : orderList.getOrder_id_list()) { +// OrderDetailBo bo = new OrderDetailBo(); +// bo.setOrder_id(orderId.toString()); +// OrderDetailVo orderDetail = remoting.getOrderDetail(accessToken, bo); +// if(orderDetail.getErrcode() == 0){ +// WeiOrder order = new WeiOrder(); +// order.setOrderId(orderDetail.getOrder().getOrder_id()); +// order.setShopId(params.getShopId()); +// order.setOpenid(orderDetail.getOrder().getOpenid()); +// order.setCreateTime(orderDetail.getOrder().getCreate_time()); +// order.setUpdateTime(orderDetail.getOrder().getUpdate_time()); +// order.setUnionid(orderDetail.getOrder().getUnionid()); +// order.setStatus(orderDetail.getOrder().getStatus()); +// order.setAftersaleDetail(JSONObject.toJSONString(orderDetail.getOrder().getAftersale_detail())); +// order.setPayInfo(JSONObject.toJSONString(orderDetail.getOrder().getOrder_detail().getPay_info())); +// order.setProductPrice(orderDetail.getOrder().getOrder_detail().getPrice_info().getInteger("product_price")); +// order.setOrderPrice(orderDetail.getOrder().getOrder_detail().getPrice_info().getInteger("order_price")); +// order.setFreight(orderDetail.getOrder().getOrder_detail().getPrice_info().getInteger("freight")); +// order.setDiscountedPrice(orderDetail.getOrder().getOrder_detail().getPrice_info().getInteger("discounted_price")); +// +// OrderDetailDeliverInfoAddress addressInfo = orderDetail.getOrder().getOrder_detail().getDelivery_info().getAddress_info(); +// order.setUserName(addressInfo.getUser_name()); +// order.setPostalCode(addressInfo.getPostal_code()); +// order.setProvinceName(addressInfo.getProvince_name()); +// order.setCityName(addressInfo.getCity_name()); +// order.setCountyName(addressInfo.getCounty_name()); +// order.setDetailInfo(addressInfo.getDetail_info()); +// order.setTelNumber(addressInfo.getTel_number()); +// order.setHouseNumber(addressInfo.getHouse_number()); +// order.setVirtualOrderTelNumber(addressInfo.getVirtual_order_tel_number()); +// order.setTelNumberExtInfo(JSONObject.toJSONString(addressInfo.getTel_number_ext_info())); +// order.setUseTelNumber(addressInfo.getUse_tel_number()); +// order.setHashCode(addressInfo.getHash_code()); +// +// order.setDeliveryProductInfo(JSONObject.toJSONString(orderDetail.getOrder().getOrder_detail().getDelivery_info().getDelivery_product_info())); +// +// order.setShipDoneTime(orderDetail.getOrder().getOrder_detail().getDelivery_info().getShip_done_time()); +// order.setEwaybillOrderCode(orderDetail.getOrder().getOrder_detail().getDelivery_info().getEwaybill_order_code()); +// +// order.setSettleInfo(JSONObject.toJSONString(orderDetail.getOrder().getOrder_detail().getSettle_info())); +// +// List itemList = new ArrayList<>(); +// for (var item:orderDetail.getOrder().getOrder_detail().getProduct_infos()) { +// WeiOrderItem oi = new WeiOrderItem(); +// oi.setProductId(item.getProduct_id()); +// oi.setSkuId(item.getSku_id()); +// oi.setThumbImg(item.getThumb_img()); +// oi.setSkuCnt(item.getSku_cnt()); +// oi.setSalePrice(item.getSale_price()); +// oi.setTitle(item.getTitle()); +// oi.setOnAftersaleSkuCnt(item.getOn_aftersale_sku_cnt()); +// oi.setFinishAftersaleSkuCnt(item.getFinish_aftersale_sku_cnt()); +// oi.setSkuCode(item.getSku_code()); +// oi.setMarketPrice(item.getMarket_price()); +// oi.setRealPrice(item.getReal_price()); +// oi.setOutProductId(item.getOut_product_id()); +// oi.setOutSkuId(item.getOut_sku_id()); +// oi.setIsDiscounted(item.getIs_discounted() + ""); +// oi.setEstimatePrice(item.getEstimate_price()); +// oi.setIsChangePrice(item.getIs_change_price() + ""); +// oi.setChangePrice(item.getChange_price()); +// oi.setOutWarehouseId(item.getOut_warehouse_id()); +// oi.setUseDeduction(item.getUse_deduction() + ""); +// +// oi.setSkuAttrs(JSONObject.toJSONString(item.getSku_attrs())); +// oi.setSkuDeliverInfo(JSONObject.toJSONString(item.getSku_deliver_info())); +// oi.setExtraService(JSONObject.toJSONString(item.getExtra_service())); +// oi.setOrderProductCouponInfoList(JSONObject.toJSONString(item.getOrder_product_coupon_info_list())); +// itemList.add(oi); +// } +// order.setItems(itemList); +// weiOrderService.saveOrder(params.getShopId(),order); +// } +// } +// } +// +// } +// // 获取最后更新时间 +// LocalDateTime startTime = null; +// LocalDateTime endTime = null; +// +// return AjaxResult.success(); +// } +//} +// +// diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderController.java b/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderController.java new file mode 100644 index 00000000..9c48ebe3 --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderController.java @@ -0,0 +1,57 @@ +package com.qihang.wei.controller; + +import com.qihang.common.common.AjaxResult; +import com.qihang.common.common.PageQuery; +import com.qihang.common.common.PageResult; +import com.qihang.common.common.TableDataInfo; +import com.qihang.security.common.BaseController; +import com.qihang.wei.bo.WeiOrderConfirmBo; +import com.qihang.wei.domain.OmsWeiOrder; +import com.qihang.wei.service.OmsWeiOrderService; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +@AllArgsConstructor +@RestController +@RequestMapping("/order") +public class OrderController extends BaseController { + private final OmsWeiOrderService orderService; + @RequestMapping(value = "/list", method = RequestMethod.GET) + public TableDataInfo orderList(OmsWeiOrder bo, PageQuery pageQuery) { + PageResult result = orderService.queryPageList(bo, pageQuery); + + return getDataTable(result); + } + + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(orderService.queryDetailById(id)); + } + +// @PostMapping("/confirm") +// @ResponseBody +// public AjaxResult orderConfirm(@RequestBody ShopOrderConfirmBo bo) { +// if(bo!=null && bo.getIds()!=null) { +// ResultVo resultVo = orderService.orderConfirm(bo.getIds()); +// +// return success(resultVo.getData()); +// }else{ +// return AjaxResult.error("没有选择任何订单!"); +// } +// } + + @PostMapping("/confirmOrder") + public AjaxResult confirmOrder(@RequestBody WeiOrderConfirmBo bo) throws InterruptedException { + int result = orderService.confirmOrder(bo); + if(result == -1) return new AjaxResult(501,"已确认过了!请勿重复确认!"); + else if(result == -2) return new AjaxResult(502,"订单已存在!请勿重复确认!"); + else if(result == -3) return new AjaxResult(503,"请指定发货方式!"); + else if(result == -4) return new AjaxResult(504,"发货方式不支持!"); + else if(result == -11) return new AjaxResult(511,"商品SKU编码不存在!"); + else if(result == -12) return new AjaxResult(512,"商品信息不存在!"); + + + return toAjax(result); + } +} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/controller/WeiApiCommon.java b/open-api/wei-api/src/main/java/com/qihang/wei/controller/WeiApiCommon.java new file mode 100644 index 00000000..ab7581cc --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/controller/WeiApiCommon.java @@ -0,0 +1,84 @@ +package com.qihang.wei.controller; + + +import cn.qihangerp.open.wei.TokenApiHelper; +import cn.qihangerp.open.wei.common.ApiResultVo; +import cn.qihangerp.open.wei.vo.ShopApiParams; +import cn.qihangerp.open.wei.vo.Token; +import com.qihang.common.common.ResultVo; +import com.qihang.common.enums.EnumShopType; +import com.qihang.common.enums.HttpStatus; +import com.qihang.wei.service.SShopService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; + +@AllArgsConstructor +@Component +public class WeiApiCommon { + private final SShopService shopService; + /** + * 更新前的检查 + * + * @param shopId + * @return + * @throws + */ + public ResultVo checkBefore(Long shopId) { + var shop = shopService.selectShopById(shopId); + if (shop == null) { + return ResultVo.error(HttpStatus.PARAMS_ERROR,"参数错误,没有找到店铺"); + } + if (shop.getType() != EnumShopType.WEI.getIndex()) { + return ResultVo.error(HttpStatus.PARAMS_ERROR, "参数错误,店铺不是JD店铺"); + } + if(!StringUtils.hasText(shop.getAppkey())) { + return ResultVo.error(HttpStatus.PARAMS_ERROR, "平台配置错误,没有找到AppKey"); + } + if(!StringUtils.hasText(shop.getAppsercet())) { + return ResultVo.error(HttpStatus.PARAMS_ERROR, "第三方平台配置错误,没有找到AppSercet"); + } +// var platform =skuService.selectShopSettingById(EnumShopType.WEI.getIndex()); +// if(!StringUtils.hasText(platform.getse())) { +// return ResultVo.error(HttpStatus.PARAMS_ERROR, "第三方平台配置错误,没有找到ServerUrl"); +// } + + ShopApiParams params = new ShopApiParams(); + params.setAppKey(shop.getAppkey()); + params.setAppSecret(shop.getAppsercet()); + params.setAccessToken(shop.getSessionkey()); + params.setApiRequestUrl(shop.getApiRequestUrl()); +// params.setServerUrl(platform.getServerUrl()); + params.setSellerId(shop.getSelleruserid().toString()); + + + if (!StringUtils.hasText(params.getAccessToken())) { + ApiResultVo token1 = TokenApiHelper.getToken(params.getAppKey(), params.getAppSecret()); + if(token1.getCode()==0){ + params.setAccessToken(token1.getData().getAccess_token()); + shopService.updateSessionKey(shopId, params.getAccessToken()); + return ResultVo.success(params); + }else{ + return ResultVo.error(HttpStatus.PARAMS_ERROR, token1.getMsg()); + } + }else { + // 调用 店铺基本信息接口 验证Token + ApiResultVo tokenApiResultVo = TokenApiHelper.checkToken(params.getAppKey(), params.getAppSecret(), params.getAccessToken()); + if(tokenApiResultVo.getCode()==0){ +// params.setAccessToken(tokenApiResultVo.getData().getAccess_token()); +// skuService.updateShopSessionByShopId(shopId, params.getAccessToken()); + return ResultVo.success(params); + }else { + ApiResultVo token2 = TokenApiHelper.getToken(params.getAppKey(), params.getAppSecret()); + if (token2.getCode() == 0) { + params.setAccessToken(token2.getData().getAccess_token()); + shopService.updateSessionKey(shopId, params.getAccessToken()); + return ResultVo.success(params); + } else { + return ResultVo.error(HttpStatus.PARAMS_ERROR, token2.getMsg()); + } + } + } + } + +} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/controller/eWayBillController.java b/open-api/wei-api/src/main/java/com/qihang/wei/controller/eWayBillController.java index effa3b20..2ed7f21a 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/controller/eWayBillController.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/controller/eWayBillController.java @@ -7,16 +7,10 @@ import com.alibaba.fastjson2.JSONObject; import com.qihang.common.common.AjaxResult; import com.qihang.common.common.ResultVoEnum; import com.qihang.common.enums.HttpStatus; +import com.qihang.wei.bo.PullRequest; import com.qihang.wei.domain.WeiGoods; import com.qihang.wei.domain.WeiGoodsSku; -import com.qihang.wei.openApi.ApiCommon; -import com.qihang.wei.openApi.PullRequest; -import com.qihang.wei.openApi.bo.GoodsDetailApiBo; -import com.qihang.wei.openApi.bo.GoodsListApiBo; -import com.qihang.wei.openApi.service.GoodsApiService; -import com.qihang.wei.openApi.vo.GoodsDetailVo; -import com.qihang.wei.openApi.vo.GoodsListVo; -import com.qihang.wei.utils.RemoteUtil; + import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.RequestBody; @@ -32,7 +26,7 @@ import java.util.List; @RestController @AllArgsConstructor public class eWayBillController { - private final ApiCommon apiCommon; + private final WeiApiCommon apiCommon; @RequestMapping(value = "/get_deliver_list", method = RequestMethod.POST) public AjaxResult getDeliverList(@RequestBody PullRequest params) throws Exception { if (params.getShopId() == null || params.getShopId() <= 0) { @@ -50,7 +44,7 @@ public class eWayBillController { String appKey = checkResult.getData().getAppKey(); String appSecret = checkResult.getData().getAppSecret(); - ApiResultVo apiResultVo = EwaybillApiHelper.pullDeliveryList(appKey, appSecret, accessToken); + ApiResultVo apiResultVo = EwaybillApiHelper.getDeliveryList(appKey, appSecret, accessToken); return AjaxResult.success(apiResultVo.getList()); diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiGoods.java b/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiGoods.java new file mode 100644 index 00000000..f1223d5e --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiGoods.java @@ -0,0 +1,93 @@ +package com.qihang.wei.domain; + +import java.io.Serializable; +import lombok.Data; + +/** + * + * @TableName oms_wei_goods + */ +@Data +public class OmsWeiGoods implements Serializable { + /** + * + */ + private Long id; + + /** + * 店铺id + */ + private Integer shopId; + + /** + * 平台商品id + */ + private String productId; + + /** + * 商家编码id + */ + private String outProductId; + + /** + * 商品标题 + */ + private String title; + + /** + * + */ + private String subTitle; + + /** + * 主图集合 + */ + private String headImgs; + + /** + * 第一张主图 + */ + private String headImg; + + /** + * 商品详情字符串 + */ + private String descInfo; + + /** + * 属性字符串 + */ + private String attrs; + + /** + * 状态 + */ + private Integer status; + + /** + * 编辑状态 + */ + private Integer editStatus; + + /** + * 商品 SKU 最小价格(单位:分) + */ + private Integer minPrice; + + /** + * 商品编码 + */ + private String spuCode; + + /** + * 商品类型。1: 小店普通自营商品;2: 福袋抽奖商品;3: 直播间闪电购商品。注意: 福袋抽奖、直播间闪电购类型的商品为只读数据,不支持编辑、上架操作,不支持用data_type=2的参数获取。 + */ + private Integer productType; + + /** + * 商品草稿最近一次修改时间 + */ + private Integer editTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiGoodsSku.java b/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiGoodsSku.java new file mode 100644 index 00000000..42095bf5 --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiGoodsSku.java @@ -0,0 +1,93 @@ +package com.qihang.wei.domain; + +import java.io.Serializable; +import lombok.Data; + +/** + * + * @TableName oms_wei_goods_sku + */ +@Data +public class OmsWeiGoodsSku implements Serializable { + /** + * + */ + private Long id; + + /** + * 店铺id + */ + private Long shopId; + + /** + * 产品id + */ + private String productId; + + /** + * skuID + */ + private String skuId; + + /** + * 商家自定义skuID。如果添加时没录入,回包可能不包含该字段 + */ + private String outSkuId; + + /** + * 商品标题 + */ + private String title; + + /** + * sku小图 + */ + private String thumbImg; + + /** + * 售卖价格,以分为单位 + */ + private Integer salePrice; + + /** + * sku库存 + */ + private Integer stockNum; + + /** + * sku编码 + */ + private String skuCode; + + /** + * sku状态 + */ + private Integer status; + + /** + * sku属性 + */ + private String skuAttr; + + /** + * sku_attrs + */ + private String skuAttrs; + + /** + * sku_deliver_info + */ + private String skuDeliverInfo; + + /** + * erp系统商品id + */ + private Long erpGoodsId; + + /** + * erp系统商品skuid + */ + private Long erpGoodsSkuId; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiOrder.java b/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiOrder.java new file mode 100644 index 00000000..d6e927ad --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiOrder.java @@ -0,0 +1,182 @@ +package com.qihang.wei.domain; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Data; + +/** + * + * @TableName oms_wei_order + */ +@Data +public class OmsWeiOrder implements Serializable { + /** + * + */ + private Long id; + + /** + * 店铺id + */ + private Long shopId; + + /** + * 订单号 + */ + private String orderId; + + /** + * 买家身份标识 + */ + private String openid; + + /** + * 秒级时间戳 + */ + private Integer createTime; + + /** + * 秒级时间戳 + */ + private Integer updateTime; + + /** + * + */ + private String unionid; + + /** + * 状态10 待付款;20 待发货;21 部分发货;30 待收货;100 完成;200 全部商品售后之后,订单取消;250 未付款用户主动取消或超时未付款订单自动取消; + */ + private Integer status; + + /** + * 售后信息json + */ + private String aftersaleDetail; + + /** + * 支付信息json + */ + private String payInfo; + + /** + * 商品总价,单位为分 + */ + private Integer productPrice; + + /** + * 订单金额,单位为分,order_price=original_order_price-discounted_price-deduction_price-change_down_price + */ + private Integer orderPrice; + + /** + * 运费,单位为分 + */ + private Integer freight; + + /** + * 优惠券优惠金额,单位为分 + */ + private Integer discountedPrice; + + /** + * 收货人姓名 + */ + private String userName; + + /** + * 邮编 + */ + private String postalCode; + + /** + * 省份 + */ + private String provinceName; + + /** + * 城市 + */ + private String cityName; + + /** + * 区 + */ + private String countyName; + + /** + * 详细地址 + */ + private String detailInfo; + + /** + * 联系方式 + + */ + private String telNumber; + + /** + * 门牌号码 + */ + private String houseNumber; + + /** + * 虚拟发货订单联系方式(deliver_method=1时返回) + */ + private String virtualOrderTelNumber; + + /** + * 额外的联系方式信息(虚拟号码相关) + */ + private String telNumberExtInfo; + + /** + * 0:不使用虚拟号码,1:使用虚拟号码 + */ + private Integer useTelNumber; + + /** + * 标识当前店铺下一个唯一的用户收货地址 + */ + private String hashCode; + + /** + * 发货物流信息JSON + */ + private String deliveryProductInfo; + + /** + * 发货完成时间,秒级时间戳 + */ + private Integer shipDoneTime; + + /** + * 电子面单代发时的订单密文 + + */ + private String ewaybillOrderCode; + + /** + * 结算信息json + */ + private String settleInfo; + + /** + * 订单审核状态(0待审核1已审核) + */ + private Integer auditStatus; + + /** + * 订单审核时间 + */ + private Date auditTime; + + @TableField(exist = false) + private List items; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiOrderItem.java b/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiOrderItem.java new file mode 100644 index 00000000..ed9f4684 --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiOrderItem.java @@ -0,0 +1,150 @@ +package com.qihang.wei.domain; + +import java.io.Serializable; +import lombok.Data; + +/** + * + * @TableName oms_wei_order_item + */ +@Data +public class OmsWeiOrderItem implements Serializable { + /** + * + */ + private Long id; + + /** + * 店铺id + */ + private Long shopId; + + /** + * 订单id(平台订单id) + */ + private String orderId; + + /** + * 商品spuid + */ + private String productId; + + /** + * 商品skuid + + */ + private String skuId; + + /** + * sku小图 + */ + private String thumbImg; + + /** + * sku数量 + */ + private Integer skuCnt; + + /** + * 售卖单价(单位:分) + */ + private Integer salePrice; + + /** + * 商品标题 + */ + private String title; + + /** + * 正在售后/退款流程中的 sku 数量 + */ + private Integer onAftersaleSkuCnt; + + /** + * 完成售后/退款的 sku 数量 + */ + private Integer finishAftersaleSkuCnt; + + /** + * 商品编码 + */ + private String skuCode; + + /** + * 市场单价(单位:分) + */ + private Integer marketPrice; + + /** + * sku属性JSON + */ + private String skuAttrs; + + /** + * sku实付总价,取estimate_price和change_price中较小值 + */ + private Integer realPrice; + + /** + * 商品外部spuid + */ + private String outProductId; + + /** + * 商品外部skuid + */ + private String outSkuId; + + /** + * 是否有优惠金额,非必填,默认为false + */ + private String isDiscounted; + + /** + * 优惠后sku总价,非必填,is_discounted为true时有值 + */ + private Integer estimatePrice; + + /** + * 是否修改过价格,非必填,默认为false + */ + private String isChangePrice; + + /** + * 改价后sku总价,非必填,is_change_price为true时有值 + */ + private Integer changePrice; + + /** + * 区域库存id + */ + private String outWarehouseId; + + /** + * 商品发货信息JSON + */ + private String skuDeliverInfo; + + /** + * 商品额外服务信息JSON + */ + private String extraService; + + /** + * 是否使用了会员积分抵扣 + + */ + private String useDeduction; + + /** + * 会员积分抵扣金额,单位为分 + */ + private Integer deductionPrice; + + /** + * 商品优惠券信息,逐步替换 order.order_detail.coupon_info + */ + private String orderProductCouponInfoList; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/domain/SShop.java b/open-api/wei-api/src/main/java/com/qihang/wei/domain/SShop.java index 45441b90..241b3745 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/domain/SShop.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/domain/SShop.java @@ -12,7 +12,7 @@ public class SShop implements Serializable { /** * 主键 */ - private Integer id; + private Long id; /** * 店铺名 diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/domain/WeiGoods.java b/open-api/wei-api/src/main/java/com/qihang/wei/domain/WeiGoods.java index 7e71e26d..6534b53a 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/domain/WeiGoods.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/domain/WeiGoods.java @@ -15,8 +15,8 @@ public class WeiGoods implements Serializable { /** * */ - private Long id; - private Integer shopId; + private String id; + private Long shopId; /** * 平台商品id diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/domain/WeiOrder.java b/open-api/wei-api/src/main/java/com/qihang/wei/domain/WeiOrder.java index dd8d72b8..aa16a24d 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/domain/WeiOrder.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/domain/WeiOrder.java @@ -16,7 +16,7 @@ public class WeiOrder implements Serializable { * */ private Long id; - private Integer shopId; + private Long shopId; /** * 订单号 diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiGoodsMapper.java b/open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiGoodsMapper.java new file mode 100644 index 00000000..53669b67 --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiGoodsMapper.java @@ -0,0 +1,18 @@ +package com.qihang.wei.mapper; + +import com.qihang.wei.domain.OmsWeiGoods; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author TW +* @description 针对表【oms_wei_goods】的数据库操作Mapper +* @createDate 2024-06-03 16:51:29 +* @Entity com.qihang.wei.domain.OmsWeiGoods +*/ +public interface OmsWeiGoodsMapper extends BaseMapper { + +} + + + + diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiGoodsSkuMapper.java b/open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiGoodsSkuMapper.java new file mode 100644 index 00000000..edbd8463 --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiGoodsSkuMapper.java @@ -0,0 +1,18 @@ +package com.qihang.wei.mapper; + +import com.qihang.wei.domain.OmsWeiGoodsSku; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author TW +* @description 针对表【oms_wei_goods_sku】的数据库操作Mapper +* @createDate 2024-06-03 16:51:29 +* @Entity com.qihang.wei.domain.OmsWeiGoodsSku +*/ +public interface OmsWeiGoodsSkuMapper extends BaseMapper { + +} + + + + diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiOrderItemMapper.java b/open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiOrderItemMapper.java new file mode 100644 index 00000000..43f258bf --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiOrderItemMapper.java @@ -0,0 +1,18 @@ +package com.qihang.wei.mapper; + +import com.qihang.wei.domain.OmsWeiOrderItem; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author TW +* @description 针对表【oms_wei_order_item】的数据库操作Mapper +* @createDate 2024-06-03 16:48:31 +* @Entity com.qihang.wei.domain.OmsWeiOrderItem +*/ +public interface OmsWeiOrderItemMapper extends BaseMapper { + +} + + + + diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiOrderMapper.java b/open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiOrderMapper.java new file mode 100644 index 00000000..36a19c82 --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/mapper/OmsWeiOrderMapper.java @@ -0,0 +1,18 @@ +package com.qihang.wei.mapper; + +import com.qihang.wei.domain.OmsWeiOrder; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author TW +* @description 针对表【oms_wei_order】的数据库操作Mapper +* @createDate 2024-06-03 16:48:31 +* @Entity com.qihang.wei.domain.OmsWeiOrder +*/ +public interface OmsWeiOrderMapper extends BaseMapper { + +} + + + + diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/ApiCommon.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/ApiCommon.java deleted file mode 100644 index 40f4b8fc..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/ApiCommon.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.qihang.wei.openApi; - -import com.qihang.common.api.ShopApiParams; -import com.qihang.common.common.ResultVo; -import com.qihang.common.enums.EnumShopType; -import com.qihang.common.enums.HttpStatus; - -import com.qihang.wei.openApi.service.ShopInfoApiService; -import com.qihang.wei.openApi.service.TokenApiService; -import com.qihang.wei.openApi.vo.ShopApiResultVo; -import com.qihang.wei.openApi.vo.Token; -import com.qihang.wei.service.SShopService; -import com.qihang.wei.service.SShopSettingService; -import com.qihang.wei.utils.RemoteUtil; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Component; -import org.springframework.util.StringUtils; - -@AllArgsConstructor -@Component -public class ApiCommon { - private final SShopService shopService; - private final SShopSettingService platformService; - /** - * 更新前的检查 - * - * @param shopId - * @return - * @throws - */ - public ResultVo checkBefore(Integer shopId) { - var shop = shopService.selectShopById(shopId); - if (shop == null) { - return ResultVo.error(HttpStatus.PARAMS_ERROR,"参数错误,没有找到店铺"); - } - if (shop.getType() != EnumShopType.WEI.getIndex()) { - return ResultVo.error(HttpStatus.PARAMS_ERROR, "参数错误,店铺不是视频号店铺"); - } - if(!StringUtils.hasText(shop.getAppkey())) { - return ResultVo.error(HttpStatus.PARAMS_ERROR, "平台配置错误,没有找到AppKey"); - } - if(!StringUtils.hasText(shop.getAppsercet())) { - return ResultVo.error(HttpStatus.PARAMS_ERROR, "第三方平台配置错误,没有找到AppSercet"); - } - var platform =platformService.getById(EnumShopType.WEI.getIndex()); - if(!StringUtils.hasText(platform.getRequestUrl())) { - return ResultVo.error(HttpStatus.PARAMS_ERROR, "第三方平台配置错误,没有找到ServerUrl"); - } - - ShopApiParams params = new ShopApiParams(); - params.setAppKey(shop.getAppkey()); - params.setAppSecret(shop.getAppsercet()); - params.setAccessToken(shop.getSessionkey()); - params.setApiRequestUrl(shop.getApiRequestUrl()); - params.setServerUrl(platform.getRequestUrl()); - params.setSellerId(shop.getSelleruserid().toString()); - if (!StringUtils.hasText(shop.getSessionkey())) { -// String s = "/token?grant_type=client_credential&appid="+params.getAppKey()+"&secret="+params.getAppSecret(); - TokenApiService remoting = RemoteUtil.Remoting(params.getServerUrl(), TokenApiService.class); - Token token = remoting.getToken("client_credential",params.getAppKey(),params.getAppSecret()); - params.setAccessToken(token.getAccess_token()); - shopService.updateSessionKey(shopId,token.getAccess_token()); - }else { - // 调用 店铺基本信息接口 验证Token - ShopInfoApiService remoting = RemoteUtil.Remoting(params.getServerUrl(), ShopInfoApiService.class); - ShopApiResultVo shopInfo = remoting.getShopInfo(params.getAccessToken()); - if(shopInfo.getErrcode() == 42001){ - // Token过期 - TokenApiService remoting1 = RemoteUtil.Remoting(params.getServerUrl(), TokenApiService.class); - Token token = remoting1.getToken("client_credential",params.getAppKey(),params.getAppSecret()); - if(token.getErrcode()==null) { - params.setAccessToken(token.getAccess_token()); - shopService.updateSessionKey(shopId, token.getAccess_token()); - }else{ - return ResultVo.error(HttpStatus.PARAMS_ERROR, token.getErrmsg()); - } - } - } - return ResultVo.success(params); - } - -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/OrderApiHelper.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/OrderApiHelper.java deleted file mode 100644 index b36e2d62..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/OrderApiHelper.java +++ /dev/null @@ -1,231 +0,0 @@ -//package com.qihang.wei.openApi; -// -//import com.qihang.common.common.ApiResult; -//import com.qihang.common.enums.HttpStatus; -// -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; -//import org.springframework.beans.BeanUtils; -// -//import java.time.LocalDateTime; -//import java.time.format.DateTimeFormatter; -//import java.util.ArrayList; -//import java.util.List; -// -//public class OrderApiHelper { -// private static Logger log = LoggerFactory.getLogger(OrderApiHelper.class); -// -// private static final String ORDER_FIELDS = "venderId,orderId,orderType,payType,orderTotalPrice,orderSellerPrice,orderPayment,freightPrice,sellerDiscount,orderState,orderStateRemark,deliveryType,invoiceCode,orderRemark,orderStartTime,orderEndTime,venderRemark,balanceUsed,pin,returnOrder,paymentConfirmTime,waybill,logisticsId,modified,directParentOrderId,parentOrderId,orderSource,storeOrder,realPin,open_id,open_id_buyer,invoiceInfo,invoiceEasyInfo,itemInfoList,isShipmenttype,scDT,idSopShipmenttype,orderStartTime,consigneeInfo,orderMarkDesc"; -// -// /** -// * 更新订单(循环分页) -// * -// * @param pageNo -// * @param pageSize -// * @param accessToken -// * @return -// */ -// public static ApiResult pullOrder(LocalDateTime startTime,LocalDateTime endTime,Long pageNo, Long pageSize, String serverUrl, String appKey, String appSecret, String accessToken) throws Exception { -// String startTimeStr = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); -// String endTimeStr = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); -// -// log.info("=======开始全量JD拉取订单{},参数日期:{}-{}=========",LocalDateTime.now(),startTimeStr,endTimeStr); -// -// JdClient client=new DefaultJdClient(serverUrl,accessToken,appKey,appSecret); -// PopOrderEnSearchRequest request =new PopOrderEnSearchRequest(); -// request.setStartDate(startTimeStr); -// request.setEndDate(endTimeStr); -//// request.setOrderState("WAIT_SELLER_STOCK_OUT,WAIT_GOODS_RECEIVE_CONFIRM,WAIT_SELLER_DELIVERY,PAUSE,FINISHED_L,TRADE_CANCELED,LOCKED,POP_ORDER_PAUSE"); -//// request.setOrderState(""); -// request.setOrderState("ALL"); -//// request.setOptionalFields("orderId,venderId"); -//// request.setSourceId("JOS"); -// request.setOptionalFields(ORDER_FIELDS); -// request.setPage(pageNo.toString()); -// request.setPageSize(pageSize.toString()); -// request.setSortType(1); -// request.setDateType(0); -// PopOrderEnSearchResponse response=client.execute(request); -// if(response.getSearchorderinfoResult() == null || response.getSearchorderinfoResult().getApiResult() == null) { -// return ApiResult.build(HttpStatus.ERROR, "接口调用错误" ); -// } -// if(!response.getSearchorderinfoResult().getApiResult().getSuccess()){ -// return ApiResult.build(HttpStatus.ERROR, "接口调用错误:"+ response.getSearchorderinfoResult().getApiResult().getChineseErrCode()); -// } -// if(response.getSearchorderinfoResult().getOrderTotal() == 0){ -// return ApiResult.build(0, new ArrayList<>()); -// } -// //组合的订单列表 -// List orderList = new ArrayList<>(); -// -// for (var trade : response.getSearchorderinfoResult().getOrderInfoList()) { -// //组装订单 -//// var order = OrderAssembleHelper.assembleOrder(trade); -// JdOrder order = new JdOrder(); -// BeanUtils.copyProperties(trade,order); -// order.setProvince(trade.getConsigneeInfo().getProvince()); -// order.setProvinceId(trade.getConsigneeInfo().getProvinceId()); -// order.setCity(trade.getConsigneeInfo().getCity()); -// order.setCityId(trade.getConsigneeInfo().getCityId()); -// order.setCounty(trade.getConsigneeInfo().getCounty()); -// order.setCountyId(trade.getConsigneeInfo().getCountyId()); -// order.setTown(trade.getConsigneeInfo().getTown()); -// order.setTownId(trade.getConsigneeInfo().getTownId()); -// order.setFullAddress(trade.getConsigneeInfo().getFullAddress()); -// order.setFullname(trade.getConsigneeInfo().getFullname()); -// order.setTelephone(trade.getConsigneeInfo().getTelephone()); -// order.setMobile(trade.getConsigneeInfo().getMobile()); -// List items = new ArrayList<>(); -// for (var item : trade.getItemInfoList()) { -// JdOrderItem it = new JdOrderItem(); -// BeanUtils.copyProperties(item,it); -// items.add(it); -// } -// order.setItems(items); -//// order.setOrderId(trade.getOrderId()); -//// order.setVenderId(trade.getVenderId()); -//// order.setOrderType(trade.getOrderType()); -//// order.setPayType(trade.getPayType()); -//// order.setOrderTotalPrice(trade.getOrderTotalPrice()); -//// order.setOrderSellerPrice(trade.getOrderSellerPrice()); -//// order.setOrderPayment(trade.getOrderPayment()); -//// order.setFreightPrice(trade.getFreightPrice()); -// -// -// orderList.add(order); -// } -// -// return ApiResult.build(response.getSearchorderinfoResult().getOrderTotal(), orderList); -// -// -//// TradesSoldGetRequest req = new TradesSoldGetRequest(); -//// req.setFields(ORDER_FIELDS); -////// req.setStartCreated(DateUtil.stringtoDate("2019-11-27 00:00:00")); -////// req.setEndCreated(DateUtil.stringtoDate("2019-12-04 23:59:59")); -////// req.setStatus("WAIT_SELLER_SEND_GOODS"); -////// req.setBuyerNick("美丽的你美丽的我"); -//// req.setType("fixed");//一口价 -////// req.setExtType("service"); -////// req.setRateStatus("RATE_UNBUYER"); -////// req.setTag("time_card"); -//// req.setPageNo(pageNo); -//// req.setPageSize(pageSize); -////// req.setUseHasNext(true); -////// req.setBuyerOpenId("AAHm5d-EAAeGwJedwSHpg8bT"); -//// TradesSoldGetResponse rsp = client.execute(req, sessionKey); -////// System.out.println(rsp.getBody()); -//// if(StringUtils.hasText(rsp.getErrorCode())){ -//// if(rsp.getErrorCode().equals("27")){ -////// return new ApiResult(HttpStatus.UNAUTHORIZED, "Token已过期,请重新授权"); -//// return ApiResult.build(HttpStatus.UNAUTHORIZED, "Token已过期,请重新授权"); -//// } -//// } -//// if (rsp.getTrades() == null) { -//// //接口查询错误 -////// return new ApiResult(500, "接口调用错误:" + rsp.getMsg() + rsp.getSubMsg()); -//// return ApiResult.build(HttpStatus.ERROR, "接口调用错误:" + rsp.getMsg() + rsp.getSubMsg()); -//// } -//// -//// //组合的订单列表 -//// List orderList = new ArrayList<>(); -//// -//// //有数据 -//// for (var trade : rsp.getTrades()) { -//// try { -//// //组装订单 -//// var order = OrderAssembleHelper.assembleOrder(trade); -//// -////// TopOaidDecryptRequest req1 = new TopOaidDecryptRequest(); -////// List list2 = new ArrayList(); -////// -////// TopOaidDecryptRequest.ReceiverQuery obj3 = new TopOaidDecryptRequest.ReceiverQuery(); -////// list2.add(obj3); -////// obj3.setOaid("1bhibPTekQ9Vico6BCjHicSUS6j5e9RRZkeyPzqeo41ibibkp5UTVZQC2wdLEQ0BssjpbscJyZy"); -////// obj3.setTid("3796207345637527441"); -////// obj3.setScene("1006"); -////// obj3.setSecretNoDays(15L); -////// -////// req1.setQueryList(list2); -////// TopOaidDecryptResponse rsp1 = client.execute(req1, sessionKey); -////// System.out.println(rsp1.getBody()); -//// -//// orderList.add(order); -//// -//// } catch (Exception e) { -//// } -//// } -// -//// return new ApiResult(rsp.getTotalResults().intValue(), orderList); -//// return ApiResult.build(0, new ArrayList<>()); -// } -// -// -// -// /** -// * 增量获取淘宝开放平台天猫订单 -// * -// * @param pageNo -// * @param pageSize -// * @param sessionKey -// * @return -// * @throws ApiException -// */ -//// public static ApiResult pullIncrementOrder(Long pageNo, Long pageSize, String url, String appKey, String appSecret, String sessionKey) throws ApiException { -//// log.info("=======开增量拉取订单{}=========",LocalDateTime.now()); -//// // 取当前时间30分钟前 -//// LocalDateTime endTime = LocalDateTime.now(); -//// LocalDateTime startTime = endTime.minus(60*24, ChronoUnit.MINUTES); -//// -//// -//// TaobaoClient client = new DefaultTaobaoClient(url, appKey, appSecret); -//// TradesSoldIncrementGetRequest req = new TradesSoldIncrementGetRequest(); -//// req.setFields(ORDER_FIELDS); -//// -//// req.setStartModified(Date.from(startTime.toInstant(ZoneOffset.UTC))); -//// req.setEndModified(Date.from(endTime.toInstant(ZoneOffset.UTC))); -//// req.setType("fixed");//一口价 -////// req.setExtType("service"); -////// req.setRateStatus("RATE_UNBUYER"); -////// req.setTag("time_card"); -//// req.setPageNo(pageNo); -//// req.setPageSize(pageSize); -//// req.setUseHasNext(true); -////// req.setUseHasNext(true); -////// req.setBuyerOpenId("AAHm5d-EAAeGwJedwSHpg8bT"); -//// TradesSoldIncrementGetResponse rsp = client.execute(req, sessionKey); -//// -//// -//// if (rsp.getTrades() == null) { -//// if (!StringUtils.isEmpty(rsp.getErrorCode())) { -//// //接口查询错误 -////// return new ApiResult(500, "接口调用错误:" + rsp.getMsg() + rsp.getSubMsg()); -//// return ApiResult.build(HttpStatus.ERROR,"接口调用错误:" + rsp.getMsg() + rsp.getSubMsg()); -//// } -//// log.info("========增量拉取订单:无订单,{}==========",LocalDateTime.now()); -////// return new ApiResult(0, new ArrayList()); -//// return ApiResult.build(0,new ArrayList<>()); -//// } -//// -//// //组合的订单列表 -//// List orderList = new ArrayList<>(); -//// //有数据 -//// for (var trade : rsp.getTrades()) { -//// //组装订单 -//// orderList.add(OrderAssembleHelper.assembleOrder(trade)); -//// } -//// // 有分页,继续拉取 -//// while (rsp.getHasNext()) { -//// pageNo++; -//// req.setPageNo(pageNo); -//// rsp = client.execute(req, sessionKey); -//// //有数据 -//// for (var trade : rsp.getTrades()) { -//// //组装订单 -//// orderList.add(OrderAssembleHelper.assembleOrder(trade)); -//// } -//// } -////// return new ApiResult(orderList.size(), orderList); -//// return ApiResult.build(orderList.size(),orderList); -//// } -// -// } diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/PullRequest.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/PullRequest.java deleted file mode 100644 index c9ce19c7..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/PullRequest.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.qihang.wei.openApi; - -import lombok.Data; - -@Data -public class PullRequest { - private Integer shopId;//店铺Id -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/CreateTimeRangeBo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/CreateTimeRangeBo.java deleted file mode 100644 index 0ee3c0e4..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/CreateTimeRangeBo.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.qihang.wei.openApi.bo; - -import lombok.Data; - -@Data -public class CreateTimeRangeBo { - private Long start_time; - private Long end_time; -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/GoodsDetailApiBo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/GoodsDetailApiBo.java deleted file mode 100644 index 2035fbef..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/GoodsDetailApiBo.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.qihang.wei.openApi.bo; - -import lombok.Data; - -@Data -public class GoodsDetailApiBo { - private Integer data_type; - private String product_id; - -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/GoodsListApiBo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/GoodsListApiBo.java deleted file mode 100644 index fdf522e2..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/GoodsListApiBo.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.qihang.wei.openApi.bo; - -import lombok.Data; - -@Data -public class GoodsListApiBo { - private Integer status; - private Integer page_size; - private String next_key; - -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/OrderDetailBo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/OrderDetailBo.java deleted file mode 100644 index 5f5f2423..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/OrderDetailBo.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.qihang.wei.openApi.bo; - -import lombok.Data; - -@Data -public class OrderDetailBo { - private String order_id; -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/OrderListBo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/OrderListBo.java deleted file mode 100644 index b59995e0..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/bo/OrderListBo.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.qihang.wei.openApi.bo; - -import lombok.Data; - -@Data -public class OrderListBo { - private CreateTimeRangeBo create_time_range; - private Integer page_size; - private String next_key; -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/GoodsApiService.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/GoodsApiService.java deleted file mode 100644 index 55b8298c..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/GoodsApiService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.qihang.wei.openApi.service; - -import com.qihang.wei.openApi.bo.GoodsDetailApiBo; -import com.qihang.wei.openApi.bo.GoodsListApiBo; -import com.qihang.wei.openApi.vo.GoodsDetailVo; -import com.qihang.wei.openApi.vo.GoodsListVo; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.service.annotation.HttpExchange; -import org.springframework.web.service.annotation.PostExchange; - -@HttpExchange -public interface GoodsApiService { - @PostExchange("/channels/ec/product/list/get") - GoodsListVo getGoodsList(@RequestParam String access_token, @RequestBody GoodsListApiBo bo); - @PostExchange("/channels/ec/product/get") - GoodsDetailVo getGoodsDetail(@RequestParam String access_token, @RequestBody GoodsDetailApiBo bo); -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/OrderApiService.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/OrderApiService.java deleted file mode 100644 index f9abf697..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/OrderApiService.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.qihang.wei.openApi.service; - -import com.qihang.wei.openApi.bo.OrderDetailBo; -import com.qihang.wei.openApi.bo.OrderListBo; -import com.qihang.wei.openApi.vo.GoodsListVo; -import com.qihang.wei.openApi.vo.OrderDetailVo; -import com.qihang.wei.openApi.vo.OrderListVo; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.service.annotation.HttpExchange; -import org.springframework.web.service.annotation.PostExchange; - -@HttpExchange -public interface OrderApiService { - @PostExchange("/channels/ec/order/list/get") - OrderListVo getOrderList(@RequestParam String access_token, @RequestBody OrderListBo bo); - @PostExchange("/channels/ec/order/get") - OrderDetailVo getOrderDetail(@RequestParam String access_token, @RequestBody OrderDetailBo bo); -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/ShopInfoApiService.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/ShopInfoApiService.java deleted file mode 100644 index c7976284..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/ShopInfoApiService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.qihang.wei.openApi.service; - -import com.qihang.wei.openApi.vo.ShopApiResultVo; -import com.qihang.wei.openApi.vo.Token; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.service.annotation.GetExchange; -import org.springframework.web.service.annotation.HttpExchange; - -@HttpExchange -public interface ShopInfoApiService { - @GetExchange("/channels/ec/basics/info/get") - ShopApiResultVo getShopInfo(@RequestParam String access_token); -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/TokenApiService.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/TokenApiService.java deleted file mode 100644 index cb33812c..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/service/TokenApiService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.qihang.wei.openApi.service; - - -import com.qihang.wei.openApi.vo.Token; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.service.annotation.GetExchange; -import org.springframework.web.service.annotation.HttpExchange; - -@HttpExchange -public interface TokenApiService { - - @GetExchange("/cgi-bin/token") - Token getToken(@RequestParam String grant_type, @RequestParam String appid, @RequestParam String secret); -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/BaseResVo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/BaseResVo.java deleted file mode 100644 index fd1f8a8d..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/BaseResVo.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import lombok.Data; - -@Data -public class BaseResVo { - private Integer errcode; - private String errmsg; - private String next_key; -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/GoodsDetailVo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/GoodsDetailVo.java deleted file mode 100644 index b6504f49..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/GoodsDetailVo.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import lombok.Data; - -@Data -public class GoodsDetailVo extends BaseResVo { - - private ProductVo product; - -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/GoodsListVo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/GoodsListVo.java deleted file mode 100644 index ceb2797b..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/GoodsListVo.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import lombok.Data; - -@Data -public class GoodsListVo extends BaseResVo { - - private Long[] product_ids; - - private Integer total_num; - -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderDetailVo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderDetailVo.java deleted file mode 100644 index e1788985..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderDetailVo.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import com.alibaba.fastjson2.JSONObject; -import lombok.Data; - -@Data -public class OrderDetailVo extends BaseResVo { - - private OrderVo order; - -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderListVo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderListVo.java deleted file mode 100644 index e6ad8ab6..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderListVo.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import lombok.Data; - -@Data -public class OrderListVo extends BaseResVo { - - private Long[] order_id_list; - - private boolean has_more; - -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVo.java deleted file mode 100644 index 4544a19a..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVo.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import com.alibaba.fastjson2.JSONObject; -import lombok.Data; - -import java.util.List; - -@Data -public class OrderVo { - private Integer create_time;//秒级时间戳 - private Integer update_time;//秒级时间戳 - private String order_id ;//订单号 - private Integer status ;//订单状态,枚举值见OrderStatus - private String openid ;//买家身份标识 - private String unionid ;//买家在开放平台的唯一标识符,若当前视频号小店已绑定到微信开放平台账号下,绑定成功后产生的订单会返回,详见UnionID 机制说明 - private OrderVoDetail order_detail ;// OrderDetail 订单详细数据信息 - private JSONObject aftersale_detail ;// AfterSaleDetail 售后信息 - -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDeliverInfoAddress.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDeliverInfoAddress.java deleted file mode 100644 index 4378cff7..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDeliverInfoAddress.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import com.alibaba.fastjson2.JSONObject; -import lombok.Data; - -@Data -public class OrderVoDeliverInfoAddress { - - private String user_name ;//string 收货人姓名 - private String postal_code;// string 邮编 - private String province_name;// string 省份 - private String city_name;// string 城市 - private String county_name;// string 区 - private String detail_info;// string 详细地址 - private String national_code;// string 国家码,已废弃,请勿使用 - private String tel_number;// string 联系方式 - private String house_number;// string 门牌号码 - private String virtual_order_tel_number;// string 虚拟发货订单联系方式(deliver_method=1时返回) - private JSONObject tel_number_ext_info;// TelNumberExtInfo 额外的联系方式信息(虚拟号码相关) - private Integer use_tel_number;// number 0:不使用虚拟号码,1:使用虚拟号码 - private String hash_code;// string 标识当前店铺下一个唯一的用户收货地址 -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDeliveryInfo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDeliveryInfo.java deleted file mode 100644 index bd314849..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDeliveryInfo.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import com.alibaba.fastjson2.JSONArray; -import com.alibaba.fastjson2.JSONObject; -import lombok.Data; - -@Data -public class OrderVoDeliveryInfo { - - private OrderVoDeliverInfoAddress address_info; - private JSONArray delivery_product_info;// array DeliveryProductInfo 发货物流信息 - private Integer ship_done_time;// number 发货完成时间,秒级时间戳 - private Integer deliver_method;// number 订单发货方式,0:普通物流,1:虚拟发货,由商品的同名字段决定 - private JSONObject address_under_review;// object AddressInfo 用户下单后申请修改收货地址,商家同意后该字段会覆盖订单地址信息 - private Integer address_apply_time;// number 修改地址申请时间,秒级时间戳 - private String ewaybill_order_code;// string 电子面单代发时的订单密文 - private Integer quality_inspect_type;// number 订单是否需要走新质检流程,1:需要,0:不需要, 本字段不存在时表示不需要 - private JSONObject quality_inspect_info;// object QualityInsepctInfo 质检信息,quality_inspect_type为1时返回 - -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDetail.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDetail.java deleted file mode 100644 index 402d9cb5..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDetail.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import com.alibaba.fastjson2.JSONArray; -import com.alibaba.fastjson2.JSONObject; -import lombok.Data; - -import java.util.List; - -@Data -public class OrderVoDetail { - private List product_infos; - - private JSONObject price_info;// 价格信息 - private JSONObject pay_info;// 支付信息 - private OrderVoDeliveryInfo delivery_info;// 配送信息 - private JSONObject coupon_info;// 优惠券信息 - private JSONObject ext_info;// 额外信息 - private JSONArray commission_infos;// 分佣信息 - private JSONObject settle_info;// 结算信息 -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDetailProductInfo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDetailProductInfo.java deleted file mode 100644 index 44de640b..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/OrderVoDetailProductInfo.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import com.alibaba.fastjson2.JSONArray; -import com.alibaba.fastjson2.JSONObject; -import lombok.Data; - -@Data -public class OrderVoDetailProductInfo { - - private String product_id ;//商品spuid - private String sku_id ;// 商品skuid - private String thumb_img ;// sku小图 - private Integer sku_cnt ;// sku数量 - private Integer sale_price ;// 售卖单价(单位:分) - private String title ;// 商品标题 - private Integer on_aftersale_sku_cnt ;// 正在售后/退款流程中的 sku 数量 - private Integer finish_aftersale_sku_cnt ;// 完成售后/退款的 sku 数量 - private String sku_code ;// 商品编码 - private Integer market_price ;// 市场单价(单位:分) - private JSONArray sku_attrs ;// sku属性 - private Integer real_price ;// sku实付总价,取estimate_price和change_price中较小值 - private String out_product_id ;// 商品外部spuid - private String out_sku_id ;// 商品外部skuid - private Boolean is_discounted ;// 是否有优惠金额,非必填,默认为false - private Integer estimate_price ;// 优惠后sku总价,非必填,is_discounted为true时有值 - private Boolean is_change_price;// bool 是否修改过价格,非必填,默认为false - private Integer change_price;// number 改价后sku总价,非必填,is_change_price为true时有值 - private String out_warehouse_id;// string 区域库存id - private JSONObject sku_deliver_info;// SkuDeliverInfo 商品发货信息 - private JSONObject extra_service;// ProductExtraService 商品额外服务信息 - private Boolean use_deduction;// bool 是否使用了会员积分抵扣 - private Integer deduction_price;// number 会员积分抵扣金额,单位为分 - private JSONArray order_product_coupon_info_list;// array OrderProductCouponInfo 商品优惠券信息,逐步替换 order.order_detail.coupon_info - -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ProductSkuVo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ProductSkuVo.java deleted file mode 100644 index 9c5c8516..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ProductSkuVo.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import com.alibaba.fastjson2.JSONArray; -import com.alibaba.fastjson2.JSONObject; -import lombok.Data; - -import java.util.List; -import java.util.Map; - -@Data -public class ProductSkuVo { - private String sku_id; - private String out_sku_id; - private String thumb_img; - private String sku_code; - private JSONArray sku_attrs; - private Integer sale_price; - private Integer stock_num; - private Integer status; - private JSONObject sku_deliver_info; - -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ProductVo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ProductVo.java deleted file mode 100644 index 44380555..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ProductVo.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import com.alibaba.fastjson2.JSONArray; -import com.alibaba.fastjson2.JSONObject; -import lombok.Data; - -import java.util.List; -import java.util.Map; - -@Data -public class ProductVo { - private String product_id; - private String out_product_id; - private String title; - private String sub_title; - private JSONArray head_imgs; - private JSONObject desc_info; - private List> attrs; - private Integer status; - private Integer edit_status; - private Integer min_price; - private String spu_code; - private List skus; - private Integer product_type; - private String edit_time; -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ShopApiResultVo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ShopApiResultVo.java deleted file mode 100644 index 48f3f4b2..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ShopApiResultVo.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import lombok.Data; - -@Data -public class ShopApiResultVo extends BaseResVo{ - private ShopInfoVo info; -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ShopInfoVo.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ShopInfoVo.java deleted file mode 100644 index f1b0ac14..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/ShopInfoVo.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import lombok.Data; - -@Data -public class ShopInfoVo { - private String nickname; - private String headimg_url; - private String subject_type; - private String status; - private String username; -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/Token.java b/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/Token.java deleted file mode 100644 index e90be4a2..00000000 --- a/open-api/wei-api/src/main/java/com/qihang/wei/openApi/vo/Token.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.qihang.wei.openApi.vo; - -import lombok.Data; - -@Data -public class Token { - private String access_token; - private Long expires_in; - private Integer errcode; - private String errmsg; -} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiGoodsService.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiGoodsService.java new file mode 100644 index 00000000..de5a963f --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiGoodsService.java @@ -0,0 +1,13 @@ +package com.qihang.wei.service; + +import com.qihang.wei.domain.OmsWeiGoods; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author TW +* @description 针对表【oms_wei_goods】的数据库操作Service +* @createDate 2024-06-03 16:51:29 +*/ +public interface OmsWeiGoodsService extends IService { + +} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiGoodsSkuService.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiGoodsSkuService.java new file mode 100644 index 00000000..60738810 --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiGoodsSkuService.java @@ -0,0 +1,13 @@ +package com.qihang.wei.service; + +import com.qihang.wei.domain.OmsWeiGoodsSku; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author TW +* @description 针对表【oms_wei_goods_sku】的数据库操作Service +* @createDate 2024-06-03 16:51:29 +*/ +public interface OmsWeiGoodsSkuService extends IService { + +} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiOrderItemService.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiOrderItemService.java new file mode 100644 index 00000000..2004c044 --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiOrderItemService.java @@ -0,0 +1,13 @@ +package com.qihang.wei.service; + +import com.qihang.wei.domain.OmsWeiOrderItem; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author TW +* @description 针对表【oms_wei_order_item】的数据库操作Service +* @createDate 2024-06-03 16:48:31 +*/ +public interface OmsWeiOrderItemService extends IService { + +} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiOrderService.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiOrderService.java new file mode 100644 index 00000000..f87cc9f6 --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiOrderService.java @@ -0,0 +1,20 @@ +package com.qihang.wei.service; + +import com.qihang.common.common.PageQuery; +import com.qihang.common.common.PageResult; +import com.qihang.common.common.ResultVo; +import com.qihang.wei.bo.WeiOrderConfirmBo; +import com.qihang.wei.domain.OmsWeiOrder; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author TW +* @description 针对表【oms_wei_order】的数据库操作Service +* @createDate 2024-06-03 16:48:31 +*/ +public interface OmsWeiOrderService extends IService { + PageResult queryPageList(OmsWeiOrder bo, PageQuery pageQuery); + ResultVo saveOrder(Long shopId, OmsWeiOrder order); + OmsWeiOrder queryDetailById(Long id); + int confirmOrder(WeiOrderConfirmBo bo) throws InterruptedException; +} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/SShopService.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/SShopService.java index 196246a1..8176822d 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/service/SShopService.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/SShopService.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.extension.service.IService; * @createDate 2024-06-03 14:14:56 */ public interface SShopService extends IService { - SShop selectShopById(Integer shopId); + SShop selectShopById(Long shopId); - void updateSessionKey(Integer shopId,String sessionKey); + void updateSessionKey(Long shopId,String sessionKey); } diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/WeiGoodsService.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/WeiGoodsService.java index c332f846..4117c789 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/service/WeiGoodsService.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/WeiGoodsService.java @@ -9,5 +9,5 @@ import com.baomidou.mybatisplus.extension.service.IService; * @createDate 2024-03-29 11:25:17 */ public interface WeiGoodsService extends IService { - int saveAndUpdateGoods(Integer shopId,WeiGoods goods); + int saveAndUpdateGoods(Long shopId,WeiGoods goods); } diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/WeiOrderService.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/WeiOrderService.java index b7c790c8..a08a98c4 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/service/WeiOrderService.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/WeiOrderService.java @@ -10,5 +10,5 @@ import com.baomidou.mybatisplus.extension.service.IService; * @createDate 2024-03-29 16:44:51 */ public interface WeiOrderService extends IService { - ResultVo saveOrder(Integer shopId, WeiOrder order); + ResultVo saveOrder(Long shopId, WeiOrder order); } diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiGoodsServiceImpl.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiGoodsServiceImpl.java new file mode 100644 index 00000000..7b0fc444 --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiGoodsServiceImpl.java @@ -0,0 +1,22 @@ +package com.qihang.wei.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qihang.wei.domain.OmsWeiGoods; +import com.qihang.wei.service.OmsWeiGoodsService; +import com.qihang.wei.mapper.OmsWeiGoodsMapper; +import org.springframework.stereotype.Service; + +/** +* @author TW +* @description 针对表【oms_wei_goods】的数据库操作Service实现 +* @createDate 2024-06-03 16:51:29 +*/ +@Service +public class OmsWeiGoodsServiceImpl extends ServiceImpl + implements OmsWeiGoodsService{ + +} + + + + diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiGoodsSkuServiceImpl.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiGoodsSkuServiceImpl.java new file mode 100644 index 00000000..d6682dfa --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiGoodsSkuServiceImpl.java @@ -0,0 +1,22 @@ +package com.qihang.wei.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qihang.wei.domain.OmsWeiGoodsSku; +import com.qihang.wei.service.OmsWeiGoodsSkuService; +import com.qihang.wei.mapper.OmsWeiGoodsSkuMapper; +import org.springframework.stereotype.Service; + +/** +* @author TW +* @description 针对表【oms_wei_goods_sku】的数据库操作Service实现 +* @createDate 2024-06-03 16:51:29 +*/ +@Service +public class OmsWeiGoodsSkuServiceImpl extends ServiceImpl + implements OmsWeiGoodsSkuService{ + +} + + + + diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiOrderItemServiceImpl.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiOrderItemServiceImpl.java new file mode 100644 index 00000000..c9c55e27 --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiOrderItemServiceImpl.java @@ -0,0 +1,22 @@ +package com.qihang.wei.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qihang.wei.domain.OmsWeiOrderItem; +import com.qihang.wei.service.OmsWeiOrderItemService; +import com.qihang.wei.mapper.OmsWeiOrderItemMapper; +import org.springframework.stereotype.Service; + +/** +* @author TW +* @description 针对表【oms_wei_order_item】的数据库操作Service实现 +* @createDate 2024-06-03 16:48:31 +*/ +@Service +public class OmsWeiOrderItemServiceImpl extends ServiceImpl + implements OmsWeiOrderItemService{ + +} + + + + diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiOrderServiceImpl.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiOrderServiceImpl.java new file mode 100644 index 00000000..244e49d2 --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiOrderServiceImpl.java @@ -0,0 +1,319 @@ +package com.qihang.wei.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qihang.common.common.PageQuery; +import com.qihang.common.common.PageResult; +import com.qihang.common.common.ResultVo; +import com.qihang.common.common.ResultVoEnum; +import com.qihang.wei.bo.WeiOrderConfirmBo; +import com.qihang.wei.domain.OmsWeiOrder; +import com.qihang.wei.domain.OmsWeiOrderItem; +import com.qihang.wei.mapper.OmsWeiGoodsSkuMapper; +import com.qihang.wei.mapper.OmsWeiOrderItemMapper; +import com.qihang.wei.service.OmsWeiOrderService; +import com.qihang.wei.mapper.OmsWeiOrderMapper; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; +import org.springframework.util.StringUtils; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** +* @author TW +* @description 针对表【oms_wei_order】的数据库操作Service实现 +* @createDate 2024-06-03 16:48:31 +*/ +@AllArgsConstructor +@Service +public class OmsWeiOrderServiceImpl extends ServiceImpl + implements OmsWeiOrderService{ + private final OmsWeiOrderMapper mapper; + private final OmsWeiOrderItemMapper itemMapper; + private final OmsWeiGoodsSkuMapper goodsSkuMapper; +// private final MQClientService mqClientService; + + @Override + public PageResult queryPageList(OmsWeiOrder bo, PageQuery pageQuery) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(bo.getShopId()!=null,OmsWeiOrder::getShopId,bo.getShopId()) + .eq(StringUtils.hasText(bo.getOrderId()),OmsWeiOrder::getOrderId,bo.getOrderId()) + ; + + Page page = mapper.selectPage(pageQuery.build(), queryWrapper); + if(page.getRecords()!=null){ + for (var order:page.getRecords()) { + order.setItems(itemMapper.selectList(new LambdaQueryWrapper().eq(OmsWeiOrderItem::getOrderId,order.getOrderId()))); + } + } + return PageResult.build(page); + } + + @Transactional + @Override + public ResultVo saveOrder(Long shopId, OmsWeiOrder order) { + try { + List orders = mapper.selectList(new LambdaQueryWrapper().eq(OmsWeiOrder::getOrderId, order.getOrderId())); + if (orders != null && orders.size() > 0) { + // 存在,修改 + OmsWeiOrder update = new OmsWeiOrder(); + update.setId(orders.get(0).getId()); + update.setOrderId(order.getOrderId()); + update.setStatus(order.getStatus()); + update.setUpdateTime(order.getUpdateTime()); + update.setPayInfo(order.getPayInfo()); + update.setAftersaleDetail(order.getAftersaleDetail()); + update.setDeliveryProductInfo(order.getDeliveryProductInfo()); + + mapper.updateById(update); + // 更新item + for (var item : order.getItems()) { + List taoOrderItems = itemMapper.selectList( + new LambdaQueryWrapper().eq(OmsWeiOrderItem::getSkuId, item.getSkuId()).eq(OmsWeiOrderItem::getOrderId,order.getOrderId()) + ); + + if (taoOrderItems != null && taoOrderItems.size() > 0) { + // 不处理 + } else { + // 新增 + item.setShopId(shopId); + item.setOrderId(order.getOrderId()); + itemMapper.insert(item); + } + } + return ResultVo.error(ResultVoEnum.DataExist, "订单已经存在,更新成功"); + } else { + // 不存在,新增 + order.setShopId(shopId); + mapper.insert(order); + // 添加item + for (var item : order.getItems()) { + item.setShopId(shopId); + item.setOrderId(order.getOrderId()); + itemMapper.insert(item); + } + return ResultVo.success(); + } + } catch (Exception e) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return ResultVo.error(ResultVoEnum.SystemException, "系统异常:" + e.getMessage()); + } + } + + + @Override + public OmsWeiOrder queryDetailById(Long id) { + OmsWeiOrder weiOrder = mapper.selectById(id); + if(weiOrder!=null){ + weiOrder.setItems(itemMapper.selectList(new LambdaQueryWrapper().eq(OmsWeiOrderItem::getOrderId,weiOrder.getOrderId()))); + } + return weiOrder; + } + + @Transactional + @Override + public int confirmOrder(WeiOrderConfirmBo bo) throws InterruptedException { + OmsWeiOrder original = mapper.selectById(bo.getId());; + if(original.getAuditStatus()!=null && original.getAuditStatus() != 0) return -1;//无需审核 + + +// // 新增ErpOrder +// // 确认订单(操作:插入数据到s_shop_order、s_shop_order_item) +// ErpOrder so = new ErpOrder(); +// so.setOrderNum(original.getOrderId()); +// so.setOrderTime(DateUtil.stampToDateTime(original.getCreateTime().longValue())); +// so.setShopId(original.getShopId()); +// so.setShopType(EnumShopType.WEI.getIndex()); +//// so.setRemark(original.getRemark()); +//// so.setBuyerMemo(original.getBuyerFeedback()); +//// so.setTag(original.getTag()); +// Integer orderStatus = null; +// Integer refundStatus = null; +// //状态 10 待付款;20 待发货;21 部分发货;30 待收货;100 完成;200 全部商品售后之后,订单取消;250 未付款用户主动取消或超时未付款订单自动取消; +// if(original.getStatus() == 10){ +// so.setRefundStatus(1); +// so.setOrderStatus(21);//订单状态1:待发货,2:已发货,3:已完成,11已取消;21待付款 +// orderStatus = 21; +// refundStatus = 1; +// } else if (original.getStatus() == 20 || original.getStatus() == 21) { +// so.setRefundStatus(1); +// so.setOrderStatus(1); +// orderStatus = 1; +// refundStatus = 1; +// } else if (original.getStatus() == 30) { +// so.setRefundStatus(1); +// so.setOrderStatus(2); +// orderStatus = 2; +// refundStatus = 1; +// } else if (original.getStatus() == 100) { +// so.setRefundStatus(1); +// so.setOrderStatus(3); +// orderStatus = 3; +// refundStatus = 1; +// }else if (original.getStatus() == 200 || original.getStatus() == 250) { +// so.setRefundStatus(4); +// so.setOrderStatus(11); +// orderStatus = 11; +// refundStatus = 4; +// } +// +// so.setShipStatus(0); +//// so.setShipType(bo.getShipType()); +// so.setGoodsAmount(original.getProductPrice().doubleValue() /100); +// if(original.getDiscountedPrice()!=null) { +// so.setDiscountAmount(BigDecimal.valueOf(original.getDiscountedPrice().doubleValue() / 100)); +// }else{ +// so.setDiscountAmount(BigDecimal.ZERO); +// } +// so.setAmount(original.getOrderPrice().doubleValue()/100); +// so.setPostage(BigDecimal.valueOf(original.getFreight()/100)); +// +//// so.setPayTime(original.getPayTime()); +// so.setConfirmTime(new Date()); +// so.setCreateTime(new Date()); +// so.setCreateBy("确认订单"); +// so.setReceiverName(bo.getUserName()); +// so.setReceiverPhone(bo.getTelNumber()); +// so.setAddress(bo.getDetailInfo()); +// so.setCountry("中国"); +// so.setProvince(original.getProvinceName()); +// so.setCity(original.getCityName()); +// so.setTown(original.getCountyName()); +// +// // 新增ErpOrderItem +// List weiOrderItems = itemMapper.selectList(new LambdaQueryWrapper().eq(OmsWeiOrderItem::getOrderId, original.getOrderId())); +// +// if(weiOrderItems!=null && weiOrderItems.size()>0) { +// List items = new ArrayList<>(); +// +// for (var i : weiOrderItems) { +//// if(com.qihang.common.utils.StringUtils.isEmpty(i.getSkuCode())) { +//// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +//// return -11; +//// } +//// GoodsSpec spec = goodsSpecMapper.selectGoodsSpecBySpecNum(i.getSpecNumber()); +//// if (spec == null) { +//// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +//// return -11; +//// } +//// Goods goods = goodsMapper.selectGoodsById(spec.getGoodsId()); +//// if(goods == null){ +//// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +//// return -12; +//// } +// +// ErpOrderItem item = new ErpOrderItem(); +// item.setShipStatus(0); +//// item.setShipType(bo.getShipType()); +// item.setShopId(original.getShopId()); +// item.setOrderId(so.getId()); +// item.setOriginalOrderId(original.getOrderId()); +// item.setOriginalOrderItemId(i.getId().toString()); +// item.setOriginalSkuId(i.getSkuId()); +// +// Long erpGoodsId = 0L; +// Long erpSkuId = 0L; +// +// List weiGoodsSkus = goodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OmsWeiGoodsSku::getSkuId, i.getSkuId())); +// if (weiGoodsSkus != null && !weiGoodsSkus.isEmpty()) { +// erpGoodsId = weiGoodsSkus.get(0).getErpGoodsId(); +// erpSkuId = weiGoodsSkus.get(0).getErpGoodsSkuId(); +// } +// item.setGoodsId(erpGoodsId); +// item.setSpecId(erpSkuId); +// item.setGoodsTitle(i.getTitle()); +// item.setGoodsImg(i.getThumbImg()); +// item.setGoodsNum(i.getProductId()); +// item.setSpecNum(i.getSkuCode()); +// item.setGoodsSpec(i.getSkuAttrs()); +// item.setGoodsPrice(i.getSalePrice().doubleValue() / 100); +//// item.setGoodsPurPrice(spec.getPurPrice()); +// item.setItemAmount(i.getRealPrice().doubleValue() / 100); +// item.setQuantity(i.getSkuCnt()); +// item.setIsGift(0); +// item.setRefundCount(0); +// item.setRefundStatus(refundStatus); +// item.setOrderStatus(orderStatus); +// item.setCreateBy("确认订单"); +// item.setCreateTime(new Date()); +// items.add(item); +// } +// so.setItemList(items); +// } +//// // 添加了赠品 +////// if(taoOrder.getTaoOrderItemList()!=null && !taoOrder.getTaoOrderItemList().isEmpty()){ +////// for (var g:taoOrder.getTaoOrderItemList()) { +////// if(com.qihang.common.utils.StringUtils.isEmpty(g.getSpecNumber())) { +////// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +////// return -11; +////// } +////// GoodsSpec spec = goodsSpecMapper.selectGoodsSpecBySpecNum(g.getSpecNumber()); +////// if (spec == null) { +////// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +////// return -11; +////// } +////// Goods goods = goodsMapper.selectGoodsById(spec.getGoodsId()); +////// if(goods == null) { +////// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +////// return -12; +////// } +////// +////// ErpOrderItem item = new ErpOrderItem(); +////// item.setShipStatus(0); +////// item.setShipType(taoOrder.getShipType()); +////// item.setShopId(original.getShopId().intValue()); +////// item.setOrderId(so.getId()); +////// item.setOrderNum(original.getId()); +////// item.setOrderItemNum(original.getId()+"_"); +////// item.setSupplierId(goods.getSupplierId().intValue()); +////// item.setGoodsId(spec.getGoodsId()); +////// item.setSpecId(spec.getId()); +////// item.setGoodsTitle(g.getGoodsTitle()); +////// item.setGoodsImg(g.getProductImgUrl()); +////// item.setGoodsNum(g.getGoodsNumber()); +////// item.setSpecNum(g.getSpecNumber()); +////// item.setGoodsSpec(g.getSkuInfo()); +////// item.setGoodsPrice(g.getPrice().doubleValue()); +//////// item.setGoodsPurPrice(spec.getPurPrice()); +////// item.setItemAmount(g.getItemAmount().doubleValue()); +////// item.setQuantity(g.getQuantity().intValue()); +////// item.setIsGift(1); +////// item.setRefundCount(0); +////// item.setRefundStatus(1); +////// item.setCreateBy(taoOrder.getUpdateBy()); +////// item.setCreateTime(new Date()); +////// items.add(item); +////// } +////// } +//// erpOrderMapper.batchErpOrderItem(items); +// // 远程调用 +// MQRequest req = new MQRequest<>(); +// req.setMqRequestType(MQRequestType.ORDER_CONFIRM); +// req.setData(so); +// ApiResult s = mqClientService.confirmOrder(req); +// if(s.getResult()==ApiResultEnum.SUCCESS.getIndex()) { +// //更新自己 +// OmsWeiOrder update = new OmsWeiOrder(); +// update.setId(original.getId()); +// update.setAuditStatus(1); +// update.setAuditTime(new Date()); +// update.setUserName(bo.getUserName()); +// update.setTelNumber(bo.getTelNumber()); +// update.setDetailInfo(bo.getDetailInfo()); +// Long ut = (System.currentTimeMillis() / 1000); +// update.setUpdateTime(ut.intValue()); +// mapper.updateById(update); +// } + return 1; + } +} + + + + diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/SShopServiceImpl.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/SShopServiceImpl.java index 1d060510..23ccf3d0 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/SShopServiceImpl.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/SShopServiceImpl.java @@ -18,12 +18,12 @@ public class SShopServiceImpl extends ServiceImpl implements SShopService{ private final SShopMapper mapper; @Override - public SShop selectShopById(Integer shopId) { + public SShop selectShopById(Long shopId) { return mapper.selectById(shopId); } @Override - public void updateSessionKey(Integer shopId, String sessionKey) { + public void updateSessionKey(Long shopId, String sessionKey) { SShop shop = new SShop(); shop.setId(shopId); shop.setSessionkey(sessionKey); diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/WeiGoodsServiceImpl.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/WeiGoodsServiceImpl.java index 96789145..f6c74fef 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/WeiGoodsServiceImpl.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/WeiGoodsServiceImpl.java @@ -28,7 +28,7 @@ public class WeiGoodsServiceImpl extends ServiceImpl // private final OGoodsSkuMapper goodsSkuMapper; @Override - public int saveAndUpdateGoods(Integer shopId, WeiGoods goods) { + public int saveAndUpdateGoods(Long shopId, WeiGoods goods) { List goodsList = mapper.selectList(new LambdaQueryWrapper().eq(WeiGoods::getProductId, goods.getProductId())); if (goodsList != null && goodsList.size() > 0) { // 更新 @@ -42,7 +42,7 @@ public class WeiGoodsServiceImpl extends ServiceImpl // 重新插入sku if(goods.getSkus()!=null) { for (var sku : goods.getSkus()) { - sku.setWeiGoodsId(goods.getId()); + sku.setWeiGoodsId(Long.parseLong(goods.getId())); // 根据OuterId查找ERP系统中的skuid // if(StringUtils.isNotEmpty(sku.getSkuCode())) { // List oGoodsSkus = goodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuNum, sku.getSkuCode())); @@ -64,7 +64,7 @@ public class WeiGoodsServiceImpl extends ServiceImpl // 插入sku if(goods.getSkus()!=null) { for (var sku : goods.getSkus()) { - sku.setWeiGoodsId(goods.getId()); + sku.setWeiGoodsId(Long.parseLong(goods.getId())); // 根据OuterId查找ERP系统中的skuid // if(StringUtils.isNotEmpty(sku.getSkuCode())) { // List oGoodsSkus = goodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuNum, sku.getSkuCode())); diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/WeiOrderServiceImpl.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/WeiOrderServiceImpl.java index 6c70ad4c..85b5941e 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/WeiOrderServiceImpl.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/WeiOrderServiceImpl.java @@ -29,7 +29,7 @@ public class WeiOrderServiceImpl extends ServiceImpl private final WeiOrderItemMapper itemMapper; @Override - public ResultVo saveOrder(Integer shopId, WeiOrder order) { + public ResultVo saveOrder(Long shopId, WeiOrder order) { try { List orders = mapper.selectList(new LambdaQueryWrapper().eq(WeiOrder::getOrderId, order.getOrderId())); if (orders != null && orders.size() > 0) { diff --git a/open-api/wei-api/src/main/resources/mapper/OmsWeiGoodsMapper.xml b/open-api/wei-api/src/main/resources/mapper/OmsWeiGoodsMapper.xml new file mode 100644 index 00000000..4e7bb227 --- /dev/null +++ b/open-api/wei-api/src/main/resources/mapper/OmsWeiGoodsMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + id,shop_id,product_id, + out_product_id,title,sub_title, + head_imgs,head_img,desc_info, + attrs,status,edit_status, + min_price,spu_code,product_type, + edit_time + + diff --git a/open-api/wei-api/src/main/resources/mapper/OmsWeiGoodsSkuMapper.xml b/open-api/wei-api/src/main/resources/mapper/OmsWeiGoodsSkuMapper.xml new file mode 100644 index 00000000..2ae1d620 --- /dev/null +++ b/open-api/wei-api/src/main/resources/mapper/OmsWeiGoodsSkuMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + id,shop_id,product_id, + sku_id,out_sku_id,title, + thumb_img,sale_price,stock_num, + sku_code,status,sku_attr, + sku_attrs,sku_deliver_info,erp_goods_id, + erp_goods_sku_id + + diff --git a/open-api/wei-api/src/main/resources/mapper/OmsWeiOrderItemMapper.xml b/open-api/wei-api/src/main/resources/mapper/OmsWeiOrderItemMapper.xml new file mode 100644 index 00000000..d328694f --- /dev/null +++ b/open-api/wei-api/src/main/resources/mapper/OmsWeiOrderItemMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,shop_id,order_id, + product_id,sku_id,thumb_img, + sku_cnt,sale_price,title, + on_aftersale_sku_cnt,finish_aftersale_sku_cnt,sku_code, + market_price,sku_attrs,real_price, + out_product_id,out_sku_id,is_discounted, + estimate_price,is_change_price,change_price, + out_warehouse_id,sku_deliver_info,extra_service, + use_deduction,deduction_price,order_product_coupon_info_list + + diff --git a/open-api/wei-api/src/main/resources/mapper/OmsWeiOrderMapper.xml b/open-api/wei-api/src/main/resources/mapper/OmsWeiOrderMapper.xml new file mode 100644 index 00000000..c37c42c3 --- /dev/null +++ b/open-api/wei-api/src/main/resources/mapper/OmsWeiOrderMapper.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,shop_id,order_id, + openid,create_time,update_time, + unionid,status,aftersale_detail, + pay_info,product_price,order_price, + freight,discounted_price,user_name, + postal_code,province_name,city_name, + county_name,detail_info,tel_number, + house_number,virtual_order_tel_number,tel_number_ext_info, + use_tel_number,hash_code,delivery_product_info, + ship_done_time,ewaybill_order_code,settle_info, + audit_status,audit_time + + diff --git a/vue/src/api/wei/order.js b/vue/src/api/wei/order.js index 9d930bf7..2c5be028 100644 --- a/vue/src/api/wei/order.js +++ b/vue/src/api/wei/order.js @@ -3,7 +3,7 @@ import request from '@/utils/request' // 查询淘宝订单列表 export function listOrder(query) { return request({ - url: '/wei-api/order/list', + url: '/api/wei-api/order/list', method: 'get', params: query }) @@ -12,7 +12,7 @@ export function listOrder(query) { // 查询订单详细 export function getOrder(id) { return request({ - url: '/wei-api/order/' + id, + url: '/api/wei-api/order/' + id, method: 'get' }) } @@ -22,7 +22,7 @@ export function getOrder(id) { // 接口拉取订单 export function pullOrder(data) { return request({ - url: '/wei-api/order/pull_order', + url: '/api/wei-api/order/pull_order', method: 'post', data: data }) @@ -30,7 +30,7 @@ export function pullOrder(data) { export function pullOrderDetail(data) { return request({ - url: '/wei-api/order/pull_order_detail', + url: '/api/wei-api/order/pull_order_detail', method: 'post', data: data }) @@ -39,7 +39,7 @@ export function pullOrderDetail(data) { export function confirmOrder(data) { return request({ - url: '/wei-api/order/confirmOrder', + url: '/api/wei-api/order/confirmOrder', method: 'post', data: data }) diff --git a/vue/src/views/shop/order_index.vue b/vue/src/views/shop/order_index.vue index ca2f3adc..1a9f98b9 100644 --- a/vue/src/views/shop/order_index.vue +++ b/vue/src/views/shop/order_index.vue @@ -3,16 +3,19 @@ - + + + + - - + + @@ -24,9 +27,10 @@ import OrderTao from "@/views/tao/order/index"; import OrderJd from "@/views/jd/order/index"; import OrderDou from "@/views/dou/order/index"; import OrderPdd from "@/views/pdd/order/index"; +import OrderWei from "@/views/shop/wei/order/index"; export default { name: "Order", - components:{OrderTao,OrderJd,OrderDou,OrderPdd}, + components:{OrderTao,OrderJd,OrderDou,OrderPdd,OrderWei}, data() { return { activeName: 'taoOrder' diff --git a/vue/src/views/shop/wei/ewaybill/index.vue b/vue/src/views/shop/wei/ewaybill/index.vue index cc9ef235..879ce0cd 100644 --- a/vue/src/views/shop/wei/ewaybill/index.vue +++ b/vue/src/views/shop/wei/ewaybill/index.vue @@ -59,8 +59,8 @@ plain icon="el-icon-download" size="mini" - @click="handlePull" - >API拉取商品数据 + @click="handlePrintEwaybill" + >打印电子面单 @@ -249,6 +249,46 @@ export default { } }); }, + handlePrintEwaybill(){ + const ws = new WebSocket('ws://127.0.0.1:12705'); + ws.onopen = () => { + console.log('与打印组件建立连接成功: '); + ws.send(JSON.stringify({ + command: 'print', + version: '2.0', // 必传 + requestID: '1234', // String, 调用方保证唯一 + taskList: [{ + taskID: '1234', // String, 调用方保证唯一 + printInfo: 'JTdCJTIycHJpbnREYXRhJTIyJTNBJTdCJTIyd2F5YmlsbElkJTIyJTNBJTIyNzM2MTE0NjI1MzgzODUlMjIlMkMlMjJwcmludFRpbWUlMjIlM0ElMjIyMDI0JTJGMDYlMkYwMyUyMDE4JTNBNDUlMjIlMkMlMjJzZXJ2aWNlcyUyMiUzQSU1QiU1RCUyQyUyMnJlY2VpdmVyTmFtZSUyMiUzQSUyMiVFNSVBRSVBMyoqJTIyJTJDJTIycmVjZWl2ZXJQaG9uZSUyMiUzQSUyMjEzNyoqKiozODQwJTIyJTJDJTIycmVjZWl2ZXJBZGRyZXNzJTIyJTNBJTIyJUU0JUI4JThBJUU2JUI1JUI3JUU1JUI4JTgyJUU0JUI4JThBJUU2JUI1JUI3JUU1JUI4JTgyJUU2JUI1JUE2JUU0JUI4JTlDJUU2JTk2JUIwJUU1JThDJUJBJUU1JUJDJUEwJUU2JUIxJTlGJUU5JTk1JTg3JUU1JUFEJTk5JUU2JUExJUE1JUU4JUI3JUFGMjM4JUU1JUJDJTg0MzAlRTUlOEYlQjcyMDIlRTUlQUUlQTQlMjIlMkMlMjJzZW5kZXJOYW1lJTIyJTNBJTIyJUU0JUI4JTgzJUU5JTg3JThDJUU1JTlEJUFBJTIyJTJDJTIyc2VuZGVyUGhvbmUlMjIlM0ElMjIxNTgxODU5MDExOSUyMiUyQyUyMnNlbmRlckFkZHJlc3MlMjIlM0ElMjIlRTUlQjklQkYlRTQlQjglOUMlRTclOUMlODElRTYlQjclQjElRTUlOUMlQjMlRTUlQjglODIlRTUlQUUlOUQlRTUlQUUlODklRTUlOEMlQkF4eHh4eDElRTUlOEYlQjclRTUlOEMlOTclRTklOTclQTglMjIlMkMlMjJzaXRlQ29kZSUyMiUzQSUyMjU1ODMwJTIyJTJDJTIyZXdheWJpbGxPcmRlcklkJTIyJTNBJTIyMzQ4NjYxMzA5Mzg5ODE0MTY5OSUyMiUyQyUyMmJhZ0FkZHIlMjIlM0ElMjIlRTYlQjIlQUElRTQlQjglOUMlMjIlMkMlMjJtYXJrJTIyJTNBJTIyMzEwLSUyMFA2JTIwMDMxJTIwJTVCQjMxJTVEJTIyJTJDJTIyc3RvcmVOYW1lJTIyJTNBJTIyJUU5JUFBJTg0JUU5JUI5JUJGJUU2JTlDJTlCJUU1JUIxJUIxJUU0JUI4JTkzJUU1JThEJTk2JUU1JUJBJTk3JTIyJTJDJTIyY3VzdG9tZXJOb3RlcyUyMiUzQSUyMiUyMiUyQyUyMm1lcmNoYW50Tm90ZXMlMjIlM0ElMjIlMjIlMkMlMjJvcmRlcklkJTIyJTNBJTIyMzcyMDI5MzQxNTUwOTk1NDgxNiUyMiU3RCUyQyUyMnRlbXBsYXRlJTIyJTNBJTdCJTIydGVtcGxhdGVJZCUyMiUzQSUyMnNpbmdsZSUyMiUyQyUyMnRlbXBsYXRlTmFtZSUyMiUzQSUyMiVFOSVCQiU5OCVFOCVBRSVBNCVFNyVBOSVCQSVFNiVBOCVBMSVFNiU5RCVCRiUyMiUyQyUyMnRlbXBsYXRlRGVzYyUyMiUzQSUyMiVFNCVCOCU4MCVFOCU4MSU5NCVFNSU4RCU5NSVFNiVBMCU4NyVFNSU4NyU4NiVFNiVBOCVBMSVFNiU5RCVCRiUyMiUyQyUyMnRlbXBsYXRlVHlwZSUyMiUzQSUyMnNpbmdsZSUyMiUyQyUyMm9wdGlvbkxpc3QlMjIlM0ElN0IlN0QlMkMlMjJvcHRpb25zJTIyJTNBJTVCJTVEJTJDJTIyY29kZSUyMiUzQTAlMkMlMjJkZWxpdmVyeUlkJTIyJTNBJTIyWlRPJTIyJTJDJTIydGVtcGxhdGVVcmwlMjIlM0ElMjJodHRwcyUzQSUyRiUyRm1tZWMtc2hvcC0xMjU4MzQ0NzA3LmNvcy5hcC1zaGFuZ2hhaS5teXFjbG91ZC5jb20lMkZzaG9wJTJGcHVibGljJTJGMjAyMy0xMC0yNSUyRjNlY2JiM2FhLTViY2YtNDA0ZC05NzJhLThhMDhhODE2MjIzYy5odG1sJTIyJTJDJTIyY3VzdG9tQ29uZmlnJTIyJTNBJTdCJTIyd2lkdGglMjIlM0E2NTYlMkMlMjJoZWlnaHQlMjIlM0EzMDAlMkMlMjJsZWZ0JTIyJTNBNjAlMkMlMjJ0b3AlMjIlM0E5MzAlN0QlMkMlMjJ3aWR0aCUyMiUzQTc2JTJDJTIyaGVpZ2h0JTIyJTNBMTMwJTdEJTdE', // String, [获取打印报文]接口返回的print_info + printNum: { + curNum: 1, // 打印计数-当前张数 + sumNum: 2, // 打印计数-总张数 + }, + splitControl: 0 ,// 可不传, 默认为0, 根据自定义内容自动分页;1,禁止分页;2;强制分页, 内容打印在第二页 + showDeliveryLogo: 0, // 可不传, 默认为1, 传0时不展示快递公司logo + // 自定义模板信息,没有自定义模板需求可不传 + + // 面单补充信息,用来覆盖寄件人信息,没有这种需求可以不传 + + }], + printType: 1, // Number 打印类型,默认为 1,打印固定高度的面单;如果为2,则打印任意自定义内容,需要传递 size 参数指定纸张尺寸,printInfo 改为传递 base64 格式的 html + size: { + width: 76, // 纸张尺寸,单位毫米,printType 为 2 时必传 + height: 130 + }, + printer: 'Microsoft Print to PDF', // 选中的打印机,printer.name + })) + }; + + ws.onmessage = (e) => { + const resp = JSON.parse(e.data || '{}') + if (resp.command === 'print') { + console.log('打印结果: ', resp); + } + }; + + + } } }; diff --git a/vue/src/views/shop/wei/order/index.vue b/vue/src/views/shop/wei/order/index.vue new file mode 100644 index 00000000..a1c9de83 --- /dev/null +++ b/vue/src/views/shop/wei/order/index.vue @@ -0,0 +1,482 @@ + + + diff --git a/vue/src/views/shop/wei/order/pull_log.vue b/vue/src/views/shop/wei/order/pull_log.vue new file mode 100644 index 00000000..02e58d1a --- /dev/null +++ b/vue/src/views/shop/wei/order/pull_log.vue @@ -0,0 +1,143 @@ + + +